郑州大学计算机网络实验07 IP协议探索和IP分片分析

实验七:IP协议探索和IP分片分析

【实验目的】

1、掌握IP协议数据格式;

2、掌握IP首部各字段含义;

3、掌握IP分片原理和分片计算方法;

4、了解Linux下修改链路MTU的方法。

【实验步骤与结果记录】

要求:根据实验指导书中的实验内容和步骤,认真完成实验。采取截图、拍照等形式记录自己的实验步骤和结果。(可根据需要加页)

步骤1:创建虚拟网络拓扑。

1.使用script3.1.sh 脚本,创建如图所示的网络拓扑结构

在Linux中,该虚拟网络拓扑的实现如图所示。

运行脚本,创建虚拟网络拓扑。

2.执行Linux命令,ip netns list 查询已经建立的NS列表,在所有NS内执行 ifconfig -a 命令查看NS内的网络接口配置,执行Linux命令 brctl show 查看交换机桥接状态,验证网络拓扑。

步骤2:为虚拟网络拓扑中的各路由器配置静态路由。

1. 使用script3.2.sh 脚本,为各路由器配置静态路由。

步骤3:关闭网卡offload功能,将运输层封装时需要的计算还给CPU

1. 使用script3.3.sh 脚本,关闭网卡offload功能。

步骤4:修改路由器RARB之间链路的MTU值为1000字节。

1.执行如下Linux命令,在路由器RA上修改接口tapRA_RB的MTU值为1000字节。

ip netns exec RA ifconfig tapRA_RB mtu 1000

2.执行如下Linux命令,在路由器RB上修改接口tapRB_RA的MTU值为1000字节。

ip netns exec RB ifconfig tapRB_RA mtu 1000

步骤5:打开两个终端窗口,分别模拟主机ns56A和主机ns57C

1.打开一个终端窗口,利用Linux命令bash将本窗口模拟成主机ns56A的终端  执行以下命令。

ip netns exec ns56A bash

执行上述命令后,Linux将在网络命名空间ns56A中开启bash交互,之后输入的Linux命令均在ns56A中执行,相当于模拟了主机ns56A的终端。

2.然后输入 ifconfig -a ,确认是否成功模拟成主机ns56A。

为了避免混淆,可以改变终端窗口名字。

3. 再打开一个终端窗口,利用Linux命令bash将本窗口模拟成主机ns57C的终端  执行以下命令 

ip netns exec ns57C bash

模拟主机ns57C的终端。

4.然后输入ifconfig -a ,确认是否成功模拟成主机ns57C,并修改终端名。

步骤6:在路由器RB上两次启动Wireshark,在接口tapRB_56A和接口tapRB_RA上启动抓包

1.新开一个终端窗口,执行如下命令,在路由器RB上后台启动Wireshark。

ip netns exec RB wireshark &

2.在Wireshark窗口中选择接口tapRB_56A,启动抓包。

3.执行如下命令,再次在路由器RB上后台启动Wireshark。

ip netns exec RB wireshark &

4.在Wireshark窗口中选择接口tapRB_RA,启动抓包。

步骤7:在主机ns57C上打开UDP服务。在主机ns56A上利用nping程序向主机ns57C发送包含1400字节数据的UDP用户数据报

1.在主机ns57C的模拟终端中,执行如下命令,在4499端口打开UDP服务。

nc -lvu 4499

2.在主机ns56A的模拟终端中,执行如下命令,封装1400字节UDP数据,指定客户端口号40321,从主机ns56A发往主机ns57C的4499端口。

(注意,如果要使用nping指令,需要提前安装nmap。)

nping --udp -p4499 -g40321 -c1 --data-length 1400 192.168.57.254

步骤8:在两个Wireshark窗口中停止抓包,保存抓包结果文件并分析本次通信,理解IP报文段格式,分析IP首部各字段含义。分析IP数据报在路由器RB上的分片过程。

停止抓包,分别保存两个抓包结果,分析数据。

【问题与分析】

1.在你的实验结果中,你在路由器RB的tapRB_56A接口上截获了几个IP数据报?在tapRB_RA接口上截获了几个IP数据报?截图说明你的分析过程。

在路由器RB的tapRB_56A接口上截获了1个IP数据报。

在tapRB_RA接口上截获了2个IP数据报。

2.在你的实验结果中,观察在路由器RB的tapRB_56A接口上截获的IP数据报,分析其IP首部,截图并填写表7.1。

按照数据填写即可。

表7.1 IP首部中各字段的值

字段名

版本

4

首部长度

20bytes

区分服务

0

ECN

0

总长度

1428

标识

1390

标志(3bit)

0

片偏移

0

TTL

64

协议

17

首部校验和

0x00007c1e

源IP地址

192.168.56.126

目的IP地址

192.168.57.254

 3.在你的实验结果中,路由器RB将本次通信中的IP数据报分成了几个IP分片?各IP分片的IP首部总长度、标识、标志和片偏移字段的值是多少?根据实验结果填写表7.2。截图说明你的分析过程。利用课堂讲解的IP分片算法,计算这几个字段的值,并验证是否与实验结果一致?

路由器RB将本次通信中的IP数据报分成了2个IP分片。

按照图中数据填写即可。

表7.2 路由器RB的分片结果

总长度

标识

标志

片偏移

IP分片1

976

1390

0x00000001

0

IP分片2

432

1390

0x00000000

122

IP分片3

……

 

片偏移的值为007a 实际为122。

第一个分片总长度为996,设置的1000,应该是受到片偏移需要是8的整数倍的影响,计算时需要注意。

  • 32
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值