软件学院计算机网络实验报告
实验三 网际协议(IP)
姓名 | 班级 | 2013级软件1班 | 学号 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
实验名称 | 网际协议(IP) | 实验时间 | 2015.11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
实验目的: 1. 掌握IP数据报的报文格式; 2. 掌握IP校验和计算方法; 3. 掌握子网掩码和路由转发; 4. 理解特殊IP地址的含义; 5. 理解IP分片过程; 6. 理解协议栈对IP协议的处理方法; 7. 理解IP路由表作用以及IP路由表的管理。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
实验步骤及结果: 该实验采用网络结构二 练习一 练习名称:编辑并发送IP数据报 练习内容: 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A、B、C、D、E、F作为一组进行实验。 1.主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。 2.主机A启动协议编辑器,编辑一个IP数据报,其中: MAC层: 目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。 源MAC地址:主机A的MAC地址。 协议类型或数据长度:0800。 IP层: 总长度:IP层长度。 生存时间:128。 源IP地址:主机A的IP地址(172.16.1.21)。 目的IP地址:主机E的IP地址(172.16.0.25)。 校验和:在其它所有字段填充完毕后计算并填充。 自定义字段: 数据:填入大于1字节的用户数据。 【说明】先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。 ● IP在计算校验和时包括哪些内容? 答:只包含IP的首部,不包含数据。【版本号,首部长度,区分服务,总长度,标识,标志,偏移量,生存时间,高层协议类型】 3.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。 4.主机A发送第1步中编辑好的报文。 5.主机B、E停止捕获数据,在捕获到的数据中查主机A所发送的数据报,并回答以下问题: ● 第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。 答:报文数据发生变化,变化的字段为“生存时间”和“首部校验和”。 变化:主机B中“生存时间”字段的值为128,“首部校验和”字段的值为0D78;主机E中,“生存时间”字段的值为127,“首部校验和”字段的值为0E78。 原因:主机B相当于路由器,数据包每经过一个路由器“生存时间”字段的值就会减1,并重新计算校验和。且生存时间是路由器转发的跳数限制。当跳数减少为0之后,便不再转发 6. 将第1步中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。 7. 主机B、E重新开始捕获数据。 8. 主机A发送第5步中编辑好的报文。 9. 主机B、E停止捕获数据,在捕获到的数据中查主机A所发送的数据报,并回答以下问题: ● 主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。 答:主机B对应于172.16.0.22的接口可以捕获到主机A所发送的报文,主机E 和主机B对应于172.16.1.22的接口不能捕获到主机A所发送的报文。因为此报文的“生存时间”为1,当经过路由器即主机B后字段的值减为0,路由器将该报文丢弃不进行转发,从而致使主机E无法捕获到主机A所发送的报文。 思考问题: 1、说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址? 答:区别:在网络层及以上使用IP 地址,在数据链路层及以下使用硬件地址;IP地址在IP数据报的首部,而硬件地址在MAC帧的首部IP地址是描述主机的逻辑地址,由32位二进制数组成,常写成十进制形式,由运营商提供。硬件地址是主机网卡的物理地址,由48位二进制数组成,常写成十六进制形式,无法更改。IP 地址是虚拟的,每台主机可以随时更改IP,但不能更改硬件地址,硬件地址是固定的。IP地址和物理地址表示形式不同,前者32位用十进制表示,后者48位用十六进制表示。 原因:在IP层抽象的互联网上,我们看到的只是IP数据报,路由器根据目的站的IP 地址进行选录。在具体的物理网络的链路层,我们看到的只是MAC 帧,IP 数据报被封装在MAC 帧里面。MAC 帧在不同的网络上传输时,其MAC 帧的首部是不同的。这种变化在上面的IP层上是看不到的。每个路由器都有IP地址和硬件地址。使用IP地址和硬件地址,尽管连接在一起的网络的硬件地址体系各 不相同,但IP层抽象的互联网屏蔽了下层这些很复杂的细节,并使我们能够使用统一的、抽象的IP地址进行通信。 练习二 练习名称:特殊的IP地址 练习内容: 本练习将主机A、B、C、D、E、F作为一组进行实验。 1.直接广播地址 (1)主机A编辑IP数据报1,其中: 目的MAC地址:FFFFFF-FFFFFF。 源MAC地址:A的MAC地址。 源IP地址:A的IP地址。 目的IP地址:172.16.1.255。 自定义字段数据:填入大于1字节的用户数据。 校验和:在其它字段填充完毕后,计算并填充。 (2)主机A再编辑IP数据报2,其中: 目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。 源MAC地址:A的MAC地址。 源IP地址:A的IP地址。 目的IP地址:172.16.0.255。 自定义字段数据:填入大于1字节的用户数据。 校验和:在其它字段填充完毕后,计算并填充。 (3)主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,捕 获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件172.16.1.2<->Any) tcp和ip协议的含义(4)主机B、C、D、E、F开始捕获数据。 (5)主机A同时发送这两个数据报。 (6)主机B、C、D、E、F停止捕获数据。 ●记录实验结果
●结合实验结果,简述直接广播地址的作用。 答:广播帧可以让同一网段里面的所有机器收到。一个网络中的最后一个地址为直接广播地址, 也就是 HostID 全为 1 的地址。路由器使用这种地址把一个分组发送到一个特定网络上的所有主机,所有的主机都会收到具有这种类型目的地址的分组。例如:目的 MAC 地址:FFFFFF-FFFFFF。 目的 IP 地址:172 .16. 0. 255。 2. 受限广播地址 (1)主机A编辑一个IP数据报,其中: 目的MAC地址:FFFFFF-FFFFFF。 源MAC地址:A的MAC地址。 源IP地址:A的IP地址。 目的IP地址:255.255.255.255。 自定义字段数据:填入大于1字节的用户数据。 校验和:在其它字段填充完毕后,计算并填充。 (2)主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议, 捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下: 172.16.1.2<->Any) (3)主机B、C、D、E、F重新开始捕获数据。 (4)主机A发送这个数据报。 (5)主机B、C、D、E、F停止捕获数据。 ● 记录实验结果
● 结合实验结果,简述受限广播地址的作用。 答:受限的广播地址地址用于主机配置过程中 IP 数据报的目的地址,此时主机可能还不知道它所在网络的网络掩码,甚至连它的 IP 地址也不知道。受限的广播通常只在系统初始启动时才会用到。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。所以只有主机 C,主机 D 和主机 B (172.168.0.22)收到主机 A 发送的 IP 数据报,而主机 B(172.168.0.22) ,主机 E,主机 F 未收到主机 A 发送的 IP 数据报。例如:目的 MAC 地址:FFFFFF-FFFFFF。 目的 IP 地址:255.255.255.255。 3.环回地址 (1)主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。 (2)主机E ping 127.0.0.1。 (3)主机F停止捕获数据。 ● 主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么? 答:不能收到。 因为主机F没有收到主机E发送的数据报。因为127.0.0.1称为回环地址,常用于本机上软件测试和本机上网络应用程序之间的通信地址,分组永远不离开这个机器,这个分组就简单地返回到协议软件。即因为数据报只在E本机内传送,没有经过网线到局域网中。 思考问题: 1.受限广播地址的作用范围? 答:受限的广播通常只在系统初始启动时才会用到。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。 2.受限广播地址和直接广播地址的区别? 答:直接广播地址包含一个有效的网络号和一个全“1”的主机号。例如172.16.0.255。受限的广播地址是是32位全1的IP地址,即255.255.255.255。 所以二者发送的范围不同。在数据报内部的目的IP地址也不同。 3.路由器转发受限广播吗? 答:路由器不转发受限广播。 练习三 练习名称:IP数据报分片 练习内容: 本练习将主机A、B、C、D、E、F作为一组进行实验。 1. 在主机B上使用“实验平台上工具栏中的MTU工具” 设置以太网端口的MTU 为800字节(两个端口都设置)。 2. 主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。 3. 在主机A上,执行命令ping -l 1000 172.16.0.2。 4. 主机A、B、E停止捕获数据。在主机E上重新定义过滤条件(取一个ICMP数据包,按照其IP层的标识字段设置过滤) ● 将ICMP报文分片信息填入下表,分析表格内容,理解分片的过程。
5. 主机E恢复默认过滤器。主机A、B、E重新开始捕获数据。 6. 在主机A上,执行命令ping -l 2000 172.16.0.2。 7. 主机A、B、E停止捕获数据。察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。 8. 主机B上使用“实验平台上工具栏中的MTU工具”恢复以太网端口的MTU为1500字节。
思考问题: 1.ping的数据部分为3000字节,回显请求报文为何被分为3片而不是2片? 答:因为总的发送帧长度为3040。每个报文的最大长度为1500字节,所以回显请求报文不能分为两片,只能分为三片。 2.数据部分长度为多少时报文正好被分为2片? 答:由于首部长度为 40, 所以数据部分长度在大于 1460 字节, 小于等于 2960字节时可以被分为两片 3.不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?使用小的MTU有什么好处? 答:MTU 既是最大传输单元, 设定了 TCP/IP 协议传输数据包的最大传输单元。MTU 越大,封包就越大,理论上可以减少分片数量增加传输速率。但如果过大,封包越大, 传输时出错率越大。使用小的 MTU 时, 可以适应较小的带宽,但是频繁的传输降低了数据传输速率。 练习四 练习名称:子网掩码的作用 练习内容: 本练习将主机A、B、C、D、E、F作为一组进行实验。 1. 所有主机取消网关。 2. 主机A、C、E设置子网掩码为255.255.255.192,主机B(172.16.1.1)、D、F设置子网掩码为255.255.255.224。 3. 主机A ping 主机B(172.16.1.1),主机C ping 主机D(172.16.1.4),主机E ping 主机F(172.16.0.3)。 ● 记录实验结果
● 请问什么情况下两主机的子网掩码不同,却可以相互通信? 答:子网地址(主机地址与子网掩码的AND运算结果)相同,就可以相互通信。 4. 主机B在命令行方式下输入recover_config命令,停止静态路由服务。 5. 所有主机恢复到网络结构二的配置。 思考问题: 1.IP数据报中的首部校验和并不检验数据报中的数据,这样做的最大好处是什么?缺点是什么? 答:只对首部进行效验,因为在首部中的错误往往比在数据中的错误更严重。 而IP数据报对传输的数据不做检验。这样做的最大好处在不必要检验数据的前提下只检验不会增加过多的开销,减少IP数据报的处理复杂度,提高数据报的处理速度。坏处不能检验出数据部分出错的地方,这样做实际上把检验的任务交 给了上层协议,如传输层,增加了上层协议的复杂性。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论