Skocz do zawartości

Skąd router wie, do którego PC w sieci LAN mają trafi dane z Internetu?


Pomocna odpowiedź

Napisano

Dzień dobry,

Mam dość ważne dla mnie pytanie. Nakreślę trochę sytuację. Załóżmy, że kilka komputerów z jednej podsieci wysyła żądanie do tego samego serwera www. Oczywiście rozumiem drogę z tej podsieci do serwera ( wybór kolejnych routerów na podstawie adresu serwera www ). Serwer www dostaje żądania i odpowiada na nie. Pakiety idą do routera. Skąd ten jednak wie, że daną odpowiedź ma przesłać do danego komputera? Czy do serwera są wysyłane jakieś dodatkowe informacje np. o numerach ip w sieci lokalnej, albo adresy mac komputera? 

 

Pozdrawiam

W skrócie: router ma w pamięci tablicę zawierającą dane o połączeniach TCP/IP (tzw. conntrack table) na podstawie której po przyjściu pakietu może się zorientować do którego połączenia pakiet należy i któremu klientowi ma go przekazać.

Dotyczy to oczywiście tylko podsieci NAT i adresów IPv4. W IPv6 nie ma (przynajmniej docelowo) żadnej translacji adresów - może być na razie częściowo wykorzystana do łączenia sieci IPv4 i IPv6 do czasu całkowitego przejścia na IPv6.

  • Lubię! 2

Właśnie celowo dodałem, że wszystkie komputery z danej podsieci wysyłają żądanie do tego samego serwera. Są one jakoś rozróżnialne w tej tablicy? 

Nieważne że do jednego - każde połączenie jest zapamiętywane w tej tablicy, a pamiętaj że pakiet TCP/IP niesie ze sobą trochę więcej informacji po których je można rozróżnić. W każdym razie adres mac nie wycieka poza router.

Przykładowo - oba komputery wysyłają pakiet z portu 1234 na port 80 serwera X. Router po translacji wysyła jeden pakiet z portu 5678, drugi z 5679 i zapamiętuje, że pakiety przychodzące z serwera X port 80 na port 5678 mają docelowo zostać przekazane do komputera A na port 1234, a przychodzące na port 5679 do komputera B na port 1234.

To oczywiście straszliwe uproszczenie, ale mniej więcej na tej zasadzie to działa.

  • Lubię! 1
  • 2 tygodnie później...

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...