W jaki sposób kierowane są żądania do sieci zewnętrznych?


1

Kiedy chcę dostać się do jakiejś sieci zewnętrznej, powiedzmy 1.1.1.1 z mojego komputera podłączonego do sieci klasy C, który z tych dwóch scenariuszy rzeczywiście się wydarzy?

  1. System operacyjny mojego komputera (NIC) wie, że chcę uzyskać dostęp do adresu z mojej sieci wewnętrznej, i wysyła pakiety bezpośrednio do bramy domyślnej.

    lub

  2. Mój komputer obsługuje to żądanie, jak każde inne, wysyłając je do mojego przełącznika, który nie zna adresu docelowego, więc wysyła je ponownie do wszystkich podłączonych urządzeń. Ponieważ jeden z nich jest routerem, ponownie wysyła pakiety na zewnątrz.

Czy jestem całkowicie w błędzie?


1
1 jest dobrym opisem tego, co dzieje się na poziomie IP. 2 to całkiem niezły opis tego, co dzieje się na poziomie Ethernet, z tym wyjątkiem, że przełącznik prawdopodobnie zna adres sprzętowy routera, więc nie musi wysyłać ich do wszystkich podłączonych urządzeń. Pakiet wysyłany przez komputer ma adres docelowy IP 1.1.1.1 i sprzętowy adres docelowy Ethernet adresu sprzętowego routera.
David Schwartz

Odpowiedzi:


4

Oba, w pewnym sensie. Na poziomie IP komputer wie, że idzie na adres zewnętrzny i wysyła go bezpośrednio do routera, ponieważ wie, że router działa jako brama do wszystkiego, co nie znajduje się w lokalnej podsieci (co określa za pomocą maski podsieci ).

Jednak przełączniki i koncentratory działają o jeden poziom poniżej IP, na poziomie Ethernet (w szczególności na warstwie łącza danych, z Ethernetem IEEE 802 dla przewodowych urządzeń Ethernet i WiFi). Nie wie, co to jest adres IP ani co one oznaczają. Jednak rozumie coś, co nazywa się adresem MAC. Gdy komputer wysyła pakiet, zawiera także adres MAC następnego urządzenia w sieci, które powinno obsługiwać ten pakiet. W takim przypadku router.

Gdy koncentrator odbiera pakiet, robi dokładnie to, co opisano - kopiuje pakiet i wysyła go przez wszystkie linie w nadziei, że dotrze do miejsca docelowego. Wszelkie urządzenia, które odbierają pakiet, ale nie są odbiorcami, po prostu go odrzucają.

Z drugiej strony przełącznik jest nieco mądrzejszy. W rzeczywistości przechowuje tabelę adresów MAC i kojarzy je z każdym portem na podstawie ruchu przychodzącego. W ten sposób, gdy musi wysłać pakiet na określony adres MAC, wie, na którym porcie musi wysłać. Pomaga to zmniejszyć przeciążenie sieci.


0

Zakładając, że maska ​​sieci w nici jest 255.255.255.0, żądanie zostanie wysłane do bramy domyślnej. Jeśli maska ​​sieci została ustawiona w taki sposób, że wymagana sieć znajdowała się w zasięgu, komputer obsługiwałby żądanie.


0

Komputer używa maski podsieci do ustalenia, czy docelowy adres IPv4 jest poza podsiecią. Jeśli tak, komputer planuje zaadresować nagłówki warstwy Ethernet na adres Ethernet (MAC) routera. Jeśli nie zna adresu MAC twojego routera, używa ARP, aby się dowiedzieć.

Tak więc w warstwie Ethernet pakiet jest adresowany do routera, ale w warstwie IP pakiet jest nadal adresowany do pierwotnego docelowego adresu IP.


0

Stos IP systemu operacyjnego sprawdza, gdzie wysłać go w następujący sposób.

Najpierw musisz zrozumieć podstawowe adresowanie. Nie będzie to do końca dokładne, ale mam nadzieję, że wystarczająco dobre, abyś to zrozumiał.

W przypadku IPv4 masz adres sieciowy i adres hosta. Tak więc dla adresu 192.168.1.10 z maską podsieci 255.255.255.0 masz 3 pierwsze bajty użyte do zaadresowania sieci. tj. część 255.255.255. Bit 0 na końcu reprezentuje część hosta adresu. W rzeczywistości można również mieć maski podsieci 255.255.255.240. Ale dla uproszczenia powiem tylko, że te liczby są używane do określenia, w jaki sposób 4 bajty lub oktety, które składają się na adres, są dzielone między sieć i hosty.

W przypadku maski podsieci 255.255.255.0 część 0 na końcu oznacza, że ​​możemy mieć 255 hostów.

Teraz część dotycząca routingu.

Jeśli wysyłamy pakiet do 192.168.1.11, stos IP będzie wiedział, że jest to adres lokalny i po prostu wyśle ​​go bezpośrednio do 192.168.1.11, ponieważ pierwsze 3 oktety pasują do mojej sieci lokalnej. Gdybym jednak miał wysłać pakiet do wersji 1.1.1.1, zostałby on wysłany na dowolną zdefiniowaną jako domyślną trasę w moim systemie operacyjnym. Domyślną trasą jest router, który obsłuży „Chcę wysłać pakiet do 1.1.1.1 dla mnie”. Więc wszystko, co nie jest lokalne, a nie zaczyna się od 192.168.1, zostanie wysłane do domyślnego routera. Sposób, w jaki router wie, jak osiągnąć 1.1.1.1, polega na protokołach routingu. Ale po prostu zapytałeś, w jaki sposób pakiety wychodzą z sieci, więc mam nadzieję, że ta odpowiedź wyjaśnia ci to wystarczająco dobrze.


0

2) łatwo odpowiedzieć:
Twój komputer nie wysyła swoich pakietów do przełącznika, ponieważ nie wie, że tam jest.

Twój komputer (a raczej stos sieciowy) ma tablicę routingu. Na podstawie informacji w tej tabeli może:

  • Pętla informacji z powrotem do siebie (własny adres IP lub lokalny host)
  • Zaadresuj go do karty sieciowej w sieci lokalnej (znanej z własnego adresu IP i własnej podsieci)
  • Wiedz, że nie jest lokalny i wyślij go przez osobę, która, miejmy nadzieję, wie, dokąd ma iść (czyli domyślna brama).

Próbuję wymyślić znacznie dłuższą i bardziej szczegółową odpowiedź, a za około tydzień prawdopodobnie opublikuję coś o sieci na mojej stronie głównej. Tymczasem lubię kierować cię do bardzo długiej i obszernej odpowiedzi na tej siostrzanej stronie: błąd serwera, jak działa podsieć ?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.