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

【Linux】以太网协议以及MTU

以太网协议

  • 数据链路层的功能
  • 以太网的数据格式
  • MTU
    • MTU对IP协议的影响
    • MTU对UDP协议的影响
    • MTU对TCP协议的影响

数据链路层的功能

数据链路层的主要功能是:控制链路。包括数据链路的建立、链路的维护和释放。MAC寻址也是它的功能,寻址是指计算机网卡的MAC地址。

以太网的数据格式

在这里插入图片描述
从图中可以看到,以太网的数据格式较为简单,包括源地址和目的地址,其中指的都是MAC地址,也就是物理上唯一标识此设备的
类型字段有三种指,分别为IP,ARP,RARP

MTU

也称为最大传输单元,这个是物理层的限制,也就是数据在通过物理层进行发送时的最大长度。
不同的网络类型有不同的MTU,而以太网的MTU为1500,如果一个数据包要通过数据链路层通过以太网发送到对端去时,如果其大小大于1500字节,数据链路层就会对其进行分片。

MTU对IP协议的影响

由于物理层的限制,较大的IP数据包会被分包
由于IP协议头部中标识了是否分包,以及哪些小包是属于同一个IP数据包,在对端接收到这些小包之后,会按照顺序重组,拼到一起之后返回给传输层。如果丢失了部分小包,重组就会失败。

MTU对UDP协议的影响

如果UDP协议携带的数据大于1472(1500-20(IP头部)-8(UDP头部)),在网络层就会被分为多个IP数据包,当多个IP数据包有任意一个丢失,都会导致对端网络层接收之后无法正常重组,整个数据被丢失的概率就会大大提升。

MTU对TCP协议的影响

由于TCP数据报的大小受MSS(最大报文段长度)限制,而MSS是在建立连接的过程中,双方的TCP进行协商的(协商双方传递报文段的最大长度),本质上是在协商应用层传输的数据大小。

应用层数据(MSS) + TCP头部(20) + IP头部(20) <= MTU(1500)
因此可以推断出MSS <= 1500 - 20 - 20 = 1460

因此可以见,由TCP进行打包的应用层数据,已经天然满足了MTU的要求,就不会被网络层进行分片了。

http://www.lryc.cn/news/148951.html

相关文章:

  • UE5打完包后,启动程序不能全屏
  • 财务部发布《企业数据资源相关会计处理暂行规定》
  • 引用(个人学习笔记黑马学习)
  • 卷积神经网络实现运动鞋识别 - P5
  • C#安装“Windows 窗体应用(.NET Framework)”
  • SQL高阶语句
  • 【交换机】如何通过Web方式登陆交换机
  • Flink CDC学习笔记
  • NEOVIM学习笔记
  • Docker三剑客之docker-compose
  • 单调队列
  • effective c++ 笔记
  • 【送书活动】深入浅出SSD:固态存储核心技术、原理与实战
  • GaussDB数据库SQL系列-行列转换
  • 美国陆军网络司令部利用人工智能增强网络攻防和作战决策能力
  • Notion团队协作魔法:如何玩转数字工作空间?
  • 视频云存储/安防监控/AI视频智能分析平台新功能:人员倒地检测详解
  • 解决RabbitMQ报错Stats in management UI are disabled on this node
  • 【重点】【NAND】聊聊固态硬盘SSD的寿命及其影响因素
  • 数据库约束
  • Unity实现MQTT服务器
  • Linux(centos) 下 Mysql 环境安装
  • 决策树(Decision Tree)
  • 解决 PaddleClas 下载预训练模型报错 ModuleNotFoundError No module named ‘ppcls‘ 的问题
  • 视觉化洞察:为什么我们需要数据可视化?
  • C语言函数概述——拜佛代码
  • 防火墙日志分析工具
  • Autofac中多个类继承同一个接口,如何注入?与抽象工厂模式相结合
  • Django系列之日志配置
  • 四轴飞行器传感器(SimulinkMatlab代码实现)