Требуется разъяснение фрагментации пакетов на сетевом уровне.

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

Ниже вопрос и ответ.

Предположим, что хост A подключен к маршрутизатору R 1, R 1 подключен к другому маршрутизатору, R 2 и R 2 подключен к хосту B. Предположим, что сообщение TCP, содержащее 900 байтов данных и 20 байтов заголовка TCP, передается коду IP на хосте A для доставки на B. Покажите поля Total length, Identification, DF, MF и Fragment offset заголовка IP в каждом пакете, передаваемом по трем каналам. Предположим, что канал A-R1 может поддерживать максимальный размер кадра 1024 байта, включая 14-байтовый заголовок кадра, канал R1-R2 может поддерживать максимальный размер кадра 512 байт, включая 8-байтовый заголовок кадра, а канал R2-B может поддерживать максимальный размер кадра 512 байт, включая 12-байтовый заголовок кадра.

Отвечать:

The initial IP datagram will be fragmented into two IP datagrams at I1. No other fragmentation will occur.
Link A-R1:
Length = 940; ID = x; DF = 0; MF = 0; Offset = 0
Link R1-R2:
(1) Length = 500; ID = x; DF = 0; MF = 1; Offset = 0 
(2) Length = 460; ID = x; DF = 0; MF = 0; Offset = 60
Link R2-B:
(1) Length = 500; ID = x; DF = 0; MF = 1; Offset = 0 
(2) Length = 460; ID = x; DF = 0; MF = 0; Offset = 60

person Ivkaran Singh    schedule 11.11.2015    source источник


Ответы (1)


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

Значения полей вы можете увидеть здесь: http://mars.netanya.ac.il/~unesco/cdrom/booklet/HTML/NETWORKING/node020.html

Пожалуйста, прочтите это.

Я дам вам частичный ответ. Остальное, вы должны решить это в одиночку, чтобы узнать. DF означает, что отправитель не хочет фрагментировать. Я полагаю, что в вашем упражнении всегда будет 0.

MF равен 1, если за ним следует другой фрагмент. Итак, если дейтаграмма фрагментирована на 2 дейтаграммы, первая будет иметь 1, а вторая — 0, потому что дополнительных фрагментов нет. Когда пункт назначения получает фрагмент 1, он будет знать, что есть по крайней мере еще один фрагмент, которого следует ожидать, поскольку MF равен 1. Когда пункт назначения получает фрагмент 2 перед фрагментом 1, он будет знать, что он является частью более крупной фрагментированной дейтаграммы, поскольку смещение не равно 0. (во фрагменте 2 MF равен 0).

Во всех дейтаграммах вы должны учитывать 20 байт (в целом) для уровня TCP (если TCP) и 20 байтов для уровня IP. Обычно в Ethernetv2 (не GbE) MTU составляет 1500 октетов. Затем вы можете передать максимум 1480 октетов в полезной нагрузке IP (20 октетов для заголовка IP-уровня) и максимум 1460 октетов в полезной нагрузке TCP (минимум 20 октетов для заголовка IP и минимум 20 октетов для заголовка TCP).

Как подсказка, фрагментация будет происходить на любом прыжке в IPv4. В IPv6 фрагментировать может только исходный узел. Итак, в A-R1 фрагментация не нужна.

person rodolk    schedule 11.11.2015