计算机网络原理实验报告2015/2016(1)实验题目网际协议IP学生姓名傅攀、陈泽川、陆佳峰学生班级计算机+自动化1402任课教师杨旭华提交日期2015年11月计算机科学与技术学院计算机网络原理实验报告浙江工业大学计算机学院2【实验目的】1.掌握IP数据报的报文格式2.掌握IP校验和计算方法3.掌握子网掩码和路由转发4.理解特殊IP地址的含义5.理解IP分片过程【实验环境配置】A、B、C、D、E、F主机按下图配置IP地址图1主机与IP地址【实验原理】一、IP报文格式IP数据报是由IP首部加数据组成的。IP首部的最大长度不超过60字节。IP数据报文格式如下图所示:计算机网络原理实验报告浙江工业大学计算机学院34位版本4位首部长度8位服务类型16位总长度(字节数)16位标识3位标志13位片偏移8位生存时间8位协议类型16位首部检验和32位源IP地址32位目的IP地址选项(如果有)数据二、IP分片链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。不同的网络类型都有一个上限值。以太网通常是1500字节。如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作。使每一片长度都小于MTU。IP首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。另外,当数据被分片后,每个片的“16位总长度”值要改为该片的长度值。三、IP路由表大部分网络层设备都存储着一张记录路由信息的表格,称为路由表。它由许多条项目组成。网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。路由表的项目一般含有五个基本字段:目的地址、网络掩码、下一跳地址、接口、度量。路由表按如下顺序匹配:直接交付:路由表表项的“目的地址”字段是交付主机的本网络地址。特定主机交付:路由表表项的“目的地址”字段是某台特定主机的IP地址。特定网络交付:路由表表项的“目的地址”字段是另一个网络的地址。默认交付:路由表表项的“目的地址”字段是一个默认路由器(默认网关)。四、路由选择过程路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(按照前面介绍的“路由表匹配顺序”)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。路由选择模块的工作过程:计算机网络原理实验报告浙江工业大学计算机学院4图2路由选择模块的工作过程【实验步骤】主机B启动静态路由服务(方法:在命令行方式下,输入“staticroute_config”)。按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。练习一:编辑并发送IP数据报1.主机A启动仿真编辑器,编辑一个IP数据报,其中:MAC层:目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。源MAC地址:主机A的MAC地址。协议类型或数据长度:0800。IP层:总长度:IP层长度。生存时间:128。源IP地址:主机A的IP地址(172.16.1.2)。目的IP地址:主机E的IP地址(172.16.0.2)。校验和:在其他所有字段填充完毕后计算并填充。IP在计算校验和时包括那些内容?【说明】先使用仿真编辑器的“手动计算”校验和,再使用仿真编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。IP在计算校验和时包括哪些内容?计算机网络原理实验报告浙江工业大学计算机学院5答:IP在计算校验和时包括IP数据报的首部。2.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。3.主机A发送第1步中编辑好的报文。4.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。答:报文数据发生变化,变化的字段为:生存时间、首部校验和,由于A发送给E的报文跨网段,经过路由器B,B在转发数据报前将生存时间(TTL)减1,并重新计算校验和。B主机和E主机捕获的报文比较B主机E主机序号:1源地址ECA86B-C53961172.16.1.2目标地址ECA86B-C44766172.16.0.2概要描述IPv4(网际协议IPv4):172.16.1.2=172.16.0.2(Len23)帧长:60字节时间:10:08:04.8660460时间间隔:74.0000000Ethernet802.3目的MAC地址=ECA86B-C44766源MAC地址=ECA86B-C53961协议类型或数据长度=0800(IP协议)IPv4(网际协议IPv4)版本号和首部长度=45版本=4首部长度=5区分服务=00区分服务码点=000000..显式拥塞传输标志=......0.经历拥塞标志=.......0总长度=23序号:0源地址00133B-0C2AD0172.16.1.2目标地址ECA86B-C4C809172.16.0.2概要描述IPv4(网际协议IPv4):172.16.1.2=172.16.0.2(Len23)帧长:60字节时间:10:07:22.5661870时间间隔:Ethernet802.3目的MAC地址=ECA86B-C4C809源MAC地址=00133B-0C2AD0协议类型或数据长度=0800(IP协议)IPv4(网际协议IPv4)版本号和首部长度=45版本=4首部长度=5区分服务=00区分服务码点=000000..显式拥塞传输标志=......0.经历拥塞标志=.......0总长度=23计算机网络原理实验报告浙江工业大学计算机学院6标识=37960标志和偏移量=4000保留未用=0...............不分片=.1..............还有分片=..0.............分片偏移量=0生存时间=128高层协议类型=0首部校验和=0D7A(correct)源IP地址=172.16.1.2目的IP地址=172.16.0.2自定义数据数据=...00000000:ECA86BC44766ECA86BC5396108004500歙k腉f歙k?a..E.00000010:00179448400080000D7AAC100102AC10...H@....z?..?00000020:0002ABCDEF0000000000000000000000..?..........00000030:000000000000000000000000............标识=37960标志和偏移量=4000保留未用=0...............不分片=.1..............还有分片=..0.............分片偏移量=0生存时间=127高层协议类型=0首部校验和=0E7A(correct)源IP地址=172.16.1.2目的IP地址=172.16.0.2自定义数据数据=...00000000:ECA86BC4C80900133B0C2AD008004500歙k娜...;.*?.E.00000010:0017944840007F000E7AAC100102AC10...H@...z?..?00000020:0002ABCDEF0000000000000000000000..?..........00000030:000000000000000000000000............5.将第2步中主机A所编辑的报文的“生存时间”设置为1。重新计算校验和。6.主机B、E重新开始捕获数据。7.主机A发送第5步中编辑好的报文。8.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。答:主机B捕获到了A主机发送的报文,E未捕获A主机发送的报文。B主机对应于172.16.1.1的网卡与A主机在同一局域网内,所以B主机收到了A主机发送的报文,而B主机作为路由器在转发数据报前将报文的生存时间减1得到0,将该数据报丢弃,不转发。所以E主机(172.16.0.2)没有收到数据报。练习二:特殊的IP地址1.直接广播地址。(1)主机A编辑IP数据报1,其中:目的MAC地址:FFFFFF-FFFFFF。源MAC地址:A的MAC地址。源IP地址:A的IP地址。目的IP地址:172.16.1.255。计算机网络原理实验报告浙江工业大学计算机学院7校验和:在其他字段填充完毕后,计算并填充。(2)主机A再编辑IP数据报2,其中:目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。源MAC地址:A的MAC地址。源IP地址:A的IP地址。目的IP地址:172.16.0.255。校验和:在其他字段填充完毕后,计算并填充。(3)主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:172.16.1.2-Any)。(4)主机B、C、D、E、F开始捕获数据。(5)主机A发送这两个数据报。(6)主机B、C、D、E、F停止捕获数据。记录实验结果:主机号收到IP数据报1B(172.16.1.1)、C、D收到IP数据报2B(172.16.1.1、172.16.0.1)、E、F结合实验结果,简述直接广播地址的作用。答:直接广播地址,指定了一个特定网络的“所有主机”,一个直接广播的单一拷贝被发送到一个指定的网络,在那里他被广播到所有网络终端。图3A主机发送的数据报1计算机网络原理实验报告浙江工业大学计算机学院8图4A主机发送的数据报12.受限广播地址。(1)主机A编辑一个IP数据报,其中:“目的MAC地址”设置为FFFFFF-FFFFFF。“目的IP地址”设置为255.255.255.255。(2)主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议,172.16.1.2-Any)。(3)主机B、C、D、E、F重新开始捕获数据。(4)主机A发送这个数据报。(5)主机B、C、D、E、F停止捕获数据。记录实验结果:主机号收到主机A发送的IP数据报B(172.16.1.1)、C、D未收到主机A发送的IP数据报B(172.16.0.1)、E、F结合实验结果,简述受限广播地址的作用。计算机网络原理实验报告浙江工业大学计算机学院9答:受限的广播地址是255.255.25.255(全1),路由器不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。所以只有本局域网内的B、C、D主机收到了A主机发送的IP数据报。3.环回地址。主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。主机Eping127.0.0.1。主机F停止捕获数据。主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?答:主机F没有收到E发送的IP数据报,因为若主句发送一个目的地址以为环回地址(127.0.0.1)的IP数据报,则本主机中的协议软件就处理数据报中的数据,而不会把数据报发送到任何网络。所以F主机不会收到E主机发送的目的地址为127.0.0.1的数据报。图5主机Eping127.0.0.1练习三:IP数据报分片1.在主机B上使用“MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。2.主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。计算机网络原理实验报告浙江工业大学计算机学院103.在主机A上,执行命令ping-l1000172.16.0