网络仿真——协议评估的第三种途径

2016-05-14 23:40刘行兵范黎林
数字技术与应用 2016年7期
关键词:设计思想

刘行兵 范黎林

摘要:网络仿真是继网络模拟和实际测试之后第三种协议评估手段,是网络模拟和实际测试的折衷,兼有两者的优点,又可避开其不足。可以为协议评估提供可控制、低成本、高真实度和可重复的测试平台。文中分析了网络仿真系统为实例,并对网络仿真系统进行了总结,包括设计思想、体系结构、仿真优缺点等,最后,归纳了网络仿真的发展趋势。

关键词:网络仿真 协议评估 设计思想 MANET

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2016)07-0231-02

1 网络仿真系统

1.1 基于模拟扩展的网络仿真系统

该类仿真系统的基本设计思想是对原有的网络模拟系统进行扩展,使之支持网络仿真。这种设计可以充分利用原有网络模拟系统的各种协议支持和分析工具,典型的代表是NSE,NSE(NS Emulation extension)是NS2[1]模拟器的扩展,NS2是一个离散事件驱动的网络模拟系统,它是通过执行一系列离散事件的处理函数来运行协议,NS2 内部原有的调度器是非实时的,它按照时间先后顺序取出事件,执行其处理函数,直至模拟过程结束。在事件执行的过程中有可能又引入其它事件,现实已有协议或操作的复杂度用处理函数的复杂度来近似表示。NSE的目标是子网仿真,即实现NS2与真实数据流的交互。扩展NS2使其具有仿真功能可带来两个方面的影响:其一,如果能实现与外部数据流的交互。则NS2内部的协议就可以经过外界真实流量的检验,从而使得模拟的结果更加可靠;其二,NS2 可以对经过的数据流施加各种影响,比如突发的丢包现象、拥塞等,从而可以验证真实协议或程序在某些特殊情况下的行为。

为了实现仿真功能,首先需要对NS2内部的调度机制进行扩展,实现一个实时的调度器,这种扩展是很直接的,只需要引入真实的延迟,防止调度器直接进入下一个事件的处理即可。另外,NS2内部网络层的编址方案与真实协议栈中网络层编址方案之间存在一些差异,比如,NS2网络层的地址中包含了端口号,而该端口号在真实协议栈中只有在运输层才会出现。因此,除了调度方面要进行扩展之外,需要增加一些功能模块来访问外部流量和进行包格式的转换。NSE向NS2中引入了网络对象(Network Objects)和TAP 代理(TAP Agent),网络对象可以访问外部的UDP、原始IP(rawIP)和MAC层的流量,UDP和原始IP流量是通过Socket机制来访问的,而MAC层的流量是通过扩展的BPF[2](Berkeley Packet Filter)来访问的。当外部流量进入时,首先是网络对象获取外部流量,然后相应的TAP代理把该流量转换成NS2内部的表示形式,向外部发送流量的过程与此相反。NS2的包格式中有一个Object域,其原始含义是数据包的净荷,然而NS2内部并没有对该域进行处理(它们简单地假定该域永远是空指针),因此原先数据包的净荷部分被放在NS2数据包头的Extern指针上,如图1所示。

NSE得到了相当广泛的使用,主要是由于NS2丰富的协议支持。但也存在,由于NS2内部处理数据流速度的限制,NSE仅适用于外部流量的速率较小的情形,此外,现有的实现仅仅局限于系统与外界UDP、原始IP 和MAC 层流量的交互,却没有实现与TCP流量的交互,因此其使用范围受到很大限制。

1.2 基于过滤控制

该类仿真系统的基本思想是:基于实验室环境下的全连通局部网络,通过MAC层帧过滤的方式来构造多跳的网络环境,从而实现对MANET的仿真。典型的代表为MobiEmu。MobiEmu的体系结构如图2所示。

MobiEmu的特点在于概念清晰,系统构造简单;但,MobiEmu的MAC层是非真实的考虑仿真网络有三个节点A、B、C的情形,由于A、B、C是全联通的,任何两个节点在任意时刻都有可能发生竞争,这与多跳的Ad hoc网络的MAC层是不吻合,在这个意义上,MobiEmu仅实现了MAC层上连接性的有效仿真。

1.3 基于参数评估

该类仿真系统的基本思想是:一方面,通过实验控制来减小两次不同实验运行实例中网络参数的差异,另一方面,通过关键参数的评估来判断两次实验过程是否具有重复性。典型的代表是APE。

APE通过高度动作化的场景文件的执行,使得不同实验过程的场景具有高度的重复性,并通过简化系统安装和控制命令来提高系统的扩展性。APE的实验设施是为每个实验人员配备移动节点,实验人员根据屏幕上显示的指令执行相应的操作,例如向某个位置移动、停止运动等。APE由3个基本模块组成,其一是场景解析模块,图3中的scenario interpreter,它通过解析场景文件来选择实验中所使用的流量发生器、路由模型和用于同步的TSB(timestamp broadcast);其二是实验数据的记录和收集模块,图3中的networkdriver,logging 等,它负责对MAC层和IP层的相关信息进行统计和记录,并将结果存储在日志文件中,待实验结束时把实验结果上传到指定节点进行数据分析;最后是分析工具,负责日志文件的整合与分析,其主要功能是从日志文件中计算出一些网络特征参数,比如虚拟移动性参数(Virtual Mobility)、用邻居总数度量的连接性、链路变化速率、丢包率等等。

2 网络仿真发展趋势

一是无线网络的仿真将得到快速发展。像DummyNet、NIST Net 和Netbed等,都是有线网络的仿真系统,最近的一系列仿真系统包括MVLE、APE、MobiEmu和MobiNet等,都是无线网络的仿真系统。究其原因,一方面,无线网络的协议研究最近几年已成为研究热点;另一方面,无线网络本身的复杂性使得网络模拟系统中所使用的模型缺乏足够的描述能力,网络模拟的结果与在真实网络中测试的结果出现了很大差别,无线网络的协议开发迫切需要有效的协议评估途径。

二是仿真系统设计将更加接近真实性网络。越靠近低层的仿真越能接近反映真实的网络,如DummyNet和NIST Net,其仿真局限于网络层及以上各层,而后来的仿真系统,如MVLE、APE和MobiNet,仿真的层次深入到了MAC层。

3 结语

网络仿真系统是一种不同于实际测试和模拟的协议评估途径,它为协议评估提供了一种可控制、低成本、高真实度、可重复的测试平台。本文分析不同的类别的仿真系统有着不同的设计思想,对应网络仿真存的优缺点。由无线网络的快速普及应用,以及仿真的复杂性,这也将是网络仿真发展的方向。

参考文献

[1]Bajaj, Sandeep,et. al. Virtual internetwork testbed: Status and research agenda[R]. 1998:98-678.

[2]S. McCanne and V. Jacobson. The bsd packet filter: A new architecture for user-level packet capture[C].USENIX Winter Conference, 1993:259-269.

猜你喜欢
设计思想
从《天工开物》看中国传统色彩观
包豪斯对当代视觉传达设计的影响
小学古诗词设计思想与教学方式探微
古典园林元素在现代园林中的运用
中德设计教育的特点和区别