Thoughts2011.07.08 13:11
요즘 IT 업계에서 가장 큰 화두 중에 하나는 '클라우드' 입니다. 세상의 모든 정보와 서비스를 유틸리티(Utility)화 하겠다는 이 전략은 이제 단순한 개념의 수준을 넘어섰습니다.

이런 개념은 1969년 Leonard Kleinrock의 논문, "A Vision for the Internet"에서 언급된 바 있습니다.

As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of `computer utilities' which, like present electric and telephone utilities, will service individual homes and offices across the country.

결국 컴퓨팅이라는 것도 나중에는 하나의 유틸리티 처럼 될 것이라는 거였죠. 인터넷 발전과 더불어, 이 이상은 지금 실현 단계에 와 있습니다.

그런데 이 이상이 올바르게 실현되려면, 한 가지 가정이 만족되어야 합니다. 전기와 전화같은 것은 '인프라'입니다. 어떤 것이 인프라로 취급될 수 있으려면, 그 성능에 대한 모든 측면이 예측 가능해야 합니다. 천재지변이 일어나지 않는 다음에야, 거의 항상 정상적으로 동작해야 합니다.

 


그런데 인터넷을 통해 유입되는 데이터 양이 기하급수적으로 늘어나다 보니, 현재 인터넷은 인프라로서의 구실을 하지 못하게 되었습니다. 바이러스가 퍼지면 네트워크가 다운되고, 특정한 컨텐츠에 대한 요구가 폭증하면 인터넷 접속이 올바르게 이루어지지 못하는 일도 왕왕 있습니다.

결국, 인터넷을 통해 유통되는 데이터가 인터넷의 올바른 동작을 막는 일이 생긴다는 겁니다. 그래서 인터넷은 다른 인프라와는 좀 다릅니다. 수도를 예로 들어봅시다. 수도관을 통해 유통되는 데이터는 '물'입니다. 물이 '수도관' 자체를 공격하는 일은 없습니다. 수도 사용자가 늘면 물 공급량이 부족해서 물이 찔끔찔끔 나오게 되는 일은 있을 수 있어도, 물이라는 데이터가 수도관이라는 인프라 자체를 못쓰게 만들어 버리는 일은 없습니다. 물에 바이러스를 뿌린다고 해도 물을 마시는 사람들이 타격을 입을 지언정, 수도관이라는 인프라가 고장나 버리는 일은 좀처럼 발견하기 힘들죠.

하지만 인터넷의 경우는 확실히 다릅니다. 데이터를 조작하면, 데이터를 실어나르는 인프라를 망가뜨리는 일이 가능합니다. 그것은 인터넷이 자신이 유통하는 데이터의 코드를 '해석'해서 움직이기 때문입니다.


인터넷을 통해 돌아다니는 데이터의 앞부분에는 '헤더(header)'라는 좀 특별한 종류의 데이터가 붙습니다. 이 데이터를 해석해서 인터넷 장비들은 데이터를 '어디로 보낼지' 그리고 '어떻게 처리할 지'를 결정합니다. 문제는 이 헤더라는 것이 '조작 가능하다'는 점입니다.

생각해보면 인터넷에 붙어 있는 모든 단말과 장비들은 유통되는 데이터들을 어떤 식으로든 해석합니다. 그 해석 메커니즘을 교란하여 단말에 해를 끼치는 코드를 우리는 '바이러스'라고 부르고, 인터넷에까지 영향을 미치는 코드를 우리는 때로 '웜(Worm)'이라고 부릅니다.

그러므로 인터넷을 '인프라'의 수준으로 격상시키려면, 우리는 가급적 인터넷을 구성하는 장비들이 (단말은 제외합시다. 결국 단말들은 수도관을 통해 흘러나오는 물을 받아마시는 사람들과 같은 존재들이니까요) 데이터의 내용을 해석하지 않도록 만들 필요가 있습니다. 그래야 데이터를 조작해서 네트워크 자체를 교란할 가능성이 줄어듭니다. 

하지만 현대 네트워크는 헤더 없이는 동작하지 않습니다. 이는 네트워크를 통해 유통되는 데이터가 전적으로 목적 지향적이기 때문입니다. 물은 어디로 배달되더라도 그저 물일 뿐이고, 전기는 어디로 배달되더라도 전기일 뿐입니다. 원하는 양만큼만 배달될 수 있으면 됩니다. 하지만 네트워크를 통해 배송되는 데이터는 반드시 '사용자가 원한 바로 그 데이터'이어야 하고, 내가 접속한 '바로 그 웹 사이트'로부터 만들어진 데이터이어야 합니다. 여기에 '인프라로의 격상'을 원하는 인터넷의 딜레마가 있습니다. 

데이터와 네트워크의 전쟁을 목도하는 많은 네트워크 연구자들은, 바로 이 지점을 고민하고 있습니다. 그리고 기본적으로 사람들이 내 놓은 아이디어는 이런 겁니다. 수도관에서 물을 받아 마시는 사람들은 수도관에 자기 위치를 전송하지 않습니다. 하지만 인터넷은 다릅니다. 위치에 관한 기본적인 정보가 인터넷에 전달되지 않으면 (IP 주소라고 하죠) 인터넷에서 정보를 받아 먹을 수가 없습니다. 그러니 사람들은 '위치 정보를 인터넷의 핵심 부분에서 가급적 떼어 놓도록 하면 어떨까' 하고 생각하기 시작했습니다. 

그래서 나온 아이디어가 IP 주소는 기존의 인터넷 망에 흡수해 버리고, 사용자는 IP 주소와는 무관하게 인터넷을 이용하도록 하자는 방안입니다. IP 주소는 인터넷을 포설하는 데만 쓰고 (마치 수도관 처럼요) 사용자는 자기가 원하는 데이터가 무엇인지만 명시하면 그 데이터를 받아먹을 수 있도록 하자는 겁니다. 

이 아이디어가 성공적으로 정착되려면, (1) 네트워크를 공격하려는 사용자가 IP 체계를 교란하지 못하도록 해야 하고 (2) 네트워크 사용자는 데이터 중심적으로 네트워크를 사용할 수 있어야 합니다. 그래서 사람들은 그런 아이디어들을 묶어 '미래 인터넷(Future Internet)'이라고 부르기 시작했습니다.

클라우드 서비스가 본격화되고, 아이폰과 같은 스마트 단말들이 깔리고, 바야흐로 세상이 유틸리티로서의 컴퓨텅을 본격적으로 사용하게 됨에 따라, '인터넷이 예전같이 빠르게 움직이지 않는다'고 투덜거리는 사람들이 늘어가고 있습니다. 사용자 입장에서야 어떨런지 모르겠습니다만, 네트워크 연구자들은 그 문제를 해결하기 위해서 지금도 고군분투하고 있습니다. 데이터와 인터넷 사이의 전쟁은 사용자들에게는 드러나지 않습니다. 마치 사이버 공간에서 진행되는 서바이벌 게임과도 같습니다.

그러니, 네트워크가 예전같지 않다고 서비스 제공 업체들을 너무 나무라지는 마세요. 인터넷을 정말로 뛰어난 인프라로 만들기 위해, 지금도 전 세계의 연구자들이 밤잠을 줄여가며 애쓰고 있으니까요.

신고
Posted by 이병준

소중한 의견, 감사합니다. ^^