Broadband network based on multi-hop wireless technologies predicts the great outbreak of future emerging services and new applications. Also future emerging services and new applications demand broadband multi-hop wireless networks. To provide broadband of multi-hop wireless network, we need to design totally new protocols from scratch. At this moment, we remind that totally new protocol must be verified in real network system. Furthermore, a novel experiment platform for the verification can accelerate future network innovation. Thus experimentation of a wireless network protocol over the air is of significant important, especially timely evaluation of newly proposed protocols. However it is rarely performed compared to the simulation because of the difficulties in coding and debugging as well as lack of scalability and repeatability.
In this paper, the concept of a code-reuse platform making use of a simulation code directly for real experiments is revisited as an efficient and easy means of experimentation. Further, an architecture and key components of an idealistic code-reuse platform is suggested and then CommonCode, the most advanced code-reuse platform is proposed. The CommonCode platform consists of CommonCode simulation platform and CommonCode experimentation platform. They share the exactly same codes of network protocol stacks and scripts for execution. Thus, we can utilize the benefits of a network simulator such as flexible programmable environment to realize new ideas into the platform faster and easier, repeatable executions to fix logical design errors, and scalable network configuration to verify or evaluate designed system. CommonCode can provide a novel experimentation platform to researchers who are interest in development of new protocols. Moreover, the proposed platform facilitates cross-layer protocol design including MAC (Multiple Access Control) layer in an overlay manner, although it is very hard to implement in the legacy layered architecture with proprietary hardware. Through extensive simulation and experiment using CommonCode for the same codes, we demonstrate that CommonCode is valid and accurate in terms of protocol performance, and simultaneously fast and easy in terms of protocol development.
무선 네트워크 연구자들은 프로토콜 연구에 있어, 제안한 프로토콜의 검증 방법으로 실제 환경에서 실험을 통한 검증보다는 가상환경인 시뮬레이션을 통해 검증하기를 선호한다. 그 이유는 시뮬레이션은 실제 실험환경에서 프로토콜을 구현하는 것에 비해 훨씬 수월할 뿐만 아니라, 대상이 되는 프로토콜을 검증하기 위한 상황을 적절히 만들 수 있고 또한 관심 상황을 재생산 할 수 있기 때문이다. 그러나 시뮬레이션은 실제 물리적 세상이 가지는 현실을 그대로 반영할 수 없는 맹점을 가지고 있어 보다 면밀한 검증을 위해서는 반드시 실험을 동반하여야 한다. 특히 최근 무선 네트워크 연구에 있어, 최적의 전송 방안에 대한 연구의 일환으로 기존의 프로토콜과는 확연히 다른 새로운 형태의 프로토콜이 제시되고 있다. 이러한 프로토콜의 검증은 실제를 모사한 시뮬레이션으로 진행하는 것은 검증에 한계가 있어 반드시 실제 물리적 세상을 기반으로 하는 실험환경에서 검증을 하여야 한다.
본 논문은 무선 네트워크 연구에 있어 새로이 제안된 프로토콜을 실제 실험을 통하여 용이하게 검증하기 위한 방안에 대하여 제안한다.
첫 번째 방법으로 다양한 프로토콜을 구현하여 실험을 진행할 수 있는 개방형 테스트 베드인 와이메쉬 테스트베드를 제안한다. 와이메쉬 테스트베드는 캠퍼스 규모에 설치된 개방형 무선 네트워크 테스트베드로는 국내 최초의 구현이다. 와이메쉬 테스트베드는 두 가지 목적을 가지고 설계 및 구현 되었다. 그 첫 번째가 개방형 연구목적 테스트베드이다. 개방형이란, 실험을 원하는 어떤 연구자도 사용할 수 있으며, IEEE 802.11 무선랜 기반 기술을 가진 어떠한 형태의 네트워크 (사용자 네트워크, 다중홉 백홀 네트워크, 그리고 유선네트워크와 연결되는 게이트웨이 등)도 실험 대상이 될 수 있으며, 특히 새로이 제안된 프로토콜에 대해서도 개방되어 있음을 의미한다. 두 번째 목적은 캠퍼스 규모의 무선네트워크 테스트베드를 표방한다. 캠퍼스 규모의 테스트베드를 구현하고자 하는 취지는 실제 무선 네트워크에서 있음직한 현상을 다루고자 네트워크 사용이 많은 기숙사 지역 전체에 걸쳐 테스트베드를 구현하였다. 이와 같은 목적을 달성하기 위한 방안으로 테스트베드는 개방형 하드웨어 플랫폼 (리눅스 기반 PC 시스템)과 개발형 소스 소프트웨어를 기반으로 구축되었다. 뿐만 아니라 즉각적인 실험과 실험결과 측정을 위한 개방형 테스트베드에 걸맞는 네트워크 관리시스템 WiVi (WiMesh Visualization)도 구축하였다. 다음으로, 제안된 방안은 시뮬레이션 코드를 일체의 변형없이 그대로 실험환경에서 재사용 할 수 있는 플랫폼인 커몬코드 플랫폼을 제안한다.
앞서 제안한 개방형 무선 네트워크 테스트베드인 와이메쉬 테스트베드는 그 설계 목적에 맞게 충실히 구현되었음에도 불구하고 새로운 프로토콜 검증환경으로 각광을 받지 못한 이유는 여전히 새로운 프로토콜을 실험환경에 구현하기에는 기존의 정형적인 계층적 네트워크 구조가 새로운 형태의 프로토콜 구현에 제한적이기 때문이다. 커몬코드 플랫폼은 시뮬레이션 환경이 가지고 있는 구현의 편리성과 실험환경이 가지고 있는 실제성을 모두 활용하고자 고안하였다. 그래서 시뮬레션에서 개발된 새로운 프로토콜을 일체의 변형없이 실험에 그대로 사용할 수 있는 코드 재사용 플랫폼을 제안하였다. 이를 실현하기 위한 방안으로 본 논문에서는 핵심적인 4 가지 기술적인 문제를 해결하였다. 첫 번째가 시뮬레이터가 제공하는 모든 이점을 그대로 유지하면서 실험을 수행하는 방안을 제시하는 것이다. 이를 위하여 병렬분산 처리를 기반으로 하고 있는 네트워크 시뮬레이터를 기본 개발 플랫폼으로 채택하였다.
두 번째는 가상의 세상과 실제 세상의 연결을 하는 중간 계층을 제시하는 것이다. 이를 위해 가상의 세계인 시뮬레이션에서 생성한 패킷을 실제 세상인 물리 세상의 네크워크 디바이스가 사용하는 패킷으로 변환하는 어댑터를 구현하였다. 어댑터는 시뮬레이션 패킷과 실제 패킷간의 상호 교환을 가능하게 하며, 실제 세상을 매개로 병렬분산 진행되는 시뮬레이션을 정상적으로 진행하도록 돕는다. 세 번째는 다양한 프로토콜 연구를 할 수 있는 플랫폼을 지원하는 것이다. 다양한 프로토콜은 액세서제어 계층에서 응용계층까지 다양한 계층을 지원하고 있는 것은 물론이거니와 계층을 아우르는 계층 교차 최적화 방법까지 지원하고 있는 것을의미한다. 이러한 방법으로 IEEE 802.11 디바이스의 다중액세서 기능을 동작하지 않도록 제약하고 사용자가 구현 가능한 공간인 커몬코드 영역에서 다중액세서 기능에 필요한 모든 파라미터를 패킷마다 설정하여 동작하도록 하였다. 그러므로 데이터 링크 계층에서 응용 계층까지 실험자가 원하는 프로토콜을 자유자재로 다룰 수 있도록 하였다.
네 번째는 이렇게 구현한 플랫폼이 실험 플랫폼으로서 적절한 성능을 가지도록 하는 것이다. 커몬코드는 가상세계와 현실세계를 잇는 계층을 가지고 있는 것과, 다양한 프로토콜을 지원을 위한 오버레이 액세서제어 등 구조적으로 이중 구조를 가지고 있다. 이중 구조가 가지는 성능저하를 줄이기 위해 인밴드로 패킷별로 디바이스를 제어하는 방식과 이벤트 스케쥴러의 스케쥴링 단위를 최소화하는 방식을 채택하였다. 제시한 방법으로 구현한 커먼코드는 코드 재사용 플랫폼을 적절성을 보이기 위해 다양한 시나리오에 기반하여 검증을 하였다. 뿐만 아니라 코드 재사용 플랫폼에서 주장하고 있는 쉽고 빠른 방법으로 다양한 프로토콜을 구현할 수 있음을 보이기 위해, 이론을 기반으로 제시된 완전히 새로운 프로토콜인 계층교차최적화 프로토콜을 구현하여 실험을 수행하였다. 그러므로 제안한 커먼코드의 유효성을 보였다.