Jump to content

Контрольная сумма Интернета

Интернета Контрольная сумма , [1] [2] , также называемая контрольной суммой заголовка IPv4 , Контрольная сумма используется в версии 4 ( Интернет-протокола IPv4) для обнаружения повреждений в заголовках пакетов IPv4. Он передается в заголовке IP-пакета и представляет собой 16-битный результат суммирования слов заголовка. [3]

Протокол IPv6 не использует контрольные суммы заголовков. Его разработчики посчитали, что контрольной суммы всего пакета на канальном уровне, предусмотренной в таких протоколах, как PPP и Ethernet , в сочетании с использованием контрольных сумм в протоколах верхнего уровня, таких как TCP и UDP , достаточно. [4] Таким образом, маршрутизаторы IPv6 освобождаются от необходимости пересчитывать контрольную сумму при каждом изменении пакета, например, путем уменьшения предела переходов счетчика на каждом переходе.

Контрольная сумма Интернета обязательна для обнаружения ошибок в UDP-пакетах IPv6 (включая полезные данные).

Контрольная сумма Интернета используется для обнаружения ошибок в пакетах ICMP (включая полезные данные).

Вычисление

[ редактировать ]

Расчет контрольной суммы определяется следующим образом: [5]

Поле контрольной суммы представляет собой 16-битное дополнение суммы всех 16-битных слов в заголовке. Для расчета контрольной суммы значение поля контрольной суммы равно нулю.

Если повреждений нет, результат суммирования всего IP-заголовка, включая контрольную сумму, должен быть равен нулю. На каждом прыжке проверяется контрольная сумма. Пакеты с несовпадением контрольной суммы отбрасываются. Маршрутизатор должен скорректировать контрольную сумму, если он меняет заголовок IP (например, при уменьшении TTL). [6]

Процедура подробно описана в RFC 1071 «Вычисление контрольной суммы Интернета». [1] Оптимизации представлены в RFC 1624 «Вычисление контрольной суммы Интернета посредством инкрементного обновления». [2] чтобы охватить случай с маршрутизаторами, которым необходимо пересчитывать контрольную сумму заголовка во время пересылки пакета, когда изменилось только одно поле.

Вычисление контрольной суммы заголовка IPv4

[ редактировать ]

Возьмите следующий усеченный фрагмент пакета IPv4. Заголовок выделен жирным шрифтом, а контрольная сумма подчеркнута.

4500 0073 0000 4000 4011 b861 c0a8 0001
c0a8 00c7 0035 e97c 005f 279f 1e4b 8180

Для сложения дополнения до единиц каждый раз, когда происходит перенос, мы должны добавить 1 к сумме. [7] Проверка переноса и исправление могут выполняться при каждом добавлении или в качестве постобработки после всех добавлений. Если в результате коррекции создается еще один перенос, к сумме добавляется еще 1.

Чтобы вычислить контрольную сумму, мы можем сначала вычислить сумму каждого 16-битного значения в заголовке, пропуская только само поле контрольной суммы. Обратите внимание, что эти значения представлены в шестнадцатеричном формате.

Первоначальное дополнение: 4500 + 0073 + 0000 + 4000 + 4011 + c0a8 + 0001 + c0a8 + 00c7 = 2479c

Затем производится сложение переноса путем добавления пятой шестнадцатеричной цифры к первым 4 цифрам: 2 + 479c = 479e

Всегда требуется только одно добавление переноса даже для заголовка IPv4 максимальной длины, поскольку добавление переноса само по себе никогда не будет генерировать другой перенос.

Тогда контрольная сумма является дополнением единиц ( побитовое НЕ ) этого результата: NOT 479e = b861

Это значение контрольной суммы показано подчеркнутым в исходном заголовке IP-пакета выше.

Проверка контрольной суммы заголовка IPv4

[ редактировать ]

При проверке контрольной суммы используется та же процедура, что и выше, за исключением того, что исходная контрольная сумма заголовка не опускается.
4500 + 0073 + 0000 + 4000 + 4011 + b861 + c0a8 + 0001 + c0a8 + 00c7 = 2fffd
Добавьте биты переноса:
fffd + 2 = ffff
Взятие дополнения до единиц (переворачивание каждого бита) дает 0000, что означает, что ошибка не обнаружена. Контрольная сумма IP-заголовка не проверяет правильный порядок 16-битных значений в заголовке.

См. также

[ редактировать ]
  1. ^ Jump up to: а б Р. Брейден ; Д. Борман; К. Партридж (сентябрь 1988 г.). Вычисление контрольной суммы Интернета . Сетевая рабочая группа. дои : 10.17487/RFC1071 . РФК 1071 . Информационный. Обновлено РФК 1141 .
  2. ^ Jump up to: а б А. Риджсингани, изд. (май 1994 г.). Вычисление контрольной суммы Интернета посредством инкрементального обновления . Сетевая рабочая группа. дои : 10.17487/RFC1624 . РФК 1624 . Информационный. Обновления РФК 1141 .
  3. ^ Общий формат IP-дейтаграммы
  4. ^ Ильич ван Бейнум (сентябрь 2006 г.). «Внутреннее устройство IPv6» . Циско.
  5. ^ Дж. Постель , изд. (сентябрь 1981 г.). ИНТЕРНЕТ-ПРОТОКОЛ — СПЕЦИФИКАЦИЯ ПРОТОКОЛА ИНТЕРНЕТ-ПРОГРАММЫ DARPA . IETF . дои : 10.17487/RFC0791 . СТД 5. RFC 791 . IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Интернет-стандарт 5. Устарело . RFC 760. Updated by RFC 1349 , 2474 и 6864 .
  6. ^ Ф. Бейкер , изд. (июнь 1995 г.). Требования к маршрутизаторам IP версии 4 . Сетевая рабочая группа. дои : 10.17487/RFC1812 . РФК 1812 . Предлагаемый стандарт. Устаревшие RFC 1716 and 1009. Updated by RFC 2644 и 6633 .
  7. ^ «Вычисление суммы дополнения к 16-битной единице» . Архивировано из оригинала 17 ноября 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bebe84722e770a1262f0296c1d1e05a6__1722374280
URL1:https://arc.ask3.ru/arc/aa/be/a6/bebe84722e770a1262f0296c1d1e05a6.html
Заголовок, (Title) документа по адресу, URL1:
Internet checksum - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)