'IPv6'에 해당되는 글 1건

  1. 2007.03.28 :: 인터넷 – 제2의 도약을 준비하기 위하여 (2)
기술을 얘기한다 2007.03.28 16:42

1.     지나친 성공이 발목을 잡다

 

누구나 인정하듯이 인터넷의 발전 속도는 엄청나다. 인터넷 프로토콜(IP, Internet Protocol)이 등장한 것은 1978년이지만 본격적으로 규모가 크고 여러 관리 도메인을 연결하는 인터넷을 지원하기 위한 프로토콜인 BGP(Border Gateway Protocol)이 나온 것은 1988년이고 웹의 등장으로 인터넷이 일반에 널리 쓰이기 시작한 것은 그 이후의 일이라는 점을 고려한다면 10 여 년 만에 지구 상의 통신의 지평을 완전히 바꿔놓았다고 해도 될 것이다.

 

하지만 너무 빠른 속도로 인터넷에 접속된 컴퓨터의 수가 늘어나자 컴퓨터마다 할당해야 할 주소가 부족해지고 이를 해결하기 위하여 훨씬 정교하게 주소 공간을 분할하는 방식인 CIDR(Classless Inter Domain Routing) 1992년에 도입되고 더 근본적으로 주소 공간을 넓히기 위하여 기존의 인터넷 프로토콜인 IPv4를 대체할 새로운 버전의 인터넷 프로토콜인 IPv6 1995년에 등장하였다.

 

인터넷의 발전에 따른 문제에 대한 초기의 대응은 주로 주소 공간의 확충에 맞춰져 있다. 하지만 이것이 제대로 된 대응이 아니라는 징조는 여기저기에서 발견된다. 예를 들어, 주소변환기술(NAT, Network Address Translation)이 널리 활용되기 시작하면서 금방 고갈될 것으로 예상되었던 IPv4 주소 공간은 줄어드는 속도가 급감하였다.

 

인터넷이 점점 더 보편적인 서비스가 되어 감에 따라 생활의 더 많은 부분이 인터넷을 활용하게 되고 이는 새로운 요구 사항을 낳게 되었다. 예컨대, 아주 중요한 서비스를 제공하는 서버의 경우에는 그 서버가 연결된 인터넷 서비스 제공자(ISP, Internet Service Provider)에 문제가 있다고 하더라도 접속 가능해야 하므로 이런 경우를 대비하여 하나의 컴퓨터(또는 그 컴퓨터가 속한 네트워크)를 여러 개의 인터넷 서비스 제공자와 연결하는 Multi-homing기술이 등장하게 되었다. 또는 한번에 여러 인터넷 서비스 제공자와 연결하지 않더라도 다른 서비스 제공자로 자신의 네트워크의 연결을 바꾼 경우 주소를 재할당해야 하고 이전의 주소를 알고 있던 쪽에서는 접근할 수 없는 문제를 피하기 위하여 PI(Provider Independent) 주소 할당 방식이 등장하게 되었다. 이전에 네트워크에 연결된 단말은 대체로 유선으로 연결되어 있거나 무선이라고 하더라도 한 지역에 설치된 접속지점을 통해서만 연결하였지만 무선 통신 기술에 인터넷 기술이 융합되면서 사용자의 단말이 넓은 공간을 이동하며 여러 네트워크를 옮겨 다닐 수 있게 됨에 따라 주소가 계속 변하는 문제를 어떻게 풀 것인가 하는 문제 등이 나타나게 되었다.

 

이러한 새로운 요구사항은 그 자체를 실현하는 데에도 여러 까다로운 문제가 있지만 네트워크 서비스 제공자의 관점에서 본다면 효율적인 주소공간 활용을 어렵게 하고 라우팅을 복잡하게 만든다. 예를 들어, PI 주소 할당 방식은 인터넷 서비스 제공자 측에서는 CIDR를 효율적으로 관리할 수 없게 만들고 이는 다시 라우터에 내장되는 라우팅 테이블의 크기 증가(또는 심지어는 패킷 처리 속도의 저하)를 일으키게 된다.

 

2. 아직 갈 길이 먼데

 

물론 인터넷에 놀라운 성장을 가능하게 하는 뒤편에는 이를 가능하게 한 프로토콜의 개선 노력과 라우터, 스위치, 광통신 등 기반 기술의 엄청난 발전이 있었으며 따라서, 오늘날 아주 큰 무리 없이 인터넷은 여전히 동작하고 있다. 하지만, 기술이 계속 발전해줄 것이라고 낙관하고 있을 수만은 없는 이유가 있다.

 

현재 전세계적으로 인터넷에 연결된 컴퓨터의 수는 기껏해야 몇 억이 넘지 않을 것이지만 인터넷이 더 보급되고, 센서, 홈 네트워크, 유비쿼터스 컴퓨팅 등이 전면으로 떠오르게 되면 2050년 이전에 그 수는 1백억이 넘을 것으로 예상된다. 물론, 몇 년 내에는 기존의 프로토콜을 고쳐서 처리 방식을 개선하고 전자기술의 발달로 라우터의 처리 성능이 높아져서 이를 대응할 수 있겠지만 현재의 구조를 그대로 두고 지속적인 발전을 할 수는 없을 것이라는 것이 일반적인 전망이다.

 

한편, 어떤 문제는 기존 프로토콜의 개선이나 라우터의 성능 향상으로 해결할 수 없다. 그 전형적인 사례가 주소와 식별자의 문제이다. 이때까지 응용 계층에서는 주소처럼 생긴 것 (TTLLAA, Things That Looks Like An Address)을 특정 컴퓨터에 연결하기 위하여 항상 사용 가능한 주소라고 간주해왔다. 따라서 그 주소를 그 컴퓨터를 나타내는 식별자로 사용하는 것이 일반적이다. 예를 들어, “파일은 1.2.3.4 ftp 서버에 올려놨으니 찾아가세요라고 말할 때 주소는 특정 ftp 서버를 지칭하는 식별자로 동시에 사용되는 것이다. 물론, 그 주소가 아무데서나 접속 가능한 주소(publicly reachable address)이고 바뀔 일이 없다면 문제가 없을 것이다. 하지만, 주소 변환 기술, 단말기의 이동성, multi-homing 등을 고려한다면 이러한 가정이 항상 성립하는 것은 아니다. 그런데 응용 계층에서는 자신이 보고 있는 주소처럼 생긴 것이 식별자로 쓸 수 있는지 없는지 판단할 길이 없다.

 

3. 우리에게 해결할 능력이 주어져 있는가?

 

인터넷이 성장을 지속하려면 이러한 문제를 근본적으로 재검토하여 새로운 그림을 그려야 한다는 주장이 여기저기에서 나오고 있다. 새로운 인터넷 설계와 검토 환경을 만들어 보자는 GENI(Global Environment for Network Innovations), 현재 인터넷의 한계를 뛰어넘어 앞으로 15년 이후의 네트워크를 위한 연구를 진행하는 FIND(Future Internet Design) 등 미국 정부를 중심으로 한 연구 프로젝트가 진행 중이다. 한편, 인터넷 표준을 주도해온 IETF(Internet Engineering Task Force)도 사태의 심각성을 인지하고 최근 잇따라 워크샵을 개최하고 관련 연구 그룹을 형성하는 등 대응을 강구하고 있다.

 

그렇다면 이러한 노력이 결실을 맺는 과정에 어떤 함정들이 있을지 살펴보자. 새로운 기술이 나온다고 하더라도 이것이 실제로 인터넷에 적용되고 그것을 발전시킬 수 있는가 하는 데에는 비기술적인 요소들이 많이 작용한다.

 

첫째는 전체 아키텍쳐의 구성 원리에 대한 것이다. 인터넷은 이름 그대로 네트워크와 네트워크의 연결이다. 인터넷 아키텍쳐가 기존의 네트워크(예컨대, 전화망)와 결정적으로 다른 점은 개별 네트워크의 독립성이다. , 개별 네트워크는 필요에 의하여 나름대로의 인터-네트워크 기술을 선택할 수 있지만 이것이 다른 네트워크의 동작에 영향을 미쳐서는 안 된다는 것이다. 이러한 독립성은 개별 네트워크의 자연스런 진화를 가능하게 하고 결과적으로 전체 네트워크를 발전시킬 수 있다. 하지만, 실제의 프로토콜 또는 기술의 설계가 이러한 원리를 철저하게 따르고 있는가 또는 따르는 것이 가능한가 하는 질문에는 부정적일 수 밖에 없다. 앞에서 예로 든 것처럼 PI 주소 할당 방식은 그 주소의 사용자에게는 유용하지만 네트워크 관리 차원에서는 많은 부담을 일으킨다. 이 문제를 다른 차원에서 적용해 본다면 한 분야에서의 발전이 다른 분야에 결정적인 악영향을 미칠 수 있다는 점을 들 수 있다. 예를 들어, 사용자의 이동성을 잘 지원하는 프로토콜은 역으로 그 사용자의 보안성을 떨어뜨릴 수 있다. 또는 사용자의 프라이버시를 지키는 프로토콜은 그 사용자의 책임성을 요구하는 프로토콜의 구현을 불가능하게 한다. , 한 분야에서의 기술적 진보를 그대로 인터넷에 적용할 수 없다는 문제가 있는 것이다.

 

둘째는 절차상의 문제이다. 인터넷이 급속도로 발전할 수 있었던 배경에는 대충의 합의와 동작하는 프로그램”(rough consensus and running code)이라는 IETF 고유의 믿음이 깔려있다. , 참여하는 사람들의 권위나 다수결이 아니라 관련된 사람들의 합의와 실제로 돌아가는 프로그램에 의한 확인을 통하여 기술을 채택하는 방식은 다양한 기술을 쉽게 받아들일 수 있는 원천이 되었다. 하지만 사회의 주요 근간이 되어버린 즉, 너무 중요해져 버린 인터넷을 그리고 너무 많은 이해 당사자가 얽힌 인터넷의 진화를 이전의 합의 방식으로 계속 발전시킬 수 있는가 또는 그 방식이 바람직한가 하는 의문이 제기되고 있는 상황이다.

 

셋째는 누구의 문제를 풀 것인가 하는 것이다. 사용자 관점에서 인터넷의 발전이라는 것은 사용자가 원하는 기능을 인터넷이 잘 지원하는 것이다. 하지만 이를 위해서는 인터넷 서비스 제공자가 그 기능을 자기의 네트워크에 구현해야 한다. , 인터넷의 발전을 통해서 혜택을 보는 집단(예컨대, 사용자)과 비용을 지불해야 할 집단(예컨대, 서비스 제공자)이 분리되어 있는 것이다. 또는 인터넷 서비스 제공자의 문제 -- 예를 들어, 너무 방대해진 BGP 라우팅 테이블이나 VPN(Virtual Private Network) 관리 부담 -- 를 풀기 위해 도입된 기술이 서비스 사용자에게 부정적인 영향을 전혀 미치지 않을 수 있을까? , 첫째로 지적된 독립성의 문제를 서비스 제공자와 수요자 사이의 독립성에서도 적용해야 하는 것이다.

 

4. 글을 맺으며

 

인터넷이 널리 쓰이게 된 이후에 생겨난 프로토콜 수준의 변화 중 가장 큰 것은 IPv6의 도입이었다. IPv6가 나온 지 10년이 지났다. (우리나라를 포함하여) 어떤 나라들은 IPv6로의 전환이 네트워크의 발전을 가능하게 할 것이라고 보고 국가차원에서 IPv6로의 전환을 독려하고 있다. 하지만, 별로 변한 것은 없다. 어떤 사람들은 IPv6가 전혀 새로운 기능을 가능하게 할 것이라고 주장하지만 앞에서 언급된 대부분의 문제는 IPv6의 도입 여부와는 무관하다.

 

무엇이 잘못된 것인가? 필자도 답은 없다. 의심이 가는 것들은 있지만 딱히 그것인지도 모르겠고 설령 그것이 맞다 해도 해결책이 있는지 모르겠다. 하지만, 한가지 확실히 아는 것은 IPv6의 실패 -- 실패라고 부르기에는 아직도 성급하다면 지연이라고 불러도 좋다 -- 로부터 우리가 무엇을 배웠는지 정확히 모른다는 것이다. 과거의 실패로부터 배울 수 없다면 그 어떤 새로운 엄청난 기술이 나오더라도 같은 운명에 처할 것이라는 것은 오히려 매우 분명해 보인다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 신묘군

티스토리 툴바