1、安徽建筑工业学院毕业设计(论文)任务书课题名称基于 NS2 环境下网络带宽测量的研究与实现系 别 电子与信息工程学院专 业 网络工程姓 名 周 波学 号2011 年 2 月 24 日至 2011 年 6 月 25 日共 18 周指导教师签字赵彦强姚传茂系 主 任 签字2011 年 1 月 5 日1一、 毕业设计(论文)的内容(一)NS2 平台搭建通过使用网络仿真器即 NS2,实现对网络中链路上带宽的模拟。在 NS2平台上模拟出网络链路情况,通过包间隔模型的模拟达到对网络链路可利用带宽的测量。1 :NS2 的简介 NS2(Network Simulator, version 2)是一种面向对象的
2、网络仿真器,本质上是一个离散事件模拟器。由 UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前 NS2可以用于仿真各种不同的 IP网,已经实现的一些仿真有:网络传输协议,比如 TCP和 UDP;业务源流量产生器,比如 FTP, Telnet, Web CBR和 VBR;路由队列管理机制,比如 Droptail , RED和 CBQ;路由算法,比如 Dijkstra等。NS2 也为进行局域网的仿真而实现了多播以及一些 MAC 子层协议。NS2仿真器封装了许多功能模块,最基本的是节点、链路、代理、数据包格式等等,下面分别来介绍一下各个模块。 (1)事件调度器:
3、目前 NS2提供了四种具有不同数据结构的调度器,分别是链表、堆、日历表和实时调度器。 (2)节点(node):是由 TclObject对象组成的复合组件,在 NS2中可以表示端节点和路由器。 (3)链路(link):由多个组件复合而成,用来连接网络节点。所有的链路都是以队列的形式来管理分组的到达、离开和丢弃。 (4)代理(agent):负责网络层分组的产生和接收,也可以用在各个层次的协议实现中。每个 agent连接到一个网络节点上,由该节点给它分配一个端口号。 (5)包(packet):由头部和数据两部分组成。一般情况下,packet只有头部、没有数据部分。2:NS2 平台的安装 NS-2是
4、OpenSource的,最早的版本是在 linux/unix下运行的,后来有了 windows下用 vc编译运行的版本,但从 2.26以后就放弃了对 vc的支持,所以现在装 NS2只有两条路,要么装个 linux,要么就在 windows下装个cygwin,然后再在 cygwin上装 ns2.2(二)带宽测量的技术和工具 VPS,Packet Pair, PGM和 PRM模型分别用于测量链路带宽、瓶颈带宽、可利用带宽。一次发包数由少到多这是由它的测量指标决定的,VPS,Packet Pair 由于测量的是链路或路径的基本带宽,它们要求尽量避免竟争流的影响,所以采用了发送单个包或包对多次测量的方
5、法,而 PGM和 PRM模型测量的是可利用带宽, ,需要知道竟争流的情况,所以采用了发送包列增加干扰机会的方法。虽然这些模型不同,但其实它们又是相互联系的。它们基本都采用了带宽和延迟的关系来获得测量指标的值:对数据的处理存在相似性。1 变包测量模型 变包测量模型45(variable packet size, VPS)最初由和 Steve Bellovin,Van Jacobson在其测量工具 pathchar中提出用以测量链路带宽。它假设传输延迟和包大小成线性关系;路由器只进行存储转发;所有连接是单通道的;并且链路上的通讯没有引起测试包排队。 由于数据包的转发延时分为:排队时延,传输时延,传
6、播时延,处理时延等几个部分。传播时延由传输媒介的物理性质所决定,对于一定的传输媒介,传播时延是固定的;传输时延是由发送数据包长与带宽共同决定的,大小等于二者的比值; 处理时延一般非常小往往可以忽略不计。VPS虽然可以测量逐跳链路的带宽但测量速度比较慢而且需要发送大量的数据包,这会必然会增加网络的负载。依赖于确认包和往返延迟将会出现两次排队、正反链路不对称等问题而且更容易受网络中竞争流的影响,因而没有单向延迟的方法好。而单向延迟的方法需要在各个路由器配置软件这往往不实际。 基于这一模型的典型工具有:Pathchar, Clink, Pchar, pipechar 等2 包对模型 包对(packe
7、t pair)是指两个等长的背靠背的测量数据包,在 FIFO排队网络中,如果数据包的大小是 s1个字节,瓶颈带宽的大小为字节/秒,那么,数据包通过瓶颈时的时延。如果在发送端发送两个 s1个字节的数据包,使它们之间的发送时间间隔,它们将会在瓶颈链路处产生排队,假设它们在后继网络中不产生排队,它们到达接收端时的时间间隔基于这一模型的典型工具有 Bprobe,Nettimer,Pathrate,Sprobe3包间隔模型 包间隔模型(The probe gap model,PGM)通过分析两个相邻数据包到达接收端时的时间间隔来测量可利用带宽。它假设窄链路和紧链路在同一位置,数据包发送时的初始时间间隔为
8、,受网络中竞争流插包的影响,这个间隔会变大,从而数据包到达接收端时的时间间隔可以用一个关于网络中竞争流的函数表示,可以据此测量可利用带宽,基于这一模型的典型工具有 IGI, and Delphi Spruce等4包速率模型 包速率模型(The probe rate model , PRM)基于自感应的拥塞原理测量可利用带宽:当数据包的发送速率小于可利用带宽时,数据包到达接收端时3的接收速率就会等于发送速率;反之,当发送速率大与可利用带宽速率时,数据包在网络中就会发送排队产生延迟,接收速率将会小于发送速率,因此可以通过观察这种速率的变化来测量可利用带宽。 基于这一模型的典型工具有 Pathloa
9、d,TOPP,Pathchirp 等Pathload 使用了负载周期流法(Self-Loading Periodic Streams ,SloPS )测量可利用带宽,自负载周期流指的是由多个大小相同的测量包组成的序列,它在源端以一定的速率发送周期流到目的端并且根据目的端的反馈信息调整发送速率,在目的端观测包延迟的变化来测量可利用带宽,并且对统计数据采用二进制的方法进行处理。它需要收发两端相互配合,提供的结果是一个可利用带宽的范围,范围的中间值表示的是平均可利用带宽。二、毕业设计(论文)的要求与数据学生应具有很强的自学能力和解决实际问题的能力。根据课题的整体要求,在大量阅读资料的基础上,掌握网络
10、带宽测量的技术和工具并在 NS2 环境下进行模拟实现。1、变包测量模型(variable packet size, VPS)最初由和 Steve Bellovin,Van Jacobson在其测量工具 pathchar中提出用以测量链路带宽。它假设传输延迟和包大小成线性关系;路由器只进行存储转发;所有连接是单通道的;并且链路上的通讯没有引起测试包排队。 由于数据包的转发延时分为:排队时延,传输时延,传播时延,处理时延等几个部分。传播时延由传输媒介的物理性质所决定,对于一定的传输媒介,传播时延是固定的;传输时延是由发送数据包长与带宽共同决定的,大小等于二者的比值; 处理时延一般非常小往往可以忽略
11、不计。VPS虽然可以测量逐跳链路的带宽但测量速度比较慢而且需要发送大量的数据包,这会必然会增加网络的负载。依赖于确认包和往返延迟将会出现两次排队、正反链路不对称等问题而且更容易受网络中竞争流的影响,因而没有单向延迟的方法好。而单向延迟的方法需要在各个路由器配置软件这往往不实际。基于这一模型的典型工具有:Pathchar, Clink, Pchar, pipechar 等毕业设计的任务是基于测量工具 Pathchar的编程实现(康伟唯同学)同学) ;2 包对模型 包对(packet pair)是指两个等长的背靠背的测量数据包,在 FIFO排队网络中,如果数据包的大小是 s1个字节,瓶颈带宽的大小
12、为字节/秒,那么,数据包通过瓶颈时的时延。如果在发送端发送两个 s1个字节的数据包,使它们之间的发送时间间隔,它们将会在瓶颈链路处产生排队,假设它们在后继网络中不产生排队,它们到达接收端时的时间间隔基于这一模型的典型工具有 Bprobe,Nettimer,Pathrate,Sprobe毕业设计的任务是基于测量工具 Nettimer或 Pathrate的编程实现。4(周波同学)同学) ;3包间隔模型 包间隔模型(The probe gap model,PGM)通过分析两个相邻数据包到达接收端时的时间间隔来测量可利用带宽。它假设窄链路和紧链路在同一位置,数据包发送时的初始时间间隔为,受网络中竞争流
13、插包的影响,这个间隔会变大,从而数据包到达接收端时的时间间隔可以用一个关于网络中竞争流的函数表示,可以据此测量可利用带宽,基于这一模型的典型工具有 IGI, and Delphi Spruce等毕业设计的任务是基本测量工具 IGI的编程实现(秦浩同学) ;4包速率模型 包速率模型(The probe rate model , PRM)基于自感应的拥塞原理测量可利用带宽:当数据包的发送速率小于可利用带宽时,数据包到达接收端时的接收速率就会等于发送速率;反之,当发送速率大与可利用带宽速率时,数据包在网络中就会发送排队产生延迟,接收速率将会小于发送速率,因此可以通过观察这种速率的变化来测量可利用带宽
14、。 基于这一模型的典型工具有 Pathload,Pathchirp 等毕业设计的任务是基本测量工具 Pathload的编程实现(吴超同学) ;5负载周期流法 使用了负载周期流法(Self-Loading Periodic Streams ,SloPS )测量可利用带宽,自负载周期流指的是由多个大小相同的测量包组成的序列,它在源端以一定的速率发送周期流到目的端并且根据目的端的反馈信息调整发送速率,在目的端观测包延迟的变化来测量可利用带宽,并且对统计数据采用二进制的方法进行处理。它需要收发两端相互配合,提供的结果是一个可利用带宽的范围,范围的中间值表示的是平均可利用带宽。基于这一模型的典型工具有
15、TOPP等毕业设计的任务是基本测量工具 TOPP的编程实现(王贺鹏同学) ;三、毕业设计(论文)应完成的工作通过本课题的理论分析和实验研究,完成相应设计研究,掌握网络带宽测量的技术和工具并用 VC语言进行编程实现。同时培养学生查阅文献资料的能力、独立提出和解决问题的能力以及实际动手能力,为今后的科研和实际工作打下良好的基础。在本课题完成后,学生应提交相关的论文、文档和编写的相应设计的源代5码等,具体如下:1、学生在毕业设计的过程中,通过查阅大量文献资料,深入了解国内外目前相应设计研究的最新发展动态,并通过对所做工作的总结,完成 12000-15000字左右的毕业设计论文;2、完成 3000字以
16、上与本课题相关的英文资料的翻译工作,并提交英文原件和中文翻译各一份;3、提交本课题完成后的设计的源代码,并对核心代码做出中文注释;4、提交相关实验及设计资料。四、毕业设计(论文)进程安排及实习安排序 号 设计(论文)各阶段名称 日 期1 教师讲授课题目标、提出设计要求 1 周2 学生查阅文献及相关资料 23 周3 学生上机熟悉各软件及运行环境 47 周4 毕业实习 79 周5 学生开始设计、编程 1013 周6 程序调试运行、测试 1415 周7 整理资料、撰写毕业论文 1617 周8 毕业答辩 18 周五、应收集的资料、主要参考文献及实习地点1 林宇,程时端,等. IP网端到端性能测量技术研
17、究的进展. 电子学报, 2003,31(8): 1227-1233. 2 R S Prasad, M Murray, C Dovrolis, et al. Bandwidth estimation: metrics, measurement techniques, and tools. IEEE Network, 2003,17(6): 27-35. 3 张宏莉 ,方滨兴,等. Internet测量与分析综述. 软件学报, 2003,14(1):110-116. 4 李栋,贾惠波.多种网络带宽测量算法及其比较.计算机工程与应用, 2003,(4):154-156 5 毕经平.Internet
18、行为测量与分析研究.北京:中科院研究生院,2002.21-27 6 Kevin Lai, M Baker. Measuring Link Bandwidths Using a 6Deterministic Model of Packet Delay. In Proceedings of ACM SIGCOMM, Stockholm, Sweden, 2000.283-294. 7 K Lai, M Baker. Nettimer: A tool for Measuring Bottleneck Link Bandwidth. In Proceedings of the USENIX Symposium on Internet Technologies and Systems, 2001.123-134.实习地点:由学院统一安排。