FireChat이라는 모바일 앱은 스마트폰들이 블루투스와 Wi-Fi P2P 기술을 이용해서 통신망 인프라스트럭쳐(3G, 4G/LTE, Wi-Fi 액세스 포인트 등) 없이도 서로 연결된 기기들끼리 메세지를 주고받을 수 있게 도와준다.
FireChat은 홍콩에서 한창 시위가 진행될 때 갑자기 유명해졌는데, 그 당시에 좁은 지역에 사람들이 집중적으로 모여들면서 셀룰러 망이 감당할 수 있는 수준을 넘어서면서 통신이 잘 되지 않자 시위대 구성원들 사이에 인프라 없이 서로 통신하기 위해 설치하기 시작하면서 단기간에 50만 다운로드를 기록했다.
Wired 기사 [1]에 의하면, FireChat의 개발사인 OpenGarden에서 필리핀 지역에 메쉬 네트워크를 실현하기 위해 노력하고 있다.
그런데 전통적인 무선 메쉬 네트워크(Wireless Mesh Network; WMN)의 개념에서는 어딘가에 고정적으로 설치되는 메쉬 라우터(mesh router)가 필요하다. 기존의 AP와 비슷하면서 AP들 사이에 무선 링크가 존재하는 것이 차이점이다.
그런데 태풍 때문에 재난상황이 자주 발생한다는 필리핀 도시 지역에 고정된 메쉬 라우터를 설치한다면, 셀룰러 망과 같은 인프라가 망가질 때 메쉬 라우터도 함께 망가질 가능성이 높을 텐데 어떻게 메쉬 네트워크를 구현하는 것일까?
알고 보니, 일부 사람들이 GreenStone이라고 부르는 중개기를 들고 다니면서 메쉬 네트워크를 유지하는 개념이라고 한다.
(GreenStone, image from TechInAsia [2])
GreenStone은 현재 필리핀의 Makati 지역에서 시범적으로 운영되고 있는 듯 하다.
ISM 대역의 블루투스 라디오를 쓰고 주변의 FireChat 앱에서 발생하는 메세지를 모아 뒀다가, 이동하면서 새롭게 연결된 FireChat 사용자들에게 저장된 메세지를 전달하는 역할을 갖는다.
이것은 어떤 의미에서 보면 "지연 허용 네트워크(Delay-tolerant Network; DTN)"에 더 가깝다. 메세지가 마치 물리적인 편지와 같이, 실시간으로 즉시 전달될 수는 없더라도 언젠가 당사자(destination node)를 만나게 되면 비로소 전달되게 하는 기술이다.
홍콩 시위대들이 FireChat을 사용할 때에는 밀집되어 있는 수많은 사용자들이 인프라 없이 메세지를 서로 전달하는 것(일종의 flooding)이 강조되었다면, GreenStone은 밀집되어 있지는 않지만 도시 전역에 퍼져 있는 FireChat 사용자들이 시간이 좀 걸리더라도 서로 메세지를 교환할 수 있도록 하는 데 초점을 맞추고 있다.
DTN 기술은 처음 소개된 이래로 지금까지 꾸준히 연구자들의 주목을 받아 왔지만, 항상 실제로 어디에 쓰이는지에 대해서 의문점이 따라다녔었다. 그런데 필리핀에서 메쉬 네트워크와 DTN이 결합된 듯한 형태로 실제 사용 예가 나타나는 것은 고무적인 일이다.
OpenGarden 사는 통신사의 입장에서는 눈엣가시 같은 존재감을 점점 나타내고 있지만, 사용자들의 입장에서는 안정적인 성능(QoS 같은 것)을 포기하는 대신 무료로 주변과 통신할 수 있는 기회를 제공하는 고마운 대상이 될 수 있다. (항상 그렇다는 것은 아니다. 특히 우리나라처럼 셀룰러 망이 지나치게 잘 되어 있는 곳에서는 굳이 이런 느리고 불안정한 메세징 앱을 쓰려고 하지 않을 테니까.)
하지만 적어도 스마트폰에 기본적으로 내장된 ISM 대역의 라디오 기술을 이용해서, 가끔 통신망 인프라 없이 직접 무선 라디오를 가지고 필요한 사람들과 통신이 가능하게 해 주는 것은 중/장기적으로 사용자에게 좋은 영향을 끼칠 수 있다.
분명히 내 눈앞에 있는 전자기기가 내 스마트폰과 마찬가지로 와이파이/블루투스를 내장하고 있는데, 그냥 서로 직접 얘기하게 만들어서 원하는 일을 할 수는 없을까? 이 질문에 대한 여러 해답 중의 하나가 OpenGarden의 사례가 될 것으로 기대한다.
<참고자료>
[1] https://www.wired.com/2015/10/giant-network-for-free-messaging/
[2] https://www.techinasia.com/firechat-messaging-app-disaster-tool
'Research > Networking' 카테고리의 다른 글
Ubuntu 14.04에 python-gnomedesktop 패키지가 없음 (0) | 2016.10.12 |
---|---|
네트워크 라우팅 프로토콜 연구와 수학 (0) | 2016.08.02 |