어제 밤부터 Skype에 로긴을 할 수 없는 초유의 사태가 발생하였고, 아직도 문제가 말끔히 해결되지는 않은 상태이다. 많은 해외 블로거들이 이번 사태의 원인과 관련해서 아주 다양한 의견을 제시하고 있는데, Skype 측에서 자세한 설명을 하지 않고 있어서 아직도 불분명한 상태로 남아 있는 듯하다.

어떤 사람은 최근 MS가 발표한 윈도우 패치를 적용하고 나서 이 문제가 발생했고, Mac에서는 문제가 없었다라는 점을 들어 MS 윈도우 패치가 Skype의 P2P 시스템을 교란했다는 주장을 하기도 했는데.. 현재까지 Skype가 공식적으로 밝힌 원인은 "This problem occurred because of a deficiency in an algorithm within Skype networking software. This controls the interaction between the user’s own Skype client and the rest of the Skype network."이다. 즉, Skype 클라이언트와 다른 Skype Network 사이의 알고리듬에 문제가 있다는 이야기인데 정확한 원인은 잘 모르겠다.

GigaOM에서는 Skype와 같은 P2P 서비스의 한계가 드러난 것이 아니냐는 전망을 내놓고 있는데, 이번에 발생한 문제가 로그인 과정에 있다는 점에서 설득력이 떨어진다고 생각된다. Skype는 P2P 서비스이지만 로그인을 처리하는 과정은 전통적인 Server-Client 구조에 기초를 두고 있기 때문에, Client의 로긴 요청을 Skype 서버가 제대로 처리하지 못하고 있다는 것이 이번 사태의 근본 원인이다. 물론 필자가 엔지니어(개발자)가 아니라 기본 지식이 부족할 수 있고, Skype의 로긴 과정이 어떤 알고리듬으로 진행되는지에 대한 상세한 정보가 없기 때문에 이런 추측이 틀릴 수도 있을 것이다.


VoIP의 표준이라고 하는 H.323이나 SIP을 보면, 클라이언트가 Gatekeepr(또는 SIP Proxy)에 등록(로그인) 요청하면 인증서버를 거쳐 처리하는 것이 기본이다. Skype 또한 첫 로긴 과정은 이와 크게 다르지 않을 것이고, VoIP 표준에서 중앙 서버를 통해 처리하는 Signaling, 정보조회를 위한 DB Query 등에 대해서 P2P를 이용해서 처리하는 것으로 보인다. 그러므로 이번 로긴 불가 사태는 인증서버 자체 또는 클라이언트와 인증서버 사이의 문제로 봐야 할 것이다.


문제를 좀 더 확대해서 살펴보자. 향후 Skype의 모든 서비스를 P2P를 통해 처리하는 것이 가능할 것인가? 대부분의 통신 서비스는 중앙집중형 구조를 가진다. 유저(가입자정보) 및 서비스에 필요한 정보는 메인 DB에 저장되어 있고, 단말에서 요청이 있는 경우 거의 모든 것을 중앙서버에서 처리한다. 그래서 물리적인 호를 처리하는 교환기뿐만 아니라 지능망을 구축하는데 천문학적인 비용이 들어간다. 그래서 단말은 기본적인 기능만 처리할 수 있는 Dummy 단말인 경우가 대부분이다. 하지만 Skype는 전통적인 중앙 서버가 처리해야 할 많은 기능을 과감하게 단말로 넘겨버렸다. 전통적인 VoIP 모델에서 보면 Skype-to-Skype(IP-to-IP) 호를 처리하는데도 많은 투자를 해야 하지만.. Skype는 Peer가 많은 역할을 수행하기 때문에 투자비에 대한 부담을 줄일 수가 있는 것이다.

하지만 모든 기능을 Peer에 줄 수는 없을 것이다. 예를 들어 Skype Public Chat의 경우 아주 유용한 서비스지만.. 서비스 확산이 안되는데 가장 큰 이유는 검색이 되지 않기 때문이라고 생각한다. 내가 만든 Public Chat을 남에게 알릴 수는 있지만, 내가 어떤 주제의 공개채팅이 있는지를 검색할 수 있는 곳은 없다. Skype가 최근에 오픈한 Skype Prime의 경우에도 다른 사람이 어떤 주제로 얼마의 요금으로 서비스를 제공하는지에 대해 검색할 수 있는 곳은 어디에도 없다. SkypeFind나 SkypeCasts의 경우에는 웹 또는 Skype Program 내에서 검색할 수 있는데.. 바로 이런 혼란이 Skype 내부에 자리를 잡고 있다.

즉, Skype 초기에 단순 인증 기능만 중앙 서버에서 처리하면 되었지만.. 서비스가 진화하면서 P2P만으로 해결할 수 없는 중앙서버의 자원을 필요로 하는 서비스가 지속적으로 늘고 있다는 점인데.. 이번 인증 불가 사태도 이 연장선상에 있지 않을까 조심스럽게 추측해 본다. 즉, Skype Client 입장에서보면 어떤 부분은 P2P로 처리해야 하고, 어떤 부분은 중앙서버와 처리해야 하는 등 훨씬 복잡해지고 있으며.. 애초에 디자인이 잘못되어 있는 경우 장애 발생 시 문제를 해결하는데 시간도 오래 걸릴 수 있다는 것이다.(이 부분은 본인의 조심스러운 추측일뿐이니.. 혹시 다른 진실을 알고 계시면 말씀해 주시기 바란다.)


VoIP표준(SIP, H323)으로 네트웍을 구축하는 사업자의 고민은 투자비이다. 흔히 BHCA 얼마면 투자비가 얼마다라고 생각하듯이, 로긴하는 유저 수가 늘고 트래픽이 증가할수록 투자비는 엄청 커지는 것이다. 이런 의미에서 단말(하드웨어, 소프트웨어)에 일부 기능을 이양(?)하는 것은 당연한 수순일지도 모른다. 하지만 Skype와 같이 자체 개발한 P2P 프로토콜을 전면적으로 도입하지 않는 이상, 이 부분은 서비스 기획 및 시스템 투자를 결정하는 사람들에게 항상 이슈가 되는 사항인데.. 이번 Skype 로긴 불가 사태의 원인이 개인적으로 더욱 궁금해지는 이유이기도 하다.


마지막으로 이번 사태와 관련해서 "역시 VoIP는 안돼.. 시기상조야" 등과 같은 인식이 퍼지지 않길 기대한다. 물론 돈을 받고 서비스를 제공하는 서비스업체의 서비스가 12시간 이상 문제가 있다는 건 분명 잘못된 일이지만, 그것이 VoIP는 안된다는 것으로 확대 해석되어서는 안될 것이다. 아니 안되길 바란다.



Technorati tags: , , , , ,

이 글에 대한 의견을 페이스북 댓글로 남겨주세요!!!

  1. Favicon of http://dukoff.net BlogIcon jazzy
    2007.08.17 17:11

    어제 Mac에서 로그인이 안되서 다른 문제일거라 생각했는데. 윈도우에서도 로그인이 안되서 검색해보니, 장애였군요 ㅋ 정말 초유의 사태군요. (ms 때문은 아닌듯 보이네요)

    말씀하신것처럼 부정적인 인식으로 발전하지 않았으면 합니다^^;

  2. 이승헌
    2007.08.18 12:42

    Bugtraq에 이에 관련된 내용이 올라왔습니다.

    http://www.securityfocus.com/archive/1/476942/30/0/threaded