新版思科ccie网络工程师技术难点分析MTU和PMTU是什么

2024-01-25 12:48

本文主要是介绍新版思科ccie网络工程师技术难点分析MTU和PMTU是什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新版思科ccie网络工程师技术难点分析MTU和PMTU是什么MTU(最大传输单元):

最大传输单元用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。

以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500字节和1492字节。链路层的这个特性称为MTU,即最大传输单元。不同类型网络的数帧长度大多数都有一个上限。如果IP层有一个数据报要传,而且数据帧的长度比链路层的MTU还大,那么IP层就需要进行分片( fragmentation),即把数据报分成干片,这样每一片就都小于MTU。

数据链路不同,最大传输单元( Maximum transmission Unit,MTU)也不同,由于IP协议是数据链路的上一层,所以它必须不受数据链路的MTU大小的影响能够加以利用。当IP数据报太大时,就要采用分片技术,以保证数据帧不大于要过的网络的MTU。

IP协议除了具有路由寻址功能外,另一个重要的功能就是IP数据报的分片处理。每个数据链路层能够确定发送的一个帧的最大长度称为最大传输单元。在Ethernet中,MTU为1500字节;在FDDI中,MTU为4352字节;在 IP over AMT中,MTU为9180字节。 

如果要发送的IP数据报比数据链路层的MTU大,则无法发送该数据报。对于来自于上一层的IP协议,当要求发送的IP数据报比数据链路层的MTU大时,必把该数据报分割成多个IP数据报才能发送。另外,在进行通信的各台主机之间,存在着MTU不同的数据链路;在发送的过程中,也有MTU缩小的情况发生。当出现上述情况时,在发送过程中必须有一台能够进行分片处理的路由器。 

接收端主机必须对经过分片处理后的IP数据报进行还原处理。在中继路由器中,虽然路由器进行了分片处理,但并不进行还原处理。另外,经分片处理的IP数据报只有经过还原处理后才能还原成原来的IP数据报,才可以向上一层的模块传递数据。新版思科ccie网络工程师技术难点分析MTU和PMTU是什么

 

在IPv6协议之中,MTU又有了新的变化。前面学习的关于IPv6报文转发相关知识的时候知道, IPv6报文在转发的过程中是不进行分片操作的,当然也不进行分片报文的整合工作。IPv6报文仅在源节点进行分片,在目的节点进行组装。那么这会产生一个问题,源节点将报文到底分成多大的呢?很简单,为了所有的报文都能在路径上畅通无阻,那么分片的报文大小不能超过路径上最小的MTU,也就是PMTU——路径。MTURFC1981中定义了PMTU发现的机制,它是通过ICMPv6的Packet Too Big报文来完成的。首先源节点假设PMTU就是其出接口的MTU,发出报文,当转发路径上存在一个小于当前假设的PMTU时,就会向源节点发送Packet Too Big报文,并且携带自己的MTU值,此后源节点将PMTU的假设值更改为新收到的MTU值。如此反复,直到报文到达目的地之后,源节点就能知道到达某个目的地的PMTU了。假设源到目的要先后经过4条链路,链路地MTU分别是1500、1500、1400、1300,当源发送一个分片报文的时候,首先分成1500大小的片,当到达1400的出接口时,路由器就会返回PacketToo Big错误,同时携带1400的MTU值。源接收到之后就会重新分成1400大小的片,当到达1300的出接口时,同样返回Packet Too Big错误,携带1300的MTU值。之后源重新分成1300的报文,最终到达目的地,这样就找到了该路径的PMTU。

我们需要注意的是,只有数据包超过路径上的最小MTU时,PMTU发现机制才有意义,如果报文很小,小于路径上的最小MTU,就不可能产生Packet Too Big报文。由于IPv6要求链路层所支持的最小MTU为1280,所以PMTU的值不会小于1280。而最大PMTU一般由链路层决定,如果链路层是一个隧道,那么支持的PMTU可能会很大。

 

1、源端主机使用自己的MTU对报文进行分片,之后向目的主机发送报文。

2、中间转发设备接收到该报文进行转发时,如果发现转发报文的接口支持的MTU值小于报文长度,则会丢弃报文,并给源端返回一个ICMPv6差错报文,其中包含了转发失败的接口的MTU。

3、源主机收到该差错报文后,将使用报文中所携带的MTU重新对报文进行分片并发送。

4、如此反复,直到目的端主机收到这个报文,从而确定报文从源端到目的端路径中的最小MTU。新版思科ccie网络工程师技术难点分析MTU和PMTU是什么

 

这篇关于新版思科ccie网络工程师技术难点分析MTU和PMTU是什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643309

相关文章

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

python中Hash使用场景分析

《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网