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

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

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

​​​​​​​

一、以太网帧格式

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

相关推荐
草莓熊Lotso21 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Cx330❀21 小时前
《Linux进阶指令实操指南》:文件查看、时间管理、搜索压缩全覆盖(附高频案例)
linux·运维·服务器
小蝈蝈啊21 小时前
HTTP相关知识点
网络协议·http·iphone
亚雷21 小时前
深入浅出达梦共享存储集群数据同步
数据库·后端·程序员
作伴21 小时前
多租户架构如何设计多数据源
后端
怀揣小梦想21 小时前
跟着Carl学算法--哈希表
数据结构·c++·笔记·算法·哈希算法·散列表
Nebula_g21 小时前
Java哈希表入门详解(Hash)
java·开发语言·学习·算法·哈希算法·初学者
努力努力再努力wz21 小时前
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)
java·linux·开发语言·数据结构·数据库·c++·散列表
加油=^_^=1 天前
【C++】哈希表
数据结构·c++·散列表
对纯音乐情有独钟的阿甘1 天前
【C++庖丁解牛】哈希表/散列表的设计原理 | 哈希函数
c++·哈希算法·散列表