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

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

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

​​​​​​​

一、以太网帧格式

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地址

相关推荐
zybishe1 分钟前
计算机毕业设计原创定制(免费送源码)Java+SpringBoot+MySQL SpringBoot物流配送后台系统
java·css·c++·spring boot·spark·django·课程设计
BIM云平台开发3 分钟前
关于return,yield 和 yield return
java·开发语言·数据结构·c#
小柯J桑_3 分钟前
C++:用红黑树封装map与set-2
开发语言·c++·set·map·红黑树
黄俊懿3 分钟前
【深入理解SpringCloud微服务】Sentinel功能详解
后端·spring·spring cloud·微服务·中间件·架构·sentinel
运维&陈同学7 分钟前
【zookeeper04】消息队列与微服务之zookeeper客户端访问
linux·后端·微服务·zookeeper·云原生·消息队列·云计算
zwm_yy15 分钟前
Dockerfile && docker-compose
开发语言·docker
Guofu_Liao26 分钟前
Macos远程连接Linux桌面教程;Ubuntu配置远程桌面;Mac端远程登陆Linux桌面;可能出现的问题
linux·ubuntu·macos
敲代码不忘补水35 分钟前
Python Matplotlib 经典 3D 绘图类型:从二维到三维的可视化解析
开发语言·python·3d·数据分析·numpy·pandas·matplotlib
好好学习++41 分钟前
【HF设计模式】01-策略模式
java·c++·设计模式·策略模式
码农飞飞1 小时前
详解Rust字符串用法
开发语言·算法·rust·string·所有权·字符串用法