Книга: Linux-сервер своими руками
1.7.7. Структура пакетов IP и TCP
1.7.7. Структура пакетов IP и TCP
Вот теперь можно смело перейти к рассмотрению структуры пакетов IP и TCP. Протокол IP не ориентирован на соединение, поэтому не обеспечивает надежную доставку данных. Поля, описание которых приведено в табл. 1.6, представляют собой IP-заголовки и добавляются к пакету при его получении с транспортного уровня.
Структура заголовка IP-пакета Таблица 1.6
Поле | Описание |
---|---|
Source IP-address | (IP-адрес отправителя) Отправитель пакета |
Destination IP-address | (IP-адрес получателя) Получатель пакета |
Protocol (Протокол) | TCP или UDP |
Checksum (Контрольная сумма) | Значение для проверки целостности пакета |
TTL (Time to Live, время жизни пакета) | Определяет, сколько секунд дейтаграмма может находиться в сети. Предотвращает бесконечное блуждание пакетов в сети. Значение TTL автоматически уменьшается на одну или более секунд при проходе через каждый маршрутизатор сети |
Version Версия протокола IP — 4 или 6. | Шестая версия протокола IP рассматривается в гл. 8 (4 бита) |
Header Length (Длина заголовка) | Минимальный размер заголовка — 20 байт (4 бита) |
Type of Service (Тип обслуживания) | Обозначение требуемого для этого пакета качества обслуживания при доставке через маршрутизаторы IP-сети. Здесь определяются приоритет, задержки, пропускная способность. (8 бит) |
Total Length (Общая длина) | Длина дейтаграммы IP-протокола (16 бит) |
Identification (Идентификация) | Идентификатор пакета. Если пакет фрагментирован (разбит на части), то все фрагменты имеют одинаковый идентификатор (16 бит) |
Fragmentation Flags (Фрагментационные флаги) | 3 бита для флагов фрагментации и 2 бита для текущего использования |
Fragmentation Offset (Смещение фрагмента) | Указывает на положение фрагментов относительно начала поля данных IP-пакета. Если фрагментации нет, смещение равно 0x0 (13 бит) |
Options and Padding (Опции и заполнение) | Опции |
Протокол TCP, в отличие от протокола IP, ориентирован на установление соединения и обеспечивает надежную доставку данных. Структура TCP-пакета описана в табл. 1.7.
Структура TCP-пакета Таблица 1.7
Поле | Описание |
---|---|
Source port (Порт отправителя) | Порт TCP узла-отправителя |
Destination Port (Порт получателя) | Порт TCP узла-получателя |
Sequence Number (Порядковый номер) | Номер последовательности пакетов |
Acknowledgement Number (Номер подтверждения) | Порядковый номер байта, который локальный узел рассчитывает получить следующим |
Data Length (Длина данных) | Длина TCP– пакета |
Reserved (Зарезервировано) | Зарезервировано для будущего использования |
Flags (Флаги) | Описание содержимого сегмента |
Window (Окно) | Показывает доступное место в окне протокола TCP |
Checksum (Контрольная сумма) | Значение для проверки целостности пакета |
Urgent Pointer (Указатель срочности) | При отправке срочных данных (поле Flags) в этом поле задается граница области срочных данных |
Похожие страницы