Почему в пакете IPV4 контрольная сумма вычисляется по заголовку IP, а не по всему пакету, как транспортные протоколы tcp / udp? - PullRequest
6 голосов
/ 09 февраля 2012

Почему в пакете IPV4 контрольная сумма вычисляется по заголовку IP, а не по данным, таким как транспортные протоколы tcp / udp?

Ответы [ 3 ]

9 голосов
/ 09 февраля 2012

Это вопрос скорости: магистральные интернет-маршрутизаторы направляют миллионы пакетов в секунду, а вычисление контрольной суммы по всему содержимому резко замедлит обработку пакетов.

Спецификация IPv6 удаляет дажеконтрольная сумма заголовка , чтобы маршрутизаторы могли маршрутизировать пакеты еще быстрее.(Это всего лишь один из многих шагов, предпринятых IPv6 для сокращения количества времени, которое маршрутизаторы должны проверять каждый пакет. Все складывается.) Отказ от поврежденных пакетов теперь полностью размещается на конечных узлах.

2 голосов
/ 02 августа 2013

Ipv4 гарантирует, что только адрес является правильным, поэтому он вычисляет контрольную сумму, используя только адрес и не используя данные, гарантируя, что надежная передача данных не является задачей сетевого уровня

2 голосов
/ 08 июля 2012

Для этого есть две веские причины.

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

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

источник: Передача данных и сети Бехруз А. Форузан

...