Межсетевой протокол IPv4: поле “протокол” в заголовке IP-дейтаграммы, его смысл и использование, IP-туннелирование.

4 бита № версии 4 бита Длина заголовка 8 бит Тип сервиса 16 бит Общая длина
PR D T R  
16 бит Идентификатор пакета 3 бита Флаги 13 бит Смещение фрагмента
  D M
8 бит Время жизни 8 бит Протокол верх уровня 16 бит Контрол сумма
32 бита IP адрес источника
32 бита IP адрес назначения
Опции и выравнивание
                     

Протокол (Protocol) занимает один байт и указывает, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета (например, это могут быть сегменты протокола TCP, дейтаграммы UDP, пакеты ICMP или OSPF). идентификатор интернет-протокола следующего уровня

Инкапсуляция: данные после пересылки их прикладной программой проходят через все уровни вниз по протокольному стеку, а каждый слой добавляет к спущенным ему данным собственную инфу в виде заголовка (header). Например: TCP-сегмент -> IP-дейтаграмма –> кадр Ethernet.

ДемультиплексированиеПоле Протокол – чтобы узнать что в контейнере. Это константа, которая показывает, что внутри дейтаграммы. На канальномуровне кадр Ethernet смотрит в поле «тип» и решает, куда отдать: ARP, RARP или IP – это уже на межсетевом.IPсмотрит в поле «протокол»и решает, кому отдать: UDP или TCP. Это уже транспортный уровень. Они смотрят в № порта и решают, кому дальше отдать (DNS, SMTP и т.д.) уже на уровне приложений.

Т.е. поле Протокол в IP показывает, кому дальше надо ее отдать.

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

Значения идентификаторов для различных протоколов приводятся в документе RFC «Assigned Numbers».

Межсетевой протокол IPv4: поле “протокол” в заголовке IP-дейтаграммы, его смысл и использование, IP-туннелирование. - student2.ru

49. Межсетевой протокол IPv4: поле “контрольная сумма заголовка” в заголовке IP-дейтаграммы, его смысл и использование.

4 бита № версии 4 бита Длина заголовка 8 бит Тип сервиса 16 бит Общая длина
PR D T R  
16 бит Идентификатор пакета 3 бита Флаги 13 бит Смещение фрагмента
  D M
8 бит Время жизни 8 бит Протокол верх уровня 16 бит Контрольная сумма
32 бита IP адрес источника
32 бита IP адрес назначения
Опции и выравнивание
                     

Для уменьшения вероятности искажения адресной части пакета, заголовок пакета препровождается проверочной последовательностью - контрольной суммой, занимающей 2 байта и рассчитываемой по всему заголовку.
Корректирующий код: берется все поле, умножается на полином CRC (cyclic redundancy check — циклическая избыточная проверка), получатель тоже * на полином, если CRC не тот же, то данные где-то испорчены. На перегоне содержание дейтаграммы не проверяют, так как сеть должна работать быстро.

Контрольная сумма считается в обратном коде. Значение этого поля сначала устанавливается в 0. Затем выполняется сложение (с циклическим переносом из старшего разряда в младший) всех 16-разрядных слов заголовка, и инвертированное значение результата записывается в поле контрольной суммы: перенос старшего разряда в младший 8+7=15+1=6.

UDP: если в контр. сумме написаны все нули, значит она не инвертирована, а это значит, что контр. сумма не подсчитывалась. Обратно сообщения об ошибках источнику не высылаются, потому что ip-адрес источника содержит 4 байта, весь заголовок 20 байтов, т.е., если отправлять пакет источнику обратно, то 20% ошибок придется только лишь на ip-адрес источника (а это очень много).

Если сообщение не дошло, то осуществляется повторная отправка (retransmission) – это задача не сети, а отправителя. Это задача TCP-протокола, у него есть таймер по истечении времени, он отправляет снова, но до этого рассчитывается мин-ое время доставки дейтаграммы.

Значение Контрольной суммы заголовка должно подсчитываться заново на каждом транзитном участке, так как по крайней мере одно поле постоянно меняется (поле Время жизни).

Наши рекомендации