YESLAB学霸日记—PMTU实验


                               实验名称:PMTU实验
                                                 YESLAB学员:张成才

                                   实验目的

1、分析并验证PMTU的原理及过程。
实验拓扑

                                      实验步骤

1:基本的IP地址配置(本步骤省略)

2:IPv6的报文头分为基本报头和扩展报头,并将IP分配扩展的功能单独放在了分片报头中,基本报头不再提供分片信息,并且由于IPv6的源端到目的端的中间设备节点不处理分片报头,所以IPv6分片和重组只在源端和目的端进行,由于整条路径上的MTU可能有大有小,而PTMU机制正是用来通知源端在到达目的端的最小MTU是多少,源端记录下该MTU,再发送数据报文的时候以这个MTU对数据包进行分片,到底目的节点后进行重组,中间节点只负责快速转发报文。

R1、R3、R5、R6全网之间运行OSPFv3,路由可达。

在R6上ping R3的loopback0地址:

IPv6基本报头固定40bytes,ICMPv6头部8bytes,接口MTU默认1500,所以如果保持接口默认MTU 1500的话,数据部分超过1452即需要分片,分别以数据大小1452和1453 ping R3的loopback0

可以发现当数据大小为1453bytes是确实进行了分片,因为R6出口MTU即是默认的1500所以直接进行分片发送。
将AR1的G0/0/0接口的IPV6 MTU改为1400,同时忽略OSPFv3 MTU检查:

在AR6 以1452bytes ping2033::3,只ping一个包

不通,通过抓包可以发现R1的G0/0/1接口回复了一个Packet too big的ICMP报文

此时在设备R6中便可以发现有一条PMTU的记录

此时再在R6上以上述参数ping2033::3,便会发现数据包以MTU=1400进行分片

此时AR6 以1452bytes ping2055::5,只ping一个包

不同,查看PMTU的记录:

可以发现有两条记录,分别针对两个目的地址,所以PTMU是针对不同的目的地址分别记录的,并且是单向的。
将R3的G0/0/1接口的MTU修改为1300,同时忽略OSPFv3 MTU检查,在AR6 以1452bytes ping2055::5,只ping一个包

R3的G0/0/1接口回复Packet too big消息,此时再查看R6的PMTU记录:

此时再ping 2055::5,数据包将以MTU1300进行分片

当R6上记录的PMTU都消失后,在R6上以1452bytes ping2055::5的时候,R6将以自己的出接口MTU1500发送数据,当数据包到达R1的G0/0/0接口发现数据包超过接口MTU,于是R1回复Packet too big并告知MTU=1400,这样R6会再以MTU 1400对数据包进行分片发送,当数据包到达R3的G0/0/1的时候,R3发现数据包超过接口MTU,于是R3回复Packet too big并告知R6 MTU=1300,这样R6会再以MTU=1300对数据进行分片发送,直到目的节点,这样R6便确定了最终到达目的地的最小MTU为1300,之后的数据包都以1300进行分配发送。

                                        实验心得

1、PMTU使用ICMP报文,但不属于NDP协议的一部分,因为PMTU使用的ICMP报文的type=2属于差错控制报文。
2、MTU属于IP层的信息,修改接口的MTU要区分IPv4和IPv6
3、PMTU是单向的,发生在数据包的出接口上。针对不同的目的地址可能有不同的MTU。
4、RFC推荐PMTU记录保存时间为10分钟,因为路径上的MTU可能会发生变动,当路径上的最小MTU变得更小的时候可以再通过PMTU检测到,但当路径上的最小MTU变大的时候,却没有相关机制来告知源节点,如果源节点继续以原来记录的较小MTU发送数据会造成资源的浪费,所以当源端记录的PMTU超时后,源端会以自己的出接口MTU来发送报文,并重新进行PMTU探测。
5、RFC规定IPv6最小MTU为1280。



获取更多实验报告,请联系

原文地址:https://blog.51cto.com/14476517/2472883

时间: 2024-07-31 00:32:43

YESLAB学霸日记—PMTU实验的相关文章

YESLAB学霸日记—华为数通之IPv6 DAD和地址解析实验

实验名称:IPv6 DAD和地址解析实验 YESLAB数通学员:张成才 实验目的1.观察并分析IPv6 DAD过程2.观察并分析IPv6地址解析过程 实验拓扑 实验步骤1:观察并分析IPv6地址解析过程在AR1的G0/0/0开启抓包.AR1的G0/0/0接口配置ipv6地址2012::1/64.在接口配置ipv6地址后,ipv6有一段称为Tentative生命期,在该阶段要进行DAD,即重复地址检测,确认没有其他设备在使用该地址,该地址才能正常用于数据通信.通过抓包可以发现有两个NS报文,这是因

YESLAB 华为数通学霸日记 | IPv6配置实验

通过抓包可以看到R1发送的RA报文,ra报文里包含了前缀信息以及flag字段里的m.o位信息,都为0说明是通过无状态获取地址. 在AR1的g0/0/0接口配置ipv6地址2012::1/64,在AR2的0/0/0接口配置自动地址AR2配置自动获取地址在AR2 上查看自动获取的ipv6地址,可以发现是由EUI64自动生成的地址改变AR2接口地址配置,使其自动获取后可以生成默认路由查看ipv6路由表,发现通过unr的方式自动生成了一条默认路由2.在AR2与AR3互联的接口配置IPv6地址AR2配置:

日记的几种写法(博客测试篇)

日记是一种很自由的文体. 日记是生活和思想感情的实录.正如老作家冰心所说:"心中有什么,笔下就写什么,话怎么说,字就怎么写:有话则长,无话即短:思想感情发泄完了,文章也就写完了." 写日记,也是积累知识的好方法.把一天的所学.所闻.所感记下来,长期坚持下去,日记就会成为知识的小仓库. 写日记的形式多种多样,有记实式的,有随感式的,有研讨式的:有几千字的长篇日记,也有三言两语的日记.同学们可以根据自己的实际情况,选择一种或几种形式进行训练.下面向大家介绍几种常见的日记形式: 1.思想日记

Citrix思杰XenDesktop、Pvs测试日记《一、实验环境说明》

资源有限,仅使用了一台戴尔机架服务器,服务器安装XS,其他服务器全部为此XS上的虚拟机,域控除外. 机架服务器介绍: 服务器型号 CPU 内存 硬盘 网卡 DELL R730 E5-2609 32G SAS 4T Intel1000Mx4 硬盘做阵列1,分区2T和1.8T,因为XS6.5最大识别2T硬盘容量,另外1.8T在安装XS后,挂载到本地存储. 网络环境介绍: IP网段:172.18.0.0/16 网关:172.18.255.254 域和DNS是在实际使用中的,域名:@Citrix.com

ASP.NET c# 实验日记(1)

第一次写有一些紧张,以前学过html,c语言,vb,c#等语言.也自己翻过有关javascript的书,现在的目的是怎么把学习经验写的更具结构化和条理化,大佬勿喷. 在一个集成开发平台里第一步就是新建网站选择asp.net. 我们发现把右边的解决方案资源管理器拉开发现有基本的几个文件*.aspx,点开它还有一层asp.cs文件,配置文件config我们暂且缓一缓. *.aspx _只是一个网站的后缀名,并没有什么特别,如同html一样只是一个页面文件 *aspx.cs_这里才是核心代码而且只能在

智慧中国杯百万大奖赛解读 | 学霸去哪了(二)

在上一篇中我们探讨了学生的消费数据,消费数据对本次竞赛预测来讲很重要.本篇将探索寝室门禁.图书借阅.图书馆门禁和学生成绩等一些和学生学习相关的数据,来看看学生的品行如何,虽然资助金和奖学金的性质不太一样,但我们毕竟还是想资助那些品学兼优的学生,而不是资助虽然家境很贫寒但不学无术的学生. 所以本篇探索的数据可以比较好的反应出这些情况.当然这里面还隐藏了更好玩的话题,学霸去哪了?话不多说,let's go! 一.数据目录概况 官方提供的数据分为两组,分别是训练集和测试集,每一组都包含大约1万名学生的

Linux实验一

一.Linux 简介 实验介绍 本节主要介绍 Linux 的历史,Linux 与 Windows 的区别等入门知识.如果你已经有过充分的了解,可以跳过本节,直接进入下一个实验. 一.Linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍下操作系统在整个计算机系统中的角色. 我们的 Linux 也就是系统调用和内核那两层,当然直观的

LINUX基础实验报告

实验一:主要是介绍Linux系统概况,无运行代码. 实验二:Linux的基本操作 重要知识点 [Tab] 使用Tab键来进行命令补全,Tab键一般键盘是在字母Q旁边,这个技巧给你带来的最大的好处就是当你忘记某个命令的全称时你可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成,当然不止补全命令,补全目录,补全命令参数都是没问题的. Ctrl+c键 用来强行终止当前程序. 一些其他常用快捷键 按键 作用 Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂定当前程序,暂停后按下任

第一次实验报告

实     验    报     告 课程:信息安全系统设计基础  班级:1353 姓名:黎静  学号:20135338 成绩:             指导教师:娄嘉鹏    实验日期:2015.9.20 实验密级:         预习程度:         实验时间:10:00--22:00 仪器组次:29         必修/选修: 选修            实验序号:1~12 第一次实验部分截图 一.Linux 简介 实验介绍 本节主要介绍 Linux 的历史,Linux 与 Wi