Okej, więc rozumiem, w jaki sposób maski podsieci są używane do dzielenia sieci na podsieci, ale moje pytanie brzmi: dlaczego każdy komputer w sieci musi znać maskę podsieci, a nie tylko router?
no cóż, urządzenia, które ludzie nazywają routerami, zwykle nie są tylko routerami. stąd ludzie czasami używają terminów takich jak router NAPT, router domowy lub router konsumencki, aby zasugerować, że nie jest to wyłącznie router. Aby podkreślić, że nie są to tylko routery, urządzenia te mogą wykonywać NAPT (co nie jest routingiem) i mają wbudowany przełącznik (przełącznik wykonuje mostkowanie, które nie jest routingiem - rozróżnienie między przełącznikiem a mostem są nieco słabo zdefiniowane - można powiedzieć, że most często miałby 2 porty i łączył różne media sieciowe (np. ethernet i nie-ethernet), podczas gdy przełącznik miałby wiele portów i ten sam nośnik sieciowy. Przełącznik robi mostkowanie.
Gdyby przełącznik był oddzielony od „routera”, wtedy rzeczywiście byłoby bardziej jasne. Gdy adres IP znajduje się w tej samej sieci, pakiet jest kierowany do idzie kablem do tego, co dalej jest fizycznie, którym jest przełącznik, i ostatecznie jest przeznaczony do innego komputera w sieci (chyba że był to przełącznik zarządzany, a ty łączyłeś się z przełącznikiem, np. telnet lub http, a przełącznik miał własny adres IP ), a ponieważ pakiet nie jest przeznaczony do innej sieci, pakiet nie dotrze do routera. Gdy jest przeznaczony dla komputera w innej sieci, to oczywiście nadal przechodzi do przełącznika, ale potem kontynuuje do routera (przełącznik skierował pakiet do routera i docelowego adresu MAC pakietu przychodzącego do przełącznik byłby adresem MAC routera), a trasa prowadziłaby go poza właściwy interfejs routera.
Z tymi rzeczami zwanymi zwykle routerami, które mają w sobie przełączniki (na przykład, nie są to profesjonalne routery Cisco / Juniper), to przełącznik jest w środku ... Ale to tylko lokalizacja przełącznika. Nadal jest tak, gdy IP jest włączony ta sama sieć, a następnie pakiet jest adresowany do przełącznika, a nie do routera. I idzie tylko do przełącznika wewnątrz routera i nie dociera do routera.
Zrozumiałbym to, gdyby każdy komputer był fizycznie połączony za pomocą przewodu,
co masz tutaj na myśli .. Gdyby wszystkie komputery w całej sieci były fizycznie połączone przewodem ... to chyba nie potrzebujesz przełącznika ani routera. To, co opisujesz, brzmi trochę jak oryginalny Ethernet ... i jeśli wszystkie są połączone przewodem, prawdopodobnie nie byłaby to tak duża sieć. W każdym razie nie będzie to drut taki jak ty. Po drodze podłączone byłyby do niego komputery za pomocą „kranów”. Więc nie wiem, dlaczego właśnie wrzuciłeś to zdanie.
ale i tak wszystkie pakiety muszą przejść przez router.
oznacza to odłożenie na bok tego pomysłu na wszystkie komputery połączone przewodem bez routera.
I nie, nawet w konfiguracji domowej nie za każdym razem przechodzą przez router. Nawet w przypadku „routera domowego” nazwij go skrzynką internetową. Idą do przełącznika w nim.
Powiedzmy, że mam komputer w sieci 192.168.0.0/255.255.255.0, który ma adres IP 192.168.0.1.
Jeśli ten komputer próbuje dotrzeć do komputera spoza podsieci, powiedzmy 192.168.1.1, przesyła wiadomość do routera,
do przełącznika, a następnie z przełącznika przechodzi do routera
router identyfikuje, że adres IP znajduje się poza zakresem adresów IP podsieci i zamiast transmitować go w podsieci, przesyła go do sieci, do której jest podłączony (być może inny router).
dobrze router identyfikuje interfejs sieciowy. Wysyła z jednego interfejsu do drugiego. Jedno rozróżnienie - oprócz tego, który interfejs będzie, czy sieć jest bezpośrednio podłączona, czy nie. Może wysłać do przełącznika, a następnie do komputera. Lub może wysłać do komputera. Lub jeśli sieć nie jest bezpośrednio podłączona, przejdzie do innego routera.
a twoje ostatnie zdanie było
przesyła wiadomość do routera,
a potem co, nagle postanowiłeś przestać pisać?
router identyfikuje, że adres IP znajduje się poza zakresem adresów IP podsieci i zamiast transmitować go w podsieci, przesyła go do sieci, do której jest podłączony (być może inny router).
cóż, nie powiedziałbym tego w ten sposób. Każdy interfejs routera ma inny zakres adresów IP.
Ale w przypadku routera konsumenckiego lub domowego router działa tak, jakby był routerem z dwoma interfejsami, z których jeden jest podłączony do przełącznika. Wiele portów to porty przełącznika.
Więc jeśli myślisz o części routera, to nie jest tak, jakby to było wewnątrz podsieci i to jest na zewnątrz, ponieważ potencjalnie istnieje wiele sieci. Na każdym interfejsie jest jeden. Router nie będzie transmitował go z powrotem do tej samej sieci, z której przyszedł. Powodem, dla którego dotarł do routera, jest dokładnie to, że przełącznik (który osiągnął pierwszy), zobaczył adres MAC, a więc zobaczył, że nie jest to adres MAC routera.
Komputer, który wysłał pakiet, sprawdzi, czy docelowy adres IP pakietu znajduje się w jego własnej sieci, czy w tej samej sieci, a następnie na podstawie tego wybierze odpowiedni adres MAC. Albo adres MAC komputera, do którego jest przeznaczony (to znaczy, jeśli komputer jest w tej samej sieci). Lub (jeśli komputer jest na innym interfejsie routera), będzie to adres MAC routera. Wydaje mi się, że odpowiedź na tytuł pytania może być całkiem bezpośrednia, dlaczego komputer musiałby znać maskę podsieci. W obecnym systemie TCP / IP .. tak to działa, komputer wybiera odpowiednią warstwę 2 adres np. dla ethernet, adres MAC.