계층 2 터널링 통신 규약(Layer Two Tunneling Protocol :L2TP)이란 무엇인가요?
VPN(가상 사설 통신망)은 다양한 기능을 제공하고 있어서 보안을 개선하거나 인터넷 네트워크를 강화하거나 속도를 개선하는 데 도움을 줍니다. 많은 사람들은 VPN의 작동 방식에 대해서 크게 신경 쓰지는 않지만, VPN의 기법에 대해서 그래도 궁금해하기는 합니다.
VPN은 기능을 위해서 1개 이상의 VPN 프로토콜을 이용합니다. 여러분은 VPN 프로토콜을 안전한 가상 통신망을 설정하기 위하여 VPN에서 이용하는 일련의 규칙으로 여길 수 있습니다. 오늘날 다양한 VPN 프로토콜이 있지만, 이 글에서는 계층 2 터널링 통신 규약(L2TP)에 대해서 논의해보겠습니다. L2TP는 매우 인기 있으며, 대부분의 VPN 업체에서 L2TP를 구현하고 있습니다. L2TP가 무엇인지, 어떻게 작동하는지, L2TP의 장점, 단점 등 L2TP에 대한 모든 것을 알려드리겠습니다.
L2TP란 무엇인가요?
계층 2 터널링 통신 규약(L2TP)은 컴퓨터 터널링 프로토콜로, VPN과 인터넷 서비스 제공자(ISP)가 이용합니다. VPN은 L2TP 연결을 이용하며 ISP는 L2TP를 이용하여 VPN을 운영할 수 있습니다.
L2TP는 1999년에 공식적으로 공개되었습니다. 마이크로소프트와 시스코는 L2TP를 포인트 투 포인트 터널링 프로토콜(Point-to-Point Tunneling Protocol: PPTP)로 개발하였습니다. L2TP는 마이크로소프트의 PPTP와 시스코의 L2F(Layer 2 Forwarding) 프로토콜을 합친 형태입니다.
이 프로토콜은 PPTP와 L2F를 개선하도록 설계되어 있지만, 그 자체로 완벽하지는 않습니다. L2TP는 보통 다른 프로토콜과 함께 이용하면서 최고의 잠재력을 끌어냅니다. 가장 흔하게 쓰이는 형태는 L2TP/IPSec입니다. IPSec은 데이터 패킷이 안전하게 보호되도록 하는 데 이용합니다.
L2TP/IPSec을 이용하면 더 많은 보안 가능성이 주어집니다. 예를 들어, 군사용 AES 256 비트 암호화와 3DES 알고리즘같이 가장 효율적인 암호화 키와 함께 이용할 수 있습니다. 그렇다고 해서 L2TP가 자체적으로 안전하다는 것은 아닙니다. 이 프로토콜은 이중 캡슐화(double encapsulation)를 이용하지만, 좀 더 리소스 집약적입니다.
L2TP는 일반적으로 TCP 포트 1701을 통해서 연결되지만, L2TP/IPSec은 이와 같이 다양한 목적으로 다양한 포트를 이용합니다. L2TP는 NAT용으로 UDP 포트 4500을, IKE(Internet Key Exchange)용으로 UDP 포트 500을, L2TP 트래픽으로 TCP 포트 1701을 이용합니다.
L2TP의 원리는 무엇인가요?
L2TP 터널링은 인터넷상에서 두 개의 엔드포인트인 LAC(L2TP Access Concentrator)와 LNS(L2TP Network Server) 사이에서 발생합니다. 그러므로, 터널링 과정에서 첫 번째 과정은 이 두 개의 엔드포인트 사이에 연결을 생성하는 것입니다. 링크가 활성화되면, PPP 레이어가 활성화되고 캡슐화됩니다. 그 후에 웹상에서 전송됩니다.
다음 단계로, 최종 사용자가 ISP를 통해서 PPP 연결을 개시합니다. 이렇게 되면, LAC는 연결을 수락하면, PPP 링크가 설정됩니다. 그 후에, 네트워크 내의 프리 슬롯이 할당되고 요청이 LNS로 옮겨갑니다.
연결이 완전히 인증되고 수락되면, 가상의 PPP 인터페이스가 생성됩니다. 성공적으로 생성되면, 링크 프레임이 터널을 자유롭게 통과할 수 있습니다. LNS 엔드포인트에서 L2TP 캡슐화는 수락된 프레임 처리를 시작하기 전에 제거됩니다.
L2TP vs. 기타 VPN 프로토콜
앞에서 말했듯이, 그 외에도 몇몇 VPN 프로토콜이 있습니다. 여기에서는 L2TP를 몇몇 VPN 프로토콜과 비교해보겠습니다.
L2TP vs. PPTP
L2TP는 PPTP의 뒤를 잇도록 설계되었으므로, 일반적으로 특성이 개발되었습니다. 우선, L2TP는 보통 IPSec과 함께 이용하므로 PPTP보다 더 안전합니다. 또한, L2TP는 256비트 암호화를 지원하는 반면, PPTP는 128비트 암호화를 이용합니다. 게다가, PPTP는 약한 MPPE 암호화를 이용하는 반면, L2TP는 군사용 AES 암호화처럼 보안이 강력한 암호화를 지원합니다.
PPTP는 좀 더 경량이기 때문에 L2TP보다 더 빠르지만, 불안정합니다. 방화벽이 PPTP를 손쉽게 뚫을 수 있습니다. 하지만, L2TP는 UDP에서 실행되므로 이러한 방화벽을 우회합니다. 더 나아가, VPN 업체는 L2TP 프로토콜을 환경 설정하여 NAT 방화벽이 VPN을 차단하지 않도록 합니다. 보안 면에서 말하자면, PPTP는 NSA에 의해서 뚫렸으며, L2TP도 뚫렸다는 주장은 있었지만 아직은 증거가 없습니다.
마지막으로, L2TP는 마이크로소프트가 시스코와 협력하여 개발한 프로토콜인 반면, PPTP는 마이크로소프트가 단독으로 개발하였습니다. L2TP는 마이크로소프트 단독으로 개발한 것이 아니므로, 많은 사람들이 더 신뢰도가 높고 안전하다고 생각합니다.
L2TP vs. IKEv2
IKEv2는 IPSec 기반의 터널링 프로토콜입니다. 그러므로, L2TP로 누릴 수 있는 보안 수준과 동일합니다. 하지만, L2TP와는 달리, NSA가 IKEv2를 뚫는다는 소문은 없습니다.
MOBIKE(Mobility and Multihoming Protocol)가 네트워크 변동을 이겨내도록 도와주기 때문에 IKEv2가 L2TP보다 더 안정성이 우수합니다. IKEv2를 이용하는 VPN을 이용하고 있다면, VPN 연결을 해제하지 않고도 와이파이 연결에서 모바일 데이터로 (그리고 모바일 데이터에서 와이파이 연결로)로 네트워크를 전환할 수 있습니다. 정전이나 네트워크 연결 해제로 인해 VPN 연결이 갑자기 끊기면 IKEv2가 자동으로 다시 작동합니다.
또한 마이크로소프트와 시스코는 IKEv2를 개발하였지만, IKEv2는 오픈소스 버전을 제공하기에 보통 선호하는 옵션이고 좀 더 신뢰를 받습니다.
L2TP vs. OpenVPN
L2TP와 OpenVPN은 둘 다 보안이 뛰어난 프로토콜이지만, OpenVPN은 오픈소스이며, SSL 3.0을 이용하고 보안 개선을 위해 환경 설정할 수 있기 때문에 중요한 자리를 차지하고 있습니다. 하지만, 보안이 강화되면서 속도가 더 느려집니다.
OpenVPN은 HTTPS 포트 443을 비롯하여 선호하는 포트라면 무엇이든지 이용할 수 있기 때문에 L2TP보다 더 안정적입니다. 즉, 연결이 HTTPS 트래픽처럼 나타날 수 있어서, ISP나 네트워크 관리자가 방화벽으로 OpenVPN을 차단하기가 더 어려워집니다. 반면에, L2TP는 올바르게 환경 설정(경험이 없는 분들에게는 복잡한 과정)되어 있지 않는 한 NAT 방화벽을 통과할 수 없습니다.
OpenVPN은 많은 플랫폼에 호환 가능하지만, L2TP처럼 내장형으로 지원되지는 않습니다. 이로 인해서 기기에서 OpenVPN 연결을 설정하는 데 더 시간이 오래 걸립니다. 하지만, OpenVPN 연결을 지원하는 VPN에 구독하시면, 업체에서 이미 설정해놓은 상태이기 때문에 사용자는 거의 할 게 없습니다.
L2TP vs. SSTP
마이크로소프트는 SSTP(Secure Socket Tunneling Protocol)를 개발했지만, 시스코에서 L2TP 개발에 참여했기 때문에 좀 더 신뢰받는 프로토콜입니다. SSTP는 3.0을 이용하며 포트 443(HTTPS 트래픽 전용 포트)을 이용할 수 있습니다.
L2TP는 이중 캡슐화로 인해서 종종 SSTP보다 속도가 느립니다. 또한 교차 플랫폼 호환성 면에서 SSTP보다 더 우수합니다. SSTP는 윈도우 기기에 있는 내장형 기능이지만, 안드로이드, 리눅스, 라우터에 설정할 수 있습니다. 한편, L2TP는 대부분의 운영체제에 내장되어 있으며, 그 외 다수의 플랫폼에 설정할 수 있습니다.
L2TP vs. WireGuard
L2TP/IPSec과 WireGuard는 둘 다 매우 보안이 뛰어난 프로토콜이지만, WireGuard는 제3자는 조작하지 못하는 좀 더 최신 알고리즘을 이용합니다. 또한, WireGuard는 오픈소스입니다.
이러한 프로토콜 둘 다 안정적이지만, L2TP/IPSec은 3개의 포트(UDP 500, UDP 4500, ESP IP 프로토콜 50)를 이용하기 때문에 네트워크 관리자나 방화벽이 L2TP/IPSec을 차단할 가능성이 더 높습니다. L2TP와 IPSec을 함께 이용하지 않는다면, UDP 1701만 이용합니다. 반면에, WireGuard는 많은 UDP 포트를 이용할 수 있습니다.
WireGuard는 L2TP처럼 이중으로 데이터를 캡슐화하지 않기 때문에 L2TP/IPSec보다 더 빠릅니다. 또한 더 적은 리소스를 이용합니다. 하지만, 대부분의 운영체제에서 L2TP와 WireGuard를 모두 이용할 수 있습니다. 여러분이 이용하는 VPN 업체가 둘 중에서 어떤 프로토콜을 이용하든지, 안전하다고 확신할 수 있습니다. 하지만, 둘 중 하나를 선택해야 한다면, WireGuard가 속도가 더 빠르고 개인 정보 보호 면에서 더 우수하기 때문에 WireGuard를 선택하셔야 합니다.
L2TP vs. SoftEther
보안 면에서 L2TP와 SoftEther는 256비트 암호화와 강력한 AES 암호화를 이용할 수 있습니다. L2TP와 달리 SoftEther는 오픈소스이며 SSL 3.0을 이용합니다. 또한 매우 안정적인 프로토콜이고 OpenVPN 대신 이용하기에 좋습니다.
SoftEther에 대한 한 가지 흥미로운 사실은 프로토콜이자 VPN 서버라는 점입니다. 이 VPN 서버는 L2TP/IPSec과 그 외 다수의 프로토콜을 지원합니다. SoftEther 프로토콜은 보안이 더 우수한데도 L2TP보다 속도가 빠릅니다. 이 프로토콜의 개발자는 고속 처리량에 좀 더 중점을 두고 개발하였습니다. 한편, L2TP는 협대역 전화선을 염두에 두고 프로그래밍 되었습니다.
이러한 프로토콜 둘 다 대부분의 플랫폼에 호환 가능하지만, SoftEther는 설치하기가 좀 더 어렵습니다. SoftEther 프로토콜을 이용하는 VPN을 이용하는 경우에도 SoftEther를 기기에 설치할 수 있습니다.
L2TP vs. IPSec
L2TP는 보통 IPSec 프로토콜과 함께 이용되지만, 일부 VPN 업체는 IPSec 프로토콜만 제공하기도 합니다. IPSec은 암호화를 통해서 온라인 보안을 제공하지만, L2TP에는 어떠한 형태의 암호화도 없습니다. 또한, L2TP는 어떠한 암호화도 제공하지 않으므로 IPSec보다 방화벽으로 차단하기가 더 쉽습니다.
L2TP가 IPSec보다 더 나은 점은 다른 프로토콜을 전송할 수 있다는 점입니다. L2TP/IPSec과 IPSec은 유사한 보안을 제공하지만, L2TP/IPSec은 이중 캡슐화로 인해서 속도가 더 느리고 더 리소스 집약적입니다.
L2TP의 장점
L2TP의 장점은 다음과 같습니다.
1. IPSec 프로토콜과 함께 이용했을 때 우수한 온라인 보안을 자랑합니다.
2. L2TP는 윈도우와 맥OS에서 내장형으로 지원되며, 다른 운영체제에서도 작동합니다.
3. L2TP는 신뢰할 수 있는 연결을 제공합니다.
4. 자체적으로 혹은 L2TP/IPSec으로 설치하기 쉽습니다.
L2TP의 단점
L2TP에 단점이 없는 것은 아닙니다. 몇 가지 단점은 다음과 같습니다.
1. L2TP는 어떠한 암호화도 제공하지 않으므로 자체적으로 안전한 프로토콜은 아닙니다.
2. L2TP는 리소스 집약형 이중 캡슐화를 이용하여 연결 속도가 느려집니다.
3. L2TP 연결을 우회하도록 수동으로 환경 설정하지 않은 경우, NAT 방화벽과 네트워크 관리자가 L2TP 연결을 차단할 수 있습니다.
결론
L2TP는 다른 프로토콜과 함께 이용했을 때 효과적인 프로토콜입니다. 단독으로 이용하면 보안 위협과 개인 정보 보호 위협에 노출될 것입니다. L2TP는 대부분의 운영체제에 있는 내장형 기능이며, 설치하고 이용하기 쉽습니다. 또한 올바른 환경하에 빠른 속도를 자랑할 수 있습니다. 일반적으로, L2TP는 우수한 프로토콜이며, 다른 프로토콜과 함께 이용할 때 괜찮게 작동합니다.