Hoppa till innehållet

Classless Inter-Domain Routing

Från Wikipedia
Version från den 13 mars 2005 kl. 19.14 av Haagen (Diskussion | Bidrag)
(skillnad) ← Äldre version | visa nuvarande version (skillnad) | Nyare version → (skillnad)

Classless Inter-Domain Routing (CIDR) introducerades i började 1993 och är den senaste förbättringen i sättet som IP-adresser tolkas. Den ersätter den tidigare syntaxen med klassfulla adresser. Sättet ger större flexibilitet när större block av IP-adresser skall delas upp i mindre nät. Detta leder till följande fördelar:

  • Mer effektivt användande av den begränsade IPv4 adressrymden.
  • Större användande av hierarkier i adresstilldelningar samt möjligheten till sammanslagning av prefix (prefix aggregation) vilket minskar belastningen på den globala internet routing tabellen.

Bakgrund

IP adresser är uppdelade i två delar; nätverksadressen (vilken identifierar ett helt nät eller ett subnät) och värdadressen (vilken identifierar en specifik maskinsanslutning till nätverket). Denna uppdelning används för att kontrollera hur trafik routas bland IP-nätverk.

Historiskt så var IP-adressrymden uppdelad i tre klasser, där varje nätverksklass hade en förutbestämd storlek. Klassen och längden av subnätmasken och antalet värdar i nätverket kunde alltid bestämmas från de mest signifikanta bitarna i IP-adressen. Utan något annat sätt att specificera längden på subnätmasken blev routing protokollen tvungna att använda klassen för att bestämma storleken på nätverks prefixen i routing tabellerna.

CIDR och masker

En subnätmask är en bitmask som visar var nätverksadressen slutar och värdadresserna börjar. CIDR använder en varriabel längd på submasken, VLSM (variable length subnet masks), för att allokera IP-adresser till subnät för att passa specifika behov i stället för att använda generella nätverksregler. Nätverks/värd uppdelningen kan ske vid alla bit gränser i adressen. Processen kan vara rekursiv vilken gör att en del av adressrymden kan blir uppdelad i ännu mindre bitar genom att använda en mask som täcker fler bitar.

Då de gamla klassuppdelningarna ignoreras så kallas det nya systemet för klasslös routing (classless routing). En följd av detta blev att det gamla systemet kallas för klassfull routing (classful routing).

CIDR/VLSM nätverksadresser används nu över hela internet, de är också använda på andra ställen som i privata nätverk. Ett normalstort kontors eller hemmanätverk så ser användaren inte detta i praktiken eftersom nätverken ofta använder speciellt reserverade IP-adresser från RFC 1918.

Sammanslagning av prefix

En annan vinst med CIDR är möjligheten att slåsamman mindre prefix till större (routing aggregation). Som exempel så kan 16 stycken /24 nätverk som ligger i en följd aggregeras till ett /20 nätverk. Två intilliggande /20 nätverk kan slås ihopa till ett /19 nät och så vidate. Detta skapar möjligheten att reducera storleken på den globala internet routing tabellen.

Nu förtiden så vill de flesta ISPer inte routa publika nät som är mindre än /24 vilket är ett effektivt sätt att hindra mindre nät från att få publik internet routing om de inte blivit aggregerade av en ISP.

CIDR notation

Standard notationen för ett CIDR adressblock börjar med nätverksadressen som sedan fylls upp med nollor till höger så att en full adress erhålls. Detta följs av ett /-tecken och en prefix längd i bitar som bestämmer storleken på nätet i fråga (prefixet är igentligen längden på subnätmasken).

Några förtydligande exempel:

  • 192.168.0.0/24 representerar de 256 IPv4 adresserna mellan 192.168.0.0 och 192.168.0.255, där 192.168.0.255 är broadcastadressen.
  • 192.168.0.0/22 representerar de 1024 IPv4 adresserna mellan 192.168.0.0 och 192.168.3.255, där 192.168.3.255 är broadcastadressen.
  • 2002:C0A8::/28 representerar IPv6 adresserna mellan 2002:C0A8:0:0:0:0:0:0 och 2002:C0A8:FFFF:FFFF:FFFF:FFFF:FFFF.

För IPv4 adresser finns det en alternativ representation som använder nätverksadressen och och nätverkets subnätmask, skrivet som punktavskiljda decimaler:

  • 192.168.0.0/24 kan skrivas som 192.168.0.0 255.255.255.0
  • 192.168.0.0/22 kan skrivas som 192.168.0.0 255.255.252.0