Dlaczego potrzebujemy maski podsieci?

37

Skoro adres IPv4 zawiera już informacje o sieci i hoście, dlaczego nadal potrzebujemy maski podsieci?

Pierwszy oktet już określa klasę sieci (1-127: A, 128-191: B, 192-223: C itp.). A, B lub C implikuje liczbę oktetów dla sieci (odpowiednio 255.0.0.0, 255.255.0.0, 255.255.255.0), co automatycznie informuje, ile hostów jest dozwolonych dla każdej klasy sieci.

Adres IP zawiera wszystkie informacje, które posiada maska ​​podsieci, i więcej. Dlaczego w pierwszej kolejności potrzebujemy maski podsieci? Jeśli informacje, które zawiera podsieć, nie są całkowicie podzbiorem tych zawartych w adresie IP, to co jeszcze zawiera lub co dodatkowo zawiera podsieć, które wymagają od nas niezależnego określenia?

KMC
źródło
21
Klasa A, B, C są już w latach osiemdziesiątych i już dawno nie żyją. Gdy pojawiło się wyczerpanie adresu, zdano sobie sprawę, że wiele przydzielonych przestrzeni klasy A i B zostało całkowicie zmarnowanych na posiadaczach, stąd CIDR i przydzielone małe, użyteczne bloki adresów w całej przestrzeni adresowej.
Fiasco Labs
2
@FiascoLabs To nie odpowiada na jego pytanie, koleś. Czy routery nadal używały tych masek podsieci? Tak z klasą (jeśli nie ma dalszego podsieci, co może być mało prawdopodobne), maskę podsieci można obliczyć na podstawie adresu. Ale a) czy konieczne jest użycie maski podsieci z logicznym ORAZ, jeśli już wiesz, ile bitów chcesz i dlaczego? Prawdopodobnie przypisane do operacji procesora, które nie są w stanie przetestować x bitów bajtu, więc inne muszą zostać wyzerowane i zastosowany zostanie operator EQU.
barlop
8
Routery, z którymi pracowałem, nie zakładają, że pierwszy oktet klasy A, B lub C nic nie znaczy. Zawsze musiałem ustawić maskę sieci lub CIDR, aby router mógł znać adresy, pod którymi znajdowała się sieć i transmisja. Oczywiście przypisania adresów klas mają naprawdę łatwe maski sieciowe, 255.0.0.0, 255.255.0.0 i 255.255.255.0, więc tak, konieczne jest użycie maski podsieci.
Fiasco Labs
VLSM - maski sumbet o zmiennej długości, możesz utworzyć domenę sieciową lub rozgłoszeniową tak dużą lub tak małą, jak chcesz!
Mark S.
3
Nawet w dniach zajęć można mieć podsieć dużej sieci (sic) w różnych innych mniejszych. Stacja robocza na dużym uniwersytecie nadal miałaby adres w sieci klasy A, ale mogłaby podsieć podsieci podsieci całej klasy A. Naturalnie routery nie przyjmowały żadnych założeń.
Alexios

Odpowiedzi:

38

Potrzebujemy maski podsieci dla adresów IPv4, ponieważ adres nie podaje żadnych informacji o rozmiarze sieci. Rozmiary klas nie są rozmiarami sieci. W praktycznych sieciach wszystkie sieci IPv4 są podzielone na podsieci mniejsze niż rozmiar klasy.

Na przykład możesz podzielić sieć klasy C 200.200.200.0/255.255.255.0 na dwie mniejsze sieci (potencjalnie w oddzielnych lokalizacjach) 200.200.200.0/255.255.255.128 i 200.200.200.128/255.255.255.128, zakładając, że nie potrzebujesz więcej niż 126 hostów. W rzeczywistości większość firm otrzymuje tylko wystarczającą liczbę adresów IPv4 dla serwerów, które muszą znajdować się w publicznym Internecie. Osobiście widziałem konfiguracje z 32, 16 i 8 sieciami adresowymi (byłyby to odpowiednio maski 255.255.255.224, 255.255.255.240 i 255.255.255.248)

Posiadanie sieci IP tylko w blokach wielkości klasy było zbyt restrykcyjne w ograniczonej liczbie sieci, na które można było pozwolić - 127 sieci klasy A zajmowało połowę miejsca. Nie wspominając już o tym, że posiadanie 24 miliardowej sieci węzłów jest całkowicie niemożliwe do zarządzania. Zamiast tego w 1993 r. Wprowadzono bezklasowy routing międzydomenowy (CIDR), aby umożliwić podział sieci.

Dla jasności celem maski podsieci jest określenie, które hosty znajdują się w sieci lokalnej, a które poza nią. Hosty mogą rozmawiać bezpośrednio z hostami w tej samej sieci, ale muszą komunikować się z routerem, aby rozmawiać z hostami w sieciach zewnętrznych.

shf301
źródło
Korzystając z CIDR, dołączasz prefiks do określonej liczby bitów używanych do adresowania w sieci, a resztę do adresów hosta. Na przykład 200.200.200.0/27, to automatycznie oznacza, że ​​adres hosta musi mieć 63 lub mniej. Ponownie, adres IP nadal przekazuje tę informację, dlatego podtrzymaj moje pytanie ...
KMC
Nadal jest to adres i maska ​​sieci, gdy wszystko jest już powiedziane i zrobione, a tego właśnie używa sprzęt bazowy do obliczenia blokady sieci, prawda?
Fiasco Labs
Moje pytanie jest stałe, ponieważ adres IP nadal zawiera wszystkie informacje, które musi posiadać maska ​​podsieci. Nadal nie znajduję powodu, by maska ​​podsieci w ogóle istniała.
KMC
1
@KMC: Tak naprawdę nie otrzymuję twojego komentarza, prefiks CIDR jest porównywalny z maską podsieci i oprogramowaniem, dlatego często używa albo prefiksu, albo maski, w zależności od gustu.
Legolas
20
@KMC: /27 jest maską podsieci, właśnie zapisaną inną notacją.
Heinzi
20

Pierwszy oktet już określa klasę sieci (1-127: A, 128-191: B, 192-223: C itp.). A, B lub C implikuje liczbę oktetów dla sieci (odpowiednio 255.0.0.0, 255.255.0.0, 255.255.255.0), co automatycznie informuje, ile hostów jest dozwolonych dla każdej klasy sieci.

Tak, ale gdyby ktoś podsiecił tę sieć, potrzebna byłaby maska ​​podsieci, aby wiedzieć, jak duża jest podsieć. Tak, dzięki adresowaniu klasowemu klasa określa rozmiar sieci i pozwala określić, czy host znajduje się w tej samej sieci co Ty, ale jeśli ta sieć jest podsieciowa, bez maski podsieci, skąd miałbyś wiedzieć, czy inny węzeł znajduje się w tej samej podsieci co Ty?

Powiedz, że jesteś w sieci Ethernet. Korzystamy z klasowego adresowania z podsieciami. Twój adres IP to 1.2.3.4i chcesz się skontaktować 1.3.1.1. Czy korzystasz z ARP, aby dotrzeć do tego adresu? Cóż, to zależy od tego, czy 1.2.3.4i 1.3.1.1są w tej samej podsieci . Nawet jeśli są w tej samej sieci, jeśli znajdują się w różnych podsieciach, należy użyć routera. Jeśli są w tej samej podsieci, należy użyć ARP.

Potrzebujesz więc maski podsieci, jeśli podsieci są używane, nawet w klasowych sieciach.

Myślę, że w rzeczywistości mylisz podsieci z CIDR. Bez CIDR, nawet z podsieciami, nie potrzebujesz maski podsieci między regionami administracyjnymi. Ale nadal potrzebujesz go w sieci!

David Schwartz
źródło
6

Maska podsieci służy do wykonywania nieco mądrych operacji na adresie IP w połączeniu z adresem sieciowym. Jeśli moja pamięć dobrze mi służy, bierzesz adres IP i robisz trochę mądre ORAZ i maskę podsieci dla danej sieci. Jeśli wynik jest równy adresowi sieci, adres IP znajduje się w tej konkretnej sieci. Routery, które mają tabele routingu adresów sieciowych i masek podsieci, mogą korzystać z prostych matematyki binarnej (która jest bardzo szybka, jeśli nie najszybsza do obsługi przez komputery), aby dowiedzieć się, z którego interfejsu należy wyrzucić pakiet.

Adrian Thompson Phillips
źródło
3

„Pierwszy oktet już określa klasę sieci (1-127: A, 128-191: B, 192-223: C itp.).”

Obecnie nie ma wielu powszechnie używanych protokołów, które to szanują (patrz komentarz @Fiasco Labs - RIP jest jedynym, o którym myślę). Zatem to pytanie w twoim pytaniu:

Adres IP zawiera wszystkie informacje, które posiada maska ​​podsieci, i więcej.

nie jest prawdą w przypadku większości protokołów używanych obecnie w Internecie.

Jeśli masz kilka komputerów, które są ze sobą połączone i tylko komunikują się ze sobą, bez żadnego routera, wtedy maska ​​podsieci nie jest tak naprawdę potrzebna (chociaż współczesne stosy TCP / IP nalegają, abyś ją określił).

Routery określają krawędzie (pod) sieci. Wszystko, co musi przejść przez router, znajduje się w innej sieci - i odwrotnie: wszystko, co musi przejść do innej sieci, musi przejść przez router.

Maska podsieci to sposób, w jaki wszystkie maszyny mogą stwierdzić, czy ruch jest w bieżącej sieci, czy musi zostać wysłany do routera, aby dostać się do miejsca docelowego. Stos TCP / IP komputera wyśle ​​ruch bezpośrednio do miejsca docelowego, jeśli znajduje się w masce podsieci, w przeciwnym razie przejrzy swoją tabelę routingu, a zwykłą sytuacją jest wysyłanie innego ruchu do domyślnej bramy.

LawrenceC
źródło
3

Pierwszy oktet już określa klasę sieci (1-127: A, 128-191: B, 192-223: C itp.). A, B lub C implikuje liczbę oktetów dla sieci (odpowiednio 255.0.0.0, 255.255.0.0, 255.255.255.0), co automatycznie informuje, ile hostów jest dozwolonych dla każdej klasy sieci.

Chociaż historycznie było to prawdą. To nie było prawdą od lat. Wiele lat temu 24.0.0.0/8 zostało rozdane w kawałkach różnym dostawcom usług internetowych. (Uważam, że było to głównie dla dostawców telewizji kablowej).

Nawet jeśli było to prawdą w przypadku zadań sieciowych, maski sieciowe były konieczne dla wewnętrznych sieci w celu uproszczenia routingu. Wydajne kierowanie siecią taką jak 10.0.0.0/8 wymaga podziału na mniejsze sieci. Może to być prosty schemat wykorzystujący poddziały / 16 i / 8, ale bardziej prawdopodobne jest, że będzie to podklasa bezklasowa. Większe podsieci efektywniej wykorzystują przestrzeń adresową (ponad 99% A / 24 jest dostępne dla urządzeń, a tylko 50% A / 30 jest dostępne.

Sieć lokalna jest kierowana bezpośrednio z urządzenia, podczas gdy inne adresy są przekazywane przez router. Hosty z wieloma interfejsami mogą być podłączone do sieci o różnych rozmiarach.

W przypadku podsieci bez hostów obsługujących wiele baz a / 24 zawiera więcej adresów niż jest to wymagane. Większość routerów, z którymi pracowałem, ma 24, 48 lub 96 portów i może być obsługiwana przez podsieci / 27, / 26 lub / 25. Pozwala to na dodatkowe adresy dla DCHP i / lub multi-homing. Organizacje mogą standaryzować przydzielanie podsieci / 24 lub / 23 do routingu.

Skoro adres IPv4 już zawiera informacje o sieci i hoście, dlaczego> nadal potrzebujemy maski podsieci?

Wiele urządzeń korzysta z domyślnej maski sieci / 24, która w wielu przypadkach odpowiada rozmiarowi lokalnej podsieci (localnet) przypisanej do routera. Dotyczy to w równym stopniu klas A, B i C. O ile rozmiar podsieci nie odpowiada domyślnej podsieci, wymagana jest maska ​​sieci.

Jeśli adresy są określone przy użyciu formatu CIDR, maskę sieci i sieć można obliczyć na podstawie adresu. Jeśli nie, sieć można obliczyć na podstawie adresu i maski sieci. Nie można wiarygodnie obliczyć maskę sieci na podstawie adresu i sieci.

Podanie adresu bramy (routera) dla podsieci umożliwia skonfigurowanie domyślnej trasy, umożliwiając routing do adresów poza podsiecią.

BillThor
źródło
2

Z wyjątkiem odpowiedzi @ Adriana nie jestem pewien, czy którekolwiek z nich faktycznie wspominają DLACZEGO używamy maski zamiast prostszego do zrozumienia rozwiązania - a on tylko dotknął faktu, że maskowanie jest SZYBKIE, to znaczy, dlaczego po prostu nie określić, że jesteś zainteresowany adresami 192.168.1.200-192.168.1.220, a może po prostu użyć do tego nazw takich jak * .my.address.com, po prostu nadając nazwę każdemu komputerowi zamiast przypisywać numery?

Właściwie możesz teraz do pewnego stopnia całkowicie usunąć numery z routingu, większość komputerów PC może obsłużyć przesyłany przez nich ruch, ale nadal istnieje problem z urządzeniami na większą skalę.

Filtrowanie w ten sposób dzieje się cały czas i dzieje się DUŻO. Maskowanie można wykonać sprzętowo, całkowicie eliminując potrzebę marnowania czasu na nieciekawe pakiety (które kiedyś stanowiły 99% pakietów, które można było przejść przez drut, teraz z przełączanymi koncentratorami nie powinieneś widzieć żadnych, które nie są zaadresowane do twojego komputera, co znów czyni go mniej odpowiednim).

W przypadku rozwiązania tak łatwego dla sprzętu jest ono również bardzo elastyczne. Ten sam sprzęt może trasować całą sieć klasy A (10.xxx) lub tylko jeden lub dwa adresy IP z tą samą implementacją.

To nie zastępuje żadnej z pozostałych odpowiedzi, tylko trochę więcej informacji.

Bill K.
źródło
„dlaczego nie użyć do tego nazw takich jak * .my.address.com, po prostu nadając nazwy każdemu komputerowi” - masz na myśli DNS?
Piskvor
@Piskvor Dokładnie! DNS przekształca się w adresy IP, możesz użyć DNS bezpośrednio, ale używana moc obliczeniowa wzrasta. Możesz nawet podzielić domeny, aby * .meh.com trafił na jeden adres, z wyjątkiem * .alt.meh.com trafił na inny ...
Bill K
To działa, tak - to znaczy, kiedy działa (dodatkowa złożoność); plus musisz wiedzieć, gdzie jest serwer DNS; problem z kurczakiem i jajkami.
Piskvor
@Piskvor Mówię tylko, że istnieją inne możliwości, które działałyby dobrze, z wyjątkiem wydajności - wciąż znaczącej w niektórych przypadkach - oraz faktu, że wymagałoby to ponownego napisania WSZYSTKIEGO. (Czy naprawdę uważasz, że problem z serwerem DNS byłby inny, gdybyś przeszedł na inny schemat adresowania?)
Bill K
Nie, problem rzeczywiście się utrzyma. (a przy okazji, nacisk na prosty stos sieciowy nie zniknie - wręcz przeciwnie, wzmocnienie się z „internetem rzeczy”: proste oznacza również mniejsze zapotrzebowanie na energię i dłuższą żywotność baterii)
Piskvor
1

W innych odpowiedziach wyjaśniono już wiele rzeczy, ale nie najważniejsze.

Chcesz wiedzieć, że jeśli adres IP może już dać ci pełny adres odbiorcy, to dlaczego istnieją maski podsieci. Wiesz, w dużych organizacjach czasami działy potrzebują oddzielnych sieci, więc na przykład księgowi znajdują się w innej podsieci i nie mają dostępu do wewnętrznych adresów IP działu marketingu. Na przykład pracownik o adresie IP 192.168.10.3 nie mógłby uzyskać dostępu do drukarki pod adresem 192.168.15.76, ponieważ byłby w innej podsieci.

Luka Ramishvili
źródło
1

Do chwili obecnej nie ma odpowiedzi na pytanie, dlaczego podsieci (w przeciwieństwie do CIDR) są nadal używane. Istnieją dwa problemy z maskami podsieci:

  1. możesz określić nieprzylegające maski, które są nieprawidłowe.
  2. (dotyczy również CIDR) wprowadzają możliwe nakładanie się - dostawcy usług internetowych mogą podawać ten sam adres IP jako część różnych podsieci. na przykład

    klient A: 22.132.124.121 maska ​​podsieci 255.255.255.0
    klient B: 22.132.114.55 maska ​​podsieci 255.255.0.0

co nie jest od razu widoczne, jak powinno być.

https://blog.certskills.com/ccent/vlsmo_01_01/

LogicBreaker
źródło
0

Zazwyczaj maska ​​podsieci działa jako wskaźnik dla poniższych podsieci. zazwyczaj sieć zawiera kilka podsieci, a maska ​​podsieci jest sposobem, w jaki router wykorzystuje sposób dostarczania ruchu do określonego miejsca docelowego (w dowolnej podsieci używającej maski podsieci), ten link zawiera wprowadzenie do masek podsieci

Salah Amean
źródło
1
Dodaj ważne informacje z linku tutaj, dodaj link jako źródło.
avirk