基于NS2环境下的网络带宽测量的研究与实现--毕业设计任务书(1)

更新时间:2023-12-30 11:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

安徽建筑工业学院

毕业设计(论文)任务书

基于NS2环境下网络带宽测量的研究与

课题名称 实现

系 别 专 业 姓 名

电子与信息工程学院

网络工程

周 波

学 号

2011 年 2 月 24 日至 2011 年 6 月 25 日共 18 周

指导教师签字 系主任签字

2011

赵彦强 姚传茂

5

1

一、 毕业设计(论文)的内容

(一)NS2平台搭建

通过使用网络仿真器即NS2,实现对网络中链路上带宽的模拟。在NS2平台上模拟出网络链路情况,通过包间隔模型的模拟达到对网络链路可利用带宽的测量。

1 :NS2的简介

NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail , RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。

NS2仿真器封装了许多功能模块,最基本的是节点、链路、代理、数据包格式等等,下面分别来介绍一下各个模块。

(1)事件调度器:目前NS2提供了四种具有不同数据结构的调度器,分别是链表、堆、日历表和实时调度器。

(2)节点(node):是由TclObject对象组成的复合组件,在NS2中可以表示端节点和路由器。

(3)链路(link):由多个组件复合而成,用来连接网络节点。所有的链路都是以队列的形式来管理分组的到达、离开和丢弃。

(4)代理(agent):负责网络层分组的产生和接收,也可以用在各个层次的协议实现中。每个agent连接到一个网络节点上,由该节点给它分配一个端口号。 (5)包(packet):由头部和数据两部分组成。一般情况下,packet只有头部、没有数据部分。 2:NS2平台的安装

NS-2是OpenSource的,最早的版本是在linux/unix下运行的,后来有了windows下用vc编译运行的版本,但从2.26以后就放弃了对vc的支持,所以现在装NS2只有两条路,要么装个linux,要么就在windows下装个cygwin,然后再在cygwin上装ns2.

1

(二)带宽测量的技术和工具

VPS,Packet Pair, PGM和PRM模型分别用于测量链路带宽、瓶颈带宽、可利用带宽。一次发包数由少到多这是由它的测量指标决定的,VPS,Packet Pair 由于测量的是链路或路径的基本带宽,它们要求尽量避免竟争流的影响,所以采用了发送单个包或包对多次测量的方法,而PGM和PRM模型测量的是可利用带宽,,需要知道竟争流的情况,所以采用了发送包列增加干扰机会的方法。虽然这些模型不同,但其实它们又是相互联系的。它们基本都采用了带宽和延迟的关系来获得测量指标的值:对数据的处理存在相似性。

1 变包测量模型

变包测量模型[4][5](variable packet size, VPS)最初由和Steve Bellovin,Van Jacobson在其测量工具pathchar中提出用以测量链路带宽。它假设传输延迟和包大小成线性关系;路由器只进行存储转发;所有连接是单通道的;并且链路上的通讯没有引起测试包排队。

由于数据包的转发延时分为:排队时延,传输时延,传播时延,处理时延等几个部分。传播时延由传输媒介的物理性质所决定,对于一定的传输媒介,传播时延是固定的;传输时延是由发送数据包长与带宽共同决定的,大小等于二者的比值; 处理时延一般非常小往往可以忽略不计。

VPS虽然可以测量逐跳链路的带宽但测量速度比较慢而且需要发送大量的数据包,这会必然会增加网络的负载。依赖于确认包和往返延迟将会出现两次排队、正反链路不对称等问题而且更容易受网络中竞争流的影响,因而没有单向延迟的方法好。而单向延迟的方法需要在各个路由器配置软件这往往不实际。 基于这一模型的典型工具有:Pathchar, Clink, Pchar, pipechar等

2 包对模型

包对(packet pair)是指两个等长的背靠背的测量数据包,在FIFO排队网络中,如果数据包的大小是s1个字节,瓶颈带宽的大小为字节/秒,那么,数据包通过瓶颈时的时延。如果在发送端发送两个s1个字节的数据包,使它们之间的发送时间间隔,它们将会在瓶颈链路处产生排队,假设它们在后继网络中不产生排队,它们到达接收端时的时间间隔

基于这一模型的典型工具有Bprobe,Nettimer,Pathrate,Sprobe

3包间隔模型

包间隔模型(The probe gap model,PGM)通过分析两个相邻数据包到达接收端时的时间间隔来测量可利用带宽。它假设窄链路和紧链路在同一位置,数据包发送时的初始时间间隔为,受网络中竞争流插包的影响,这个间隔会变大,从而数据包到达接收端时的时间间隔可以用一个关于网络中竞争流的函数表示,可以据此测量可利用带宽,

基于这一模型的典型工具有IGI, and Delphi Spruce等

4包速率模型

包速率模型(The probe rate model , PRM)基于自感应的拥塞原理测量可利用带宽:当数据包的发送速率小于可利用带宽时,数据包到达接收端时的接收速率就会等于发送速率;反之,当发送速率大与可利用带宽速率时,数据包在

2

网络中就会发送排队产生延迟,接收速率将会小于发送速率,因此可以通过观察这种速率的变化来测量可利用带宽。

基于这一模型的典型工具有Pathload,TOPP,Pathchirp等 Pathload 使用了负载周期流法(Self-Loading Periodic Streams ,SloPS )测量可利用带宽,自负载周期流指的是由多个大小相同的测量包组成的序列,它在源端以一定的速率发送周期流到目的端并且根据目的端的反馈信息调整发送速率,在目的端观测包延迟的变化来测量可利用带宽,并且对统计数据采用二进制的方法进行处理。它需要收发两端相互配合,提供的结果是一个可利用带宽的范围,范围的中间值表示的是平均可利用带宽。

二、毕业设计(论文)的要求与数据

学生应具有很强的自学能力和解决实际问题的能力。根据课题的整体要求,在大量阅读资料的基础上,掌握网络带宽测量的技术和工具并在NS2环境下进行模拟实现。

1、变包测量模型(variable packet size, VPS)最初由和Steve Bellovin,Van Jacobson在其测量工具pathchar中提出用以测量链路带宽。它假设传输延迟和包大小成线性关系;路由器只进行存储转发;所有连接是单通道的;并且链路上的通讯没有引起测试包排队。

由于数据包的转发延时分为:排队时延,传输时延,传播时延,处理时延等几个部分。传播时延由传输媒介的物理性质所决定,对于一定的传输媒介,传播时延是固定的;传输时延是由发送数据包长与带宽共同决定的,大小等于二者的比值; 处理时延一般非常小往往可以忽略不计。

VPS虽然可以测量逐跳链路的带宽但测量速度比较慢而且需要发送大量的数据包,这会必然会增加网络的负载。依赖于确认包和往返延迟将会出现两次排队、正反链路不对称等问题而且更容易受网络中竞争流的影响,因而没有单向延迟的方法好。而单向延迟的方法需要在各个路由器配置软件这往往不实际。

基于这一模型的典型工具有:Pathchar, Clink, Pchar, pipechar等

毕业设计的任务是基于测量工具Pathchar的编程实现(康伟唯同学)同学);

2 包对模型 包对(packet pair)是指两个等长的背靠背的测量数据包,在FIFO排队网络中,如果数据包的大小是s1个字节,瓶颈带宽的大小为字节/秒,那么,数据包通过瓶颈时的时延。如果在发送端发送两个s1个字节的数据包,使它们之间的发送时间间隔,它们将会在瓶颈链路处产生排队,假设它们在后继网络中不产生排队,它们到达接收端时的时间间隔

基于这一模型的典型工具有Bprobe,Nettimer,Pathrate,Sprobe 毕业设计的任务是基于测量工具Nettimer或Pathrate的编程实现。 (周波同学)同学);

3

3包间隔模型

包间隔模型(The probe gap model,PGM)通过分析两个相邻数据包到达接收端时的时间间隔来测量可利用带宽。它假设窄链路和紧链路在同一位置,数据包发送时的初始时间间隔为,受网络中竞争流插包的影响,这个间隔会变大,从而数据包到达接收端时的时间间隔可以用一个关于网络中竞争流的函数表示,可以据此测量可利用带宽,

基于这一模型的典型工具有IGI, and Delphi Spruce等

毕业设计的任务是基本测量工具IGI的编程实现(秦浩同学);

4包速率模型

包速率模型(The probe rate model , PRM)基于自感应的拥塞原理测量可利用带宽:当数据包的发送速率小于可利用带宽时,数据包到达接收端时的接收速率就会等于发送速率;反之,当发送速率大与可利用带宽速率时,数据包在网络中就会发送排队产生延迟,接收速率将会小于发送速率,因此可以通过观察这种速率的变化来测量可利用带宽。

基于这一模型的典型工具有Pathload,Pathchirp等

毕业设计的任务是基本测量工具Pathload的编程实现(吴超同学);

5负载周期流法

使用了负载周期流法(Self-Loading Periodic Streams ,SloPS )测量可利用带宽,自负载周期流指的是由多个大小相同的测量包组成的序列,它在源端以一定的速率发送周期流到目的端并且根据目的端的反馈信息调整发送速率,在目的端观测包延迟的变化来测量可利用带宽,并且对统计数据采用二进制的方法进行处理。它需要收发两端相互配合,提供的结果是一个可利用带宽的范围,范围的中间值表示的是平均可利用带宽。

基于这一模型的典型工具有TOPP等

毕业设计的任务是基本测量工具TOPP的编程实现(王贺鹏同学);

三、毕业设计(论文)应完成的工作

通过本课题的理论分析和实验研究,完成相应设计研究,掌握网络带宽测量的技术和工具并用VC语言进行编程实现。同时培养学生查阅文献资料的能力、独立提出和解决问题的能力以及实际动手能力,为今后的科研和实际工作打下良好的基础。

在本课题完成后,学生应提交相关的论文、文档和编写的相应设计的源代码等,具体如下:

4

1、学生在毕业设计的过程中,通过查阅大量文献资料,深入了解国内外目前相应设计研究的最新发展动态,并通过对所做工作的总结,完成12000-15000字左右的毕业设计论文;

2、完成3000字以上与本课题相关的英文资料的翻译工作,并提交英文原件和中文翻译各一份;

3、提交本课题完成后的设计的源代码,并对核心代码做出中文注释;

4、提交相关实验及设计资料。

四、毕业设计(论文)进程安排及实习安排

序 号 1 2 3 4 5 6 7 8 设计(论文)各阶段名称 教师讲授课题目标、提出设计要求 学生查阅文献及相关资料 学生上机熟悉各软件及运行环境 毕业实习 学生开始设计、编程 程序调试运行、测试 整理资料、撰写毕业论文 毕业答辩 日 期 1周 2~3周 4~7周 7~9周 10~13周 14~15周 16~17周 18周 五、应收集的资料、主要参考文献及实习地点

[1] 林宇,程时端,等. IP网端到端性能测量技术研究的进展. 电子学报, 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行为测量与分析研究.北京:中科院研究生院,2002.21-27 [6] Kevin Lai, M Baker. Measuring Link Bandwidths Using a Deterministic 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

5

Technologies and Systems, 2001.123-134.

实习地点:由学院统一安排。

6

本文来源:https://www.bwwdw.com/article/hz1x.html

Top