练习一:静态路由与路由表
1.主机A、B、C、D、E、F在命令行下运行“route print”命令,察看路由表,并回答以下问题:
?
路由表由哪几项组成?
Network Destination , Netmask, Gateway, Interface, Metric
2.将主机A的默认网关设为172.16.0.1。用主机A依次ping 主机B(192.168.0.2)和主机C(192.168.0.3),观察现象,记录结果。在主机A和主机B的命令行下运行route print命令,察看路由表,结合路由信息回答问题:
? ?
主机A——主机B (192.168.0.2) 主机A——主机C 主机A的默认网关在本次练习中起到什么作用? 记录并分析实验结果,简述为什么会产生这样的结果?
是否ping通 否 否 原因 不在同一网络中 不在同一网络中 如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包
3.从主机A依次ping 主机B(192.168.0.2)、主机E(192.168.0.1)、主机E(172.16.1.1),观察现象,记录结果。通过在命令行下运行route print命令,察看主机B和主机E路由表,结合路由信息回答问题:
? 主机A——主机B (192.168.0.2) 主机A——主机E (192.168.0.1) 主机A——主机E (172.16.1.1) 记录并分析实验结果,简述为什么会产生这样的结果?
是否ping通 否 否 否 原因 不在同一网络中 不在同一网络中 不在同一网络中 4.主机B和主机E在命令行下使用“staticroute_config”命令来启动静态路由。 5.(1) 在主机B上,通过在命令行下运行route add命令手工添加静态路由(“route add 172.16.1.0 mask 255.255.255.0 192.168.0.1 metric 2”);
(2) 在主机E上,也添加一条静态路由(“route add 172.16.0.0 mask 255.255.255.0
192.168.0.2 metric 2”)。
(3) 从主机A依次ping主机B(192.168.0.2)、主机E(192.168.0.1)、主机E
(172.16.1.1),观察现象,记录结果。
(4) 通过在命令行下运行route print命令,察看主机B和主机E路由表,结合路由
信息回答问题:
? 主机A——主机B (192.168.0.2) 主机A——主机E 记录并分析实验结果,简述手工添加静态路由在此次通信中所起的作用。
是否ping通 是 是 14
原因 通过设置静态路由使主机A和B相连 通过设置静态路由使主机A和 E相连
(192.168.0.1) 主机A——主机E (172.16.1.1) 是 通过设置静态路由使主机A和E相连 6.在主机B上,通过在命令行下运行route delete命令(“route delete 172.16.1.0”);在主机E上,运行route delete命令(“route delete 172.16.0.0”)删除手工添加的静态路由条目。
?
简述静态路由的特点以及路由表在路由期间所起到的作用。
设置简单,占用网络带宽小
路由表是路由器实现数据包转发的关键部分,路由表的功能就是要告诉路由器要到这个网络应该从哪个接口出去
练习二:领略动态路由协议RIPv2
1.在主机A、B、C、D、E、F上启动协议分析器并设置过滤条件(提取RIP和IGMP),开始捕获数据。
2.主机B和主机E启动RIP协议并添加新接口:
(1)在主机B上启动RIP协议:在命令行方式下输入“rip_config”; (2)在主机E上启动RIP协议:在命令行方式下输入“rip_config”; (3)添加主机B的接口:
添加IP为172.16.0.1的接口:在命令行方式下输入“rip_config \的接口名\;
添加IP为192.168.0.2的接口:在命令行方式下输入“rip_config \的接口名\; (4)添加主机E的接口:
添加IP为172.16..1的接口:在命令行方式下输入“rip_config \的接口名\;
添加IP为192.168.0.1的接口:在命令行方式下输入“rip_config \的接口名\。
3.主机B在命令行方式下,输入 “rip_config showneighbor”察看其邻居信息;主机E在命令行方式下,输入 “rip_config showneighbor”察看其邻居信息;
4.通过协议分析器观察报文交互,直到两台主机的路由表达到稳定态。 如何判定路由表达到稳定态?
记录稳定态下主机B和主机E的路由表条目。
5.主机E在命令行下输入命令“recover_config”,禁用RIP协议。观察协议分析器报文交互,并回答问题:
? ?
IGMP报文在RIP交互中所起的作用是什么?
通过以上5步,绘制主机B和主机E的RIP交互图(包括IGMP报文)。 IGMP让连接在本地局域网中的多播路由器知道本局域网上是否有主机 练习三:RIP的计时器
1.在主机A、B、C、D、E、F上重新启动协议分析器并设置过滤条件(提取RIP)。 2.主机B和主机E重启RIP协议并添加新接口(同练习二的步骤2),同时设置“周期公告间隔”为20秒。
①(在主机B命令行方式下,输入“rip_config \的接口名%updatetime 20”、“rip_config \的接口名\。
15
②在主机E命令行方式下,输入“rip_config \的接口名%updatetime 20”、“rip_config \的接口名\)。
③用协议分析器察看报文序列,并回答问题: ? ?
将“周期公告间隔”设置为0秒可以吗?为什么操作系统对“周期公告间隔”有时间上限和时间下限?上限和下限的作用是什么?
通过协议分析器,比较两个相邻通告报文之间的时间差,是20秒吗?如果不全是,为什么?
3.将“路由过期前的时间”设置为30秒。
①(在主机B命令行方式下,输入“rip_config \的接口名\ expiretime 30”、“rip_config \的接口名\。
② 在主机E命令行方式下,输入“rip_config \的接口名\expiretime 30”、“rip_config \的接口名\)。
③ 禁用主机E的192.168.0.1的网络连接。在30秒内观察主机B的路由条目变化,并回答问题:
?
简述“路由过期计时器”的作用是什么? 4.恢复主机E的192.168.0.1的网络连接。 练习四:RIP的稳定性
1.在主机A、B、C、D、E、F上重新启动协议分析器,并设置过滤条件(提取RIP)。 2.主机B和主机E重启RIP协议并添加新接口(同练习二的步骤2),同时去掉“启用水平分割处理”和“启用毒性反转”选项。
(1)主机B在命令行方式下,输入“rip_config \的接口名\thorizon disable”、“rip_config \的接口名\、
(2)“rip_config \的接口名\、“rip_config \的接口名\)。
(3)等待一段时间,直到主机B和主机E的路由表达到稳定态。
3.主机B和主机E在命令行下使用“netsh routing ip show rtmroutes”察看路由表,结合协议分析器上捕获的RIP报文内容,回答问题:
? 记录此时主机B和主机E的路由表条目。
? 和练习二中记录的路由表条目作比较,简述发生变化的原因。 4.主机B和主机E在命令行下输入“recover_cogfig”停止RIP协议。 【思考问题】
1.RIP使用UDP,这样做有何优点? 2.条数限制如何缓解RIP的问题?
3.试列举RIP的缺点及其相应的补救办法。 【思考问题】
1.OSPF使用IP,这样做有何优点?在Database Description报文中, OSPF是通过什么方式确保数据的正确传输?
构成的数据包较短,这样减少了路由信息的通信量。这样不必将较长的数据包分组,分片传送。
OSPF使用可靠的洪泛法。
2.为什么OSPF报文比RIP报文传播得更快?
OSPF知道全网络的拓扑结构,且链路状态更新较快,故收敛也较快。而RIP则收敛较
16
慢,且有“好消息传的快,坏消息传的慢”的特点,最多之只能在15跳之间传播
实验五 传输控制协议TCP
【实验目的】
1.掌握TCP协议的报文格式 2.掌握TCP连接的建立和释放过程 3.掌握TCP数据传输中编号与确认的过程 4.掌握TCP协议校验和的计算方法 5.理解TCP重传机制 【实验环境配置】
该实验采用网络结构一。 【实验原理】 一、TCP报文格式
1 16 17 32
16位源端口号 16位目的端口号 32位序号 32位确认序号 4位首部长度 保留(6位) U A P R S F R C S S Y I G K H T N N 16位窗口大小 16位紧急指针 选项 数据 二、TCP连接的建立 TCP是面向连接的协议。 在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。
整个同步的过程称为三次握手,下图说明了这个过程:
16位检验和
三、TCP连接的释放
对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标
17
记的报文段)。
TCP关闭连接的步骤如下图所示:
四、TCP重传机制
TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。 【实验步骤】
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。 练习一:察看TCP连接的建立和释放
1.主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。 2.主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 3.察看主机B、C、D捕获的数据,填写下表。
字段名称 Sequence Number Acknowledgement Number ACK SYN ? 报文1 1963881806 0 0 1 报文2 1963881806 0 0 1 报文3 1963881806 0 0 1 TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。
563字节,作用:提高网络利用率,减少数据包分片。 4.主机A断开与主机C的TCP连接。
? 结合步骤3、5所填的表,理解TCP的三次握手建立连接和四次握手的释放连接
过程,理解序号、确认号等字段在TCP可靠连接中所起的作用。
序号是指本报文所发送数据的第一个字节的序号。
确认序号为N是指到序号N-1为止的数据都已正确收到。
练习二:利用仿真编辑器编辑并发送TCP数据包
? 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组,现
仅以主机A和B为例,说明实验步骤。
? 在本实验中由于TCP连接有超时时间的限制,故仿真编辑器和协议分析器的两位
同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。
18