本文主要是介绍思科eiccie认证一定要看的MSS最大报文段长度概述(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思科eiccie认证一定要看的MSS最大报文段长度概述(一),MSS,最大报文段长度(Maximum Segment Size ),是TCP协议的一个选项,用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度(不包括文段头)。
在这之前,我们需要先来看一下IP分片。IP协议的设计初衷是应用于广泛的传输介质。IPv4数据包的最大长度为65535字节。带有逐跳扩展头部和巨型帧负载选项的IPv6数据包最长可以支持4294967295字节。但多数传输链路都会强制使用一个比较小的最大数据包长度,这个长度称为最大传输单元(Maximum Transmission Unit,MTU)。
当路由器收到比出接口MTU更大的IPv4数据包时,它就必须对数据包进行分片。IP分片发生在IP层,不仅源端主机会进行分片,中间的路由器也有可能分片,因为不同的网络的MTU是不一样的,如果传输路径上的某个网络的MTU比源端网络的MTU要小,路由器就可能对IP数据报再次进行分片。而分片数据的重组只会发生在目的端的IP层。
IP分片会造成以下问题:
[if !supportLists]1、[endif]对数据进行分片会消耗CPU和内存;
[if !supportLists]2、[endif]目标设备重组时也会消耗CPU和内存 资源;
[if !supportLists]3、[endif]分片之后,如果有一个分片被丢弃,则整个数据需要重传;
[if !supportLists]4、[endif]执行4到7层过滤的防火墙有可能无法正确处理IPv4分片。
为了避免出现这样的情况,TCP最大分段长度(Maximum Segment Size,MSS)定义了接收方设备在一个TCP段中可以接受的最大数据量。TCP段可以通过一个IPv4数据包进行发送,也可以分片后使用多个IPv4数据包发送。发送方和接收方之间不会对MSS进行协商。发送设备需要对TCP分段的尺寸进行限制,使其不大于接收方设备所报告的MSS长度。
这篇关于思科eiccie认证一定要看的MSS最大报文段长度概述(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!