I. Introduction
Network emulation and simulation are widely used to develop, test, and debug new protocols, to explore and study a specific network-related research issue, or to evaluate the performance of an existing protocol or a scheme. Network simulators such as ns [1] generally provide a rich set of protocol modules and configuration tools that can be easily used to conduct customized simulation experiments. However, the functionalities provided by those supported modules in network simulators are merely logical operations rather than real implementations. Thus a protocol implementation in a network simulator must be modified before being deployed to a target network. Moreover, network simulation will consume a large amount of time when the simulated network is sufficiently large.