计算机网络原理实验报告
2015/2016(1)
【实验目的】
1. 掌握IP数据报的报文格式
2. 掌握IP校验和计算方法
3. 掌握子网掩码和路由转发
4. 理解特殊IP地址的含义
5. 理解IP分片过程
【实验环境配置】
A、B、C、D、E、F主机按下图配置IP地址
图1 主机与IP地址
【实验原理】
一、 IP报文格式
IP数据报是由IP首部加数据组成的。IP首部的最大长度不超过60字节。 IP数据报文格式如下图所示:
4位版本 |
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地址查找路由表确定数据报传输的最佳路径(下一跳)。然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。 路由表的项目一般含有五个基本字段:目的地址、网络掩码、下一跳地址、接口、度量。
路由表按如下顺序匹配:
l 直接交付:路由表表项的“目的地址”字段是交付主机的本网络地址。
l 特定主机交付:路由表表项的“目的地址”字段是某台特定主机的IP地址。
l 特定网络交付:路由表表项的“目的地址”字段是另一个网络的地址。
l 默认交付:路由表表项的“目的地址”字段是一个默认路由器(默认网关)。
四、路由选择过程
路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(按照前面介绍的“路由表匹配顺序”)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。
匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。
路由选择模块的工作过程:
图2 路由选择模块的工作过程
【实验步骤】
主机B启动静态路由服务(方法:在命令行方式下,输入“staticroute_config”)。 按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:编辑并发送IP数据报
- 主机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在计算校验和时包括哪些内容?
答:IP在计算校验和时包括IP数据报的首部。
- 在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。
- 主机A发送第1步中编辑好的报文。
- 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。
答:报文数据发生变化,变化的字段为:生存时间、首部校验和,由于A发送给E的报文跨网段,经过路由器B,B在转发数据报前将生存时间(TTL)减1,并重新计算校验和。
B主机和E主机捕获的报文比较
B主机 |
E主机 |
序号: 1 源地址 ECA86B-C53961 172.16.1.2 目标地址 ECA86B-C44766 172.16.0.2 概要描述 IPv4 (网际协议IPv4): 172.16.1.2 => 172.16.0.2 (Len 23) 帧长: 60 字节 时间: 10:08:04.8660460 时间间隔: 74.0000000
Ethernet 802.3 目的MAC地址 |