컴퓨터 네트워킹에서 **계층 2 터널링 프로토콜**는 가상 사설망(VPN)을 지원하거나 ISP에서 제공하는 서비스의 일부로 사용되는 터널링 프로토콜이다. 자체 제어 메시지(선택 사항인 사전 공유 비밀 사용)에 대해서만 암호화('숨김')를 사용하며 자체적으로 콘텐츠의 암호화 또는 기밀성을 제공하지 않는다. 그보다는 계층 2(암호화될 수 있음)에 대한 터널을 제공하고 터널 자체는 IPsec과 같은 계층 3 암호화 프로토콜을 통해 제공될 수 있다.

## 역사
제안된 표준 RFC 2661 로 2000년에 게시된 L2TP는 주로 점대점 통신을 위한 두 가지 이전 터널링 프로토콜인 Cisco의 Layer 2 Forwarding Protocol(L2F) 및 Microsoft의 점대점 터널링 프로토콜(PPTP)에서 기원했다. 이 프로토콜의 새 버전인 L2TPv3은 2005년에 제안된 표준 RFC 3931 로 나타났다. L2TPv3은 추가 보안 기능, 향상된 캡슐화 및 IP 네트워크를 통해 단순한 점대점 프로토콜(PPP) 이외의 데이터 링크를 전달하는 기능을 제공한다.

## 설명
페이로드 및 L2TP 헤더를 포함한 전체 L2TP 패킷은 사용자 데이터그램 프로토콜(UDP) 데이터그램 내에서 전송된다. UDP(TCP가 아닌)를 통한 전송의 장점은 "TCP 멜트다운 문제"를 피할 수 있다는 것이다. L2TP 터널 내에서 PPP 세션을 전달하는 것이 일반적이다. L2TP는 자체적으로 기밀성 또는 강력한 인증을 제공하지 않는다. IPsec은 기밀성, 인증 및 무결성을 제공하여 L2TP 패킷을 보호하는 데 자주 사용된다. 이 두 프로토콜의 조합은 일반적으로 L2TP/IPsec로 알려져 있다(아래에서 설명).

L2TP 터널의 두 끝점을 L2TP access concentrator(LAC) 및 L2TP 네트워크 서버(LNS)라고 한다. LNS는 새 터널을 기다린다. 터널이 생성되면 피어 간의 네트워크 트래픽은 쌍방향이다. 네트워킹에 유용하기 위해 상위 수준 프로토콜이 L2TP 터널을 통해 실행된다. 이를 용이하게 하기 위해 L2TP ''세션''은 PPP와 같은 각 상위 수준 프로토콜에 대한 터널 내에서 생성된다. LAC 또는 LNS가 세션을 시작할 수 있다. 각 세션의 트래픽은 L2TP에 의해 격리되므로 단일 터널에 여러 가상 네트워크를 설정할 수 있다.

L2TP 터널 내에서 교환되는 패킷은 ''제어 패킷'' 또는 ''데이터 패킷''으로 분류된다. L2TP는 제어 패킷에 대한 신뢰성 기능을 제공하지만 데이터 패킷에 대한 신뢰성은 제공하지 않는다. 신뢰성은 원하는 경우 L2TP 터널의 각 세션 내에서 실행되는 중첩 프로토콜에 의해 제공되어야 한다.

L2TP는 Virtual Private Dialup Network(VPDN)을 생성하여 인터넷 또는 서비스 제공업체의 네트워크일 수 있는 공유 인프라를 사용하여 원격 클라이언트를 회사 네트워크에 연결할 수 있도록 한다.

## 터널링 모델
L2TP 터널은 전체 PPP 세션 또는 두 세그먼트 세션의 한 세그먼트에서만 확장할 수 있다. 이것은 다음과 같은 네 가지 터널링 모델로 나타낼 수 있다.

## L2TP 패킷 구조
L2TP 패킷은 다음으로 구성된다. :
필드 의미:

## L2TP 패킷 교환
L2TP 연결 설정 시, 서버와 클라이언트 간에 많은 제어 패킷을 교환하여 각 방향에 대한 터널 및 세션이 교환된다. 한 피어는 다른 피어에게 이러한 제어 패킷을 통해 특정 터널 및 세션 ID를 할당하도록 요청한다. 그런 다음 이 터널과 세션 ID를 사용하여 데이터 패킷을 압축된 PPP 프레임과 페이로드로 교환한다.

자의적 터널링 방식에서 터널 및 세션을 설정하기 전에 핸드셰이킹을 위해 LAC와 LNS 간에 교환되는 L2TP 제어 메시지 목록은 다음과 같다.

## L2TP/IPsec
L2TP 프로토콜 고유의 기밀성이 없기 때문에 종종 IPsec과 함께 구현된다. 이것은 L2TP/IPsec이라고 하며 IETF RFC 3193 에서 표준화되었다. L2TP/IPsec VPN을 설정하는 과정은 다음과 같다.

프로세스가 완료되면, 끝점 간의 L2TP 패킷이 IPsec에 의해 캡슐화 된다. L2TP 패킷 자체는 IPsec 패킷 내에 래핑되고 숨겨져 있기 때문에 원래 소스 및 대상 IP 주소는 패킷 내에서 암호화된다. 또한 끝점 사이의 방화벽에서 UDP 포트 1701을 열 필요가 없다. 끝점에서만 발생하는 IPsec 데이터가 해독되고 제거될 때까지 내부 패킷이 작동하지 않기 때문이다.

L2TP/IPsec에서 잠재적인 혼동 지점은 **터널** 및 **보안 채널**이라는 용어의 사용이다. **터널 모드**라는 용어는 한 네트워크의 변경되지 않은 패킷이 다른 네트워크를 통해 전송되도록 하는 채널을 나타낸다. L2TP/PPP의 경우, L2TP/PPP 패킷이 IP를 통해 전송되도록 한다. **보안 채널**은 모든 데이터의 기밀성이 보장되는 연결을 의미한다. L2TP/IPsec에서 먼저 IPsec은 보안 채널을 제공하고 L2TP는 터널을 제공한다. IPsec은 또한 터널 프로토콜을 지정한다. 이것은 L2TP 터널이 사용될 때 사용되지 않는다.

## Windows 구현
Windows는 Windows 2000부터 L2TP에 대한 기본 지원(제어판에서 구성 가능)을 가지고 있다. Windows Vista에는 "고급 보안이 포함된 Windows 방화벽"(WFwAS)이라는 MMC 스냅인과 " netsh advfirewall" 명령줄 도구라는 두 가지 대체 도구가 추가되었다. WFwAS 및 netsh 명령 모두의 한 가지 제한 사항은 서버를 IP 주소로 지정해야 한다는 것이다. Windows 10에는 " [https://docs.microsoft.com/en-us/powershell/module/vpnclient/add-vpnconnection?view=win10-ps Add-VpnConnection] " 및 " [https://docs.microsoft.com/en-us/powershell/module/vpnclient/set-vpnconnectionipsecconfiguration?view=win10-ps Set-VpnConnectionIPsecConfiguration] " PowerShell 명령이 추가되었다. 서버가 NAT-T 장치 뒤에 있는 경우 클라이언트와 서버에서 레지스트리 키를 만들어야 한다. [https://support.microsoft.com/en-us/help/926179/how-to-configure-an-l2tp-ipsec-server-behind-a-nat-t-device-in-windows]

## ISP의 네트워크의 L2TP
L2TP는 예를 들어 ADSL 또는 케이블을 통한 인터넷 서비스가 ''재판매'' 될 때 ISP가 자주 사용한다. 최종 사용자로부터 패킷은 도매 네트워크 서비스 공급자의 네트워크를 통해 프로토콜 변환기와 라우터가 결합된 Broadband Remote Access Server(BRAS)라고 불리는 서버로 이동한다. 레거시 네트워크에서 최종 사용자 고객 구내 장비에서 BRAS까지의 경로는 ATM 네트워크를 통할 수 있다. 거기서부터 IP 네트워크를 통해 L2TP 터널이 BRAS(LAC 역할)에서 최종 목적지 ISP의 IP 네트워크 경계에 있는 edge router인 LNS까지 실행된다. [http://www.kitz.co.uk/adsl/equip2.htm L2TP를 사용하는 리셀러 ISP의 예를] 참조바란다.