数据链路层重点协议

news2024/12/23 9:24:37

目录

一、以太网

二、MTU 

1、MTU对IP协议的影响

2、MTU对UDP的影响

3、MTU对TCP协议的影响

三、ARP协议

1、作用:建立主机IP地址和MAC地址的映射关系

2、工作流程


一、以太网

以太网不是一种具体的网络,而是一种技术标准。既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构、访问控制方式、传输速率等

例如以太网中的网线必须是双绞线;传输速率有10M、100M、1000M等

以太网是当前应用最广泛的局域网技术,和以太网并列的还有令牌环网、无线LAN网

以太网帧格式: 

  • 源地址和目的地址是指网卡的硬件地址(MAC地址),长度是6字节,是在网卡出厂是固化的
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP
  • 帧末尾是CRC校验码 

IP协议立足于全局,完成整个通信过程的路径规划工作

以太网则是关注于局部,相邻两个设备之间的通信过程 

二、MTU 

MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层产生的限制

  • 以太网帧中的数据长度规定最小16个字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位
  • 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU
  • 如果一个数据包从以太网由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片
  • 不同的数据链路层标准的MTU是不同的
1、MTU对IP协议的影响

由于数据链路层MTU的限制,对于较大的IP数据包进行分包

  • 将较大的IP包分成多个小包,并给每个小包打上标签
  • 每个小包IP协议头的16位标识(id)都是相同的
  • 每个小包的IP协议头的3位标志字段中,第2位置为0表示允许分片,第3位表示结束标记(当前是否是最后一个小包,1是0否)
  • 到达对端时再将这些小包按顺序重组拼装到一起返回给传输层
  • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败。但是IP层不会重新传输数据

2、MTU对UDP的影响

一旦UDP携带的数据超过哦1472(1500-20(IP首部)-8(UDP首部)) ,那么就会在网咯层分成多个IP数据报

这多个IP数据有任意一个丢失都会引起接收端网络层重组失败,就意味着如果UDP数据报在网络层被分片整个数据被丢失的概率既大大增加了

3、MTU对TCP协议的影响

TCP的一个数据报也不能无限大,还是受制于MTU。TCP的单个数据报的最大消息长度称为MSS

TCP在建立连接的情况下,通信双方会进行MSS协商

最理想的情况下,MSS的值正好是在IP不会分片处理的最大长度(这个长度仍然是受制于数据链路层的MTU)

双方在发送SYN时会在TCP头部写入自己能支持的MSS值,然后双方得知对方的MSS值之后,选择较小的作为最终MSS

MSS的值就在TCP首部的40字节变长选项中(king=2)

三、ARP协议

ARP是一个介于数据链路层和网络层之间的协议

1、作用:建立主机IP地址和MAC地址的映射关系
  • 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址
  • 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符则直接丢弃
  • 因此在通讯前必须获得目的主机的硬件地址
2、工作流程

源主机发出ARP请求,询问"IP地址是192.168.0.1的主机的硬件地址是多少?"并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)

目的主机接收到广播的ARP请求发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中

每台主机维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(20min),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发送ARP请求来获得目的主机的硬件地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1931316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库第9

安装redis,启动客户端、验证 C:\Windows\System32>redis-cli string类型数据的命令操作: 设置键值 set k1 12 读取键值 get k1 ​ 数值类型自增1 incr k1 数值类型自减1 decr k1 查看值的长度 STRLEN k1 list类型数据的命令操作: &#x…

[MySQL][内置函数][日期函数][字符串函数][数学函数]详细讲解

目录 1.日期函数1.基础语法2.示例13.示例2 2.字符串函数1.基础语法2.示例 3.数学函数1.基础语法2.示例 4.其他函数 1.日期函数 1.基础语法 日期时间在MYSQL中是区分开的 日期:年月日时间:时分秒 获得年月日select current_date();----------------| cur…

Open3D 最小二乘法拟合点云平面

目录 一、概述 1.1最小二乘法原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2matplotlib可视化 3.3平面拟合方程 前期试读,后续会将博客加入该专栏,欢迎订阅 Open3D点云算法与点云深度学习…

opencv学习:图像视频的读取截取部分图像数据颜色通道提取合并颜色通道边界填充数值计算图像融合

一、计算机眼中的图像 1.图像操作 构成像素点的数字在0~255之间 RGB叫做图像的颜色通道 h500,w500 2.灰度图像 3. 彩色图像 4.图像的读取 5.视频的读取 cv2.VideoCapture()--在OpenCV中,可以使用VideoCapture来读取视频文件,或是摄像头数…

前缀和算法——部分OJ题详解

(文章的题目解释可能存在一些问题,欢迎各位小伙伴私信或评论指点(双手合十)) 关于前缀和算法 前缀和算法解决的是“快速得出一个连续区间的和”,以前求区间和的时间复杂度是O(N),使用前缀和可…

关于springboot的@DS(““)多数据源的注解无法生效的原因

对于com.baomidou.dynamic.datasource.annotation的DS注解,但凡有一个AOP的修改都会影响到多数据源无法生效的问题,本次我是添加了方法上添加了Transactional,例如下图: 在方法上写了这个注解,会影响到DS("db2&qu…

MODEL4高性价比工业级HMI芯片在喷码机解决方案中的应用

一、概述 随着工业自动化与智能化的发展,喷码机作为标识设备在各行各业中扮演着至关重要的角色。为满足市场对于高效、精准、灵活喷码的需求,我们推出了基于MODEL4工业级HMI芯片的喷码机解决方案。 该方案集成了高性能国产嵌入式64位RISC-V内核芯片组&…

<数据集>铁轨缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:844张 标注数量(xml文件个数):844 标注数量(txt文件个数):844 标注类别数:3 标注类别名称:[Spalling, Squat, Wheel Burn] 序号类别名称图片数框数1Spalling3315522…

集线器、交换机、路由器的区别,冲突域、广播域

冲突域 定义:同一时间内只能有一台设备发送信息的范围。 分层:基于OSI模型的第一层物理层。 广播域 定义:如果某个站点发出一个广播信号,所有能接受到这个信号的设备的范围称为一个广播域。 分层:基于OSI模型的第二…

绿色水利,智慧未来:数字孪生技术在智慧水库建设中的应用,助力实现水资源的可持续利用与环境保护的双赢

本文关键词:智慧水利、智慧水利工程、智慧水利发展前景、智慧水利技术、智慧水利信息化系统、智慧水利解决方案、数字水利和智慧水利、数字水利工程、数字水利建设、数字水利概念、人水和协、智慧水库、智慧水库管理平台、智慧水库建设方案、智慧水库解决方案、智慧…

【Python】open()函数的全面解析:如何读取和写入文件

文章目录 1. 基本用法:打开文件2. 不同模式的使用3. 文件读取方法3.1 readline()方法3.2 readlines()方法 4. 上下文管理器5. 错误处理6. 小结 在编程过程中,文件操作是一个非常常见的任务,而Python的open()函数是进行文件操作的基础。通过op…

Sparse4D-v3:稀疏感知的性能优化及端到端拓展

极致的感知性能与极简的感知pipeline一直是牵引我们持续向前的目标。为了实现该目标,打造一个性能优异的端到端感知模型是重中之重,充分发挥深度神经网络数据闭环的作用,才能打破当前感知系统的性能上限,解决更多的corner case&am…

分布式 I/O 系统Modbus TCP 耦合器BL200

BL200 耦合器是一个数据采集和控制系统,基于强大的 32 位微处理器设计,采用 Linux 操作系统,可以快速接入现场 PLC、SCADA 以及 ERP 系统, 内置逻辑控制、边缘计算应用,支持标准 Modbus TCP 服务器通讯,以太…

Ubuntu Desktop Docker 配置代理

Ubuntu Desktop Docker 配置代理 主要解决 docker pull 拉取不了镜像问题. Docker Desktop 配置代理 这个比较简单, 直接在 Docker Desktop 里设置 Proxies, 示例如下: http://127.0.0.1:7890 Docker Engine 配置代理 1.Docker Engine 使用下面配置文件即可, root 用户可…

Java面试八股之简述单例redis并发承载能力

简述单例redis并发承载能力 单例Redis实例的并发承载上限受到多种因素的影响,包括但不限于硬件性能、网络条件、数据集大小、操作类型以及Redis自身的配置。以下是几个关键因素的详细说明: 硬件性能: CPU:Redis主要依赖于CPU的…

服务器基础1

服务器基础复习01 1.环境部署 系统:华为欧拉系统 网络简单配置nmtui 因为华为欧拉系统密码需要复杂度 所以我们可以进入后更改密码 echo 123 | passwd --stdin root也可以 echo "root:123" | chpasswd2.关闭防火墙,禁用SElinux 首先先关…

BlueToothLE 拓展中writeBytesWithResponse与writeBytes有什么区别?

writeBytesWithResponse与writeBytes有什么区别? 根据文档,有WithRespon的,会触发一个 BytesWritten 事件,另一个不触发这个事件:App Inventor 2 低功耗蓝牙 BlueToothLE 拓展 App Inventor 2 中文网

SQl server 练习3

课后作业 在homework库下执行: CREATE TABLE user_profile_2 ( id int NOT NULL, device_id int NOT NULL, gender varchar(14) NOT NULL, age int , university varchar(32) NOT NULL, gpa float, active_days_within_30 float, question_cnt float, answer_cnt fl…

昇思25天学习打卡营第14天|DCGAN 与漫画头像生成:原理剖析与训练实战

目录 数据集下载 数据处理 构建生成器 构建判别器 模型训练 结果展示 数据集下载 首先尝试卸载已安装的 mindspore 库,然后通过指定的镜像源安装特定版本(2.2.14)的 mindspore 库。从指定的 URL 下载一个 zip 文件到当前目录下的 ./faces…

kubernetes k8s Deployment 控制器配置管理 k8s 红蓝部署 金丝雀发布

目录 1、Deployment控制器:概念、原理解读 1.1 Deployment概述 1.2 Deployment工作原理:如何管理rs和Pod? 2、Deployment资源清单文件编写技巧 3、Deployment使用案例:创建一个web站点 4、Deployment管理pod:扩…