Skikt 2 Tunneling Protocol - Layer 2 Tunneling Protocol

I datanätverk är Layer 2 Tunneling Protocol ( L2TP ) ett tunnelprotokoll som används för att stödja virtuella privata nätverk (VPN) eller som en del av leveranser av tjänster från ISP: er. Den använder bara kryptering ('gömmer') för sina egna kontrollmeddelanden (med hjälp av en valfri fördelad hemlighet) och tillhandahåller inte någon kryptering eller sekretess för innehållet i sig. Det tillhandahåller snarare en tunnel för lager 2 (som kan vara krypterad), och själva tunneln kan skickas över ett lager 3 -krypteringsprotokoll, till exempel IPsec .

Historia

Publicerad i 2000 som föreslagna standarden RFC 2661, har L2TP sitt ursprung främst två äldre tunnelprotokoll för punkt-till-punkt-kommunikation: Cisco : s Layer 2 Forwarding Protocol (L2F) och Microsoft 's PPTP (PPTP ). En ny version av detta protokoll, L2TPv3 , dök upp som föreslagen standard RFC 3931 2005. L2TPv3 ger ytterligare säkerhetsfunktioner, förbättrad inkapsling och möjligheten att bära andra datalänkar än bara PPP ( Point-to-Point Protocol ) över ett IP-nätverk (till exempel: Frame Relay , Ethernet , ATM , etc.).

Beskrivning

Hela L2TP -paketet, inklusive nyttolast och L2TP -rubrik, skickas i ett UDP -datagram (User Datagram Protocol ). En fördel med överföring över UDP (snarare än TCP) är att den undviker "TCP -smältproblem". Det är vanligt att genomföra PPP -sessioner i en L2TP -tunnel. L2TP ger inte konfidentialitet eller stark autentisering i sig. IPsec används ofta för att säkra L2TP -paket genom att tillhandahålla konfidentialitet, autentisering och integritet. Kombinationen av dessa två protokoll är allmänt känd som L2TP/IPsec (diskuteras nedan).

De två slutpunkterna för en L2TP -tunnel kallas L2TP -åtkomstkoncentrator (LAC) och L2TP -nätverksservern (LNS). LNS väntar på nya tunnlar. När en tunnel väl har upprättats är nätverkstrafiken mellan kamraterna dubbelriktad. För att vara användbara för nätverk körs högre nivå-protokoll genom L2TP-tunneln. För att underlätta detta upprättas en L2TP- session i tunneln för varje protokoll på högre nivå, t.ex. PPP. Antingen LAC eller LNS kan initiera sessioner. Trafiken för varje session isoleras av L2TP, så det är möjligt att skapa flera virtuella nätverk över en enda tunnel.

Paketen som utbyts inom en L2TP -tunnel kategoriseras som antingen kontrollpaket eller datapaket . L2TP tillhandahåller tillförlitlighetsfunktioner för kontrollpaketen, men ingen tillförlitlighet för datapaket. Tillförlitlighet, om så önskas, måste tillhandahållas av de kapslade protokollen som körs inom varje session i L2TP -tunneln.

L2TP gör det möjligt att skapa ett virtuellt privat uppringningsnätverk (VPDN) för att ansluta en fjärrklient till sitt företagsnätverk med hjälp av en delad infrastruktur, som kan vara Internet eller en tjänsteleverantörs nätverk.

Tunnelmodeller

En L2TP-tunnel kan sträcka sig över en hel PPP-session eller bara över ett segment av en tvåsegmentsession. Detta kan representeras av fyra olika tunnelmodeller, nämligen:

  • frivillig tunnel
  • obligatorisk tunnel - inkommande samtal
  • obligatorisk tunnel - fjärrkontroll
  • L2TP multihopp anslutning

L2TP -paketstruktur

Ett L2TP -paket består av:

Bit 0–15 Bit 16–31
Flaggor och versioninformation Längd (opt)
Tunnel -ID Sessions -ID
Ns (opt) Nr (opt)
Förskjutningsstorlek (opt) Offset Pad (opt) ......
Nyttolastdata

Fältbetydelser:

Flaggor och version
kontrollflaggor som indikerar data/kontrollpaket och närvaro av längd-, sekvens- och förskjutningsfält.
Längd (valfritt)
Meddelandets totala längd i byte, endast när längdflaggan är inställd.
Tunnel -ID
Anger identifieraren för kontrollanslutningen.
Sessions -ID
Anger identifieraren för en session i en tunnel.
Ns (valfritt)
sekvensnummer för denna data eller kontrollmeddelande, börjar med noll och ökar med ett (modulo 2 16 ) för varje meddelande som skickas. Presenteras endast när sekvensflaggan är inställd.
Nr (valfritt)
sekvensnummer för det förväntade meddelandet som ska tas emot. Nr är inställt på Ns för det senaste orderordningsmeddelandet plus ett (modulo 2 16 ). I datameddelanden är Nr reserverat och, om det finns (enligt S -bit), måste det ignoreras vid mottagande.
Förskjutningsstorlek (tillval)
Anger var nyttolastdata är placerade förbi L2TP -rubriken. Om offset -fältet är närvarande slutar L2TP -rubriken efter den sista byten av offset -stoppningen. Detta fält finns om offsetflaggan är inställd.
Offset Pad (tillval)
Variabel längd, som anges av förskjutningsstorleken. Innehållet i detta fält är odefinierat.
Nyttolastdata
Variabel längd (Max nyttolaststorlek = Max storlek på UDP -paket - storlek på L2TP -rubrik)

L2TP -paketutbyte

Vid installationen av L2TP -anslutning utbyts många kontrollpaket mellan server och klient för att etablera tunnel och session för varje riktning. En kamrat begär att den andra kamraten ska tilldela en specifik tunnel och ett session -id genom dessa kontrollpaket. Med hjälp av denna tunnel och sessions -ID utbyts datapaket med de komprimerade PPP -ramarna som nyttolast.

Listan över L2TP -kontrollmeddelanden som utbyts mellan LAC och LNS, för handskakning innan en tunnel upprättas och session i frivillig tunnelmetod är

L2TP -paketutbyte.svg

L2TP/IPsec

På grund av bristen på konfidentialitet i L2TP -protokollet implementeras det ofta tillsammans med IPsec . Detta kallas L2TP/IPsec och är standardiserat i IETF RFC 3193. Processen för att konfigurera en L2TP/IPsec VPN är följande:

  1. Förhandling av IPsec -säkerhetsförening (SA), vanligtvis via internetnyckelutbyte (IKE). Detta utförs över UDP-port 500 och använder vanligtvis antingen ett delat lösenord (så kallade " fördelade nycklar "), offentliga nycklar eller X.509- certifikat i båda ändar, även om andra nyckelmetoder finns.
  2. Etablering av Encapsulating Security Payload (ESP) kommunikation i transportläge. IP -protokollnumret för ESP är 50 (jämför TCP: s 6 och UDP: s 17). Vid denna tidpunkt har en säker kanal etablerats, men ingen tunnelering sker.
  3. Förhandling och etablering av L2TP -tunnel mellan SA -slutpunkterna. Den faktiska förhandlingen av parametrar sker över SA: s säkra kanal, inom IPsec -krypteringen. L2TP använder UDP -port 1701.

När processen är klar, inkapslas L2TP -paket mellan slutpunkterna av IPsec. Eftersom själva L2TP -paketet är inslaget och dolt i IPsec -paketet, är den ursprungliga källan och destinations -IP -adressen krypterad i paketet. Det är inte heller nödvändigt att öppna UDP -port 1701 på brandväggar mellan slutpunkterna, eftersom de inre paketen inte påverkas förrän efter att IPsec -data har dekrypterats och avlägsnats, vilket endast sker vid slutpunkterna.

En potentiell förvirringspunkt i L2TP/IPsec är användningen av termerna tunnel och säker kanal . Termen tunnelmod avser en kanal som tillåter orörda paket av ett nät att transporteras över ett annat nätverk. När det gäller L2TP/PPP kan L2TP/PPP -paket transporteras över IP. En säker kanal avser en anslutning inom vilken konfidentialiteten för all data garanteras. I L2TP/IPsec tillhandahåller först IPsec en säker kanal, sedan tillhandahåller L2TP en tunnel. IPsec anger också ett tunnelprotokoll: detta används inte när en L2TP -tunnel används.

Windows -implementering

Windows har haft inbyggt stöd (konfigurerbart i kontrollpanelen) för L2TP sedan Windows 2000 . Windows Vista har lagt till två alternativa verktyg, en MMC-snap-in som heter "Windows Firewall with Advanced Security" (WFwAS) och kommandoradsverktyget " netsh advfirewall". En begränsning med både WFwAS- och netsh -kommandon är att servrar måste specificeras med IP -adress. Windows 10 lagt till " Add-VpnConnection " och " Set-VpnConnectionIPsecConfiguration " Power kommandon. En registernyckel måste skapas på klienten och servern om servern ligger bakom en NAT-T-enhet. [1]

L2TP i ISP: s nätverk

L2TP används ofta av Internetleverantörer när internettjänst över till exempel ADSL eller kabel säljs vidare . Från slutanvändaren reser paket över en grossistnätverksleverantörs nätverk till en server som kallas en Broadband Remote Access Server ( BRAS ), en protokollomvandlare och router kombinerad. På äldre nätverk kan sökvägen från slutanvändarkundens utrustning till BRAS vara över ett bankomatnät . Därifrån, över ett IP -nätverk, går en L2TP -tunnel från BRAS (fungerar som LAC) till ett LNS som är en kantrouter vid gränsen till slutdestinationens ISP: s IP -nätverk. Se exempel på återförsäljarens Internetleverantörer som använder L2TP .

RFC -referenser

  • RFC  2341 Cisco Layer Two Forwarding (Protocol) "L2F" (en föregångare till L2TP)
  • RFC  2637 Point-to-Point Tunneling Protocol (PPTP)
  • RFC  2661 Layer Two Tunneling Protocol "L2TP"
  • RFC  2809 Implementering av L2TP obligatorisk tunnel genom RADIUS
  • RFC  2888 Säker fjärråtkomst med L2TP
  • RFC  3070 Layer Two Tunneling Protocol (L2TP) över ramrelä
  • RFC  3145 L2TP Koppla bort orsaksinformation
  • RFC  3193 Säkra L2TP med IPsec
  • RFC  3301 Layer Two Tunneling Protocol (L2TP): ATM -åtkomstnätverk
  • RFC  3308 Layer Two Tunneling Protocol (L2TP) differentierade tjänster
  • RFC  3355 Layer Two Tunneling Protocol (L2TP) över ATM Adaptation Layer 5 (AAL5)
  • RFC  3371 Layer Two Tunneling Protocol "L2TP" Management Information Base
  • RFC  3437 Layer Two Tunneling Protocol Extensions för PPP Link Control Protocol Negotiation
  • RFC  3438 Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers: Internet Assigned Numbers Authority (IANA) Överväganden uppdatering
  • RFC  3573 Signalering av Modem-On-Hold-status i Layer 2 Tunneling Protocol (L2TP)
  • RFC  3817 Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay för PPP över Ethernet (PPPoE)
  • RFC  3931 Layer Two Tunneling Protocol - Version 3 (L2TPv3)
  • RFC  4045- tillägg för att stödja effektiv transport av multicast-trafik i Layer-2 Tunneling Protocol (L2TP)
  • RFC  4951 Fail Over Extensions för Layer 2 Tunneling Protocol (L2TP) "failover"

Se även

Referenser

externa länkar

Implementeringar

Övrig