TCP实验报告2.docx
- 文档编号:27690878
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:15
- 大小:41.64KB
TCP实验报告2.docx
《TCP实验报告2.docx》由会员分享,可在线阅读,更多相关《TCP实验报告2.docx(15页珍藏版)》请在冰豆网上搜索。
TCP实验报告2
电子科技大学
实
验
报
告
学生姓名:
田家翼
学号:
2012019030029
指导教师:
张科
日期:
2014年11月16日
实验项目名称:
RIP协议的路由更新
报告评分:
教师签字:
一、实验原理
RIP协议(RFC1058)是一个基于距离向量路由选择的内部网关协议:
每台路由器定期与邻居路由器交换各自路由表中的所有路由信息,使用Bellman-Ford算法计算路由表。
RIP协议的路由度量(Metric)是到目的网络的跳数(hopcount),最大跳数值为15。
运行RIP协议的路由器初始接入到网络上时,它的路由表中只有根据其接口上的IP配置信息获得的直连网络的直连路由。
随着RIP路由信息的不断交换,互联网中的每台RIP路由器最终会掌握整个互联网的知识,即RIP协议收敛。
RIP协议有2种类型的报文:
RIP请求报文和RIP响应报文,它们都封装在UDP数据报中广播发送。
-RIP请求报文可以询问特定路由项目或所有路由项目。
当运行RIP协议的路由器刚接入网络中时,会广播发送一份询问所有路由项目的RIP请求报文。
-RIP响应报文可以是询问或非询问的。
询问的RIP响应报文仅在回应RIP请求报文时单播发送给请求者,发送的内容是请求报文中所请求的特定路由项目或整个路由表的路由项目。
非询问的RIP响应报文则是定期的广播发送,发送的内容是整个路由表中的路由项目。
RIP响应报文中携带的RIP路由通告信息只有目的网络地址和跳数值。
RIP协议使用3个计时器来支持RIP协议的操作。
-定期计时器(30秒)控制定期的RIP路由通告,但为了避免出现整个互联网中的路由器同时更新而引起的过载问题,实际实现中路由器的RIP路由通告间隔通常是25~35之间的一个随机数。
-截止期计时器(180秒)管理RIP路由的有效性,路由器每次收到一条RIP路由的更新信息,就复位该路由的截止期计时器。
如果一条RIP路由的截止期计时器期满,则将该路由标记为无效,即将其跳数设置为16,表示该路由的目的不可达。
-路由器收到邻居通告的一条无效路由,或因为截至计时器期满而产生一条无效路由时,并不立即从路由表中清除无效路由,而是为该无效路由启动一个无用信息收集计时器(120秒),并继续在定期的路由通告中通告跳数为16的无效路由。
仅当无效路由的无用信息收集计时器期满时才将其清除。
无用信息收集计时器使得邻居路由器能够获知某条路由是无效的。
RIP协议存在缓慢收敛和不稳定的问题。
为了解决这些问题,RIP协议中采用了触发更新和水平分割方法。
-触发更新是当网络有变化时,路由器立即发送更新信息;如果网络没有变化,则仍是定期发送更新信息。
触发更新不会影响路由器的RIP定期计时器。
-水平分割是在发送路由信息时,路由器根据发送接口选择发送路由表中的路由信息,简单的说就是从某个接口收到的路由信息不能再从该接口发送出去。
二、实验目的
1、掌握RIP协议在路由更新时的发送信息和发送方式
2、掌握RIP协议的路由更新算法
三、实验内容
实验拓扑中Dynamips软件模拟实现的路由器R1、R2和R3互联了的子网1、子网2和子网3,路由器之间使用RIPv1协议进行路由选择。
实验者使用Dynamips软件捕获三个子网上传送的RIP报文,使用Wireshark软件查看捕获的RIP报文,分析RIP协议的路由更新过程。
四、实验器材(设备、元器件)
1、配置了路由器的主机一台;
2、Dynagen软件;
3、Wireshark软件等。
五、实验步骤
1、启动DynamipsServer,然后运行,在Dynagen窗口中提示符“=>”后依次输入以下命令启动路由器R1、R2和R3,并进入其CLI:
=>startR1
=>startR2
=>startR3
=>conR1
=>conR2
=>conR3
2、在R1的CLI提示符“R1>”后输入“showiproute”命令查看路由器R1当前的路由表,确保实验网中的RIP协议已经收敛。
R1>showiproute
3、在Dynagen窗口中提示符“=>”后输入以下命令捕获子网1、2和3中的分组:
=>captureR1f0/01.cap
=>captureR2f0/02.cap
=>captureR3f0/03.cap
4、2分钟后,在路由器R1的CLI中输入以下命令断开R1与子网2的连接(如图B所示):
en对应的CLI提示符为“R1>”
conft对应的CLI提示符为“R1#”
intf0/1对应的CLI提示符为“R1(config)#”
shut对应的CLI提示符为“R1(config-if)#”
5、5分钟后,在路由器R1的CLI中输入以下命令将拓扑恢复成图A所示拓扑,即恢复路由器R1与子网2的连接。
en对应的CLI提示符为“R1>”
conft对应的CLI提示符为“R1#”
intf0/1对应的CLI提示符为“R1(config)#”
noshut对应的CLI提示符为“R1(config-if)#”
说明:
请根据R1CLI的当前提示符输入对应的命令。
6、3分钟后,在Dynagen窗口中提示符“=>”后输入以下命令停止捕获:
=>nocaptureR1f0/0
=>nocaptureR2f0/0
=>nocaptureR3f0/0
7、用Wireshark软件查看并分析捕获的分组文件(1.cap、2.cap和3.cap)中的RIP报文,查看过滤条件为“rip”(在Wireshark主窗口界面“过滤工具栏”的“Filter:
”域中输入)。
8、实验结束后,按照以下步骤关闭实验软件、上传实验数据、还原实验环境:
(1)关闭R1的CLI窗口,在Dynagen窗口中提示符“=>”后依次输入以下命令关闭Dynagen窗口,然后再关闭DynamipsServer窗口:
=>stop/all
=>exit
(2)运行所在目录下的“reset.bat”文件。
六、实验数据及结果分析
1、步骤2中根据R1路由表中的哪些信息可以确保实验网中的RIP协议已经收敛?
为什么?
根据它到达各自子网的条数,因为收敛了之后R1到其他子网的条数会
与实验拓扑图相符
2、汇总3个子网上捕获的RIP报文。
按照报文的捕获顺序,分阶段分析记录每个子网中每台路由器在两次拓扑变化(第1次拓扑变化:
图A图B,第2次拓扑变化:
图B图A)过程中发出的RIP报文信息:
1)阶段1:
第1次拓扑变化开始前(RIP已收敛)的2个周期的RIP报文;
2)阶段2:
第1次拓扑变化时RIP收敛过程中的所有RIP报文;
3)阶段3:
第1次拓扑变化时RIP完成收敛后的2个周期的RIP报文;
4)阶段4:
第2次拓扑变化时RIP收敛过程中的所有RIP报文;
5)阶段5:
第2次拓扑变化时RIP完成收敛后的2个周期的RIP报文。
提示:
RIP已收敛是指路由表中已经获得所有可达网络的RIP路由,并且已删除所有不可达(跳数=16)的RIP路由。
具体记录的报文信息如下:
子网1:
路由器R1
IP分组首部
UDP数据报首部
源IP
172.16.1.1
目的IP
255.255.255.255
源端口
520
目的端口
520
RIP报文
阶段
命令
路由信息项1
路由信息项2
捕获时间
网络地址
跳数
网络地址
跳数
1
Response
172.16.2.0
1
172.16.3.0
2
135.415000
Response
172.16.2.0
1
172.16.3.0
2
161.186000
2
Response
172.16.2.0
16
172.16.3.0
16
172.936000
3
Response
172.16.2.0
16
172.16.3.0
16
191.198000
4
Response
172.16.2.0
1
172.16.3.0
2
535.872000
5
Response
172.16.2.0
1
172.16.3.0
2
583.129000
子网2:
路由器R1
IP分组首部
UDP数据报首部
源IP
172.16.2.1
目的IP
255.255.255.255
源端口
520
目的端口
520
RIP报文
阶段
命令
路由信息项1
路由信息项2
捕获时间
网络地址
跳数
网络地址
跳数
1
Response
172.16.1.0
1
无
无
39.249000
Response
172.16.1.0
1
无
无
68.942000
2
无
无
无
无
无
---
3
Request
Notspecified
16
无
无
523.782000
4
Response
172.16.1.0
1
无
无
544.811000
5
Response
172.16.1.0
1
无
无
573.067000
子网2:
路由器R2
IP分组首部
UDP数据报首部
源IP
172.16.2.2
目的IP
255.255.255.255
源端口
520
目的端口
520
RIP报文
阶段
命令
路由信息项1
路由信息项2
捕获时间
网络地址
跳数
网络地址
跳数
1
Response
172.16.3.0
1
无
无
27.890000
Response
172.16.3.0
1
无
无
57.130000
2
Response
172.16.3.0
1
无
无
308.746000
3
Response
172.16.1.0
16
172.16.3.0
1
361.630000
4
Response
172.16.3.0
1
无
无
531.333000
5
Response
172.16.3.0
1
无
无
612.800000
子网3:
路由器R2
IP分组首部
UDP数据报首部
源IP
172.16.3.2
目的IP
255.255.255.255
源端口
520
目的端口
520
RIP报文
阶段
命令
路由信息项1
路由信息项2
捕获时间
网络地址
跳数
网络地址
跳数
1
Response
172.16.1.0
2
172.16.2.0
1
16.900000
Response
172.16.1.0
2
172.16.2.0
1
46.665000
2
Response
172.16.1.0
2
172.16.2.0
1
268.514000
3
Response
172.16.1.0
16
172.16.2.0
1
294.207000
4
Response
172.16.1.0
16
172.16.2.0
1
321.398000
5
Response
172.16.1.0
2
172.16.2.0
1
402.194000
子网3:
路由器R3
IP分组首部
UDP数据报首部
源IP
172.16.3.3
目的IP
255.255.255.255
源端口
520
目的端口
520
RIP报文
阶段
命令
路由信息项1
路由信息项2
捕获时间
网络地址
跳数
网络地址
跳数
1
无
无
无
无
无
---
2
无
无
无
无
无
---
3
Response
172.16.1.0
16
无
无
296.235000
4
Response
172.16.1.0
16
无
无
328.050000
5
无
无
无
无
无
说明:
每个子网中的每台路由器一张RIP报文信息记录表;
“命令”=请求,响应;
“捕获时间”=Wireshark窗口分组列表栏中的“Time”值
要求:
“Time”查看格式为菜单“ViewTimeDisplayFormatSecondsSinceBeginningofCapture”。
2、RIP计时器分析:
-在本实验中,RIP的定期计时器、截止期计时器和无用信息收集计数器实际上是多少秒?
答:
在本实验中RIP的定期计时器是25~30秒之间的一个随机值,截止期
计时器是180秒,无用信息收集计数器是60秒。
-为什么定期计时器并不是RFC中规定的固定值,而是一个时间范围内的随机值?
答:
定期计时器是一个时间范围内的随机值是为了避免出现整个互联网中的路
由器同时更新而引起的过载问题。
3、阶段1分析:
-该阶段中为什么在子网3上捕获不到路由器R3的RIP报文?
答:
该阶段中路由器R3路由表的所有路由全都是从连接子网3的接口上获
得因此遵照水平分割R3不能从该接口上发送任何获得自该接口的路由
所以在子网3上捕获不到R3的RIP报文。
4、阶段2分析:
-分析子网1中路由器R1的RIP报文信息记录,根据哪一个RIP报文,可以推断出R1大约何时断开与子网2的连接的?
为什么?
答:
根据R1在子网1上发送的RIP报文3,可以推断出R1断开与子网2的连
接时间大概是11:
18:
53。
因为子网2是R1的直连子网,因此R1能及时检测到
子网2的可达性并立即进行触发更新机制。
R1在子网1上发送的RIP报文26就是这样一个报文。
-该阶段中记录的哪些RIP报文是触发更新报文?
是如何推断出来的?
答:
该阶段中触发更新的RIP报文分别是,R1在子网1上发送的RIP报文25
R2在子网2上发送的RIP报文97,R2在子网3上发送的RIP报文71,以及
R3在子网3上发送的RIP报文73。
R1、R2发送的这3个触发更新报文是根
据它们与前一个相邻报文之间的间隔时间均小于定期计时器而推断出来的。
而
R3发送的这个触发更新报文则是根据R2在子网3上发送的触发更新报文时
间推断出来的。
-产生这些触发更新报文的原因分别是什么?
答:
R1在子网1上发送触发更新报文的原因是:
R1与子网2断开后造成该路
由无效,因而在子网1上通告有关子网2和子网3路由无效的触发更新信息。
R2在子网2和子网3上发送触发更新报文的原因是:
R2路由表中子网1的路由因截止期计时器超时而无效,所以R2更新自己的路由表,并在子网2和子网3上通告有关子网1路由无效的触发更新信息。
R3在子网3上发送触发更新报文的原因是:
R3收到R2发来的有关子网1的无效路由通告,所以R3根据该通告信息更新自己的路由表,并在子网3上通告有关子网1路由无效的触发更新信息。
-RIP的触发更新报文和定时更新报文在通告的路由信息数量上有何不同?
答:
RIP的触发更新报文只通告有变化的路由信息,如新增的和度量改变的路由,而定时更新报文则通告路由表中的所有路由信息,无论它们是否有变化。
6、阶段3分析:
-路由器R1、R2和R3在第1次拓扑改变时的RIP收敛时间大概分别是多少秒钟?
整个网络的RIP收敛时间是多少秒钟?
答:
R1在第1次拓扑改变时的RIP收敛时间大概是60秒,R2和R3在第1次拓扑改变时的RIP收敛时间大概是240秒。
整个网络的RIP收敛时间大概是240秒.
-为什么R1的收敛时间明显短于R2和R3?
答:
第1次拓扑变化是断开R1与子网2之间的连接。
在连接断开时,R1可以及时从接口的链路状态反馈中获知直连的子网2路由以及经由子网2到达的子网3路由均无效,因此R1的收敛时间大约只是无效路由的无用信息收集计时器的时间。
而对于R2和R3来说,拓扑的变化最终导致子网1不可达。
但是R2只能在子网1路由的截止期计时器期满时才能获知该子网不可达,而无法在R1与子网2之间的连接断开时获知。
R2一旦检测到子网不可达,即会立刻产生一个触发更新报文通知R3。
因此R2和R3的收敛时间大致相同,大约是截止期计时器的时间加上无用信息收集计时器的时间。
-该阶段中为什么在子网1中捕获不到路由器R1的RIP报文?
答:
R1收敛后的路由表中只有一条子网1的直连路由,因此该阶段中在子网1中捕获不到路由器R1的RIP报文。
7、阶段4分析:
-分析子网2中路由器R1的RIP报文信息记录,根据哪一个RIP报文,可以推断出R1大约何时恢复与子网C的连接的?
为什么?
答:
根据R1在子网2上发送的RIP报文64,可以推断出R1恢复与子网2的连接时间大概是11:
24:
39。
因为路由器刚接入到一个子网上时,它会在这个子网上发送一个询问所有路由信息的RIP请求报文,R1在子网2上发送的RIP报文16就是这样一个RIP请求报文。
-该阶段中记录的哪些RIP报文是触发更新报文?
答:
该阶段中,触发更新的RIP报文分别是:
R1在子网1上发送的RIP报文67,R1在子网2上发送的RIP报文107,以及R2在子网3上发送的RIP报文87。
-产生这些触发更新报文的原因分别是什么?
答:
R1在子网1和子网2上发送触发更新报文的原因是:
R1与子网2恢复连接后即在子网2上发送请求所有路由信息的RIP请求报文。
在收到邻居R2的响应报文后,R1就在子网1上通告新增的子网2和子网3路由的触发更新信息,并在子网2上通告子网1路由的触发更新信息。
R2在子网3上发送触发更新报文的原因是:
R2收到R1通告的子网1路由的触发更新信息后,更新自己的路由表,并在子网3上通告子网1路由的触发更新信息。
-该阶段中为什么路由器R2会在子网2上发送单播和广播这两种RIP响应分组?
答:
该阶段中,在子网2上捕获不到R2对R1的RIP请求报文的响应信息的原因是R2是单播发送响应报文给R1的,因为交换机的帧过滤功能,所以只能捕获到路由器之间的广播或多播帧,但捕获不到路由器之间的单播帧。
8、阶段5分析:
-路由器R1、R2和R3在第2次拓扑改变时的RIP收敛时间分别是多少秒钟?
整个网络的RIP收敛时间是多少秒钟?
答:
R1、R2和R3在第2次拓扑改变时的RIP收敛时间大概是2秒,R2和R3在第2次拓扑改变时的RIP收敛时间大概是5秒。
整个网络的RIP收敛时间大概是5秒
-比较2次拓扑变化时RIP的收敛时间,分析RIP协议对好消息(网络可达)和坏消息(网络不可达)的传递哪一种更快?
并分析产生这种现象的原因。
答:
第1次拓扑改变时RIP传递的是关于网络不可达的坏消息,整个网络大约240秒收敛;而第2次拓扑改变时RIP传递的是关于网络可达的好消息,整个网络大约5秒收敛。
由于RIP协议获得坏信息的手段之一是等待截止期计时器期满,而对于好消息的获得却没有任何时间上的等待限制,因此RIP协议对好消息(网络可达)的传递要快于对坏消息(网络不可达)的传递。
七、实验结论
1、RIP协议的路由通告机制有两类:
定期更新和触发更新。
所谓定期更新,是指根据路由器依照定期计时器发送RIP路由通告,每隔25~30s广播发送一个RIPresponse报文,该报文携带了本路由表中除开水平分割法抑制的其他所有RIP路由信息。
所谓触发更新,是指路由器仅在网络变化时发送RIP路由通告,它也是一个广播发送的RIPresponse报文,仅仅携带本路由表中发生变化的RIP路由信息。
2、总结RIP协议的路由更新算法如下(按逻辑顺序):
1)如目的网络不在路由表中,则将通告信息加入到路由表中;
2)如果目的网络的通告方与其在路由表下一跳路由器一致,则用通告信息修改原路由表信息;
3)如果不一致,仅当目的网络通告跳数小于原路由表中跳数,才按照通告信息修改路由表;
4)结束对目的网络更新。
3、总结RIP协议的3个计时器工作原理如下:
1)定期计时器针对整台路由器而言。
启动路由器时,定期计时器随即启动,并每隔25~30s复位一次。
定期计时器的生命域是整个路由器开启的时段和RIP程序的运行期。
2)截至期计时器针对1条RIP路由而言。
当1条新的RIP路由成功建立后,便为该路由启动一个截至期计时器,初始化为180s。
每当收到这条路由信息的更新通告时,它的截至期计时器就会复位为初始值。
如果这条路由在截止期计时器期满时没有收到更新通告,则该路由标记为无效,跳数变成16,同时终止截至期计时器,开启无用信息收集器。
3)无用信息收集器针对1条RIP路由而言。
初始化生存期为60s,如果在无用信息收集器期满前收到该路由的可达更新通告,则更新路由内容并为它启动一个截至期计时器。
否则无用信息收集器期满时将把该无效路由从路由表中删除。
八、总结及心得体会
通过本次实验,我有如下收获:
1、对路由协议中的RIP协议有了更为直观清晰的认识;
2、比较全面地理解了定期计时器、截至期计时器、无用信息收集器的工作原理;
3、能更熟练地使用Wireshark软件进行分析。
九、对本实验过程及方法、手段的改进建议
感觉做这次实验的时候有些机械,缺乏思考。
如果老师能够和同学一起做一次实验,并马上用Wireshark进行分析,就可以利用富余的实验时间一起讨论和分享,相信同学们收获会更多,思考会更深入。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCP 实验 报告