När routern har identifierat den bästa vägen för ett paket baserat på den längsta matchningen, måste den besluta hur paketet ska inkapslas och vidarebefordras genom rätt utgående interface.
Följande steg beskrives på bilden om processen för paketvidarebefordran:
- En datalänk ram med ett inkapslat IP-paket anländer till ingångs-interfacet (ingress).
- Routern undersöker destinations-IP-adressen i paketets header och konsulterar sin IP-routing-tabell.
- Routern hittar det längsta matchande prefixet i routing-tabellen.
- Routern inkapslar paketet i en ny datalänk ram och vidarebefordrar det via det utgående interfacet (egress). Destinationen kan vara en enhet ansluten till en lokal direkt nätverk eller en nästa-hop-router.
- Om det inte finns någon matchande ruttpost i routing-tabellen, släpps paketet.
Vidarebefordrar Paketet till en Enhet på ett Direktanslutet Nätverk
Om ruttposten visar att utgångs-interfacet är ett direktanslutet nätverk, betyder det att paketets destinations-IP-adress hör till en enhet på samma nätverk. Routern kan därför skicka paketet direkt till destinationen. Vanligtvis är destinationen en enhet på ett Ethernet-LAN, vilket kräver att paketet inkapslas i en Ethernet-ram.
För att göra detta måste routern hitta destinations-MAC-adressen som motsvarar destinations-IP-adressen. Processen skiljer sig åt beroende på om det är ett IPv4- eller IPv6-paket:
- IPv4-paket:
Routern kontrollerar sin ARP-tabell för att hitta MAC-adressen för destinations-IPv4-adressen. Om ingen matchning hittas skickar routern en ARP-förfrågan. Destinationsenheten svarar med sin MAC-adress via ett ARP-svar. Därefter kan routern inkapsla paketet i en Ethernet-ram med rätt MAC-adress. - IPv6-paket:
Routern söker i sin Neighbor Cache efter destinationens IPv6-adressen och dess MAC-adress. Om ingen matchning finns skickar routern ett ICMPv6 Neighbor Solicitation (NS)-meddelande. Destinationsenheten svarar med ett Neighbor Advertisement (NA)-meddelande som innehåller MAC-adressen. Routern kan sedan inkapsla paketet i en Ethernet-ram med rätt MAC-adress.
Vidarebefordra paketet till en Nästa-Hop-Router
Om ruttposten visar att destinations-IP-adressen tillhör ett fjärrnätverk (remote network), innebär det att paketet måste skickas vidare till en nästa-hop-router. Nästa-hop-adressen anges i ruttposten och är den router som ligger närmast på vägen mot destinationen.
Om routern och nästa-hop-routern är anslutna via ett Ethernet-nätverk, används samma process som tidigare beskrivits för att hitta destinations-MAC-adressen. Skillnaden är att routern nu söker efter MAC-adressen för nästa-hop-routerns IP-adress i sin ARP-tabell (för IPv4) eller neighbor cache (för IPv6).
- IPv4: Routern letar upp nästa-hop-routerns IP-adress i sin ARP-tabell. Om ingen matchning finns skickar den en ARP-förfrågan och får MAC-adressen i ett ARP-svar.
- IPv6: Routern kontrollerar sin neighbor cache för nästa-hop-routerns IP-adress. Om ingen matchning finns skickas ett ICMPv6 Neighbor Solicitation (NS)-meddelande, och nästa-hop-routern svarar med ett Neighbor Advertisement (NA)-meddelande som innehåller MAC-adressen.
Observera: För andra typer av Layer 2-nätverk (som seriella länkar eller Frame Relay) kan processen skilja sig något beroende på nätverkstypens egenskaper.
Släpper paketet om ingen matchning hittas i routing-tabellen
Om destinations-IP-adressen inte matchar något prefix i routing-tabellen och det inte finns någon default-rutt konfigurerad, kommer routern att släppa paketet. Detta innebär att paketet inte kan vidarebefordras och helt enkelt ignoreras av routern.
End-to-End Paketvidarebefordran
Paketvidarebefordringens huvuduppgift är att kapsla in paket i rätt datalänk-ram för det utgående interfacet. Till exempel kan en seriell länk använda protokoll som Point-to-Point Protocol (PPP) eller High-Level Data Link Control (HDLC).
Exempel på paketvidarebefordran: PC1 till PC2
När PC1 skickar ett paket till PC2, som finns på ett annat nätverk, skickar PC1 paketet till sin default gateway.
- Kontroll av ARP-cache: PC1 söker i sin ARP-cache efter MAC-adressen till default gateway.
- Skapa Ethernet-ram: Om MAC-adressen finns, skapas ramen med följande information:
- Destination MAC: 00-10 (default gateway)
- Source MAC: 0A-10 (PC1 MAC-adress)
- Type: 0x800 (IPv4)
- Ingen ARP-post? Om MAC-adressen saknas skickar PC1 en ARP-förfrågan (broadcast). Routern (R1) svarar med sin MAC-adress, som sedan används för att skapa ramen.
PC1 kan nu skicka paketet till R1 för vidarebefordran till PC2.
R1 Vidarebefordrar Paketet till R2
När R1 vidarebefordrar paketet till R2, som är ansluten via ett Ethernet-nätverk, behöver R1 hitta nästa-hops MAC-adress.
- Kontroll av ARP-tabell: R1 söker efter nästa-hops IP-adress (192.168.2.2) i sin ARP-tabell.
- Ingen ARP-post? Om MAC-adressen saknas skickar R1 en ARP-förfrågan (broadcast). R2 svarar med sin MAC-adress.
- Skapa Ethernet-ram: Paketet kapslas in med följande raminformation:
- Destination MAC: 0B-31 (R2 MAC-adress)
- Source MAC: 00-20 (R1 MAC-adress)
- Type: 0x800 (IPv4)
R1 skickar sedan paketet vidare till R2.
R2 Vidarebefordrar Paketet till R3
När R2 skickar paketet till R3 via en punkt-till-punkt (P2P) seriell förbindelse behövs ingen MAC-adress. På seriella interface kapslar R2 in IPv4-paketet i rätt datalänk-ram (t.ex. HDLC eller PPP). Eftersom seriella länkar inte använder MAC-adresser, ställs destinations adressen in som en standard broadcast.
Datalänk-ramens information:
- Destination: 0x8F
- Control: 0x00
- Type: 0x800 (IPv4)
Paketet skickas sedan vidare till R3.
R3 Vidarebefordrar Paketet till PC2
När R3 skickar paketet till PC2, som finns på ett direktanslutet Ethernet-nätverk, behöver R3 hitta MAC-adressen som matchar destinations-IPv4-adressen.
- Kontroll av ARP-tabell: R3 söker efter PC2 MAC-adress i sin ARP-tabell.
- Ingen ARP-post? Om MAC-adressen saknas, skickar R3 en ARP-förfrågan via sitt FastEthernet 0/0-interface.
- PC2 svarar: PC2 skickar ett ARP-svar med sin MAC-adress, som R3 sedan använder för att skicka paketet.
R3 inkapslar nu paketet i en Ethernet-ram och vidarebefordrar det till PC2.