Home

Page 12
Page 12
background image

 

 

маршрутизаторов  «отрезали»  фрагмент  данного  размер,  действительно: 
фрагменты,  полученные  в  результате  последовательной  фрагментации  ничем 
не отличаются от фрагментов, «нарезанных» сразу.  

Что  происходит,  если  один  фрагмент  пакета  потеряется?  Будет  ли 

повторен  только  он  или  повторять  придется  весь  пакет? Так  как  IP  не 
занимается 

гарантированием 

доставки 

пакетов 

(так 

как 

является 

дейтаграммным протоколом), то гарантированием доставки должен заниматься 
протокол,  уровнем  выше.  В  стеке  TCP/IP  это  протокол  TCP  (обычно).  TCP 
формирует  блок  данных  для  отправки  и  ожидает  подтверждения  от  TCP 
приемника. Так как  IP пакет при невозможности сборки уничтожается, то  TCP 
получателя не получает своего блока данных, и следовательно не уведомляет 
TCP отправителя о получении, а это значит, что TCP отправителя должен будет 
этот  блок  данных  повторить.  Сам  TCP  понятия  не  имеет  о  фрагментации  –  он 
или  получает  свой  блок  данных  или  нет,  а  сам  IP  не  имеет  никаких 
инструментов  (это  будет видно  после  полного  изучения  формата  заголовка  IP 
пакета) для затребования повторной передачи как отдельно взятого фрагмента 

так  и  всего  пакета  в  целом.  Поэтому  при  утере  хотя  бы  одного  фрагмента 
протоколы  ВЕРХНИХ  уровни  модели  будут  повторять  свои  данные  заново, 
нельзя  даже  говорить,  что  IP  пакет  будут  повторен  –  повторены  будут  сами 
данные в НОВОМ IP пакете – повторных передач IP пакетов вообще не бывает. 
 

Теперь  рассмотрим  второй  флаг  –  DF.  Этот  флаг  расшифровывается  как 

Don’t  Fragment.  Если  такой  флаг  установлен  в  заголовке  IP  пакета,  то  это 
является  запретом  для  маршрутизаторов  фрагментировать  пакет.  Так  как 
передать  пакет  не  фрагментируя  нельзя,  а  фрагментировать  запрещено,  то 
маршрутизатор  просто  уничтожает  пакет.  Зачем  это  может  быть  необходимо? 
Для  начала  рассмотрим  вопрос:  хорошо  ли,  что  маршрутизаторы  вынуждены 
фрагментировать  пакеты?  Конечно  же  НЕТ,  так  как  на  маршрутизаторы 
ложится  серьезная  вычислительная  нагрузка  и  дополнительные  действия, 
которые  вынужден  совершать  маршрутизатор  не  являются  желательными. 

Поэтому  узлам  рекомендуется  перед  передачей  пакетов  выяснять,  какой 
минимальный  MTU  присутствует  в  сетях,  через  которые  передается  пакет 
данному  получателю,  а  уже  затем  использовать  именно  такой  размер  пакета. 
Технологии Path MTU Discovery в полном объеме будет рассмотрена позднее, а 
пока  рассмотрим  простейший  механизм  выяснения  MTU  в  пути  следующим 
образом: станция передает все свои пакеты с флагом DF, и если пакеты ответы 
на запросы прикладных служб не приходят, станция уменьшает размер пакетов 
пока ответы не станут приходить. Это позволит разгрузить все маршрутизаторы 
сети от выполнения лишней работы, но приводит к дополнительным задержкам 
перед  началом  обмена  пакетами  с  любы  узлом.  Работать  ли  в  таком  стиле  в 
составной  сети  (т.е.  отправлять  ли  все  пакеты  с  флагом  DF,  заботясь  о 
маршрутизаторах  в  ущерб  собственной  производительности)  или  не  делать 

этого зависит от реализации стека TCP/IP и от его настройки.  
На  этом  рассмотрение  второго  четырехбайтового  слова  IP  заголовка 
завершено. 
 
 

Рассмотрим первое поле третьего слова TTL. 

 


Copyright © 2022 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.