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

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

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

​​​​​​​

一、以太网帧格式

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

相关推荐
AGI学习社6 分钟前
2024中国排名前十AI大模型进展、应用案例与发展趋势
linux·服务器·人工智能·华为·llama
黑客-雨11 分钟前
从零开始:如何用Python训练一个AI模型(超详细教程)非常详细收藏我这一篇就够了!
开发语言·人工智能·python·大模型·ai产品经理·大模型学习·大模型入门
Pandaconda16 分钟前
【Golang 面试题】每日 3 题(三十九)
开发语言·经验分享·笔记·后端·面试·golang·go
半盏茶香17 分钟前
扬帆数据结构算法之雅舟航程,漫步C++幽谷——LeetCode刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
数据结构·c++·算法
加油,旭杏20 分钟前
【go语言】变量和常量
服务器·开发语言·golang
行路见知20 分钟前
3.3 Go 返回值详解
开发语言·golang
xcLeigh24 分钟前
WPF实战案例 | C# WPF实现大学选课系统
开发语言·c#·wpf
哎呦,帅小伙哦25 分钟前
Effective C++ 规则41:了解隐式接口和编译期多态
c++·effective c++
H.2026 分钟前
centos7执行yum操作时报错Could not retrieve mirrorlist http://mirrorlist.centos.org解决
linux·centos
NoneCoder34 分钟前
JavaScript系列(38)-- WebRTC技术详解
开发语言·javascript·webrtc