数据链路层的重点协议

简介: 数据链路层的重点协议

🔎认识以太网

  • “以太网” 不是一种具体的网络, 而是一种技术标准. 既包含了数据链路层的内容, 也包含了一些物理层的内容(例如规定了网络拓扑结构, 访问控制方式, 传输速率…)
  • 以太网是当前应用最广泛的局域网技术, 取代了其他局域网技术(例如令牌环, FDDI, ARCNET…)

以太网帧格式

图片来自网络

  • 源地址和目的地址是指网卡的硬件地址(MAC 地址), 长度是48位(6字节), 是在网卡出厂时固定好的
  • 帧协议类型有3种
  • 类型 0800 对应 IP
  • 类型 0806 对应 ARP(地址解析协议)
  • 类型 0835 对应 RARP(逆地址解析协议)
  • 数据(46 ~ 1500)
  • 46 : 以太网帧中的数据长度规定最小46字节(长度不足46字节, 需要在后面填充补位)
  • 1500 : 以太网帧中的数据长度规定最大1500字节(硬件限制)
  • 不同的数据链路层, 对应的硬件设备不同, 传输数据的上限也就不同
  • 帧尾的 CRC 是校验和

🔎认识MTU

MTU

数据链路层数据帧的最大载荷长度

  • 以太网帧中的数据长度规定最大1500字节
  • 最大值1500称为以太网的最大传输单元(MTU)
  • 不同的网络类型有不同的MTU

如果承载的数据, 长度超过 MTU, 就会在 IP 层进行分包

使每个分出来的结果, 都在 MTU 之内

分包过程🥝

⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇

图片来自网络

(1)16位标识

一个大的 IP 数据报分成若干个小的数据报之后

通过 IP 协议的16位标识, 这些小的数据报的标识都是相同的

(2)3位标志

  • 1位不用
  • 1位表示是否分包
  • 1位表示是否为分包后的最后一个小的数据报(结束标记)

(3)13位片偏移

表示每个小的数据报之间的先后顺序(用于组包)

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍

大家有什么不太理解的,可以私信或者评论区留言,一起加油

相关文章
|
算法 定位技术 C++
基本算法-回溯法(迷宫问题)
基本算法-回溯法(迷宫问题)
1352 0
|
10月前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
169 1
|
JavaScript 前端开发 API
autoxjs的介绍
autoxjs的介绍
|
人工智能 算法 PyTorch
YOLO的版本及进阶历史
YOLO的版本及进阶历史
|
XML 监控 Java
Spring框架的核心原理与应用实践
Spring框架的核心原理与应用实践
Qt6自定义QML控件的方式
Qt6自定义QML控件的方式
418 1
|
存储 算法 数据可视化
变异位点染色体分布图绘制方法
变异位点染色体分布图绘制方法
|
存储 分布式计算 Hadoop
黑马程序员-大数据入门到实战-HDFS分布式存储
黑马程序员-大数据入门到实战-HDFS分布式存储
326 0
解决 Error: ENOENT: no such file or directory, scandir ‘..\node_modules\node-sass\vendor‘
解决 Error: ENOENT: no such file or directory, scandir ‘..\node_modules\node-sass\vendor‘
655 0
|
Linux 虚拟化
【Linux系列】vmware虚拟机网络配置详解(中)
【Linux系列】vmware虚拟机网络配置详解(中)