Tunneling (från engelska tunneling - "tunneling") i datornätverk är en process under vilken en logisk koppling skapas mellan två slutpunkter genom att kapsla in olika protokoll. Tunneling är en nätverksteknik där ett nätverksprotokoll är inkapslat i ett annat. Tunneling skiljer sig från konventionella skiktade nätverksmodeller (som OSI eller TCP/IP ) genom att protokollet som kapslas in är i samma eller lägre skikt än det som används som tunneln.
Kärnan i tunnling är att "packa" den överförda delen av data, tillsammans med servicefält, i nyttolastområdet för bärarprotokollpaketet . Tunneling kan tillämpas på nätverket och applikationslagren. Kombinationen av tunnling och kryptering gör det möjligt att implementera slutna virtuella privata nätverk (VPN). Tunneling används vanligtvis för att förhandla fram transportprotokoll eller för att skapa en säker anslutning mellan nätverksnoder .
Följande typer av protokoll deltar i inkapslingsprocessen (tunnling):
Transitnätverkets protokoll är transportör och det konvergerade nätverksprotokollet är transport . Transportprotokollpaketen placeras i datafältet för bärarprotokollpaketen med användning av ett inkapslingsprotokoll. Paket-"passagerare" behandlas inte under transport genom transitnätet på något sätt. Inkapsling utförs av en kantenhet (router eller gateway) som är placerad på gränsen mellan käll- och transitnätverket. Extraheringen av transportprotokollpaketen från bärarpaketen utförs av den andra kantanordningen belägen på gränsen mellan transitnätet och destinationsnätverket. Edge-enheter anger sina adresser i operatörspaketen och inte adresserna till noder i destinationsnätverket.
En tunnel kan användas när två nätverk med samma transportteknik behöver kopplas samman genom ett nätverk med en annan transportteknik. Samtidigt paketerar gränsroutrar som ansluter de nätverk som kombineras till transit-one pack paketen av transportprotokollet för de kombinerade nätverken till paket av transportprotokollet för transitnätverket. Den andra gränsroutern utför den omvända operationen.
Tunneling leder vanligtvis till enklare och snabbare lösningar än broadcasting, eftersom det löser ett mer specifikt problem utan att ge interaktion med transitnätets noder.
Huvudkomponenterna i tunneln är:
Tunnelinitiatorn bäddar in (kapslar in) paketen i ett nytt paket innehållande, tillsammans med originaldata, en ny rubrik med information om avsändare och mottagare. Även om alla paket som sänds över tunneln är IP-paket, kan de inkapslade paketen vara av vilken typ av protokoll som helst, inklusive icke-routbara protokollpaket. Rutten mellan tunnelinitiatorn och tunnelterminatorn definierar ett vanligt routbart IP -nätverk , som kan vara ett annat nätverk än Internet . Tunnelterminatorn utför en process som är det omvända till inkapsling - den tar bort nya rubriker och vidarebefordrar varje originalpaket till den lokala protokollstacken eller destinationen på det lokala nätverket. Inkapslingen i sig har ingen effekt på säkerheten för meddelandepaket som skickas över VPN- tunneln . Men inkapsling möjliggör fullständigt kryptografiskt skydd av inkapslade paket. Sekretessen för de inkapslade paketen säkerställs genom deras kryptografiska stängning, dvs kryptering, och integriteten och äktheten - genom att generera en digital signatur . Eftersom det finns många metoder för kryptografiskt skydd av data är det nödvändigt att initiatorn och terminatorn av tunneln använder samma metoder och kan komma överens om denna information med varandra. Dessutom, för att kunna dekryptera data och verifiera den digitala signaturen vid mottagandet, måste initiatorn och terminatorn av tunneln stödja säkra nyckelutbytesfunktioner. För att säkerställa att VPN-tunnlar skapas endast mellan auktoriserade användare, måste slutparterna av interaktionen autentiseras.