Home

Page 15
Page 15
background image

 

 

через  некоторое  количество  прыжков  между  маршрутизаторами  он  будет 
уничтожен. Возникает несколько вопросов:  

  Достаточна  ли  длина  поля  TTL,  не  получится  ли,  что  пакет  даже  с 

максимально возможным стартовым TTL=255 будет уничтожен, просто не 

успев достигнуть цели в ходе нормальной маршрутизации без петель?  

  Каким ставить TTL у отправляемых пакетов: 255 или меньше? 

 

Может показаться, что в огромной сети 255 возможных прыжков – не так 

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

сети  обычно  достаточно  гораздо  меньшего  числа  переходов,  нежели  255. 
практика  показывает,  что  подавляющее  большинство  узлов  в  Интернет 
достижимы  с  произвольного  узла  за  число  переходов  меньшее  30.  В  этом 
можно  убедиться,  применяя  утилиту  tracert.exe  для  проверки  тех 
маршрутизаторов,  которые  пересекают  пакеты,  направленные  к  некоторому 
узлу. Следовательно, ограничение числа переходов, которые может совершить 
пакет связанные с ограниченностью длины поля TTL не является проблемой.  

Каким  стоит  устанавливать  поле  TTL  у  отправляемых  пакетов?  Можно, 

конечно  устанавливать  его  равным  255,  в  таком  случае  пакет  будет 
максимально вероятно доставлен получателю. Даже если такой пакет попадет 
в маршрутную петлю, он будет «путешествовать» по ней максимально долго, и 
если  петлю  успеют  исправить  (администратор  или  протокол  маршрутизации), 
то  пакет  сможет  быть  доставлен  получателю  максимально  вероятно.  Однако 

такая  забота  о  доставке  собственного  пакета  провоцирует  дополнительные 
сетевые  проблемы,  так  как  если  маршрут  попадет  в  маршрутную  петлю,  он 
будет «вредить» сети максимально долго. При этом шанс, что петля исправится 
даже  за  само  большое  возможное  время  жизни  пакета  невелик.  Получается, 
что  установка  TTL=255  это  очень  «эгоистично»  -  повышая  шанс  передачи 
пакета  в  случае  возникновения  проблем  в  сети,  отправитель  таким  образом 
провоцирует  дополнительные  проблемы,  при  этом  имея  минимальный  шанс, 
что  большой  TTL  все  же  приведет  к  доставке  пакета.  Получается,  что  шанс 
доставить пакет в случае возникновения петли крошечный от большого  TTL, а 
проблемы  будут  созданы  ВСЕГДА  в  случае  наличия  петли.  Поэтому  более 
правильно  было  бы  устанавливать  меньший  TTL  в  отправляемых  пакета, 
впрочем,  это  определяется  программистами  стека  (по  умолчанию  стек 

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

HKEY_LOCAL_MACHINE/System/ 

CurrentControlSet/Services/Tcpip/Parameters/DefaultTTL.  

Различные  операционные  системы  устанавливают  TTL  по  умолчанию 

различным: Windows 2000 использует значение 128, Windows 95 – 32, Windows 
NT 4.0 – 64, многие Unix системы – 255. 


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

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