Параметры протокола TCP-IP
Протокольный стек TCP/IP
Комплект протоколов TCP/IP создавался для сети Интернет (Internet Protocol Suite). На сегодня он широко используется как в глобальных сетях, так и в локальных. Комплект содержит общедоступные документы RFC (Request For Comments), созданных коллективными силами мирового сетевого сообщества. Транспортировка информации в интернете основана на коммутации пакетов. Весь комплект основан на IP — протоколе негарантированной доставке пакетов без установки соединения.
Данные в TCP/IP передаются пакетам согласно структуре, которая называется IP-дейтаграммы, которые имеют поле заголовка IP Datagram Header и поле данных IP Datagram Data. Формат заголовка можно увидеть на рис. 1, где он представлен в виде 32-битных слов. Конечные узлы — получатели и отправители информации называют хостами (host). Шлюзы (gateway) — промежуточные устройства, которые оперируют IP-пакетами.
Рисунок — 1
Поля имеют следующее определение для протокола IPv4 и для IPv6:
Название | Длина | Описание |
---|---|---|
Version | 4 бита | номер версии протокола, который определяет формат заголовка |
IHL (Internet Header Length) | 4 бита | длина заголовка в 32-битных словах (не менее 5) |
Type of Service | 8 бит | абстрактное описание качества сервиса:
|
Total Length | 16 бит | Вся длина дейтаграммы (заголовок + данные). Разрешается длина до 65 535 байт. Однако на практике хосты принимают только пакеты до 576 байт |
Identification | 16 бит | идентификатор, который назначается посылающим узлом для сборки фрагментов дейтаграмм |
Flags | 3 бита | Управляющие флаги:
|
Fragment offset | 13 бит | нахождение фрагмента в дейтаграмме (смещение в 8-байтных блоках), первый фрагмент имеет нулевое смещение |
Time to Live (TTL) | 8 бит | время жизни пакета в сети. в секундах. Нулевое значение означает, что дейтаграмму нужно удалить. Начальное значение задается отправителем, шлюзы декрементируют (отнимают) значение поля и за каждую секунду пребывания пакета в очереди. Однако современное оборудование не задерживает пакет больше чем на секунду, то поле можно использовать для подсчета промежуточных узлов. Также задав значение вручную, к примеру TTL = 1, значит что пакет не покинет подсеть отправителя |
Protocol | 8 бит | Идентификатор протокола более высокого уровня, который использует это поле |
Header Checksum | 16 бит | контрольная сумма заголовка. Контрольная сумма проверяется и пересчитывается в каждом шлюзе в линии связи. Сумма по модулю 216 всех 16-битных слов заголовка (включая контрольную сумму) должна быть нулевой |
Source Address | 32 бита | IP-адрес отправителя |
Destination Address | 32 бита | IP-адрес получателя |
Options — опции пакета, длина разная. Опции могут быть: | ( ) |
|
Padding | ( ) | заполнитель который выравнивает пакет до 32-битной границы |
Октет типа опции может содержать:
- 1 бит — флаг копирования опции во все фрагменты. 1 — копируется, 0 -нет
- 2 бита — класс опции: 0 управления, 2 — отладка и измерения, 1 и 3 — резерв
- 5 бит — номер опции. Опции определенные из Интернета (см. табл. ниже)
В дейтаграмму длиной 576 байт умещается 64-байтный заголовок и 512-байтный блок данных. Поскольку по пути к адресату в сети может встречаться сети с меньшим размером поля данных кадра, IP — определяет единый для всех маршрутизаторов метод сегментации — разбивки дейтаграммы на фрагменты и обратной сборки (реассемблирования). Фрагментированная дейтаграмма собирается только ее окончательным приемником, причем отдельные фрагменты могут добираться разными путями. Порядок сборки основан на смещении фрагмента.
Класс | Номер | Длина | Назначение |
---|---|---|---|
0 | 0 | — | End Of Option list — конец списка опций |
0 | 1 | — | No Operation — пустая опция |
0 | 2 | 11 | Security — безопасность |
0 | 3 | произвольная | Loose Source Routing — свободная маршрутизация от источника |
0 | 9 | произвольная | Strict Source Routing — ограниченная маршрутизация от источника |
0 | 9 | произвольная | Record Route — запись маршрута (трассировка) |
0 | 8 | 4 | Stream ID — идентификатор потока |
2 | 4 | произвольная | Internet Timestamp — отметки времени |
Так как формат заголовка стал почти что тесным, на сегодня уже вводят аппаратуру и ПО поддерживающие IPv6 который имеет:
- Расширенное поле адреса с 32 до 128 бит
- Поддержание возможности автонастройки узлов
- Выравнивание полей заголовка для ускорения обработки пакетов
Смотрите также: