邮局订阅号
:
82-946 360
元
/
年
技
术
创
新
软 件 时 空
《
PLC
技术应用
200
例
》
您 的 论 文 得 到 两 院 院 士 关 注
基于
NS2
的
UDP
性能仿真研究
Simulation of UDP perform ance based on NS2
(
黑龙江科技学院
)
冯丽媛 祁红岩
FENG Li-yuan QI Hong-yan
摘要
:
探讨了网络仿真软件
NS2
的结构
、
功能
、
仿真原理及仿真方法以及
UDP
协议的特点
,
在此基础上深入分析了系统模型和 链 路
结构
。
通过
NS2
平台 对吞 吐量
、
丢包 率
、
带宽 和传 输距 离进 行仿 真测试
,
最后 给出 了在 无线 网络 和有线网络中的适用范围
。
关 键 词
: UDP
;
吞 吐 量
;
丢 包 率
;
带 宽
中图分类号
: TP393
文献标识码
: A
Abstract: The paper discussed the structure, function, principle and method of NS2 and the characteristic of the UDP protocol. Further-
more, an in- depth analysis of the model of system and link construction was carried out. And the system was tested using Network Simu-
lator 2 (NS2) on throughput, packet drop rate, bandwidth, transmitting distance. Finally it gave the appropriate application field in wire
line and wireless networks.
Key words: UDP;throughput;packet drop rate;bandwidth
文章编号
:1008- 0570(2008)05-
3
- 0263- 03
1
引言
1.1 UDP
协议
用户数据报协议
(UDP)
主要用来支持需要在计算机之间传
输数据的网络应用
,
包括网络视频系统在内的众多的客户
/
服务
器模式的网络应用都需要使用
UDP
协议
。
UDP
协议将网络数
据流量压缩成数据报的形式
,
提供快速 的无连接业务
,
这使其
适用于传输时延敏感的信令消息
。
UDP
最早规范是
1980
年发
布的
RFC768
,
尽管 时间已经很长
,
但
UDP
协议仍然继续在 主
流应用中发挥着重要作用
。
UDP
和
TCP
协议的主要区别是两者在如何实现信息的可
靠传递方面不同
。
TCP
协议中包含了专门的传递保证机制
,
当
数据接收方收到发送方传来的信息时
,
会自动向发送方发出确
认消息
;
发送方只有在接收到该确认消息之后才继续传送其它
信息
,
否则将一直等待直到收到确认信息为止
。
与
TCP
不同
,
UDP
协议并不提供数据传送的保证机制
。
如果在从发送方到接
收方的传递过程中出现数据报的丢失
,
协议本身并不能做出任
何检测或提示
。
因此
,
通常把
UDP
协议称为不可靠的传输协
议
。
相对于
TCP
协议
,
UDP
协议的另外一个不同之处在于如何
接收突法性的多个数据报
。
虽然
UDP
协议没有
TCP
协议应用的广泛
,
也没有
TCP
协
议中植入的各种安全保障功能
,
但
UDP
具有
TCP
所望尘莫及
的速度优 势
。
TCP
在实际执 行的 过程中会 占用 大量的系统开
销
,
无疑使速度受到严重的影响
。
反观
UDP
由于排除了信息可
靠传递机制
,
将安全和排序等功能移交给上层应用来完成
,
极
大降低了执行时间
,
使速度得到了保证
。
因此对
UDP
性能的分
析与仿真是有必要的
。
1.2 NS2
软件仿真平台
网络通信技术日新月异
,
对网络技术的研究也同样炙手可
热
,
网络仿真是目前网络通信研究的主要方式之一
。
NS
是于
1989
年由
UC Berkeley
开发的
REAL
网络仿真器
,
主要用于仿
真各种
IP
网络
,
该软件最初是针对基于
UNIX
系统下的网络设
计和仿真 而进行的
。
NS2
是一种针对网络技 术的源代 码公 开
的
、
免费的软件仿真平台
,
使用它可 以很容易的进行网络技术
的开发
,
而且发展到今天
,
它所包含的模块已经非常丰富
,
几乎
涉及到网络技术的所有方面
,
所以
NS2
成了目前学术界广泛使
用的一种网络仿真软件
。
NS2
使用了被称为分裂对象模型的开发机制
,
采用了
C++
和
Otcl
两种开发语言进行开发
。
考虑效率和操作便利的原因
,
NS2
将数据通道和控制通道的实现相分离
。
为了减少分组和事
件的处理时间
,
事件调度器和数据通道上的基本网络组件对象
都使用
C++
编写
,
这些对象通过
Otcl
解释器可见
。
这样
,
仿真用
户只要通过简单易用的
Tcl/Otcl
脚本编写出仿真代码
,
就可以
对仿真拓扑
、
节点
、
链路等各 种部件和参数进行方便快速的配
置
。
NS2
可以说是
Otcl
的脚本解释器
,
它包含仿真事件调度器
、
网络组件对象库等
。
事件调度器控制仿真的过程
,
在适当时间
激活事件队列中的当前事件
,
并执行该事件
。
网络组件模拟网
络设备或节点的通信
,
他们通过制定仿真场景和仿真进程
,
交
换特 定 的 分 组 来 模 拟 真 实 网 络 情 况
,
并 将 执 行 情 况 记 录 到
Trace
文件中
,
以提供给仿真用户进行分析解读
,
并获取仿真结
果
。
NS2
采用这种分裂模型即提高了仿真效率
,
加快了仿真速
度
,
又提供了仿真配置的灵活性和造作的简便性
。
2
仿真模型
2.1
系统模型
图
1
系统模型
如图
1
所示为仿真系统模型
,
其中
Server1
和
Server2
为服
冯丽媛
:
助 教
263
- -