Я устраняю проблемы с беспроводным интернет-соединением, которое постоянно разрывается. Провайдер говорит, что радиосигнал хороший, так что он должен быть моим cisco asa 5505. Я им не верю ...
Для обсуждения предположим следующее:
Общедоступный IP-адрес удаленного сайта - 10.1.1.50, а его шлюз по умолчанию - 10.1.1.1.
Когда я выполняю tracert из удаленного местоположения на 10.1.1.50, должен ли предпоследний переход tracert всегда быть 10.1.1.1?
Когда соединение не работает, предпоследний переход не является 10.1.1.1, однако 10.1.1.1 доступен для проверки связи, и я могу выполнить его трассировку.
Я думаю, это проблема маршрутизации провайдера.
Моя логика верна? Если 10.1.1.1 доступен, не должен ли он быть предпоследним прыжком на трассировке перед тем, как я получу таймауты?
В 99% случаев предпоследний переход трассировки маршрута будет не быть шлюзом по умолчанию целевого хоста. Это связано с тем, как работает traceroute.
Все IP-пакеты имеют -несколько ошибочные- время жить (TTL) поле. Это поле уменьшается на единицу каждым маршрутизатором, пересылающим пакет. Если маршрутизатор уменьшает TTL до 0, он отбрасывает пакет и генерирует ICMP TTL превышен пакет ошибки и отправляет его обратно тому, кто отправил исходный пакет. Пакет с ошибкой будет иметь IP-адрес назначения источника исходного пакета (в данном случае хоста, инициировавшего трассировку). Исходным IP-адресом пакета ошибки обычно будет IP-адрес исходящий интерфейс, то есть тот, который обращен к остальной части сети.
Traceroute использует этот факт; он отправляет пакеты с последовательно увеличивающимся TTL; это заставляет каждый маршрутизатор на пути между источником и местом назначения отправлять сообщения о недоступности ICMP обратно на хост, выполняющий traceroute. Каждая ошибка будет иметь исходный IP-адрес последнего маршрутизатора, который получил пробный пакет до того, как был отброшен. Это позволяет traceroute построить картину пути между источником и местом назначения.
Рассмотрим диаграмму ниже (игнорируя возможность нескольких путей):
________ 1.1____1.2 2.1____2.2 ________
|Host A|-----|Router 1|--- Internet ---|Router 2|-----|Host B|
-------- ---------- ---------- --------
Если хост A выполняет трассировку к хосту B, то предпоследним переходом будет маршрутизатор 2, который получит тестовый пакет следующим образом:
SrcIP: A | DstIP: B | TTL: 1
Маршрутизатор 2 уменьшит TTL до 0; что приведет к генерации ICMP TTL с истекшим сроком действия:
SrcIP: 2.1 | DstIP: A | TTL <default>
Следовательно, когда traceroute получает это сообщение об ошибке, IP-адрес, который он увидит на предпоследнем переходе, будет выходить на интернет-интерфейс маршрутизатора 2, а не на тот, который обращен к хосту B.