엔드·투·엔드의 원칙과 IPv6


쵸 켄지로

소니 computer science 연구소

kjc@csl.sony.co.jp


--------------------------------------------------------------------

본칼럼은 IPv6 저널 2001년 여름호에 게재된 것입니다.

--------------------------------------------------------------------최근, 일반인들에게도 IPv6라는 말이 알려지게 되었다. IPv6의 이야기가 나오면, 당연히 IPv4와의 차이에 대해 이야기하게 된다. 그런데, IPv6는 IPv4의 본래의 설계 사상에의 회귀에 다름 아니다.


인터넷의 성공은 개개의 기술보다, 민간적인 기술의 발전과 보급을 가능하게 한 설계 사상과 그것을 기른 문화에 기인함이 크다. 그럼에도 불구하고, 기술의 보급 정도로는, 인터넷을 지지하는 생각의 방식이나 문화가 충분히 전해지지 않고 있는 것이 유감이다. IPv6의 생각의 방식의 근저에는, 인터넷의 설계 사상인 end-to-end의 원칙이 있다[1].


원래 end-to-end의 원칙은, 통신 노상에 전송 잘못이나 고장의 가능성이 있는 이상, 엔드 시스템간에서의 데이터의 검증이 필요하다고 하는 인식으로부터 태어났다. 예를 들면, 파일 전송의 경우, 아무리 신뢰성이 높은 전송로를 구축해도, 그것만으로는 전송을 보증할 수 없다. 그 밖에도, 라우터나 호스트에 있어서의 메모리의 비트 에러, 파일 시스템의 버그, 디스크의 에러 등이 일어날 수 있다. 최종적으로는 어플리케이션이 에러 체크를 할 필요가 있다.


게다가 만약, 네트워크 내부에 특정의 어플리케이션을 상정한 기능을 짜넣으면, 다른 어플리케이션에 있어서는 제약이 될 가능성이 있다. 예를 들면, 재발송 기능을 짜넣어 버리면, 음성 통화 등에서는 불필요한 재발송에 의한 지연 변동이 문제가 된다. 장래 등장하는 어플리케이션을 예측할 수 없는 이상, 그 발전을 저해하게 될 수도 있다.


end-to-end의 원칙의 탄생은 1970년대 후반으로 거슬러 올라간다. 여명기의 인터넷에 대해, TCP와 IP를 분리해, 복잡한 트랜스포트 기능은 엔드 시스템에 맡겨 네트워크 내부는 신뢰성이 없는 패킷 배송만을 행한다고 하는 단순화가 도입되었다. 회선교환으로 세션을 개별적으로 제어하고 있었던 시대의 발상의 전환이었다. 네트워크 내부에는 최저한의 기능만을 갖게 해, 새로운 어플리케이션이나 프로토콜이 엔드 시스템만으로 자유롭게 도입할 수 있도록 해, 시스템의 유연성과 확장성을 확보한다는 것이 end-to-end 통신의 제안자들의 주장이었다. 15년이나 후에 등장한 WWW가 급속히 보급된 사실로 대표되는 많은 어플리케이션의 등장은, 이 주장의 정당성을 증명하고 있다.


그런데 , 그 후의 인터넷의 보급에 수반해, 다양한 기능이 네트워크 내부에 도입되게 되어, 그 결과, end-to-end의 원칙이 무너지고 있다[2]. 파이어 월(fire wall), NAT, 컨텐츠의 캐쉬, 특정의 어플리케이션을 위한 프록시 등, 모두 네트워크 내부에 짜넣어져 통신 노상에서 엔드 시스템을 가장하거나 패킷의 내용을 조작한다. 이것들 개개의 기술의 영향은 반드시 end-to-end의 원칙을 직접 위협할 정도는 아니다. 그러나, 인터넷 전반으로 보면 복합적인 영향, 즉, 네트워크 내부의 기능이 복잡화 해, 네트워크의 투과성이 없어지는 경향이 있다. 파이어 월(fire wall)이나 NAT의 도입에 의해, 벌써 많은 어플리케이션은 이용할 수 없게 되었다. 오늘에서는, 새로운 어플리케이션을 사용하려고 해도, 이러한 중계 장치가 족쇄가 되어, end-to-end에서의 신기술의 도입을 할 수 없는 상황이 되어 있다.


물론, 원칙은 어디까지나 원칙이며, 모든 것을 end-to-end로 행하는 것은 현실적이지 않다. 예를 들면, 무선 링크에 채용되고 있는 오류 정정은, end-to-end에서의 재발송보다 효율적으로 전송 에러를 수복할 수 있다. 만약, 무선 전송의 비트 오류까지 end-to-end로 복구하면 큰 성능 저하가 된다. 그러나, 여기서 중요한 것은, 어디까지나 end-to-end로 최종적으로 에러 복구를 한다는 전제로, 무선 링크를 설계하는 것이다. TCP는 패킷 손실율 1% 정도까지는, 거의 성능 저하없이 에러 복구를 할 수 있으므로, 링크층에 있어서의 에러 감소는 패킷 손실율 1% 정도를 달성하면 된다. 그런데 , 때때로 무선 기술자는 오버 엔지니어링 해 버려, 링크층과 TCP의 에러 복구 기능이 부정합을 일으켜, 전체의 성능이 저하하는 사태를 부른다. 즉, 개별의 기술을 독립적으로 최적화하는 것이 아니라, 밸런스를 생각한 설계가 요구되는 것이다.


게다가 네트워크 환경의 밸런스는, 기술과 함께 변화한다. 성능 개선을 위해서 도입한 기술이, 어느새 불필요하게 되어 있는 상황은 종종 일어나며, 반대로 보틀넥(bottle neck)이 되어 버리는 경우도 있다. 네트워크를 심플하게 유지하기 위해서는, 항상 end-to-end의 원칙으로 돌아와, 시스템을 다시 보는 일도 필요하다.


이러한 생각의 방식은, 파이어 월(fire wall)의 설정 방침에 대해서도 적용될 수 있다. 통상, 파이어 월은, 네트워크측에서 이용자를 지키며, 그것을 위해 편리성이나 자유도가 저하 되어도 어쩔 수 없다고 하는 어프로치다. 한편, 완벽한 파이어 월은 있을 수 없고, 내부로부터의 공격이나, 패스워드의 누설 등 파이어 월에서는 막을 수 없는 문제도 많이 있다. 여기에서 end-to-end의 원칙에 근거해서 생각해 보면, 어디까지나 이용자의 자기 관리를 전제로하여 관리 부하 경감을 위해서 최저한의 설정을 행한다는 방침이 나오게 된다.


여기에는, 네트워크측에서의 관리를 원칙으로 하는지, 이용자의 자기 관리를 원칙으로 하는지 하는 설계 사상의 차이가 있다. 이것은, 종래, 전화망과 인터넷의 설계 사상의 차이로 여겨져 왔지만, 오늘에는 인터넷의 내부에도 같은 분리를 볼 수 있다. 그러나, 양자의 차이는 기술적으로 보면 반드시 명확하지는 않다. 실제, 대부분의 네트워크는 원칙을 애매하게 한 채로 운용되고 있다. 그리고, 이용자나 관리자도 모르는 사이, 네트워크의 확대와 다양화에 수반해, 서서히 자기 관리적인 것으로부터 네트워크측으로 관리가 이행해 가게 된다.


이 현상은 모든 사회구조에 공통되는 문제로, 아무리 유연한 시스템을 만들어도, 활성화 해 개혁을 반복하지 않는 이상 이윽고 시스템은 경직화 해 나가는 운명에 있다. 정보 혁명의 본질은, 정보의 유통에 의해 다른 생각이나 문화가 교류하여 유연한 발상이 태어나 사회가 활성화 되고 개혁되어 가는 것에 있다. 여기서, 활성화를 위해서 필요한 것이, 개혁의 지침이 되는 원칙이다. end-to-end의 원칙을 기초로 기술의 도태를 반복하는 것에 의해, 인터넷을 발전시킨다고 하는 개방적인 문화가, 인터넷의 원동력이 되어 왔다.


IPv6의 등장의 배경에는, 주소의 부족, 경로표의 증대, 시큐리티 문제 등 기술면 뿐만이 아니라, 문화면으로부터의 위기감이 있다. 물론 IPv6가 모든 문제를 해결하는 것은 아니다. IPv6 자체도 아직 많은 과제를 안고 있다. 다만, 기술적인 측면에서만 생각하면 변혁의 본질을 간과하는 일이 된다. 일반 이용자에게 있어서는, IPv4와 IPv6의 차이 같은 것을 알 필요도 없는 것이다. end-to-end의 원칙의 르네상스와도 같은 흐름 속에서, IPv6는 궤도수정을 위한 하나의, 그러나 큰 도전이라고 파악할 수가 있다.


가까운 장래에는, 모든 디바이스가 인터넷에 연결되게 된다고 예상하는 사람도 있다. 그러나, 가전제품이나 자동차의 센서가 IP주소를 가지는 일의 진짜 의미를, 우리는 아직 이해하고 있지 않다. 현상 그대로를 추이하면, 이러한 기기는 파이어 월을 개입시키며 개인 주소로 접속하게 될 것이다. end-to-end의 지지자들은, 그러면 인터넷의 발전의 속도가 둔화되어, 기존의 서비스 개념 이상의 것이 나오지 않게 된다고 지적한다. 완전히 새로운 인터넷의 사용법이 태어나기 위해서는, 우선 end-to-end의 원칙에 따른 인터넷의 재구축이 필요하다고 하는 주장이다.


한편으로, 인터넷은 너무 커져, 이미 연구자의 이상만으로 움직이는 것은 아니게 되었다. IPv6 이행에 대해서도 필요성에의 의문이나 뿌리깊은 저항이 있다. 우리가 추궁당하고 있는 것은, end-to-end의 원칙의 와해를 시장원리로서 받아들일 것인지, 그렇지 않으면, 새로운 인터넷의 자기 혁신을 믿어 end-to-end의 원칙을 견지 할 것인지 하는 선택이다.



참고 문헌

[1] J. H. Saltzer, D. P. Reed and D. D. Clark. End-To-End Arguments in System Design. ACM Transactions on Computer Systems, vol 2(4) pp277-288, November 1984. http://www.reed.com/Papers/endtoend.html


[2] M. S. Blumenthal and D. D. Clark. Rethinking the design of the Internet: The end to end arguments vs. the brave new world. To appear in ACM Transactions on Internet Technology, 2001. http://ana.lcs.mit.edu/anaweb/papers.html