Lag 2 Tunneling Protocol - Layer 2 Tunneling Protocol
I datanettverk er Layer 2 Tunneling Protocol ( L2TP ) en tunnelprotokoll som brukes til å støtte virtuelle private nettverk (VPN) eller som en del av levering av tjenester fra Internett -leverandører. Den bruker kryptering ('skjuler') bare for sine egne kontrollmeldinger (ved hjelp av en valgfri forhåndsdelt hemmelighet), og gir ikke noen kryptering eller konfidensialitet av innhold i seg selv. Den gir heller en tunnel for Layer 2 (som kan være kryptert), og selve tunnelen kan passeres over en Layer 3 -krypteringsprotokoll, for eksempel IPsec .
Internettprotokollpakke |
---|
Påføringslag |
Transportlag |
Internett -lag |
Linklag |
Historie
Publisert i 2000 som foreslått standard RFC 2661, har L2TP sin opprinnelse hovedsakelig i to eldre tunneling protokoller for punkt-til-punkt-kommunikasjon: Cisco 's Layer 2 Forwarding Protocol (L2F) og Microsoft ' s Point-to-Point Tunneling Protocol (PPTP ). En ny versjon av denne protokollen, L2TPv3 , dukket opp som foreslått standard RFC 3931 i 2005. L2TPv3 gir ekstra sikkerhetsfunksjoner, forbedret innkapsling og muligheten til å bære andre datakoblinger enn bare Point-to-Point Protocol (PPP) over et IP-nettverk (for eksempel: Frame Relay , Ethernet , ATM , etc.).
Beskrivelse
Hele L2TP -pakken, inkludert nyttelast og L2TP -topptekst, sendes i et UDP -datagram ( User Datagram Protocol ). En dyd for overføring over UDP (i stedet for TCP) er at den unngår "TCP -nedsmeltingsproblemet". Det er vanlig å gjennomføre OPS -økter i en L2TP -tunnel. L2TP gir ikke konfidensialitet eller sterk autentisering i seg selv. IPsec brukes ofte til å sikre L2TP -pakker ved å gi konfidensialitet, autentisering og integritet. Kombinasjonen av disse to protokollene er generelt kjent som L2TP/IPsec (diskutert nedenfor).
De to endepunktene til en L2TP -tunnel kalles L2TP -tilgangskonsentratoren (LAC) og L2TP -nettverksserveren (LNS). LNS venter på nye tunneler. Når en tunnel er etablert, er nettverkstrafikken mellom jevnaldrende toveis. For å være nyttig for nettverk kjøres protokoller på høyere nivå deretter gjennom L2TP-tunnelen. For å lette dette etableres det en L2TP- økt i tunnelen for hver protokoll på høyere nivå, for eksempel PPP. Enten LAC eller LNS kan starte økter. Trafikken for hver økt er isolert av L2TP, så det er mulig å sette opp flere virtuelle nettverk over en enkelt tunnel.
Pakkene som utveksles i en L2TP -tunnel er kategorisert som enten kontrollpakker eller datapakker . L2TP gir pålitelighetsfunksjoner for kontrollpakkene, men ingen pålitelighet for datapakker. Pålitelighet, hvis ønskelig, må gis av de nestede protokollene som kjører innenfor hver økt i L2TP -tunnelen.
L2TP tillater opprettelse av et virtuelt privat oppringt nettverk (VPDN) for å koble en ekstern klient til bedriftsnettverket ved å bruke en delt infrastruktur, som kan være Internett eller en tjenesteleverandørs nettverk.
Tunnelmodeller
En L2TP-tunnel kan strekke seg over en hel PPP-økt eller bare over et segment av en to-segment økt. Dette kan representeres av fire forskjellige tunnelmodeller, nemlig:
- frivillig tunnel
- obligatorisk tunnel - innkommende samtale
- obligatorisk tunnel - fjernkontroll
- L2TP multihop -tilkobling
L2TP -pakkestruktur
En L2TP -pakke består av:
Bit 0–15 | Bit 16–31 |
---|---|
Flagg og versjonsinfo | Lengde (opt) |
Tunnel -ID | Øktnummer |
Ns (opt) | Nr (opt) |
Forskyvningsstørrelse (opt) | Offset Pad (opt) ...... |
Nyttelastdata |
Feltbetydninger:
- Flagg og versjon
- kontrollflagg som indikerer data/kontrollpakke og tilstedeværelse av felt for lengde, sekvens og offset.
- Lengde (valgfritt)
- Total lengde på meldingen i byte, bare tilstede når lengdeflagg er angitt.
- Tunnel -ID
- Angir identifikatoren for kontrolltilkoblingen.
- Øktnummer
- Angir identifikatoren for en økt i en tunnel.
- Ns (valgfritt)
- sekvensnummer for denne data- eller kontrollmeldingen, som begynner på null og øker med ett (modulo 2 16 ) for hver melding som sendes. Presenteres bare når sekvensflagg er angitt.
- Nr (valgfritt)
- sekvensnummer for forventet melding som skal mottas. Nr er satt til Ns for den siste ordren som ble mottatt pluss en (modulo 2 16 ). I datameldinger er Nr reservert, og hvis den er tilstede (som angitt av S -biten), MÅ ignoreres ved mottak ..
- Forskyvningsstørrelse (valgfritt)
- Angir hvor nyttelastdata er plassert forbi L2TP -overskriften. Hvis forskyvningsfeltet er tilstede, slutter L2TP -toppteksten etter den siste byten av forskyvningen. Dette feltet eksisterer hvis offset -flagget er angitt.
- Offset Pad (valgfritt)
- Variabel lengde, som spesifisert av forskyvningsstørrelsen. Innholdet i dette feltet er udefinert.
- Nyttelastdata
- Variabel lengde (maks nyttelast = maks størrelse på UDP -pakke - størrelse på L2TP -topptekst)
L2TP -pakkeutveksling
På tidspunktet for oppsett av L2TP -tilkobling, utveksles mange kontrollpakker mellom server og klient for å etablere tunnel og økt for hver retning. Den ene kameraten ber den andre om å tildele en bestemt tunnel og økt -ID gjennom disse kontrollpakkene. Ved å bruke denne tunnelen og sesjons -ID utveksles datapakker med de komprimerte PPP -rammene som nyttelast.
Listen over L2TP -kontrollmeldinger som utveksles mellom LAC og LNS, for håndtrykk før etablering av tunnel og økt i frivillig tunnelmetode, er
L2TP/IPsec
På grunn av mangel på konfidensialitet i L2TP -protokollen, implementeres den ofte sammen med IPsec . Dette kalles L2TP/IPsec, og er standardisert i IETF RFC 3193. Prosessen med å sette opp en L2TP/IPsec VPN er som følger:
- Forhandling av IPsec security association (SA), vanligvis gjennom internettnøkkelutveksling (IKE). Dette utføres over UDP-port 500, og bruker vanligvis enten et delt passord (såkalte " forhåndsdelte nøkler "), offentlige nøkler eller X.509- sertifikater i begge ender, selv om andre tastemetoder eksisterer.
- Etablering av Encapsulating Security Payload (ESP) kommunikasjon i transportmodus. IP -protokollnummeret for ESP er 50 (sammenlign TCPs 6 og UDP's 17). På dette tidspunktet er det etablert en sikker kanal, men ingen tunneling finner sted.
- Forhandling og etablering av L2TP -tunnel mellom SA -endepunktene. Selve forhandlingen av parametere skjer over SAs sikre kanal, innenfor IPsec -kryptering. L2TP bruker UDP -port 1701.
Når prosessen er fullført, blir L2TP -pakker mellom endepunktene innkapslet av IPsec. Siden selve L2TP -pakken er pakket inn og skjult i IPsec -pakken, er den opprinnelige kilden og destinasjons -IP -adressen kryptert i pakken. Det er heller ikke nødvendig å åpne UDP -port 1701 på brannmurer mellom endepunktene, siden de indre pakkene ikke blir påvirket før etter at IPsec -data er blitt dekryptert og fjernet, som bare finner sted ved endepunktene.
Et potensielt forvirringspunkt i L2TP/IPsec er bruken av begrepene tunnel og sikker kanal . Begrepet tunnelmodus refererer til en kanal som gjør at uberørte pakker med ett nettverk kan transporteres over et annet nettverk. Når det gjelder L2TP/PPP, tillater det at L2TP/PPP -pakker transporteres over IP. En sikker kanal refererer til en forbindelse der konfidensialiteten til alle data er garantert. I L2TP/IPsec gir først IPsec en sikker kanal, deretter gir L2TP en tunnel. IPsec spesifiserer også en tunnelprotokoll: denne brukes ikke når en L2TP -tunnel brukes.
Windows -implementering
Windows har hatt innebygd støtte (konfigurerbar i kontrollpanel) for L2TP siden Windows 2000 . Windows Vista la til 2 alternative verktøy, en MMC-snap-in kalt "Windows Firewall with Advanced Security" (WFwAS) og kommandolinjeverktøyet " netsh advfirewall". En begrensning med både WFwAS- og netsh -kommandoene er at servere må spesifiseres med IP -adresse. Windows 10 har lagt den " Add-VpnConnection " og " Set-VpnConnectionIPsecConfiguration " Powershell kommandoer. En registernøkkel må opprettes på klienten og serveren hvis serveren står bak en NAT-T-enhet. [1]
L2TP i ISP -nettverk
L2TP brukes ofte av Internett -leverandører når internettjeneste over for eksempel ADSL eller kabel selges videre . Fra sluttbrukeren reiser pakker over et grossistnettverksleverandørs nettverk til en server som kalles en bredbånds ekstern tilgangsserver ( BRAS ), en protokollomformer og ruter kombinert. På eldre nettverk kan banen fra utstyret til sluttbrukernes lokaler til BRAS være over et minibanknettverk . Derfra går det over et IP -nettverk en L2TP -tunnel fra BRAS (fungerer som LAC) til et LNS som er en kantrouter på grensen til den endelige destinasjonen ISPs IP -nettverk. Se eksempel på forhandler -ISP -er som bruker L2TP .
RFC -referanser
- RFC 2341 Cisco Layer Two Forwarding (Protocol) "L2F" (en forgjenger til L2TP)
- RFC 2637 Point-to-Point Tunneling Protocol (PPTP)
- RFC 2661 Layer Two Tunneling Protocol "L2TP"
- RFC 2809 Implementering av L2TP obligatorisk tunnelering via RADIUS
- RFC 2888 Sikker ekstern tilgang med L2TP
- RFC 3070 Layer Two Tunneling Protocol (L2TP) over Frame Relay
- RFC 3145 L2TP Koble årsaksinformasjon
- RFC 3193 Sikring av L2TP ved hjelp av IPsec
- RFC 3301 Layer Two Tunneling Protocol (L2TP): ATM -tilgangsnettverk
- RFC 3308 Layer Two Tunneling Protocol (L2TP) differensierte tjenester
- RFC 3355 Layer Two Tunneling Protocol (L2TP) Over ATM Adaptation Layer 5 (AAL5)
- RFC 3371 Layer Two Tunneling Protocol "L2TP" Management Information Base
- RFC 3437 Layer Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation
- RFC 3438 Layer Two Tunneling Protocol (L2TP) Internett -tildelte numre: Internet Assigned Numbers Authority (IANA) Update Update
- RFC 3573 Signalering av Modem-On-Hold-status i Layer 2 Tunneling Protocol (L2TP)
- RFC 3817 Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE)
- RFC 3931 Layer Two Tunneling Protocol - versjon 3 (L2TPv3)
- RFC 4045- utvidelser for å støtte effektiv gjennomføring av multicast-trafikk i Layer-2 Tunneling Protocol (L2TP)
- RFC 4951 Fail Over Extensions for Layer 2 Tunneling Protocol (L2TP) "failover"
Se også
- IPsec
- Lag 2 Videresendingsprotokoll
- Point-to-Point Tunneling Protocol
- Punkt-til-punkt-protokoll
- Virtuelt utvidbart LAN
Referanser
Eksterne linker
Implementeringer
- Cisco: Cisco L2TP -dokumentasjon , les også teknologibeskrivelse fra Cisco
- Åpen kildekode og Linux: xl2tpd , Linux RP-L2TP , OpenL2TP , l2tpns , l2tpd (inaktiv), Linux L2TP/IPsec server , FreeBSD multi-link PPP daemon , OpenBSD npppd (8) , ACCEL-PPP-PPTP/L2TP/PPPoE server for Linux
- Microsoft: innebygd klient inkludert i Windows 2000 og nyere; Microsoft L2TP/IPsec VPN -klient for Windows 98/Windows Me/Windows NT 4.0
- Apple: innebygd klient inkludert i Mac OS X 10.3 og nyere.
- VPDN på Cisco.com
Annen
- IANA tildelte numre for L2TP
- L2TP Extensions Working Group (l2tpext) - (der fremtidig standardiseringsarbeid koordineres)
- Bruker Linux som en L2TP/IPsec VPN -klient
- L2TP/IPSec med OpenBSD og npppd
- Sammenligning av L2TP, PPTP og OpenVPN