4-320143X1《计算机网络原理》实验指导书(3)

2019-04-22 18:42

gedit打开/home/*user*/.bashrc,分别加入下面代码:(*user*换成自己的相应目录)在. bashrc加入(根据安装完成后终端的提示来设置环境变量): PATH=\/bin:/usr/local/ns-allinone-2.35/tcl8.5.10/unix:/usr/local/ns-allinone-2.35/tk8.5.10/unix \LD_LIBRARY_PATH=\/otcl-1.14:/usr/local/ns-allinone-2.35/lib\TCL_LIBRARY=\/tcl8.5.10/library \编辑完成,source /home/*user*/.bashrc(注意前提是要用root登陆,不然的话输入$sudo -s,以root角色登陆。) source命令是把文件中的命令执行一次的意思。

(5)验证安装

在重启后的终端中输入ns命令,出现%,说明安装成功,如图所示:

2.NS2网络协议仿真

这个实验主要是观察链路状态发生变化时,使用静态路由和动态路由的差异性。实验的结构如图1所示,节点n0会使用ftp将数据传送到n5,传送时间为0.1s~3.0s,在1.0s时,链路n1到n4发生问题,所以数据无法从n1到n4之间的链路传送。在2.0s时,链路n1到n4问题解决,数据有可以从此路传送。

图1 网络拓扑结构

TCL程序:

10

11

静态路由执行方法 1、运行TCl脚本

2、运行Nam程序,观察结果

(1)使用静态路由,传送数据从n0到n5的路径是n0----n1----n4---n5.如图2-1

图2-1

图2-2

12

(2)在1.0s时,n1到n4链路发生问题,因为使用静态路由算法,路由表不会更新,所以数据无法发送到n4. 如图2-2

(3)在3.0s时,n1到n4链路的问题得到解决,所以数据又按路径n0----n1----n4---n5传送到n5. 如图2-3

图2-3

动态路由执行方式 1、运行TCL脚本

2、运行nam程序,观察结果

(1)因为使用动态路由方式,所以一开始,节点与节点之间必须互换信息,以建立路由表,如图3-1

图3-1

图3-2

(2)路由表建立后,数据传送的路径是n0----n1----n4---n5.如图3-2

(3)在1.0s时,n1到n4链路发生问题,因为使用动态路由算法,所以节点互相通信,因此n0到n5数据发送的路径更新为n0----n1----n2---n3----n5. 如图3-4

13

图3-3

图3-4

(4)在3.0s时,n1到n4之间的链路恢复,节点互相通信后,路由表更新,因此n0到n5

数据发送的路径也恢复为n0----n1---n4----n5.如图3-5

图3-4

3.修改NS2核心模块

(1)预设实验结果:修改队列的丢包策略,当接收队列中未丢包,数据包正常入队列,一旦出现队列丢包现象,则暂停接受数据包,一直到队列为空再接受。

(2)在NS-2 核心模块中找到队列的丢包模块(在ns-allinone-2.35/ns-2.35/queue 路径下)

a.修改drop-tail.h 文件,在类DropTail 中添加一个布尔变量isdrop(初始值为

false),用于判断队列是否已经发生丢包,再添加一个int 型变量n(初始值为0)用于记录发生丢包时不接受包的个数。

b.在入队函数enque 中,判断如下: if(如果发生队列已满) { 14


4-320143X1《计算机网络原理》实验指导书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年中国科技核心期刊目录(自然科学卷)2017.10.31

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: