Версия | IHL | Тип обслуживания | Длина пакета | ||||||||||||||||||||||||||||
Идентификатор | Флаги | Смещение фрагмента | |||||||||||||||||||||||||||||
Время жизни (TTL) | Протокол | Контрольная сумма заголовка | |||||||||||||||||||||||||||||
IP-адрес отправителя (32 бита) | |||||||||||||||||||||||||||||||
IP-адрес получателя (32 бита) | |||||||||||||||||||||||||||||||
Параметры (от 0 до 10-ти 32-х битных слов) | |||||||||||||||||||||||||||||||
Данные (до 65535 байт минус заголовок) | |||||||||||||||||||||||||||||||
- Версия — для IPv4 значение поля должно быть равно 4.
- IHL — (Internet Header Length) длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных Минимальное корректное значение для этого поля равно 5.
- Идентификатор — значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке датаграммы. Для фрагментированного пакета все фрагменты имеют одинаковый идентификатор.
- 3 бита флагов. Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов.
- Смещение фрагмента — значение, определяющее позицию фрагмента в потоке данных. Смещение задается количеством восьми байтовых блоков, поэтому это значение требует умножения на 8 для перевода в байты.
- Время жизни (TTL) — число маршрутизаторов, которые должен пройти этот пакет. При прохождении маршрутизатора это число уменьшатся на единицу. Если значения этого поля равно нулю то, пакет должен быть отброшен и отправителю пакета может быть послано сообщение Time Exceeded (ICMP, код 11 тип 0).
- Протокол — идентификатор интернет-протокола следующего уровня указывает, данные какого протокола содержит пакет, например, TCP или ICMP (см. IANA protocol numbers и RFC 1700 В IPv6 называется «Next Header».
- Контрольная сумма заголовка — вычисляется с использованием операций поразрядного сложения 16-разрядных слов заголовка по модулю 2. Сама контрольная сумма является дополнением по модулю один полученного результата сложения.
Transmission Control Protocol (TCP) (протокол управления передачей) — один из основных сетевых протоколов интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP.
|
|
Выполняет функции протокола транспортного уровня модели OSI.
TCP — это транспортный механизм, предоставляющий поток данных с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета. В отличие от UDP гарантирует целостность передаваемых данных и уведомление отправителя о результатах передачи.
|
|
Реализация TCP, как правило, встроена в ядро OC, хотя есть и реализации TCP в контексте приложения.
|