EIGRP packettyper

EIGRP använder fem olika pakettyper: Hello, update, Ack, Query, Reply.

I exemplet nedan ett LAN anslutet till router R2 har slutat fungera, något som måste informeras till alla andra närliggande EIGRP-routrar. R2 skickar omedelbart en uppdatering till R1 och R3 och informerar om den icke fungerande route. R1 och R3 svarar med ett ACK-paket.

Bild 1: EIGRP pakettyper
  • Hello paket används av EIGRP routrar för att upptäcka närliggande EIGRP routrar eller “grannar” och bygga upp relationer (adjacencies) med dem. EIGRP Hello-paket är multicast-baserat och använder otillförlitlig leverans.
  • Update eller uppdateringspaket som används av EIGRP routrar för att sprida routing-information. EIGRP uppdateringar innehåller bara den nödvändiga routing-informationen för alla eller några EIGRP routrar. EIGRP-uppdateringspaket använder tillförlitlig leverans och det skickas antingen som multicast eller unicast beroende på antal routrar som behöver kommuniceras med.
  • ACK-paket, eller kvittens, skickas tillbaka från mottagaren till avsändare via RTP. EIGRP-kvittenspaket  skickas alltid med en unicast-adress. ACK-paket, Query och Replay hanteras av RTP.
  • Query och Replay paket hanteras av algoritmen DUAL. Dessa paket används när routing-information och andra uppgifter behövs. Query-paket skickas som multicast medan Replay-paket är alltid unicast. Båda pakettyper använder tillförlitliga tjänster via RTP.

Hello protokoll

Innan EIGRP-paket kan växlas mellan routrar måste varje EIGRP router upptäcka sina grannar först. . På de flesta nätverk skickas EIGRP Hello-paket varje 5 sekund. Men när länkar mellan routrar är punkt-till-punkt eller långsamma skickas Hello-paket som unicast var 60:e sekund.

EIGRP-grannar är andra routrar som också kör EIGRP. Dessa routrar etablerar samarbete med närliggande EIGRP routrar med hjälp av Hello-paketet Det samarbetet definieras som grannskap eller Neighbor Adjacency på engelska.

Härnedan beskrivs stegvist hur EIGRP routrar bildar relationer med varandra

Bild 2: EIGRP grannskap
  1. Så fort EIGRP aktiveras i ett interface börjar det att skicka Hello-paket.
  2. Så fort mottar R2 ett Hello-paket svarar till R1 med att skicka ett update-paket som innehåller routing-information i R2 routing-tabellen. Uppdateringspaketet markeras med flaggan initialization satt till 1, vilket betyder att det har startas en process för att bilda relationen mellan EIGRP grannar.
  3. R2 skickar också ett Hello-paket till R1 som en fortsättning av den startade processen.
  4. R1 godkänner grannar-relationen och skickar en bekräftelse till R2. Efter att bägge routrar har växlat Hello-paket bildas de en grannar-relation med varandra och då lagras den informationen i Topologi-tabellen av bägge routrar.
  5. R1 skickar nu en uppdateringspaket till R2 så att den har routing-information i R1:s routing-tabell.
  6. R2 skickar tillbaka en kvittens till R1 som indikation att allting är i sin ordning.

En EIGRP-router förutsätter att mottagna router-information är korrekta så länge routern tar emot Hello-paket från sin granne. Men när en EIGRP router inte får ett Hello-paket inom en viss väntetid uppfattar denne att routing-information från grannen är oåtkomliga. Denna väntetid kallas holdtime och den berättar om den maximala tiden en router ska vänta att ta emot ett nytt Hello-paket.

Som standard är holdtime tre gånger Hello-intervallet, det vill säga 15 sekunder och 180 sekunder på andra nätverk med låg överföringshastighet.

Om holdtime eller väntetid är slut kommer EIGRP att identifiera vägen (route) som icke fungerande och DUAL kommer att starta sitt sökande efter en ersättare (backup route) genom att skicka ut query-paket till närliggande EIGRP routrar.

Multicast eller unicast?

EIGRP använder protokollet Reliable Transport Protocol (RTP) för tillförlitliga paket-leveranser routrar mellan. RTP kan använda multicast eller unicast för paket-leveranser. Med “reliable” eller tillförlitlig menas att varje paket-leverans kvitteras av mottagaren.

När använder EIGRP multicast och när unicast? Låt oss titta på ett exempel:

I exemplet illustreras att router R1 skickar 3 Hello-paket, ett till R2, ett till R3 och ett till R4. Här dyker upp flera frågor:

  • Varför tre olika Hello-paket genom samma länk?
  • Är det nödvändigt att mottagande routrar skickar en bekräftelse?
  • Är det inte bättre att skicka ett Hello-packet i multicast format?
  • Dessutom behöver inte mottagande routrar skicka någon bekräftelse eftersom EIGRP använder en holddown tid?
  • Om R1 inte tar emot Hello-paket från mottagande routrar under en viss tid kommer R1 att inte bilda relationer?
  • IGRP använder väl RTP för tillförlitliga paket-leveranser därmed ska mottagande routrar skicka tillbaka en bekräftelse till EIGRP paket som är av flera typer. Frågan är till vilka?
    • Hello – används för att upptäcka närliggande routrar (neighbor discovery) och bilda relationer med dem (network adjacency).
    • Update – inkluderar routing-information som skickas till den router (unicast) eller till de routrar (multicast) som behöver informationen.
    • Query – används när en router inte får information om ett visst nätverk och inte har backup vägar till det nätverket. Det som händer är att routern skickar förfrågar till närliggande routrar (multicast).
    • Reply – används som svar till query-paket (tillförlitlighet eller reliable)
    • ACK – används för att kvittera (unicast) update, query och replay paketen.