Если локальная таблица маршрутизации в порядке, проблема может существовать на некотором удалении от локального узла. Удаленные проблемы маршрутизации могут приводить к получению сообщений об ошибке «no answer», а также «network unreachable».
При этом сообщение «network unreachable» не всегда указывает на проблему маршрутизации, оно может означать, что удаленная сеть недостижима из-за физического разрыва между локальным узлом и удаленным пунктом назначения. Обнаружить такие проблемы позволяет программа trace route.
trace route отслеживает маршрут пакетов UDP, адресованных локальным узлом удаленному узлу. Программа отображает имя (по возможности) и адрес IP каждого шлюза на пути к удаленному узлу.
trace route при трассировке пакетов использует два механизма: небольшое TTL (время жизни) пакета и некорректные номера портов, trace route посылает пакеты UDP с небольшими значениями TTL, чтобы обнаружить промежуточные шлюзы. Значения TTL начинаются с 1 и увеличиваются на 1 для каждой группы из трех отправленных пакетов UDP. Получив пакет, шлюз уменьшает TTL. Если TTL к этому моменту имеет значение 0, пакет не пересылается дальше, а источнику пакета возвращается ICMP-сообщение «Time Exceeded» (время доставки превышено), traceroute выводит одну строку для каждого шлюза, от которого получено сообщение «Time Exceeded». На рис. 13.2 представлена одна строка вывода и описаны значения ее полей.
Рис. 13.2. Вывод traceroute
Конечный узел, получив пакет от traceroute, возвращает ICMP-сообщение «Unreachable Port» (порт не доступен). Это происходит потому, что traceroute преднамеренно использует недействительный номер порта (33434), чтобы вызвать такую ошибку. Получив сообщение «Unreachable Port», traceroute делает вывод, что пункт назначения достигнут и прекращает трассировку.
- Назад
- Вперёд >>