当前位置: 首页 > news >正文

理解协议最大传输单元(MTU)和TCP 最大报文段长度(MSS)

1. 背景

公司的网络使用办公防火墙NAT代理访问互联网,托管在IDC的服务器也在机房防火墙后,也经过NAT。公司访问IDC服务器,通过SSL VPN连接,访问某些网页时,经常会打不开或页面错误。怀疑是MTU值造成的。

2. 测试

2.1 测试VPN链路中最大MTU

1. SSL VPN客户端不限制MTU
在这里插入图片描述

2. 测试访问IDC内网服务器
经测试,发现数据包长度1384时可以通过,1385时就被丢弃。

  • 172.27.2.3 IDC内服务器IP
  • f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
  • l 1384 设置数据部分长度为1384

在这里插入图片描述

2.2 测试结果说明

  1. 网络链路
    办公网IP --> 办公网网关防火墙(MTU=1472)–> 互联网链路 --> IDC防火墙 --> IDC内服务器IP
  • 最小MTU限制是1472(办公网网关防火墙)
  • 1384字节(数据包)+8字节(ICMP)+20字节(IP)=1412字节
  • 1472- 1412 =60字节,应该是SSL VPN 二次封装的头部字节

3. 解决

3.1 修改VPN客户端

直接修改VPN客户端设置,配置“虚拟网卡MTU值”小于1400(图中设置1384)
在这里插入图片描述

3.2 修改VPN服务端

修改华为防火墙设置,指定“TCP 最大报文段长度(MSS)”小于1384(图中设置1384)
在这里插入图片描述

4. 概念

4.1 说明

  1. 最大报文段长度(MSS,Maximum Segment Size)
  2. 最大传输单元(MTU,Maximum Transmission Unit)
属性MTU(最大传输单元)MSS(TCP 最大报文段长度)
所属层次数据链路层(如以太网、VPN 隧道等)TCP 传输层
定义链路层一次能传输的最大字节数(含所有头部)TCP 报文段中数据部分的最大字节数(不含头部)
包含内容包含 IP 头部、TCP/UDP 头部、应用层数据(即 “整个数据包”)仅包含 TCP 协议承载的应用层数据(纯 payload)
典型值以太网默认 1500 字节,VPN 隧道可能更小(本例中 1472)通常为 MTU 减去 IP 头部(20 字节)和 TCP 头部(20 字节),如 1460 字节

4.2 关系

参考: TCP/IP协议-最大传输单元MTU和最大分段大小MSS

  1. 当IP数据包在相应链路层传输前,若检测到IP数据包的长度大于MTU的值,则IP数据包在IP层进行分片,使得每个数据包的长度小于MTU,且每个数据包到达目的地之前不会被重组。
  2. 若数据长度超过MSS长度,则TCP协议就会分片,而不是等到IP层再分片。
  3. MSS 是基于 MTU 计算的,目的是避免 TCP 数据包在 IP 层被分片(分片会降低效率,甚至可能被某些设备丢弃)。
    计算公式(简化版):
  4. MSS = MTU - IP头部长度 - TCP头部长度
http://www.lryc.cn/news/615304.html

相关文章:

  • 自动生成视频的AI大模型高效创作指南
  • 掌握数据可视化:全局配置项详解
  • Nginx 反向代理与负载均衡架构
  • Redhat Linux 9.6 配置本地 yum 源
  • qt文件操作与qss基础
  • 2025彩虹易支付官方正版无删减完整版源码
  • B.10.01.5-电商系统的设计模式应用实战
  • 【Canvas与旗帜】圆角蓝底大黄白星十一红白带旗
  • Node.js特训专栏-实战进阶:22. Docker容器化部署
  • 北京JAVA基础面试30天打卡05
  • STM32的中断系统
  • 05.【数据结构-C语言】栈(先进后出,栈的实现:进栈、出栈、获取栈顶元素,栈实现代码,括号匹配问题)
  • 【排序算法】③直接选择排序
  • 心灵笔记:思考三部曲
  • 使用 Spring Boot 集成七牛云实现图片/文件上传
  • 机器翻译:FastText算法详解与Python的完整实现
  • istio笔记03--快速上手多集群mesh
  • 支持 UMD 自定义组件与版本控制:从 Schema 到动态渲染
  • [FOC电机控制]霍尔传感器于角度问题
  • 贪心----1.买卖股票的最佳时机
  • GoEnhance AI-AI视频风格转换工具
  • 利用whisper api实现若无字幕则自动下载音频并用 whisper 转写,再用 LLM 总结。
  • 飞算JavaAI:人工智能与Java的创新融合与应用前景
  • Klipper-G3圆弧路径算法
  • 四、RuoYi-Cloud-Plus 部署时nacos配置服务启动
  • 驾驶场景玩手机识别准确率↑32%:陌讯动态特征融合算法实战解析
  • 最长回文子串(马拉车/Manacher‘s )算法
  • Android 设置/修改系统NTP服务地址
  • 【Avalonia】无开发者账号使用iOS真机调试跨平台应用
  • 提示条贴合右侧边栏