TTA 간행물 - ICT Standard Weekly

> 표준화 참여 > TTA간행물 > ICT Standard Weekly

기술표준이슈

다운로드 (2007-43호)
트위터 페이스북 미투데이

[전파방송] 다양한 패킷 인캡슐레이션 방법에 대한 논란

와이브로(WiBro)라는 이름으로 널리 알려진 IEEE 802.16표준은 물리 계층(1계층)과 매체 접근 제어 계층(2계층)에 관한 것으로, IP(3계층) 패킷들을 전달하기 위해서는 이를 IEEE 802.16 패킷들로 감싸는 방법(packet encapsulation)에 대한 정의가 필요하다. IEEE 802.16에서는 이러한 동작에 관련된 부분을 묶어 'Convergence Sublayer(CS)'라는 이름을 붙이고, 다양한 CS들이 적용가능 하도록 선택의 폭을 넓혀 놓았다. 대표적으로 IPv4 패킷과의 정합을 다루는 IPv4 CS, IPv6 패킷과의 정합을 다루는 IPv6 CS, 이더넷(Ethernet) 패킷과의 정합을 다루는 Ethernet CS 등이 있다.

CS는 상위 계층과 맞물려 동작하여야 하고, IEEE 802.16 환경에서 기존 인터넷과 같은 서비스를 제공하려면 IP 계층과 CS 계층 사이에서 동작을 규정하여야 하는 것들이 많기 때문에, IETF(Internet Engineering Task Force) 국제 표준화 기구의 16ng(IP over IEEE 802.16 Networks) 워킹그룹에서 관련 표준화 문서들을 작업 중이다. 각 CS별로 IP 전달기술을 표준화하는 동시에, 16ng에서는 현재 CS의 한계에 대한 지적과 근본적인 설계 방향에 대한 논의가 있었는데, 본 기고문에서는 CS와 관련한 다양한 문제들에 대해서 살펴보고자 한다.

 

최근 표준화 진행현황

근래 IETF를 감독하는 IAB(Internet Architecture Board)에서 'Multiple Encapsulation Methods Considered Harmful'이라는 제목의 RFC4840 문서가 공개되기 전부터, 16ng 워킹그룹에서는 IEEE 802.16관점에서 RFC4840에서 언급한 문제들과 관련한 논의를 별도로 진행하고 있었다. 이 문서는 IEEE 802.16 CS와 직접 관련이 있다기 보다, 일반적인 구조 설계의 관점에서 '하나의 표준이 하나의 링크에서 다양한 방법으로 IP 패킷을 인캡슐레이션(encapsulation) 하는 것을 허용'하는 것에 대한 위험성을 언급하고 있다. 예를 들자면, IEEE 802.16 CS에서는 일반적인 랜(LAN) 환경에서 사용하는 Ethernet으로 인캡슐레이션 된 IPv4 패킷이 Ethernet CS를 통해 IEEE 802.16 패킷이 될 수도 있지만, Ethernet 부분을 떼어버리고 IP 부분만을 이용하여 (IPv4 CS) IEEE 802.16 패킷을 만들 수도 있다. 현재의 IEEE 802.16 표준 자체가 RFC4840에서 지적하는 잠재적인 문제점을 내포하고 있기 때문에, 16ng 워킹그룹에서는 이를 분석하고 더 나은 해결책을 찾아 CS와 관련한 표준화 문서들에 반영하고자 노력하고 있다.

 

주요하게 거론된 문제점들과 그에 따른 논의를 간략히 살펴보면 다음과 같다.

 

Ÿ Generality: 실어 나르는 모든 타입의 프로토콜을 그때마다 새로 정의할 것인가?

사실 앞서 언급한 세가지 외에도 IEEE 802.16에는 훨씬 더 많은 CS들이 정의되어 있다. 이것은 다시 말해서, IEEE 802.16 네트워크를 통해 전달해야 할 새로운 상위 프로토콜이 생기면 그때마다 이에 대응하는 CS를 새로 만들어야 하지 않느냐는 지적이다. IPv4를 위해 IPv4 CS가 존재하고, IPv6를 위해 IPv6 CS가 존재하는 것과 같은 맥락이다.

그래서 임의의 프로토콜 타입에도 대응할 수 있는 Generic Packet CS의 필요성이 대두되었고, IEEE 802.16에서 표준화를 진행 중이기도 하다. 한편 현실적으로는 802.16 안에서 과연 새로운 종류의 CS가 필요할 것인지에 대한 회의론과 특정한 CS만을 골라 구현함으로써 얻는 효율성도 한편 크기 때문에, 이러한 방식이 구조적으로 비판을 받을 수 있지만 여전히 유효한 선택이라는 의견도 많다.

 

Ÿ Independence: 계층간의 독립성을 훼손한다.

CS에서는 적절한 IEEE 802.16 연결에 대응하기 위해서 패킷을 분류(classification)하는 작업을 수행한다. 예를 들어 IPv4 CS에서는 해당 패킷을 특정 단말기로 보내려면 목적지 IPv4 주소에 해당하는 IEEE 802.16 연결을 찾아내어야 한다. 이 과정에서 더 상위 계층의 정보를 기준으로 분류하는 것도 허용하고 있는데(eg., TCP 포트번호), 이것이 계층간의 독립성을 깨고, 패킷의 내용이 암호화(encryption) 되어 있는 경우에 동작을 보장하지 못한다고 지적하고 있다.

하지만, 점차 다양해지고 복잡해지는 서비스 및 사용자의 요구 사항을 만족시키기 위하여 상위 계층의 정보를 바탕으로 패킷을 분류하려는 시도는 비단 IEEE 802.16뿐만 아니라 3GPP LTE 등 다른 표준화에서 이제 흔히 볼 수 있는 방법이 된 것은 사실이다. 암호화 된 패킷에 대한 분류의 문제는 기존의 유선 망에서도 동일한데 보편적이면서 포괄적인 해결책이 필요한 상황이다.

 

Ÿ Interoperability: 여러 CS가 같이 동작할 수 있는가?

같은 링크에서 복수개의 CS들이 동작하는 것을 허용하면, 어떤 CS를 어떤 기준으로 골라 동작해야 하는지 모호하다. 예를 들어 Ethernet 헤더로 인캡슐레이션(encapsulation) 되어 있는 IPv4 패킷을 Ethernet CS에서 처리해야 할지, IPv4 CS에서 처리해야 할지 애매해진다. 또한 특정 프로토콜의 패킷들은 Ethernet CS로는 전달이 가능하지만, IPv4 CS로는 전달이 불가능한 경우도 있다. 이러한 문제들이 결국 서비스의 일관성을 깨고, 구현을 복잡하게 만들며, 로밍(roaming)과 같은 기능을 구현하는데 장벽이 될 수 있다는 지적이 있다.

그래서 16ng의 표준화 방향은 각각의 CS에 따른 링크 모델을 갖게 하고 서로의 동작을 독립적으로 정의하고 있다. 따라서 논리적인 링크상에서는 복수의 CS가 존재하지 않을 것이며, 어떠한 CS를 선택하기 위한 협상(negotiation) 과정 등은 실제 구현에 관계된 문제로 생각하고 있다. IEEE 802.16에서 항상 기본이 될 수 있는 'mandatory CS'가 별도로 정의되지 않음으로 해서 이러한 문제들이 야기되지만, 오히려 이로 인해 필요한 CS를 선택해서 구현/사용함으로써 사실 구현의 복잡도를 줄이고 효율성을 제고할 수 있는 효과도 있다.  하지만 한 링크에 하나의 단말기가 아닌 복수의 호스트가 IEEE 802.16 게이트웨이를 거쳐 물려있는 상황이나, 지원하는 CS가 서로 다른 사업자간의 로밍 문제 등 상호 운용성에 있어 잠재된 문제들이 있는 것은 사실이다.

 

결언

RFC4840에서는 그 결론에서 하나의 인캡슐레이션 방법을 정해 그것을 'mandatory'로 사용하는 것이 바람직하다고 끝맺고 있다. 비록 여기서는 IEEE 802.16 관점에 국한하여 RFC4840에서 제기된 문제점들을 언급하고 그와 관련하여 논의된 내용을 위주로 살펴보았지만, 많은 기존의 혹은 표준화가 진행중인 시스템들에서 이와 유사한 문제들을 흔히 찾을 수 있다. 어떻게 보면, 16ng에서 RFC4840이 제시한 문제들에 대해서 명쾌한 해답을 제시한 것은 아니지만, 이러한 논의를 통해 시스템을 구조적으로 또 운용성 측면에서 발전시킬 수 있고, 더 나은 시스템을 설계하는 시도로 이어질 수 있을 것이다.

이지훈 (서울대학교 컴퓨터공학부 박사과정, jhlee@mmlab.snu.ac.kr)

* 본 글은 저자의 의견일 뿐 TTA 기관의 입장과는 무관합니다.