Tcp протокол

Общие сведения о профилях брандмауэра

В соответствии с профилями брандмауэра операционная система определяет и запоминает каждую из сетей по следующим параметрам: возможность подключения, имеющиеся подключения и категория.

Брандмауэр Windows в режиме повышенной безопасности делит сети на три типа.

  • Домен. Windows может выполнить проверку подлинности доступа к контроллеру домена, в который включен компьютер.
  • Общедоступные. В эту категорию первоначально попадают все сети, не входящие в домены. Сети, которые представляют прямые соединения с Интернетом, являются открытыми (аэропорты, кафе и другие места открытого доступа).
  • Частные. Сеть, определенная пользователем или приложением как личная. Только доверенные сети могут быть определены как частные. Обычно в качестве частной сети определяется сеть малого предприятия, домашняя сеть и т. п.

Администратор может создать профиль для каждого типа сети и задать для этих профилей разные политики брандмауэра. Одномоментно применим только один профиль. Профили применяются в следующем порядке.

  1. Профиль домена применяется, когда все интерфейсы проходят проверку подлинности на контроллере домена, членом которого является компьютер.
  2. Если все интерфейсы либо прошли проверку подлинности к контроллеру домена, либо соединены с сетями, которые определены как частные, применяется частный профиль.
  3. В противном случае применяется открытый профиль.

Просмотреть и настроить профили брандмауэра можно с помощью оснастки «Брандмауэр Windows в режиме повышенной безопасности». Элемент Брандмауэр Windows на панели управления позволяет настраивать только текущий профиль.

Что такое маска адреса (подсеть)

Понятие подсети введено, чтобы можно было выделить часть IP-адресов одной организации, часть другой и тд. Подсеть представляет собой диапазон IP-адресов, которые считаются принадлежащими одной локальной сети. При работе в локальной сети информация пересылается непосредственно получателю. Если данные предназначены компьютеры с IP-адресом, не принадлежащим локальной сети, то к ним применяются специальные правила для вычисления маршрута для пересылки из одной сети в другую.

Маска — это параметр, который сообщает программному обеспечению о том, сколько компьютеров объединено в данную группу (подсеть). Маска адреса имеет такую же структуру как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255. При этом, чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Для сетей небольших компаний маска обычно имеет вид 255.255.255.x (например, 255.255.255.224). Маска сети присваивается компьютеру одновременно с IP-адресом. Так, например, сеть 192.168.0.0 с маской 255.255.255.0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.254. А сеть 192.168.0.0 с маской 255.255.255.128 допускает адреса от 192.168.0.1 до 192.168.0.127. Думаю, смысл понятен. Как правило сети с небольшим возможным числом компьютеров используются провайдерами с целью экономии IP-адресов. Например, клиенту, может быть назначен адрес с маской 255.255.255.252. Такая подсеть содержит в себе только два компьютера.

После того как компьютер получил IP-адрес и ему стало известно значение маски подсети, программа может начать работу в данной локальной подсети. Однако же, чтобы обмениваться информацией с другими компьютерами в глобальной сети, необходимо знать правила, куда пересылать информацию для внешней сети. Для этого служит такая характеристика как адрес шлюза (Gateway).

Что такое протокол TCP?

TCP — это протокол транспортного уровня, предоставляющий транспортировку (передачу) потока данных, с необходимостью предварительного установления соединения, благодаря чему гарантирует уверенность в целостности получаемых данных, также выполняет повторный запрос данных в случае потери данных или искажения. Помимо этого протокол TCP отслеживает дублирование пакетов и в случае обнаружения — уничтожает дублирующиеся пакеты. TCP — это аббревиатура от Transmission Control Protocol (Протокол Управления Передачей) — является обязательным протоколом стандарт TCP/IP, определенный в стандарте RFC 793, «Transmission Control Protocol (TCP)».

В отличие от протокола UDP гарантирует целостность передаваемых данных и подтверждения отправителя о результатах передачи. Используется при передаче файлов, где потеря одного пакета может привести к искажению всего файла.

TCP обеспечивает свою надежность благодаря следующему:

  • Данные от приложения разбиваются на блоки определенного размера, которые будут отправлены.
  • Когда TCP посылает сегмент, он устанавливает таймер, ожидая, что с удаленного конца придет подтверждение на этот сегмент. Если подтверждение не получено по истечении времени, сегмент передается повторно.
  • Когда TCP принимает данные от удаленной стороны соединения, он отправляет подтверждение. Это подтверждение не отправляется немедленно, а обычно задерживается на доли секунды
  • TCP осуществляет расчет контрольной суммы для своего заголовка и данных. Это контрольная сумма, рассчитываемая на концах соединения, целью которой является выявить любое изменение данных в процессе передачи. Если сегмент прибывает с неверной контрольной суммой, TCP отбрасывает его и подтверждение не генерируется. (Ожидается, что отправитель отработает тайм-аут и осуществит повторную передачу.)
  • Так как TCP сегменты передаются в виде IP датаграмм, а IP датаграммы могут прибывать беспорядочно, также беспорядочно могут прибывать и TCP сегменты. После получения данных TCP может по необходимости изменить их последовательность, в результате приложение получает данные в правильном порядке.
  • Так как IP датаграмма может быть продублирована, принимающий TCP должен отбрасывать продублированные данные.
  • TCP осуществляет контроль потока данных. Каждая сторона TCP соединения имеет определенное пространство буфера. TCP на принимающей стороне позволяет удаленной стороне посылать данные только в том случае, если получатель может поместить их в буфер. Это предотвращает от переполнения буферов медленных хостов быстрыми хостами.

Порты TCP/UDP, используемые в среде Cisco CallManager

В этой таблице представлены порты TCP/UDP, используемые в среде Cisco CallManager.

Протокол

Удаленный исходящий порт

Порт назначения CallManager

Исходящий порт CallManager

Порт назначения удаленного устройства

Удаленные устройства

Примечания

DTC

   

TCP 135

 

Устройства CallManager в одном кластере

 

SSH

 

TCP 22

   

Клиент Secure Shell

 

Telnet

 

TCP 23

   

Клиент Telnet

 

DNS

 

UDP 53

   

Серверы DNS

 

DHCP

UDP 68

UDP 67

   

Сервер DHCP

 

DHCP

   

UDP 68

UDP 67

Клиент DHCP

 

TFTP

 

UDP 69

     

Динамические порты, используемые после первого подключения

HTTP

 

TCP 80

   

Веб-браузеры администратора / пользователя

Страницы CCMAdmin и CCMUser

OSI (DAP, DSP, DISP)

 

TCP или UDP 120

   

Каталог DCD

 

NTP

 

UDP 123

       

WINS

 

UDP 137-139

   

Сервер WINS

Служба имен Интернет для Windows

SNMP

 

UDP 161

       

Сообщение SNMP

     

UDP 162

   

LDAP

 

TCP 389

 

TCP 389

Службы каталога

При интегрировании с Corporate Directory

HTTPS / SSL

 

TCP 443

       

SMB

 

TCP 445

 

TCP 445

Несколько CallManager в одном кластере

 

Syslog

 

TCP 514

 

UDP 514

Служба системного журнала

 

RMI

 

TCP 1099-1129

   

Служба RMI. Консоль оператора

 

MS SQL

 

TCP 1433

 

TCP 1433

Несколько CallManager в одном кластере

 

H.323 RAS

     

UDP 1718

Обнаружение Привратника

 

H.323 RAS

     

UDP 1719

Привратник RAS

CallManager до версии 3.3. Cisco Conference Connection

H.323 RAS

   

UDP 1024-4999

UDP 1719

Привратник RAS

CallManager версии 3.3

H.323 H.225

 

TCP 1720

 

TCP 1720

Шлюзы H.323 / анонимное устройство Cisco Conference Connection / неуправляемая Привратником магистраль H.323

 

H.323 H.225/ICT

 

TCP 1024-4999

   

Магистрали H.323, управляемые Привратником CallManager

CallManager версии 3.3

H.323 H.245

 

TCP 1024-4999

TCP 1024-4999

 

Шлюзы H.323 CallManager / анонимное устройство / магистрали H.323

 

H.323 H.245

 

TCP 11000-65535

   

Шлюзы IOS H.323 Cisco Conference Connection

 

SCCP

 

TCP 2000

   

Skinny-клиенты (IP-телефоны)

 

Skinny-шлюз (аналоговый)

 

TCP 2001

   

Аналоговый Skinny-шлюз

Устарело

Skinny-шлюз (цифровой)

 

TCP 2002

   

Цифровой Skinny-шлюз

Устарело

Управление MGCP

 

UDP 2427

   

Управление шлюзом MGCP

 

Соединение с MGCP

 

TCP 2428

   

Соединение со шлюзами MGCP

 

RTS Serv

   

2500

     

Cisco Extended Service

 

TCP 2551

   

Определение активного / резервного

 

Cisco Extended Service

 

TCP 2552

   

Уведомление об изменении DB

 

Сборщик данных RIS

 

TCP 2555

   

Связь между RIS

 

Сборщик данных RIS

 

TCP 2556

   

Используется клиентами (IIS) для связи с RIS

 

CTI/QBE

 

TCP 2748

   

Приложения TAPI/JTAPI

Подключается к CTI Manager. Используется приложениями IVR, CCC, PA, Cisco Softphone, CRS, ICD, IPCC, IPMA, Attendant Console и любыми другими, которые используют TAPI или плагин J/TAPI / TSP.

Служба IPMA

 

TCP 2912

   

Консоль помощника IPMA

 

Приложение потоковой передачи медиаинформации

 

UDP 3001

   

Уведомление об изменении

 

SCCP

 

TCP 3224

   

Медиаресурсы

Мосты для конференций / Xcoder

Терминальные службы MS

 

TCP 3389

   

Терминальные службы Windows

 

Агент HID Entercept

     

TCP 5000

Консоль обнаружения несанкционированного доступа к хосту

 

CallManager SIP

 

TCP/UDP 5060

 

TCP 5060

Порт по умолчанию магистрали SIP

Может использовать TCP 1024 — 65535

Помощник VNC http

 

TCP 580x

     

Удаленное управление

VNC Display

 

TCP 690x

   

Дисплей компьютера виртуальной сети

Удаленное управление

Уведомление об изменениях CallManager

 

TCP 7727

   

Уведомление об изменении CallManager. Монитор уровня базы данных Cisco, Cisco TFTP, Cisco IP поток медиаданных, Cisco TCD, Cisco MOH

Уведомление об изменении RealTime

Служба IPMA

 

TCP 8001

   

IP Manager Assistant

Уведомление об изменении

ICCS

 

TCP 8002

 

TCP 8002

Несколько CallManager в одном кластере

Внутрикластерная связь

CTIM

 

TCP 8003

       

Cisco Tomcat

 

TCP 8007

   

Веб-запросы

 

Cisco Tomcat

 

TCP 8009

   

Веб-запросы

 

Cisco Tomcat

 

TCP 8111

   

IIS, веб-запросы рабочего потока IPMA

 

Cisco Tomcat

 

TCP 8222

   

IIS, веб-запросы рабочего потока приложения EM

 

Cisco Tomcat

 

TCP 8333

   

IIS, веб-запросы рабочего потока приложения WebDialer

 

DC Directory

 

TCP 8404

   

Встроенные службы каталога

Используется для служб каталога. Аутентификация / настройка приложения. Журнал SoftPhone. Журнал пользователя.

Cisco Tomcat

 

TCP 8444

   

IIS, веб-запросы рабочего потока службы EM

 

Cisco Tomcat

 

TCP 8555

   

IIS, веб-запросы рабочего потока Apache SOAP

 

Cisco Tomcat

 

TCP 8998

   

Веб-запросы

 

Cisco Tomcat

 

TCP 9007

   

IIS, веб-запросы рабочего потока CAR

 

RTP

UDP 16384-32767

   

UDP 16384-32767

Голосовое медиа

IP IVR Media. CCC IVR Media, Cisco SoftPhone, приложение Media Streaming

Агент Cisco SNMP

 

UDP 61441

   

Интерфейс аварийных сигналов Cisco

Принимает некоторые аварийные сигналы SNMP в формате XML.

Другие продукты AVVID

Описание других портов, используемых преимущественно между Microsoft Exchange и Cisco Unity и не приведенных в данной таблице см. в документе Cisco Unity и Quality of Service (QoS). Фактические голосовые порты Cisco Unity регистрируются у поставщика услуг TAPI (TSP) с использованием Skinny-протокола (порт TCP 2000).

Что есть MAC-адрес

Дело в том, что пересылаемые пакеты в сети адресуются компьютерам не по их именам и не на IP-адрес. Пакет предназначается устройству с конкретным адресом, который и называется MAC-адресом.

MAC-адрес — это уникальный адрес сетевого устройства, который заложен в него изготовителем оборудования, т.е. это этакий проштампованный номер Вашей сетевой карты. Первая половина MAC-адрес представляет собой идентификатор изготовителя, вторая — уникальный номер данного устройства.

Как правило MAC-адрес бывает требуется для идентификации, скажем, у провайдера (если провайдер использует привязку по мак-адресу вместо логина-пароля) или при настройке маршрутизатора.

Что такое IP-адрес

У всех он есть, но не все имеют представление что за адрес такой и почему вообще без него нельзя. Рассказываю.

IP-адрес  — 32-х битное число, используемое для идентификации компьютера в сети. Адрес принято записывать десятичными значениями каждого октета этого числа с разделением полученных значений точками. Например, 192.168.101.36

IP-адреса уникальны, — это значит, что каждый компьютер имеет свое собственное сочетание цифр, и в сети не может быть двух компьютеров с одинаковыми адресами. IP-адреса распределяются централизованно, интернет-провайдеры делают заявки в национальные центры в соответствии со своими потребностями. Полученные провайдерами диапазоны адресов распределяются дальше между клиентами. Клиенты, в свою очередь, сами могут выступать в роли провайдера и распределять полученные IP-адреса между субклиентами и т.д. При таком способе распределения IP-адресов компьютерная система точно знает «расположение» компьютера, имеющего уникальный IP-адрес; — ей достаточно переслать данные в сеть «владельца», а провайдер в свою очередь проанализирует пункт назначения и, зная, кому отдана эта часть адресов, отправит информацию следующему владельцу поддиапазона IP-адресов, пока данные не поступят на компьютер назначения.

Для построения же локальных сетей выделены спец.диапазоны адресов. Это адреса 10.x.x.x, 192.168.x.x, 10.x.x.x, c 172.16.x.x по 172.31.x.x, 169.254.x.x, где под x- имеется ввиду любое число это от 0 до 254. Пакеты, передаваемые с указанных адресов, не маршрутизируется, иными словами, попросту не пересылаются через Интернет, а поэтому в различных локальных сетях компьютеры могут иметь совпадающие адреса из указанных диапазонов. Т.е., в компании ООО «Рога и копыта» и ООО «Вася и компания» могут находится два компьютера с адресами 192.168.0.244, но не могут, скажем, с адресами 85.144.213.122, полученными от провайдера интернета, т.к. в интернете не может быть два одинаковых IP-адреса. Для пересылки информации с таких компьютеров в Интернет и обратно используются спец.программы и устройства, которые заменяют локальные адреса реальными при работе с интернетом. Иными словами, данные в Сеть пересылаются с реального IP-адреса, а не с локального. Этот процесс происходит не заметно для пользователя и называется трансляцией адресов. Хочется так же упомянуть, что в рамках одной сети, скажем, компании, ООО «Рога и копыта», не может быть два компьютера с одним локальным IP-адресом, т.е., в указанном выше примере имелось ввиду, что один компьютер с адресом 192.168.0.244 в одной компании, второй с таким же адресом — в другой. В одной же компании два компьютера с адресом 192.168.0.244 попросту не уживутся.

Вы наверняка слышали такие термины как внешний IP и внутренний IP, постоянный (статический IP) и переменный (динамический) IP. В двух словах о них:

  • внешний IP — это как раз тот самый IP, который выдает Вам провайдер, т.е. Ваш уникальный адрес в интернете, например, — 85.144.24.122
  • внутренний IP, — это локальный IP, т.е. Ваш IP в локальной сети, например, — 192.168.1.3
  • статический IP — это IP, который не меняется с каждым подключением, т.е. закреплен за Вами твердо и навсегда
  • динамический IP, — это плавающий IP-адрес, который меняется с каждым подключением

Тип Вашего IP (статический или динамический) зависит от настроек провайдера.

Протокол UDP: что это и как работает?

Освободи Себя Протокол UDP (протокол пользовательских дейтаграмм) является одним из основных протоколов в Интернете, он позволяет приложениям обмениваться данными с гарантиями независимо от нижних уровней модели TCP / IP. Это означает, что маршрутизаторы (сетевой уровень в модели TCP / IP) должны отправлять только дейтаграммы (единица измерения в UDP). UDP поддерживает несколько протоколов прикладного уровня, например, популярный DNS и даже протокол DHCP для автоматического получения (и предоставления) IP-адресации.

основные черты

Протокол UDP позволяет отправлять дейтаграммы без необходимости устанавливать соединение, необходимо лишь открыть сокет в месте назначения, чтобы принимать дейтаграммы источника. UDP — это протокол, не ориентированный на установление соединения, то есть это происходит не так, как в TCP, где есть фаза установления соединения, здесь они отправляются напрямую без «предупреждения» предварительного установления.

Этот протокол не обеспечивает какого-либо типа управления потоком Если одно устройство быстрее другого и отправляет информацию, вполне возможно, что информация будет потеряна, поскольку она будет разрушаться при самой низкой скорости, и нам придется перейти к пересылке информации

Важной деталью является то, что управление пересылкой дейтаграмм осуществляется транспортным уровнем, поскольку UDP очень прост и не имеет механизмов управления для пересылки дейтаграмм, поскольку он был потерян

UDP также не обеспечивает любой тип контроля скопление если в сети есть перегрузка, пакеты могут быть потеряны, и, конечно, он не будет отвечать за их повторную отправку, как это происходит с TCP. Следовательно, UDP не имеет контроля перегрузки, контроля потока или контроля ошибок, можно сказать, что UDP является ненадежным протоколом. Кроме того, он не предоставляет порядок в отправленных дейтаграммах и информацию о том, правильно ли поступила дейтаграмма, поскольку нет подтверждения доставки или получения. Любой тип гарантий передачи информации должен быть реализован на более высоких уровнях.

Этот протокол в основном используется в DHCP и DNS, где скорость важнее надежности. UDP широко используется в задачах управления передачей аудио и видео по сети. UDP только добавляет мультиплексирование приложения и добавление контрольной суммы в заголовок и полезную нагрузку.

Заголовок UDP

UDP добавляет 8-байтовый заголовок в каждой дейтаграмме. В этом заголовке UDP мы найдем порт источника и порт назначения соединения (сокета), длину дейтаграммы и контрольную сумму упомянутой дейтаграммы, чтобы убедиться, что в ней нет ошибок ни заголовка, ни данных дейтаграммы. порты (исходный порт и порт назначения) необходимы для правильного функционирования UDP. UDP использует эти номера портов для идентификации сокета, то есть приложения, которое передает данные или получает данные.

Как в Windows узнать, какая программа прослушивает порт

Открытых для прослушивания портов может оказаться достаточно много и обычно они используются легитимными программами

Поэтому при анализе полученных данных также важно знать, какая именно служба прослушивает определённый порт.. Для поиска службы, можно добавить к приведённой команде опцию -b, которая означает показать исполнимый файл, прослушивающий порт:

Для поиска службы, можно добавить к приведённой команде опцию -b, которая означает показать исполнимый файл, прослушивающий порт:

netstat -anb

Также имеется альтернативный способ определения исполнимого файла, привязанного к порту. Для него откройте Командную строку Windows. Для этого нажмите сочетание клавиш Win+x, там выберите Windows PowerShell (Администратор). В открывшемся окне введите:

cmd

чтобы перейти в обычную командную строку.

Там запустите команду вида:

for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findstr %m

Эта команда найдёт службы, которые прослушивают 80 порт. Чтобы найти информацию о другом порте, замените в команде цифру 80 на интересующий вас порт.

Пример вывода в моём случае:

C:\Windows\system32>echo 0.0.0.0:80 LISTENING   &
0.0.0.0:80 LISTENING
httpd.exe                     3576 Services                   0    16 764 КБ

C:\Windows\system32>echo :80 LISTENING   &
:80 LISTENING
httpd.exe                     3576 Services                   0    16 764 КБ

Запись 0.0.0.0:80 означает, порт 80 для любых IPv4 адресов прослушивает служба httpd.exe (веб-сервер Apache). А запись :80 — означает, что порт 80 для любых IPv6 адресов прослушивает та же самая служба httpd.exe (веб-сервер Apache). Мы ещё вернёмся к более подробному анализу данных далее в этой статье.

Менять порт в длинной команде не всегда удобно, поэтому рекомендую создать текстовый файл с именем port.bat, в этот файл скопируйте:

@ECHO OFF
for /f "tokens=1,2,3,4,5*" %%i in ('netstat -aon ^| findstr ":%1" ^| findstr /i listening') do echo %%j %%l & @tasklist | findstr %%m

Сохраните и закройте этот файл.

Теперь в Windows PowerShell или в командной строке Windows с помощью команды cd перейдите в папку, куда вы сохранили файл. Например, я его сохранил в папку C:\Users\Alex\Documents\, тогда для перехода туда я выполняю:

cd C:\Users\Alex\Documents\

Теперь запустите файл командой вида:

.\port.bat 

Где замените на интересующий вас порт, например, меня интересует порт 80, тогда:

.\port.bat 80

Вновь получаю аналогичный результат.

Если у вас множество портов прослушивает процесс svchost.exe, то чтобы разобраться, какие именно это службы, смотрите статью «Почему svchost.exe прослушивает много портов? Как узнать, какие именно программы открыли порты».

Основные сведения о брандмауэрах

Брандмауэр проверяет входящие пакеты на соответствие следующему набору правил:

  • Если пакет соответствует стандартам, заданным правилами, то брандмауэр передает его протоколу TCP/IP для дальнейшей обработки.
  • Пакет не соответствует стандартам, заданным в правилах.

Список разрешенного трафика заполняется одним из следующих способов.

  • Автоматически. Когда защищенный брандмауэром компьютер инициирует соединение, брандмауэр добавляет в список запись, чтобы разрешить ответ. Ответ считается запрашиваемым трафиком, и ничего настраивать не требуется.

  • Вручную. Работа администратора заключается в настройке исключений в работе брандмауэра. Это открывает доступ к определенным программам или портам на вашем компьютере. В этом случае компьютер принимает весь входящий трафик, выполняя роль сервера, прослушивателя или однорангового узла. Настройку необходимо выполнить для подключения к SQL Server.

Выбор стратегии брандмауэра является более сложной задачей и не сводится лишь к открытию или закрытию портов. При выборе стратегии брандмауэра для предприятия необходимо обязательно рассмотреть все доступные правила и параметры конфигурации. В этой статье не рассматриваются все возможные параметры брандмауэра. Рекомендуем ознакомиться со следующими документами:

Руководство по развертыванию брандмауэра WindowsРуководство по проектированию для брандмауэра Windows Основные сведения об изоляции серверов и доменов

TCP— Transmission Control Protocol

Обмен данными, ориентированный на соединения, может использовать надежную связь, для обеспечения которой протокол уровня 4 посылает подтверждения о получении данных и запрашивает повторную передачу, если данные не получены или искажены. Протокол TCP использует именно такую надежную связь. TCP используется в таких прикладных протоколах, как HTTP, FTP, SMTP и Telnet.

Протокол TCP требует, чтобы перед отправкой сообщения было открыто соединение. Серверное приложение должно выполнить так называемое пассивное открытие (passive open), чтобы создать соединение с известным номером порта, и, вместо того чтобы отправлять вызов в сеть, сервер переходит в ожидание поступления входящих запросов. Клиентское приложение должно выполнить активное открытие (active open), отправив серверному приложению синхронизирующий порядковый номер (SYN), идентифицирующий соединение. Клиентское приложение может использовать динамический номер порта в качестве локального порта.

Сервер должен отправить клиенту подтверждение (ACK) вместе с порядковым номером (SYN) сервера. В свою очередь клиент отвечает АСК, и соединение устанавливается.

После этого может начаться процесс отправки и получения сообщений. При получении сообщения в ответ всегда отправляется сообщение АСК. Если до получения АСК отправителем истекает тайм-аут, сообщение помещается в очередь на повторную передачу.

Поля заголовка TCP перечислены в следующей таблице:

Заголовок TCP
Поле Длина Описание
Порт источника 2 байта Номер порта источника
Порт назначения 2 байта Номер порта назначения
Последовательный номер 4 байта Последовательный номер генерируется источником и используется назначением, чтобы переупорядочить пакеты для создания исходного сообщения и отправить подтверждение источнику.
Номер подтверждения 4 байта Если установлен бит АСК поля «Управление», в данном поле содержится следующий ожидаемый последовательный номер.
Смещение данных 4 бита Информация о начале пакета данных.
Резерв 6 битов Резервируются для будущего использования.
Управление 6 битов Биты управления содержат флаги, указывающие, верны ли поля подтверждения (АСК), указателя срочности (URG), следует ли сбрасывать соединение (RST), послан ли синхронизирующий последовательный номер (SYN) и т. д.
Размер окна 2 байта В этом поле указывается размер приемного буфера. Используя подтверждающие сообщения, получатель может информировать отправителя о максимальном размере данных, которые тот может отправить.
Контрольная сумма 2 байта Контрольная сумма заголовка и данных; по ней определяется, был ли искажен пакет.
Указатель срочности 2 байта В этом поле целевое устройство получает информацию о срочности данных.
Опции переменная Необязательные значения, которые указываются при необходимости.
Дополнение переменная В поле дополнения добавляется столько нулей, чтобы заголовок заканчивался на 32-битной границе.

TCP — это сложный, требующий больших затрат времени протокол, что объясняется его механизмом установления соединения, но он берет на себя заботу о гарантированной доставке пакетов, избавляя нас от необходимости включать эту функциональную возможность в прикладной протокол.

Протокол TCP имеет встроенную возможность надежной доставки. Если сообщение не отправлено корректно, мы получим сообщение об ошибке. Протокол TCP определен в RFC 793.