Linux C/C++ or 嵌入式面试之《网络编程系列》(9) MSS、MTU、IP分片、TCP分段

本文详细解析了网络编程中的关键概念:MSS(最大段大小)、MTU(最大传输单元)、IP分片和TCP分段。讨论了MSS的含义、协商过程,MTU对数据传输的影响,以及IP分片的原因和潜在问题。同时,阐述了TCP为何避免分片以及MSS设置的重要性。
摘要由CSDN通过智能技术生成

这些术语作为技术开发人员的基本常识,要掌握,冷不防的面试官问你什么是MTU,结果栽在这么简单的问题上。

一、MSS的含义

MSS是Maximum Segment Size的缩写,指TCP报文段所允许传送的数据部分最大长度
如果上层交付下来的数据太大,tcp会对其进行分块。这个分块过程是在传输层完成的,在接收端的传输层对分块的TCP报文段的数据部分进行重组。MSS字段位于TCP首部中的选项字段。

注意:这个MSS指的是TCP报文段中数据部分的最大长度,并不是整个TCP报文段长度。整个TCP报文段长度 = TCP首部长度 + TCP数据部分长度。

二、通信双方如何协商MSS

MSS的值是在TCP三次握手建立连接的过程中,经通信双方协商确定的

链路层使用以太网的话,IP层的MTU是1500 byte,这样去掉IP数据报首部(20 byte),在去掉TCP首部(20 byte)后为1460 byte,此时在默认情况下TCP“选项”字段的MSS值为1460 byte = 1500 - 20 - 20。

在 Internet 标准中,IP层的MTU是576 byte,那么此时TCP“选项”字段的MS

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值