"Человек - самое уязвимое место в системе безопасности.."

Параметры протокола 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-пакетами.

формат заголовка IP-дейтаграммы

Рисунок — 1

Поля имеют следующее определение для протокола IPv4 и для IPv6:

Название Длина Описание
Version 4 бита номер версии протокола, который определяет формат заголовка
IHL (Internet Header Length) 4 бита длина заголовка в 32-битных словах (не менее 5)
Type of Service 8 бит абстрактное описание качества сервиса:

  • биты 0-2 — Precedence — параметр указывающий на приоритет трафика
  • бит 3 — Delay — задержка: 0 нормальная, 1 — малая
  • бит 4 — Throughput — пропускная способность: 0 — нормальная, 1 — высокая
  • бит 5 — Reliability — надежность: 0 — нормальная, 1 — высокая
  • биты 6-7 — резерв
Total Length 16 бит Вся длина дейтаграммы (заголовок + данные). Разрешается длина до 65 535 байт. Однако на практике хосты принимают только пакеты до 576 байт
Identification 16 бит идентификатор, который назначается посылающим узлом для сборки фрагментов дейтаграмм
Flags 3 бита Управляющие флаги:

  • бит 0 — резерв, должен быть нулевым
  • бит 1 — DF (Dont Fragment) — 0 — дейтаграмму можно фрагментировать, 1 — нет
  • бит 2 — MF — (More Fragments — будут еще фрагменты), 0 — последний фрагмент, 1 — не последний
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 бит
  • Поддержание возможности автонастройки узлов
  • Выравнивание полей заголовка для ускорения обработки пакетов

Смотрите также: