Czy to normalne, że dostawca usług internetowych ma dwa razy ten sam adres IP na trasie?

8

Jeśli traceroutout z mojej sieci domowej, widzę ten sam adres IP dwa razy z rzędu bezpośrednio za routerem:

  1     1 ms     1 ms     1 ms  router
  2    17 ms    16 ms    16 ms  217.0.117.61
  3    16 ms    16 ms    16 ms  217.0.117.61
  4    17 ms    17 ms    17 ms  87.186.233.102
  5    26 ms    24 ms    24 ms  217.239.39.2
  6    24 ms    24 ms    25 ms  ...

Czy to normalne, czy może to być niewłaściwa konfiguracja w imieniu dostawcy usług internetowych?

Adam Lindberg
źródło
3
Jeśli adres IP znajduje się na nie sąsiadujących przeskokach, prawdopodobna jest błędna konfiguracja. ale w twoim przypadku są one sąsiadujące, co może oznaczać, że to proste urządzenie dwukrotnie zmniejsza pakiet TTL.
Robert

Odpowiedzi:

14

Jeśli tak się stanie raz lub rzadko

Wszystkie pakiety IP mają pole czasu wygaśnięcia ( TTL ). To pole jest zmniejszane o jeden przez każdy router, który przesyła pakiet. Jeśli router zmniejsza TTL do 0, upuszcza pakiet i generuje pakiet błędów przekroczony przez ICMP TTL i wysyła go z powrotem do nadawcy .

Traceroute używa tej funkcji do wysyłania pakietów z sekwencyjnie rosnącymi TTL. Pozwala to traceroute zbudować obraz ścieżki między źródłem a miejscem docelowym.

W twoim przypadku prawdopodobnie były możliwe dwie ścieżki z routera do 217.0.117.61, gdzie jedna była dłuższa od drugiej. Tak więc stało się:

  1. Pakiet wysłany z TTL = 1 dotarł do routera, który odpowiedział.
  2. Pakiet wysłany z TTL = 2
    • dotarł do twojego routera, który obniżył TTL do 1 i wysłał go dalej,
    • następnie osiągnął 217.0.117.61, co odpowiedziało.
  3. Pakiet wysłany z TTL = 3
    • dotarł do routera, który obniżył TTL do 2 i wysłał go dalej,
    • następnie osiągnął nieznany router, który obniżył TTL do 1 i wysłał go dalej,
    • następnie osiągnął 217.0.117.61, co odpowiedziało.

Dlatego dwa razy masz ten sam wpis. Mogło być gorzej, z każdym adresem IP wymienionym dwukrotnie, ale najwyraźniej router, który udzieli pierwszej odpowiedzi 217.0.117.61, nigdy nie uczestniczył ponownie w śledzeniu, więc wszystkie kolejne pakiety przechodziły przez nieznany router, którego adres IP nigdy nie został zwrócony.

Jeśli tak się zawsze dzieje

To dlatego, że Twój dostawca Internetu skonfigurował swoją sieć. Adresy IP na twojej liście należą do Deutsche Telekom AG, która ma ogromną sieć wewnętrzną z wysokowydajnymi wyrafinowanymi węzłami, na które jeden wydaje się odpowiadać dwa razy.

Istnieje kilka możliwych wyjaśnień:

  • ISP ma zaporę ogniową, która odpowiada na żądania traceroute. Zapora korporacyjna to specjalistyczny komputer sam w sobie. Może odpowiadać na żądania tracroute, jeśli jest zaprogramowane, przy użyciu zaprogramowanego adresu IP, który może być adresem chronionego węzła.

  • Router korporacyjny może odpowiadać zarówno z wewnętrznego, jak i zewnętrznego interfejsu. Taki szybki router o dużej przepustowości jest w rzeczywistości urządzeniem sieciowym ze specjalnymi pod-routerami jako komponentami. Odpowiedzi mogą pochodzić zarówno z podrzędnych routerów skierowanych do przodu, jak i do tyłu, odpowiadających z tym samym adresem IP.

harrymc
źródło
Zawsze jest dwa razy na ścieżce. Jak to możliwe, że w drugim przypadku nie przechodzi przez nieznany router?
Adam Lindberg
2
Jeśli tak się zawsze dzieje, dzieje się tak ze względu na sposób skonfigurowania sieci przez usługodawcę internetowego. Istnieje kilka innych wyjaśnień, o których nie wspomniałem, ponieważ są mniej prawdopodobne: (1) ISP ma zaporę ogniową, która odpowiada na zapytania traceroute, (2) Żądanie przechodzi przez NAT u ISP i otrzymujesz odpowiedź zarówno z jego wewnętrznej strony i interfejsy zewnętrzne, ale interfejs wewnętrzny odwzorowuje swój adres IP na zewnętrzny.
harrymc
Wszystkie wymienione adresy IP znajdują się w Deutsche Telekom AG. Logiczne jest, że mają ogromną sieć wewnętrzną z wieloma tłumaczeniami,
harrymc
1

Ponieważ dzieje się to konsekwentnie, myślę, że najbardziej prawdopodobną przyczyną jest błąd w oprogramowaniu układowym routera, który powoduje, że albo nie upuszcza pakietu śledzenia (i wysyła raport „Przekroczono TTL”), kiedy powinien, albo wysyła go przed nim powinien. Oto przykład pierwszego problemu ze strony podręcznika traceroute BSD :

A sample use and output might be:

 [yak 71]% traceroute nis.nsf.net.
 traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 56 byte packet
 1 helios.ee.lbl.gov (128.3.112.1)  19 ms 19 ms  0 ms
 2 lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  39 ms  19 ms
 3 lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  39 ms  19 ms
 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  39 ms  40 ms  39 ms
 [...]

Note that lines 2 & 3 are the same.  This is due to a buggy kernel on the
2nd hop system - lbl-csam.arpa - that forwards packets with a zero ttl (a
bug in the distributed version of 4.3 BSD).

W tym przykładzie jest to drugi router, który ma błąd, a trzeci router jest wymieniony zarówno jako # 2, jak i # 3.

Z drugiej strony zastanów się, co by się stało, gdyby drugi router miał błąd, który powodował, że upuszczał pakiety, gdy TTL osiągnął 1 zamiast 0:

  1. Pakiet śledzenia wysłany z TTL = 1 jest zmniejszany do 0 na pierwszym routerze, który upuszcza go i zgłasza przekroczenie TTL, więc pojawia się jako przeskok 1. Wszystko dobrze tutaj.
  2. Pakiet wysłany z TTL = 2 jest zmniejszany do 1 na pierwszym routerze; następnie drugi router zmniejsza go do zera, upuszcza i zgłasza, a więc pokazuje się jako przeskok # 2. Znowu wszystko tutaj dobrze.
  3. Pakiet wysłany z TTL = 3 jest zmniejszany do 2 na pierwszym routerze; następnie drugi router zmniejsza go do 1, i błędnie upuszcza i zgłasza, a więc pokazuje się jako przeskok # 3.

Znów jest to drugi router, który ma błąd, ale w tym przypadku jest to drugi router, który jest wymieniony dwukrotnie (w przykładzie na stronie podręcznika jest to trzeci, który jest wymieniony dwukrotnie).

Gordon Davisson
źródło