Czy CIDR naprawdę „usuwa” klasy adresów IP?

20

Nadal staram się zrozumieć, w jakim stopniu CIDR naprawdę sprawia, że ​​klasy adresów IP stają się przestarzałe. Oto, co do tej pory rozumiałem:

  1. Jest absurdalnie nieefektywne (i niemożliwe) przypisanie każdej organizacji, która musi zaadresować ponad 255 hostów, adresu klasy B, który technicznie mógłby adresować 65535 hostów.

  2. Jeśli jednak taka organizacja musiała adresować, powiedzmy, około 700 hostów, można po prostu przypisać do tej organizacji trzy (najlepiej ciągłe) adresy sieciowe klasy C. Na przykład:

    192.42.42
    192.42.43
    192.42.44
    
  3. Problem: W tej jednej organizacji routery musiałyby przechowywać trzy wpisy w swoich tabelach przesyłania, które nie będą skalowane.

  4. CIDR rozwiązuje ten problem, wprowadzając podsumowanie / agregację tras, umożliwiając ISP, który przypisał trzy sieci klasy C organizacji, do reklamowania tylko jednego prefiksu w pozostałej części świata. Na przykład,

    192.42.42.0/21
    

Jak na razie dobrze. Jednak nie mogę pojąć, dlaczego każdy zasób, którego dotykam, twierdzi, że adresowanie klasowe jest „przeszłością”. Po tym wszystkim, ISP jest za, powiedzmy, adresów sieci klasy C, a nie przypisać je do swoich klientów. CIDR po prostu rozwiązuje problem wielu wpisów w tabelach przesyłania dalej, prawda? Tak więc klasy adresów IP wciąż istnieją, prawda?

Egzamin się zbliża, więc pomoc jest bardzo doceniana. : P

Łukasz Bromirski
źródło
2
/ 21 to osiem sieci „klasy c”.
Peter
5
Kusi mnie, aby powiedzieć, że to już przeszłość, ponieważ odnosi się do IPv4
Hagen von Eitzen
@HagenvonEitzen Kusi mnie, aby wskazać, że w praktyce jest to całkowicie nieprawdziwe.
Lekkość ściga się z Moniką
2
To już przeszłość, ponieważ 1993 był 22 lata temu. Patrz RFC 1517, 1518, 1519. Nie ufaj żadnym zasobom, które twierdzą, że adresy klasowe są aktualne dzisiaj lub traktują je jako nic innego jak ciekawostki historyczne.
Michael Hampton,

Odpowiedzi:

22

Delegowanie adresu naprawdę miało miejsce w trzech rozmiarach: klasy A, B i C. Delegacje klasy A byłyby przekazywane z określonego zakresu adresów, delegacje klasy B z innego zakresu itp. Ponieważ różne klasy używały różnych zakresów adresów, można określić klasy, patrząc na pierwszą część adresu. I to zostało wbudowane w protokoły routingu.

  • Delegacje klasy A zawierały po 16777216 adresów
  • Delegacje klasy B zawierały po 65536 adresów
  • Delegacje klasy C zawierały po 256 adresów

Było to bardzo nieefektywne w przypadku sieci, które nie pasowały do ​​tych rozmiarów. Sieć, która potrzebowała 4096 adresów, otrzymywałaby szesnaście delegacji klasy C (co byłoby niekorzystne dla globalnej tabeli routingu, ponieważ każda z nich musiałaby być trasowana osobno: rozmiar klasy był wbudowany w protokół) lub otrzymywała jedną klasę B delegacja (co zmarnowałoby wiele adresów).

W 1993 r. Wprowadzono CIDR. Protokoły zostały dostosowane tak, aby mogły obsługiwać prefiksy o różnych rozmiarach i stało się możliwe kierowanie (zarówno wewnętrznie, jak i zewnętrznie) prefiksów, takich jak / 30 lub a / 21 lub a / 15 itd. Wszystko pomiędzy / 0 i / 32 stało się możliwy. Organizacje, które potrzebowały 2048 adresów, mogą uzyskać / 21: dokładnie to, czego będą potrzebować.

Sposób wewnętrznego podziału tych adresów był również ograniczony. Były zasady dotyczące tego, jak można podsieć. Oryginalnie każda podsieć w twojej klasowej sieci musiała być tego samego rozmiaru. Potrzebujesz jednej podsieci ze 128 adresami i drugiej podsieci z 16 adresami: szkoda.

Maskowanie podsieci o zmiennej długości (VLSM) jest wewnętrznym odpowiednikiem CIDR w sieci. VLSM istnieje dłużej niż CIDR. Zostało to wspomniane już w 1985 roku. Więc CIDR zasadniczo rozszerza VLSM o routing między domenami. Dzięki VLSM Twoje podsieci nie muszą już mieć tego samego rozmiaru. Możesz przypisać inną liczbę adresów dla każdej podsieci, w zależności od potrzeb.

Obecnie wszystkie routing w Internecie odbywa się bez zajęć. Prefiks w tablicy routingu może przypadkowo (lub z powodu historii) pasować do struktury klasowej, ale protokoły nie będą już zakładały, że mogą wydedukować długość prefiksu (maska ​​podsieci) z pierwszej części adresu. Wszystkie długości prefiksów są jawnie przekazywane: bezklasowe.

Mówienie, że ISP odpowiada za sieć klasy C, jest podobnie przestarzałe. Adresy są dystrybuowane całkowicie bezklasowo przez RIR ( regionalne rejestry internetowe , organizacje odpowiedzialne za przekazywanie adresów usługodawcom internetowym i firmom posiadającym własne niezależne adresy).

Klasy adresów IPv4 naprawdę już nie istnieją i zostały wycofane w 1993 roku. Jeśli spojrzysz na stare, przestarzałe protokoły routingu, możesz oczywiście zobaczyć założenia, które przyjęli na podstawie klasy adresu, ale to było 20 lat temu ...

Sander Steffann
źródło
1
Te „reguły” były ograniczeniami protokołów routingu. Wszystkie twoje sieci muszą być tego samego rozmiaru, ponieważ protokół routingu nie nosił maski sieci. (np. RIPv1, IGRP)
Ricky Beam
1
Tak, tak powiedziałem. Przenoszenie długości prefiksów w protokołach routingu jest sposobem implementacji VLSM i CIDR
Sander Steffann
Nie „zgadują na podstawie adresu”, stosują maskę sieci interfejsu lokalnego do całej klasy. Na przykład. jeśli masz interfejs 10.0.0.5/24, wszystko w 10/8 będzie a / 24.
Ricky Beam
1
To jest bit VLSM. Klasą było to, że zakładali, że każdy adres zaczynający się od 10 należy do siebie. Bit sprzed VLSM zakładałby, że ponieważ lokalny interfejs to / 24, każda podsieć w 10/8 byłaby / 24. Zarówno / 24, jak i / 8 są obecnie założeniami. Każda podsieć może mieć inny rozmiar i nie ma możliwości ustalenia, gdzie znajduje się granica agregacji.
Sander Steffann
1
Dodając do tego, co zostało powiedziane, kilka pierwszych bitów adresu IP określiło klasę adresu. Pierwszy bit 0 = klasa A, pierwsze dwa bity 10 = klasa B, pierwsze trzy bity 110 = klasa C itp. Patrz także en.wikipedia.org/wiki/…
CVn
29

adresowanie klasowe to „przeszłość”.

Dzieje się tak, ponieważ nic we współczesnym Internecie nie zajmuje się adresowaniem klasowym [1] . Przy klasowym adresowaniu maska ​​sieci jest stałą wartością opartą na adresie. W twoim przykładzie nie możesz „scalić” trzech zakresów klasy C, aby mieć 700 hostów w jednej sieci LAN. Maska sieci dla każdego zakresu wynosi automatycznie 24 bity.

CIDR naprawił to, znosząc reguły, według których adres dyktuje maskę. Dlatego sieć LAN może mieć dowolny rozmiar.

Ty (i wiele innych osób) nadal nie rozumiesz słów „Klasa C”, „Klasa B” i „Klasa A”. Te konstrukcje już nie istnieją; i nie od dziesięcioleci. Co ludzie mają na myśli, gdy używają tego terminu, to rozmiar maski sieci odpowiednio 24, 16 i 8. Nie oznaczają, że stosowana jest semantyka klas.

[1] 10.0.0.1/24 jest niepoprawną konfiguracją w systemie klasowym.

Ricky Beam
źródło
1
Myślę, że Windows nadal używa klasy IP adresu jako domyślnej maski.
Taemyr
2
Tak, ale to nie jest specjalnie klasowe. Po prostu stosuje domyślny CIDR. Nie ma miejsca, w którym Microsoft wymaga lub określa klasę adresu IP ”
Mike McMahon,
@Taemyr To nie tylko Windows. Linux wyprowadził domyślną maskę z pierwszych bitów adresu od wielu lat. Tak jest nadal w przypadku Ubuntu 14.04. Jest to jednak domyślna opcja, która przez większość czasu musi zostać zastąpiona inną wartością.
kasperd
15

Adresowanie klasowe obsługuje tylko 3 maski dla emisji pojedynczej: / 8, / 16 /, / 24.

CIDR pozwala, aby maska ​​miała dowolną wartość od / 0 do / 32.

Pomyśl o serialu punkt-punkt: to zmarnowałoby klasę C / 24 (256 xIPs) przy klasowej konfiguracji; z CIDR potrzebuje tylko / 30 (4 xIP) lub / 31 (2 xIP).

Większość dostawców usług internetowych przypisuje teraz tylko / 28 do klienta podającego 14 adresów IP, a nawet mniej.

Dwa tryby działania nie są kompatybilne, ponieważ jeden (z klasą) odgaduje maskę na podstawie adresu IP, a drugi (CIDR) dokładnie ją określa.

Zobacz artykuł w Wikipedii „Classful Network” .

Pieter
źródło
Dziękujemy za poświęcenie czasu na napisanie odpowiedzi. Nie rozumiem jednak, w jaki sposób Twoja odpowiedź w jakikolwiek sposób odnosi się do mojego pytania.
5
Jego odpowiedź jest natychmiastowa. Kiedy zrozumiesz różnicę między bezklasowym a klasowym, odpowiedź będzie miała sens.
Ricky Beam
@baerenfaenger Oto twoje pytanie, tak jak je rozumiem. „Po prostu nie mogę pojąć, dlaczego ... adresowanie klasowe to„ przeszłość ”.… CIDR naprawia problem wielu wpisów w tabelach przesyłania dalej, prawda „Zatem klasy adresów IP wciąż istnieją, prawda?”
Pieter,
Jednak w podsieci IPv4 a / 31 sieć nie może zawierać żadnych adresów IP, 0 oznacza, że ​​oba są zarezerwowane dla identyfikatora samej sieci i transmisji do sieci.
maniak zapadkowy
2
@ ratchet freak z wyjątkiem linków ptp, tam nie potrzebujesz transmisji ip i możesz uciec / 31 patrz tools.ietf.org/html/rfc3021
Pieter
5

Jak już wyjaśnia wiele odpowiedzi, klasy należą już do przeszłości, ponieważ nie pozwalają na maski podsieci inne niż / 8, / 16 i / 24.

Te konkretne maski podsieci są nadal bardzo popularne, szczególnie / 24, ponieważ są one najłatwiejsze dla nas ludzi. W przypadku tych masek koniec części podsieci adresu jest wyrównany z kropką w adresie IP (dziesiętnym z kropkami). Zatem wizualnie jasne jest, czy dwa adresy IP znajdują się w tej samej podsieci, czy nie, nie są wymagane żadne obliczenia.

Właśnie dlatego terminy klasy A, B i C pozostają w pobliżu, nadal są zgodne z najpopularniejszymi maskami podsieci. Ale nie mają już sensu, a powiedzenie 10.11.12.0/24, że klasa C jest po prostu błędne. Pierwszy oktet klasy C był z definicji między 192 a 223.

Gerben
źródło
2

W routingu klasowym maska ​​sieci jest sugerowana przez górne bity adresu i nie jest przechowywana w tablicach routingu; klasa jest własnością każdego adresu, a nie tylko topologii routingu. Sieć klasy C nie może być podzbiorem sieci klasy B, ponieważ górne bity nie mogą pasować do obu.

Twoja hipotetyczna organizacja z 3 sieciami klasy C musiałaby zwracać uwagę na to, które komputery mają adresy w której z 3 sieci. Dzięki routingowi CIDR mogą używać maski sieci, która pozwala wszystkim komputerom znajdować się w tej samej podsieci.

ShadSterling
źródło
1

Jedynym miejscem, w którym widziałem rzeczywiste zachowania klasowe w ostatnich latach, jest protokół tunelowania punkt-punkt. PPTP Wielu uważa, że ​​jest to samo w sobie przestarzałe, ale z pewnością wiele z nich wciąż jest w użyciu.

Gdy klient łączy się z serwerem, tunel dostaje trasę domyślną lub trasę do klasowej sieci serwera. https://technet.microsoft.com/en-us/library/cc779919%28v=ws.10%29.aspx

Miałem kilka sieci, w których to faktycznie był problem, jeszcze w 2016 roku.

Wierzę, że istnieją obejścia z DHCP i różnymi dodatkowymi skryptami, a nawet trasami w innym kierunku. Jeśli to możliwe, użyj innego protokołu tunelowania, który ma lepszą obsługę tras.

Z poważaniem,

Jonathan.

jonathanjo
źródło
0

Jak prawidłowo opisałeś, adresowanie klasowe nie jest wydajne w porównaniu do adresowania bezklasowego, ponieważ wiele adresów IP pozostaje zmarnowanych w podsieciach z adresowaniem klasowym.

Po prostu nie mogę pojąć, dlaczego każdy zasób, którego dotykam, twierdzi, że adresowanie klasowe jest „przeszłością”

To prawda, że ​​adresy IP mogą obsługiwać sieć klasy C, ale nie dotyczy to wszystkich dostawców usług internetowych. Ponadto w poprzedniej epoce adresowanie klasowe było używane we wszystkich podsieciach (nawet w podsieciach domowych lub podsieciach korporacyjnych), gdzie obecnie stosuje się tylko adresowanie bezklasowe (jeśli nie NAT).

To jest powód, dla którego adresowanie do klas jest przeszłością.

Dimos
źródło