Split horizon ruttannons - Split horizon route advertisement

I datanätverk är split-horizon-ruttannonsering en metod för att förhindra routningsslingor i avståndsvektordirigeringsprotokoll genom att förbjuda en router att annonsera en rutt tillbaka till gränssnittet som den lärt sig.

Konceptet föreslogs 1974 av Torsten Cegrell och implementerades ursprungligen i det ARPANET -inspirerade svenska nätverket TIDAS.

Exempel

I detta exempel, nätnoden A dirigerar paketen till nod B för att i ordning nå nod C . Länkarna mellan noderna är distinkta punkt-till-punkt-länkar.

ABC.svg

Enligt split-horisonten regel noden A inte annonserar sin rutt för C (nämligen A till B till C ) tillbaka till B . På ytan verkar detta överflödigt eftersom B kommer aldrig vägen via nod A eftersom rutt kostar mer än den direkta vägen från B till C . Om sambandet mellan B och C går ner, och B hade fått en rutt från A till C , B kan sluta med att vägen via A . A skulle skicka paketet direkt tillbaka till B och skapa en loop. Detta är greven till oändlighetsproblemet . Med split-horizon-regeln på plats kan detta speciella loop-scenario inte hända, vilket förbättrar konvergenstiden i komplexa, mycket redundanta miljöer.

Split-horizon routing med poison reverse är en variant av split-horizon route-annonsering där en router aktivt annonserar rutter som oåtkomliga över gränssnittet som de lärt sig genom att ställa in ruttmätvärdet till oändligt (16 för RIP ). Effekten av ett sådant tillkännagivande är att omedelbart ta bort de flesta looping -rutter innan de kan spridas genom nätverket.

Den största nackdelen med poison reverse är att det avsevärt kan öka storleken på routingmeddelanden i vissa ganska vanliga nätverkstopologier, men det möjliggör förbättring av nätets totala effektivitet vid fel. Delad horisont säger att om en närliggande router skickar en rutt till en router, kommer den mottagande routern inte att sprida denna rutt tillbaka till reklamroutern på samma gränssnitt.

Med ruttförgiftning, när en router upptäcker att en av dess anslutna rutter har misslyckats, kommer routern att förgifta rutten genom att tilldela den en oändlig måttstock och annonsera den för grannar. När en router annonserar en förgiftad väg till sina grannar bryter dess grannar regeln om delad horisont och skickar tillbaka till upphovsmannen samma förgiftade väg, kallad en giftomvändning. För att ge routern tillräckligt med tid för att sprida den förgiftade vägen och för att säkerställa att inga routningsslingor uppstår medan utbredningen sker, implementerar routrarna en nedhållningsmekanism.

Gift omvänd

Poison Reverse är en implementerad algoritm som ofta används inom routing av avståndsvektorer . Användningen av giftomvändning är att lösa räkna-till-oändlighetsproblemet (mer om räkningen till oändlighetsproblemet finns i avståndsvektor routing). Praktiskt taget kan giftomvändning betraktas som motsatsen till delad horisont. Med gift bakåt annonseras istället ruttannonser som skulle undertryckas av delad horisont med ett oändligt avstånd.

Grundtanken med giftomvändning är att se till att en väg inte går tillbaka till samma nod om en kostnad har ändrats inom nätverket. Ett exempel på detta skulle vara: Nod Z -rutter via nod Y till destination X. Om kostnaden mellan Z och Y ökar kommer antalet till oändliga problem att uppstå och här implementerar vi användningen av giftomvändning. Så länge Z rutter via nod Y för att komma till X, kommer Z att sända en oändlig kostnad till destinationen X, till noden som Z dirigerar via (Y).

Nätverk med vägda rutter.svg
  • siffrorna mellan noder är kostnaden för länkarna.

Efter denna topologi och vi antar denna distansvektortabell för Z:

Destination Z Y X
Z 0 1 3
Y 1 0 2
X 3 2 0

Som Z rutter via Y för att komma till X och på grund av det har kostnaden 3. Giftet bakåt sparkar in när vi sänder vår distansvektor till våra grannar: Avståndstabellerna vi sänder är:

Till Y: [0, 1, ∞]

Till X: [0, 1, 3]

Som vi ser i avståndsvektorn som sänds till nod Y har slutdestinationen X ett oändligt värde. Detta löser räkna-till-oändlighetsproblemet, eftersom om länken mellan Y och Z inte kommer att studsa mellan varandra och istället direkt prova en annan väg.

Giftförändring fungerar inte alltid. Till exempel:

Nätverk med en enda felpunkt.svg

Om länken mellan C och D skulle misslyckas kan nod C fortfarande försöka gå igenom A för att komma till destinationen. Detta kommer att få B att gå genom A och därifrån har vi en slinga som vi inte kan lösa med giftomvändning.

Detta kan dock slutföras med en implementering av ett distansvektorprotokoll som kallas RIP .

Implementeringar

Split-horizon-metoden är effektiv och enkel att implementera och används därför av de flesta distansvektorprotokoll. Det används särskilt av:

  • VILA I FRID
  • IGRP
  • EIGRP
  • VPLS , som använder split horizon -tekniken för att undvika slingor i vidarebefordringsplanet
  • Babel , som endast gäller split-horizon för trådbundna länkar

Se även

Referenser

James F. Kurose, Keith W. Ross (2017). Datornätverk: En top-down-strategi, sjunde upplagan . Harlow, England: Pearson. sid. 418.CS1 maint: använder författarens parameter ( länk )

externa länkar