Олимпиадный тренинг

Задача . MTU


Задача

Темы:
Большие (составные) компьютерные сети строятся путем объединения локальных сетей через маршрутизаторы. При передаче данных по составной сети IP-пакет инкапсулируется в поле данных сообщения канального (аппаратного) протокола, например Ethernet. При передаче пакета через составную сеть маршрутизатор принимает пакет из локальной сети-источника, обрабатывает его – извлекает IP-пакет из сообщения канального уровня сети источника, определяет маршрут, производит необходимые манипуляции и помещает IP-пакет в новое сообщение канального уровня следующей локальной сети – и передает в следующую локальную сеть.
Для разных локальных сетей и разных канальных протоколов может быть установлен разный MTU (maximum transmission unit - англ. максимальная единица передачи). Будем понимать под MTU максимальный размер полезного блока данных в байтах сообщения канального уровня. Можно считать, что это максимально доступный объем для одного IPпакета, то есть для заголовка IP-пакета и поля данных.
В IPv4 при начальном формировании IP-пакета его размер определяется исходя из MTU сети-источника. В случае, если по маршруту встречается сеть с меньшим MTU, то пакет фрагментируется маршрутизатором – его поле данных делится на части, каждая из которых снабжается своим IP заголовком, при этом суммарный объем нового поля данных и нового IPзаголовка соответствует новому, уменьшившемуся MTU. Далее получившиеся IP-пакеты меньшего размера передаются отдельно. Фрагментирование входит в обработку пакета маршрутизатором, но осуществляется только тогда, когда в этом возникает необходимость.

На рисунке показана составная сеть из 4-х локальных сетей. Компьютер Comp1 передает на компьютер Comp2. Для каждой из сетей задан MTU
LAN1 LAN2 LAN3 LAN4
2000 2000 1010 2000


Требуется передать: 9900 байт данных.
Скорость, с которой передается IP-пакет на всех участках: 10 байт/миллисек.
Объем заголовка IPv4 составляет 20 байт.
Маршрутизатор тратит 1 миллисекунду на обработку любого пакета без фрагментирования, и 2 миллисекунды на обработку каждого получившегося пакета при необходимости фрагментирования. Входящий трафик буферизируется в маршрутизаторе. Маршрутизатор начинает обработку нового принятого пакета только после того, как завершилась передача по следующему сегменту всех пакетов, сформированных из предыдущего принятого пакета. Например, если в маршрутизатор пришел пакет, который не требуется фрагментировать, то его передача в следующую сеть начнется ровно через 1 миллисекунду после завершения передачи предыдущего пакета, а если в маршрутизатор пришел пакет, который требуется фрагментировать на 4 части, то их отправка начнется через 4*2=8 миллисекунд после завершения передачи последнего пакета, сформированного из предыдущего принятого пакета, причем все сформированные пакеты будут переданы подряд друг за другом.

Требуется определить, сколько времени потребуется для передачи всех данных.
При расчетах следует пренебрегать наличием любых издержек на работу канального уровня, иных временных затрат на оборудовании, кроме перечисленных в условии, наличием пауз между пакетами, обработкой на компьютерах и влиянием любых других сетевых протоколов. Трафик дейтаграммный, т.е. идет строго в одну сторону без подтверждений.
Обратная дефрагментация на маршрутизаторах при увеличении MTU не происходит.
В ответе укажите целое число миллисекунд.

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя