요약
- RFC 3355는 L2TP를 ATM AAL5 가상 회선 위에 매핑했지만, 모든 L2TP PDU가 하나의 AAL5 PDU 안에 들어가도록 요구했습니다. 따라서 베어러 MTU가 터널과 이를 사용하는 모든 PPP 세션을 제약했습니다.
- 캡슐화 선택, VC 설정, 보안 및 해제는 여전히 베어러 계층의 사실이었습니다. 협상된 봉투(envelope)가 내부 세션의 설정이나 전달을 증명하지는 않았으며, 해제된 SVC는 터널의 사용자 세션을 종료시켰습니다.
터널은 그 아래 있는 매체로부터의 거리를 약속합니다. 내부 프로토콜에게는, 중간 네트워크가 스위칭·신호·분할을 수행하는 상황에서도 원격 엔드포인트가 단순 링크로 연결된 것처럼 보일 수 있습니다. 이 약속은 애플리케이션과 세션이 모든 전송 기술을 이해할 필요가 없다는 점에서 유용합니다. 그러나 "숨겨진(hidden)"을 "무관한(irrelevant)"으로 착각하는 순간 위험해집니다.
2002년 8월에 Standards Track으로 발표된 RFC 3355는 ATM Adaptation Layer 5 위에서의 L2TP를 규정했습니다. 기본 L2TP 규격은 터널링 프로토콜이 매체 세부사항에서 대체로 보호되며, 패킷 지향의 점대점 연결만을 요구한다고 명시했습니다. AAL5 가상 회선은 L2TP 액세스 집중 장치(LAC)와 L2TP 네트워크 서버(LNS) 사이에 정확히 그러한 서비스를 제공할 수 있었습니다.
그러나 이 매핑에는 논리상 물리적인 듯한 경계가 있었습니다. 각 L2TP PDU는 반드시 하나의 AAL5 PDU 안에서 이동해야 했습니다. 이 규격에 따라서는 하나의 L2TP 단위를 여러 AAL5 메시지로 분할한 뒤 상위에서 다시 하나로 취급할 수 없었습니다. 따라서 VC가 제공하는 최대 봉투 크기가 터널 MTU를 정했고, 이어서 터널을 공유하는 모든 PPP 연결의 최대 수신 단위(MRU)를 제약했습니다.
이것은 단순히 설정 화면 사이에서 복사된 숫자가 아니었습니다. 하나의 외부 한계가 여러 추상화 계층을 통해 안쪽으로 전파되었습니다. 서비스 제공자는 가상 링크를, L2TP는 터널을, PPP는 개별 세션을 제시할 수 있습니다. 그럼에도 과도하게 큰 내부 단위는 여전히 동일한 바깥쪽 AAL5 메시지 경계를 통과해야 했습니다. 베어러의 세부사항을 숨긴다고 여유 공간이 만들어지지는 않았습니다.
RFC 3355는 최소 1500바이트의 PPP MRU 지원을 요구했습니다. 또한 PPP PDU 안에서 최소 9180바이트의 IP 패킷을 담을 수 있는 더 큰 봉투를 권장했습니다. 이 문장들은 구현 능력과 설계 선호를 기술한 것입니다. 특정 VC가 필요한 크기를 협상하거나 프로비저닝했는지, 실제 PPP 피어가 그것을 선택했는지, 애플리케이션 패킷이 단편화나 손실 없이 통과했는지는 증명하지 않습니다.
터널이 많은 세션을 실어 나를 때 능력(capability)과 실측 증거의 구분은 더욱 중요해집니다. 제품은 최댓값을 광고할 수 있습니다. 한 PVC는 다른 PVC와 다르게 프로비저닝될 수 있습니다. SVC는 설정 시점에 서로 다른 매개변수를 받을 수 있습니다. PPP 세션은 더 작은 MRU를 협상할 수 있습니다. 트래픽에는 추가 헤더가 포함되거나 또 다른 제약이 있는 경로를 따를 수 있습니다. 따라서 "9180 지원"은 관찰된 9180바이트 전달에 대한 영수증이 아닙니다.
하위의 AAL5 서비스는 매우 구체적으로 특성화되어 있었습니다. L2TP는 이를 비트 동기식, 전이중, 점대점 링크로 취급했습니다. 회선은 프로비저닝으로 설정되는 영구 회선이거나, 요구 시 설정되는 스위치드 회선일 수 있었습니다. AAL5 메시지 모드는 손상 전달 옵션 없이 비보증(non-assured) 모드로 동작해야 했습니다. 경계에서 L2TP는 옥텟을 보았지, 옥텟 미만의 단위를 보지 않았습니다.
이 세부사항들은 추상화를 가능하게 했지만, 동시에 그것이 어디서 실패할 수 있는지를 정의했습니다. 서비스는 메시지 경계를 보존한다고 해서 신뢰할 수 있는 전달을 약속하지 않았습니다. 유효한 AAL5 길이와 CRC는 수신된 하나의 PDU를 한정할 수 있었지만, 발신자를 인증하거나 기밀성을 제공하거나 내부 L2TP 제어 평면이 패킷을 수락했음을 증명하지는 않았습니다. 프레이밍 무결성은 하나의 현실 계층일 뿐, 거래 전체가 아니었습니다.
프로토콜 정체성 역시 두 가지 방식으로 이 경계를 넘었습니다. LLC 캡슐화에서는 각 AAL5 PDU가 L2TP를 위한 IANA 식별자를 담은 LLC/SNAP 헤더를 실었습니다. 봉투 자체가 담긴 내용의 이름을 밝혔습니다. VC 멀티플렉싱에서는 헤더가 없었습니다. 엔드포인트들이 이미 이 가상 회선이 L2TP를 실는다는 데 합의한 것이었습니다. 의미는 모든 PDU에 있지 않고 회선의 프로비저닝된 또는 신호화된 맥락 안에 살았습니다.
RFC 3355는 영구 회선에서 LLC 캡슐화 L2TP 지원을 요구했습니다. 스위치드 회선에서의 LLC와 어느 쪽 회선에서든 VC 멀티플렉싱은 선택 사항이었습니다. PVC 양쪽 엔드포인트는 동일한 선택으로 구성되어야 했습니다. 두 장비가 모두 L2TP를 지원하더라도, 회선 맥락이 어긋나면 동일한 바이트를 서로 다르게 해석할 수 있었습니다. 매체 독립성은 경계에서 공유 명명 규약의 필요성을 없애지 않았습니다.
스위치드 가상 회선은 이 합의를 ATM 제어 평면으로 옮겼습니다. 발신 측은 Broadband Lower Layer Information 요소를 사용하여 LLC 캡슐화, VC 멀티플렉싱 또는 둘 다를 우선순위 순서로 제안했습니다. 둘 다 제안되고 호가 수락되면, 착신 피어는 정확히 하나를 선택했습니다. 지원되지 않는 형식만 제안되었다면 요청은 거부되어야 했습니다.
성공적인 선택이 증명한 것은 한정된 사실이었습니다. 그 연결 설정에 대해 양쪽이 AAL5 페이로드를 해석할 방법을 선택했다는 것입니다. 이것이 뒤에 L2TP 제어 연결이 맺어졌음을, PPP 세션이 인증되었음을, 사용자 패킷이 들어맞았음을, 애플리케이션이 그것을 수신했음을 증명하지는 않습니다. 제어 평면은 봉투 문법에 합의한 것이고, 내용물에는 여전히 자체적인 수명 주기가 있었습니다.
리셋 규칙은 이 의존성을 무시할 수 없게 만듭니다. SVC 기반 L2TP 터널이 기본 L2TP 절차에 따라 리셋되면, 양쪽 끝은 SVC를 해제해야 했습니다. 그 터널 위의 모든 사용자 세션이 종료되었습니다. 어느 한쪽이라도 이후 새 클라이언트 요청에 따라 새 터널을 시도할 수 있었지만, 새 시도가 이전 세션들을 보이지 않게 이어가지는 않았습니다.
마찬가지로, AAL5 SVC가 해제되었다는 통지는 구현이 L2TP 터널을 찢어내고 그 제어 연결을 유휴 상태로 되돌리도록 요구했습니다. 바깥 네트워크는 단지 구현 세부사항을 제거한 것이 아니라, 내부 상태가 의존하던 패킷 지향 링크 자체를 제거한 것입니다. 베어러의 실패는 위로 전파되었습니다.
RFC 3355는 일부 도달 가능성 판단을 구현에 맡겼습니다. 설정 실패 후 발신 측은 이후 통지가 있을 때까지 목적지를 도달 불가로 간주할 수 있었지만, 그 판단에 들어가고 빠져나가는 조건은 로컬 결정이었습니다. 남은 세션이 없을 때 어느 쪽 끝이든 선택적으로 SVC를 해제할 수 있었습니다. 따라서 "도달 불가"나 "유휴" 같은 상태는 출처가 필요했습니다. 어느 계층이 보고했는지, 어떤 사건이 그것을 만들었는지, 어떤 상태 기계가 아직 존재하는지 말입니다.
서비스 품질도 같은 패턴을 따랐습니다. 서로 다른 클라이언트 품질을 LAC와 LNS 사이의 여러 AAL5 연결에 배치할 수 있었습니다. 하나의 터널을 여러 가상 회선에 걸쳐 역다중화하는 더 야심적인 방식은 추가 연구 과제로 남았습니다. L2TP 자체는 ATM 전송률이나 트래픽 디스크립터를 강제하지 않았습니다. PVC 매개변수는 당사자들이 합의할 수 있었고, SVC 매개변수는 설정 시점에 요청할 수 있었습니다. 요청된 트래픽 디스크립터는 구성 증거였지, 전달된 성능의 증명이 아니었습니다.
보안 역시 올바른 캡슐화에서 물려받을 수 없었습니다. RFC 3355는 ATM 전송에 대한 공격이 터널을 침해할 수 있다고 경고하고, 구현자에게 인증 헤더, 암호화 페이로드, ATM 계층 보안 서비스를 참조하도록 안내했습니다. 올바른 PID, 유효한 CRC, 수락된 B-LLI 선택을 갖춘 회선이라도 기밀성이나 충분한 피어 인증이 결여될 수 있었습니다.
인접 표준들은 계층을 무너뜨리지 않으면서 이를 명확히 합니다. RFC 1661은 PPP와 그 MRU 협상을 제공했습니다. RFC 2684는 일반적인 LLC/SNAP 및 VC 멀티플렉싱 AAL5 형식을 제공했습니다. RFC 2364는 PPP를 AAL5 바로 위에 놓았고, RFC 3355는 PPP 세션을 L2TP를 통해 간접적으로 실어 날랐습니다. RFC 2331은 ATM 신호를 기술했습니다. RFC 2661은 AAL5 베어러가 지원하거나 제거할 수 있는 터널과 세션 상태를 제공했습니다.
다른 L2TP 매핑들은 이 경계가 베어러에 따라 달라짐을 보여줍니다. RFC 3070은 L2TP를 AAL5가 아닌 프레임 릴레이 위에 매핑했습니다. 그 세부사항은 RFC 3355의 단일 메시지 봉투 대신 쓸 수 없습니다. RFC 3193은 L2TP를 IPsec과 조율하며 별도의 보안 상태 의존성을 추가했습니다. RFC 4459는 이후 터널 MTU와 단편화를 일반적인 계층화 문제로 다루었습니다. 이 문서들 중 어느 것도 RFC 3355에 대한 배포 사례나 사건을 증명하지 않습니다.
현재의 IANA L2TP 레지스트리는 조율에 사용된 할당을 보존합니다. 레지스트리 항목은 어떤 값이 정의된 자리를 갖는다는 것을 증명합니다. 어떤 장비가 그것을 구현했는지, 어떤 VC가 그것을 실었는지, 어떤 세션이 그것으로 살아남았는지는 증명하지 않습니다. 이것은 바로 그 매핑 자체가 요구하는 증거 규율입니다.
RFC 3355는 추상화에 대한 간결한 교훈입니다. 좋은 추상화는 상위 계층이 동작할 수 있도록 기계장치를 숨깁니다. 그러나 기계장치의 유한한 자원과 수명 주기를 폐지하지는 않습니다. L2TP 터널은 ATM의 신호와 셀을 PPP 사용자들에게서 숨길 수 있었습니다. 그러나 AAL5 VC는 여전히 봉투 하나의 크기, 그 내용물의 식별 방식, 베어러가 해제될 때 무엇이 사라지는지를 결정했습니다.
출처
- RFC 3355: L2TP over AAL5
- RFC 3355에 대한 RFC Editor 기록
- RFC 3355 정정 기록
- RFC 3355에 대한 IETF Datatracker 기록
- RFC 2661: Layer Two Tunneling Protocol
- RFC 1661: The Point-to-Point Protocol
- RFC 2684: Multiprotocol Encapsulation over AAL5
- RFC 2364: PPP over AAL5
- RFC 2331: ATM Signaling Support for IP over ATM
- RFC 3193: Securing L2TP using IPsec
- RFC 3070: L2TP over Frame Relay
- RFC 4459: MTU and Fragmentation Issues with Tunneling
- IANA L2TP Parameters
- Lu Heng: Running-Code Primacy
- Lu Heng: Minimum Initial Specification
- Lu Heng: Reality Layers
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





