【计算机网络】数据链路层

跨网络传输的本质:由许多局域网(子网)转发的结果

要彻底理解跨网络转发,首先要理解 -> 局域网中报文的转发原理!

​​​​​​​

一、以太网帧格式

1.报头的含义

源地址/目的地址:源MAC地址和目的MAC地址

帧协议类型:有三种值,分别是IP、ARP、RARP

CRC:CRC校验码

2.解包/分用

如何解包:定长报头

如何分用:通过报头中的类型字段

二、局域网转发原理

局域网中所有的主机其实都能收到对应的报文,只不过大部分主机在自己的数据链路层通过对比MAC数据帧中的目标mac地址和自己的mac地址是否相等,来决策要不要在进行后续处理!

在局域网中,任何时刻只能有一个主机发送消息,如果同时发送多个消息,就会导致局域网中的数据发生碰撞 -> 所以一个局域网也叫一个碰撞域

通过碰撞检测和碰撞避免算法就可以保证任何时刻只有一台主机发消息

交换机的作用:划分碰撞域;因为有碰撞域,发送数据的时候还是短一些好 -> MTU

三、MTU

MTU:以太网最大传输单元(不同的网络类型MTU的值也不同)

1.MTU对IP协议的影响

由于数据链路层MTU的限制,对于较大的数据包 -> IP协议要进行分片

2.MTU对TCP协议的影响

一个TCP数据报也不能无限大,他也要受限于MTU,TCP有效载荷的最大长度称为MSS

四、ARP协议

1.ARP协议的作用

ARP协议:建立了主机IP地址和MAC地址的映射关系(根据IP地址得到目标主机的MAC地址)

2.ARP协议的格式

①硬件类型:链路层网络类型,1为以太网

②协议类型:要转换的地址类型,0x0800为IP地址

③硬件地址长度:对于以太网地址为6字节(MAC地址长度)

④协议地址长度:对于和IP地址为4字节(IP地址长度)

⑤op:1表示ARP请求;2表示ARP应答

⑥发送端以太网地址/发送端IP地址:发送端的MAC地址和IP地址

⑦目的以太网地址/目的IP地址:接收端的MAC地址和IP地址

3.ARP协议工作流程

ARP的结果是会被缓存起来的(分钟级的缓存)

五、RARP协议

根据IP地址得到目标主机的MAC地址

相关推荐
考虑考虑3 小时前
JDK26中的List.ofLazy()
java·后端·java ee
小蒜学长3 小时前
基于SpringBoot的公寓报修管理系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·公寓报修管理系统·多角色协同
Ada's3 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
云浪3 小时前
Go源码分析:搞懂 Go 是如何实现堆的
后端·go·源码阅读
2601_962885724 小时前
如何用 Python 计算 TRIX 三重指数平滑均线指标?
开发语言·python
还卿一钵无情泪4 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
高山有多高4 小时前
【Linux笔记】IO模型
linux
微软技术分享4 小时前
面向二进制安全的大模型多智能体框架
网络·安全·web安全
不会就选b5 小时前
Linux之TCP理论<1>
linux·运维·服务器
小π军5 小时前
操作系统面试题
java·linux·服务器