数据链路层的重点协议

news/2024/10/30 23:26:16/

数据链路层的重点协议

  • 🔎认识以太网
    • 以太网帧格式
  • 🔎认识MTU
  • 🔎结尾

🔎认识以太网

  • “以太网” 不是一种具体的网络, 而是一种技术标准. 既包含了数据链路层的内容, 也包含了一些物理层的内容(例如规定了网络拓扑结构, 访问控制方式, 传输速率…)
  • 以太网是当前应用最广泛的局域网技术, 取代了其他局域网技术(例如令牌环, 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位片偏移
表示每个小的数据报之间的先后顺序(用于组包)

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油


http://www.ppmy.cn/news/62981.html

相关文章

本地使用IIS快速搭建一个属于自己的网站,并发布公网访问「无需购买云服务器」

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中,搭建网页都会借助各种软件的帮助&#xf…

记录-Symbol学习笔记

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Symbol是JavaScript中的原始数据类型之一,它表示一个唯一的、不可变的值,通常用作对象属性的键值。由于Symbol值是唯一的,因此可以防止对象属性被意外地覆盖或修改。…

PBDB Data Service:RIS format

RIS format 描述概要 描述 本文详细介绍RIS格式。 概要 RIS(Research Information Systems,科研信息系统)格式是通过以后缀 .ris 结束URL路径来选择的。这种格式最初是由Research Information Systems 定义的,后来成为处理书目…

探秘力扣之谜:如何轻松解决最长公共前缀问题?

本篇博客我会讲解力扣中的“14. 最长公共前缀”这道题,这是题目链接。 先来审题: 以下是几个输出示例: 提示: 这道题的思路其实并不难,也是一些字符串的常规操作的结合。大家可以先思考一下,再来听我讲…

【Linux】基础IO——文件描述符

目录 什么是文件描述符标准输入、输出、错误的返回值类型FILE*的理解进程中文件描述符的分配规则重定向的原理重定向的实际使用方法dup2 如何理解缓冲区 什么是文件描述符 在基础IO的上一篇博客里有提到过,系统调用open与close的返回值问题: 成功返回文…

在 TypeScript + Vue 项目中配合 Prettier 使用 ESLint

在 TypeScript Vue 项目中配合 Prettier 使用 ESLint 在软件开发中,编码风格是一种规范化的约定,用于定义代码的格式,样式和结构。统一编码风格有以下几点好处: 提高代码可读性:统一的编码风格使代码更易读&#xf…

TypeScript(一):初识TS、TS的数据类型、一些语法细节

TypeScript:第一章 一、初识TypeScript1.TS是干嘛的2.安装及运行ts文件3.变量的声明4.变量的类型推断5.JS中的类型声明 二、TypeScript的数据类型1.any类型2.unknow类型3.void类型4.never类型(了解)5.tuple类型(了解) …

JVM内存模型基础

大家好,我是易安! 我们知道运行一个Java应用程序,我们必须要先安装JDK或者JRE包。这是因为Java应用在编译后会变成字节码,然后通过字节码运行在JVM中,而JVM是JRE的核心组成部分。 JVM不仅承担了Java字节码的分析&#…