ECN으로 인터넷 정체 해소한다

일반입력 :2001/08/08 00:00

on the NET

하나의 전자우편이 인터넷을 통과하며 날아갈 때에는 그것은 하나의 조각으로 여행하는 것이 아니다. 그것은 여러 개의 패킷이라고 부르는 조각으로 부서져 수신 컴퓨터로 항해하고 의미있는 메시지로 재구성된다.그러나 이 과정은 자주 늦춰진다. 왜냐하면 그 패킷들 중의 일부가 도중에 사라지기 때문이다. 그런 일이 발생하면 수신 컴퓨터는 늑장을 부리는 패킷을 기다리고, 그 다음에는 다시 보내줄 것을 요구한다. 전체적으로 볼 때 하나의 잃어버린 패킷은 정말로 작업을 느리게 만들 수 있다. 잃어버린 패킷을 완벽하게 제거하는 것은 어려운 일이다. 그렇지만 ECN(Explicit Congestion Notification)이란 기본적인 인터넷 언어를 발전시키면, 이런 문제를 어느 정도 감소시키고, 더 나아가 특정 종류의 업무처리 작업에 의미 있는 증진을 부여할 수도 있다. 약간의 정보를 각 데이터의 헤더에 추가함으로써 ECN은 전송 도중에 분실되는 패킷의 숫자를 감소시킬 수 있는데, 그 효과가 얼마나 될지는 분명하지 않다. 현재 ECN은 전자우편이나 웹 페이지와 같은 전통적인 웹 트래픽에만 적용된다. 그러나 개발자들은 ECN을 패킷 분실이 가장 큰 문제로 자리 잡고 있는 스트리밍 미디어 전송에 적용하기를 발고 있다. 전망 밝지만 정확한 효과 예측 불가능표준화 기구인 IETF는 ECN을 하나의 제안 공식 표준으로 만드는 작업을 하고 있다. 어떤 기술이 일단 표준으로 자리 잡으면, 네트워크 장비 업체들은 최신 제품에 해당 기술을 적용하기 시작한다. 시스코는 이미 ECN을 테스트 중에 있으며, 이 기술을 내년 초 쯤에는 자사 라우터가 지원하도록 할 계획이다. 스트리밍 미디어 기술 개발업체인 디지털 파운틴(Digital Fountain)의 CTO인 마이크 루비는 “ECN은 특히 스트리밍 애플리케이션과 같이 떠오르는 애플리케이션들을 위해서는 장래성이 밝다”며, “그러나 광범위한 ECN 개발이 극적으로 모든 인터넷 품질을 향상시킬 수 있을지는 분명하지 않다. 그리고 적절한 분산배치가 없이는 그것을 결정하기가 어렵다”고 말한다. IETF의 전송 분야 ECN에 대한 작업을 하고 있는 태스크포스를 이끌고 있는 스코트 브래드너는 “수신자가 나타나지도 않는 한 개의 패킷을 기다릴 필요가 없다는 점에서 차이점을 만드는 것처럼 느껴진다”며, “그것이 2%의 차이인가 20%의 차이인가는 주위의 환경에 좌우된다. 실제 세계라는 것은 매우 예측 불가능한 것”이라고 설명한다. ECN은 IP 프로토콜 멀티캐스트와 연합했을 때 좀 더 극적인 효과를 낼 수도 있다. 멀티캐스트는 효율적으로 같은 종류의 데이터를 많은 사용자들에게 동시에 전송하는 방법이다. 그러므로 멀티캐스트를 이용하면 ECN의 효과는 각각의 라우터로 확대될 수 있다. 그러나 멀티캐스트가 확산되기에는 아직도 많은 기술적인 과제가 남아있는 상태다.AT&T 센터의 인터넷 리서치 연구원 샐리 플로이드는 “지금으로서 ECN은 단지 하나의 진보일 뿐이다. 후에 그것은 멀티캐스트와 스트리밍 데이터로 인해 더 유용하게 사용될 것”이라고 말한다.인터넷 트래픽 전송의 규칙정상적인 인터넷 트래픽은 TCP(Transmi ssion Control Protocol)란 기본적인 트래픽 규칙을 따른다. 1980년대 말 이래로 인터넷 트래픽의 증가가 심각한 폭주 문제를 일으켰을 때, TCP는 자료를 전송하는 컴퓨터에게 데이터의 흐름을 네트워크가 정체되는 동안 반으로 줄이도록 지시하는 폭주 조절 장치를 포함시켰다. 따라서 실제적으로 정체(혼잡)는 분실된 패킷의 형태로 사용자에게 그 전송률을 빠르게 하거나 늦추라는 피드백 신호를 보내는 에러 신호가 된다. 정체는 라우터에서 일어난다. 다시 말해 트래픽 실종은 인터넷의 교차점에서 일어난다. 라우터에 패킷들의 홍수가 일어나면, 라우터는 버퍼에 패킷을 모으기 시작한다. 플로이드는 “버퍼 용량을 넘어서면 많은 패킷들이 한번에 사라지게 되는 것을 의미한다. 그리고 그렇게 많은 사람들에게 전송 속도를 늦추라고 얘기할 필요가 없었던 것이 된다”고 설명한다. 라우터에게 있어 갑작스런 폭주 사태와 패킷 손실은 다르기 때문에, 많은 라우터들은 액티브 큐 매니지먼트(active queue manage ment: 능동적 대기열 관리)라고 알려진 방법을 사용한다. 라우터는 이 방법을 통해 버퍼가 그 한계 용량에 이르면 몇몇 패킷들을 임의적으로 버리기 시작한다. 손실되는 패킷의 숫자가 증가함에 따라서 버퍼는 접근을 제한한다. 전송중이던 컴퓨터는 일정 기간 안에 수신 컴퓨터로부터의 승인을 받는데 실패하면 정체를 인식하게 되고, 이것은 전송 속도를 늦추라는 신호가 된다. 그러나 이 시스템은 효과가 없다. 왜냐하면 패킷 손실은 오로지 전송중인 컴퓨터의 속도를 늦추는 데에만 필요하기 때문이다. 이곳이 바로 ECN이 필요한 곳이다. 패킷 헤더에는 QoS를 위해 8비트가 남겨져 있는데, 이 중 실제로는 6비트만 사용되고 2비트가 남아 있다. 이 남은 2비트는 쉽게 사용할 수 있는 것이며, ECN은 기업들이 자신들의 트래픽에 우선권을 주기 위해 추가 비용을 지불할 수 있는 바로 이곳으로 접근하는 것이다.여분의 2비트로 패킷 손실 방지ECN은 송신 컴퓨터에 정체를 탐지할 것을 허락하고, 패킷 손실없이 데이터의 흐름을 늦추는 것이 주된 장점이다. 일단 송신 컴퓨터가 예정된 수신자의 컴퓨터가 ECN을 장착하고 있음을 확인하면, 컴퓨터는 모든 패킷을 2개의 1로 표시되는 ECN 비트 중의 하나와 함께 전송한다. 표시된 패킷들 중의 하나가 정체된 라우터에 이르면, 라우터는 또 다른 ECN 비트를 1로 표시하고 그것을 전송한다. 수신자가 두개의 1로 표시된 패킷을 받으면, 정체에 부딪혔음을 알고 자신의 도착을 송신자에게 인식시킨다. 송신자는 마치 패킷들이 손실된 것과 같이 그의 전송 속도를 늦춘다.ECN이 처음 개발됐을 때 최종 사용자가 프로토콜을 속임수로 사용할 수 있다는 염려가 있었다. 그들의 패킷이 다른 사람들의 것들보다 우선적으로 전송되게 하기 위해서였다. 예를 들어, 한 수신자가 데이터를 더 빠르게 다운로드하기를 원한다면 수신자에게 패킷이 도중에 분실되지 않도록 ECN 가동을 지시할 수가 있었다. 그러나 그런 경우에 1로 표시된 두 패킷을 받는 경우에는 그들은 송신자에게 전송율을 늦추라고 통지할 수가 없다. 그러므로 서로 다른 전송 패킷들이 공간을 차지하기 위해 경쟁하게 되는 정체된 파이프라인은 그들의 전송율을 늦추고 속임수를 쓰는 사용자의 데이터가 같은 속도로 전송되게 한다.그러한 속임수를 방지하기 위해 ECN 워킹 그룹은 아주 영리한 방법을 도입했다. ECN을 장착한 TA(transaction)에서는 송신 컴퓨터가 패킷들을 10 또는 01 중에서 하나의 숫자를 무작위로 선택하여 표시한다. 수신자가 ECN 패킷의 도착을 인식하면, 그것은 송신자에게 패킷이 어떻게 표시돼 있는지를 알린다. 정체를 겪은 패킷은 11로 표시가 되므로 수신자는 그것이 10으로 시작되었는지 아니면 01로 시작되었는지 알지 못한다. 그러므로 속임수를 쓰는 수신자는 그들 패킷에 지속적으로 올바른 도착 통지를 보낼 수가 없게 된다. 그리고 송신자는 정체 여부를 알 수 있을 것이다. 라우터 적용에는 적지 않은 기간 걸릴 듯ECN을 인터넷 트랜잭션에 사용하기 위해서는 송신자와 수신자 양쪽의 운영 시스템은 커널에 ESN을 도입해야 한다. 둘 사이의 어느 지점이든 정체 상태에 있는 라우터 역시 모두 ECN 명령을 지원해야 한다. 비록 그 기술이 노텔의 라우터와 몇몇 리눅스 운영체제에 포함돼 있지만, 대부분의 고객들과 라우터들이 ECN을 인식하기까지는 수년이 걸릴 것처럼 보인다. IETF의 브래드너는 일단 ECN이 인터넷 상에서 가장 심각하게 정체되는 라우터들에 배치되면 “리눅스를 사용하거나 리눅스 서버와 교신하는 그 누구든 이미 이익을 얻을 것”이라고 주장한다. 그는 “이제 정보의 송수신을 향상시키기 위해서 수천 개의 라우터를 보유할 필요가 없다”고 강조했다. ECN이 얼마나 많은 향상을 제공할지 정확히 측정하기는 어렵다. 왜냐하면 그것은 자료의 크기와 성질, 전송시의 네트워크의 상태, 그리고 다양한 라우터의 상태에 따라 달라지기 때문이다. AT&T의 플로이드는 ECN의 효과는 단 한 개의 패킷의 손실이 전송 시간에 큰 차이를 만들어내는 경우인 매우 작은 데이터 전송에서 가장 분명할 것이라고 말한다. 그는 “오로지 3패킷의 데이터를 가지고 약간 짧은 웹 파일을 받을 때에 대해 사람들은 정말로 걱정하지는 않을 것”이라고 설명했다. 시스코의 QoS 제품 매니저인 비제이 크리샤는 “ECN이 아마존닷컴에서 책을 구입한다거나 웹 기반 애플리케이션으로 들어가는 데이터 등과 같은 인터랙티브 전송 분야에 매우 의미있는 진보를 제공할 것”으로 기대하고 있다. 다음 과제는 스트리밍 미디어연구원들에게 다음번 과제는 ECN을 스트리밍 미디어 플레이어에 적용하는 것이다.스트리밍 미디어는 순조롭게 그리고 계속적으로 수신자의 컴퓨터로 흘러야만 하는 까닭에 패킷들은 도착을 승인하거나 다시 보내지는 일이 일어날 수가 없다. 그리고 스트리밍 미디어 프로토콜은 폭주 조절이 설치되지 않았다. 또한 스트리밍 전송은 반드시 정해진 일련의 데이터 속도로 이뤄져야 한다.브래드너는 “스트리밍 미디어를 위한 ECN은 만들기 어렵다. 왜냐하면 세션의 개념이 없고, 흐름의 조절이라는 것은 그것의 일부가 아니기 때문”이라고 말한다.일반적으로 스트리밍 미디어가 정체의 막다른 골목을 건드리면 그것은 가볍게 흔들리면서 튀기 시작한다. 그리고 그것이 점점 더 심해지면서 결국 패킷은 실종된다. 만일 충분한 패킷이 사라지면 스트리밍 비디오는 훨씬 더 적은 대역폭을 사용하는 정지화면 상태가 되는 경우가 많다 그러므로 개발자들은 우선 정체 조절이 장치된 새로운 버전의 스트리밍 프로토콜을 개발해야만 하는데, 그런 종류의 프로토콜에 대한 계획이 IETF에 의해 고려되고 있다. @