Порядковый номер IP ID предназначен исключительно для использования в приложении или будет иметь побочные эффекты системы? - PullRequest
0 голосов
/ 26 января 2019

В заголовке IP есть короткое поле, называемое «порядковый номер идентификатора» и имеющее идентификатор элемента в структуре IP как iphdr.ip_id.

Это поле предназначено исключительно для прикладного уровня последовательности пакетов или будетсетевые драйверы используют это поле для какой-то цели?

Другими словами, если я использую это поле для нумерации пакетов в соответствии с моими собственными потребностями, связанными с приложением, я рискую получить некоторый непреднамеренный побочный эффект при обработке пакетовсетевые транспортные уровни?

1 Ответ

0 голосов
/ 27 января 2019

Это поле предназначено для идентификации фрагментов IP, которые принадлежат конкретной дейтаграмме IP.Намерение состоит в том, что оно предотвращает использование фрагментов других дейтаграмм при восстановлении этой дейтаграммы.

Чтобы поле идентификации служило своей цели, его значение должно быть уникальным для всех дейтаграмм, отправленных с отдельным IP-адресом источника IP, которыйвозможно, выполняется повторная сборка одновременно на отдельном IP-адресе назначения.(Повторная сборка дейтаграмм выполняется для каждого источника, для каждого пункта назначения, поэтому поле идентификации необходимо только для того, чтобы различать дейтаграммы, отправленные с идентичной парой адресов источник + пункт назначения. Нет риска того, что фрагмент с другим адресом источника или пункта назначения будет принят вповторная сборка.)

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

...