数据链路层:以太网、MAC 地址及 ARP 协议详解

数据链路层

以太网

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

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

帧格式

以太帧起始部分由前同步码和帧开始定界符组成,后面紧跟着一个以太网报头,以 MAC 地址说明目的地址和源地址。以太帧的中部是该帧负载的包含其他协议报头的数据包,如 IP 协议。

源地址和目的地址,是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的;

地址一般是唯一的,一个网卡一个MAC地址

帧协议类型: 字段有三种值,分别对应IP、ARP、RARP;

帧末尾是CRC校验码

MAC地址

  • MAC地址用来识别数据链路层中相连的节点;

  • 长度为48位,及6个字节。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:b:19)在网卡出厂时就确定了,不能修改.

  • mac地址通常是唯一的(与网卡绑定)(虚以机中的mac地址不是真实的mac地址,可能会冲突;也有些网卡支持用户配置mac地址).

对比IP地址: IP地址描述的是路途总体的起点和终点;MAC地址描述的是路途上的每⼀个区间的起点和终点;

MTU

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

以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位;

最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;

如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation);

不同的数据链路层标准的MTU是不同的;

ARP协议

需要强调,ARP(地址解析协议 )不是⼀个单纯的数据链路层的协议,而是**⼀个介于数据链路层和网络层之间的协议**;

准确的说,在 TCP/IP 模式中 ARP 协议属于网络层 ,在 OSI 参考模型中 ARP 协议属于数据链路层。

在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址(逻辑地址)转换为MAC地址(物理地址)的工作是由ARP协议来完成的。

ARP协议仅存在于IPv4,IPv6中没有ARP协议 。其原因是因为IPv6采用了邻居发现协议(Neighbor Discovery Protocol,NDP)来处理地址解析和邻居发现,以取代IPv4中的ARP。

ARP协议的作用:

ARP协议通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行,将 IP 地址转换为 MAC 地址,建立了主机IP地址和MAC地址的映射关系。

工作原理
  • 广播请求、点对点响应 :在同一条链路,主机 A 想要获取主机 B 的 MAC 地址,通过主机 A 会通过广播 的方式向以太网上的所有主机发送一个 ARP 请求包,这个 ARP 请求包中包含了主机 A 想要知道的主机 B 的 IP 地址的 MAC 地址,只有主机B会响应。

  • 缓存 :每台主机都维护⼀个ARP缓存表 ,可以用arp-a命令查看。缓存表中的表项有过期时间(⼀般为20分),如果20分钟内没有再次使用某个表项,则该表项失效;如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文。

如果在不同链路, 就要使用到 代理 ARP 了,通常 ARP 会被路由器隔离,但是采用代理 ARP (ARP Proxy) 的路由器可以将 ARP 请求转发给临近的网段。

RARP协议

ARP 协议用于将 IP 地址解析为 MAC 地址(IP------》MAC ),而 RARP 协议则是将 MAC 地址解析为 IP 地址(MAC------》IP),二者都是为了实现网络中不同地址格式之间的转换,以确保数据在不同层次的网络设备之间能够正确传输。

然而,由于RARP它只能处理静态映射,缺乏灵活性,现在RARP在现代网络中已经被DHCP、 BOOTP等更为先进的协议所取代 ; 而ARP协议则仍被广泛使用。

工作原理

ARP 协议的工作过程是主机通过广播发送 ARP 请求,询问目标 IP 地址对应的 MAC 地址,拥有该 IP 地址的主机收到请求后会发送 ARP 响应,告知自己的 MAC 地址。

而 RARP 协议的工作过程是主机发送 RARP 请求,其中包含自己的 MAC 地址,请求网络中的 RARP 服务器为其分配对应的 IP 地址,RARP 服务器收到请求后,根据 MAC 地址查找对应的 IP 地址,并通过 RARP 响应发送给请求主机。

可以说,RARP 协议是 ARP 协议的逆向过程。

特性 ARP (地址解析协议) RARP (反向地址解析协议)
功能 将 IP 地址转换为 MAC 地址 将 MAC 地址转换为 IP 地址
使用场景 网络设备需要知道目标设备的 MAC 地址 网络设备需要通过 MAC 地址获取 IP 地址
工作方式 通过广播请求和回应来获取目标设备的 MAC 地址 通过广播请求和回应来获取设备的 IP 地址
表的存储 ARP 表:IP 地址到 MAC 地址的映射 RARP 表:MAC 地址到 IP 地址的映射
现代替代 ARP 仍在广泛使用 RARP 被 BOOTP 和 DHCP 替代
相关推荐
用户EasyAdminBlazor几秒前
EasyAdminBlazor 实战:从 Entity 到完整 Admin Blazor 后台详解
后端
Bazingga1 分钟前
AgentScope 到底是用来做什么的?一篇笔记说清楚
后端
威哥爱编程1 分钟前
【AI全栈12-03】Spring Boot 用多模型路由把智能客服成本降下来
java·spring boot·后端
威哥爱编程2 分钟前
【AI全栈12-02】Spring Boot 跑通第一个 AI 对话接口:HR 政策问答机器人实战
java·spring boot·后端
Bazingga5 分钟前
Spring AI 还是 LangChain4j?我用同一套业务代码跑了一遍,答案出乎意料
后端
焦玉全5 分钟前
动态代理学习笔记:JDK 与 CGLIB 的完整代码流程
后端
汝吾此便安好12 分钟前
Axum 中间件执行顺序
后端
深圳恒讯16 分钟前
海外服务器延迟高怎么解决?从线路到TCP协议的6层排查清单
运维·服务器·tcp/ip
物联网软硬件开发-轨物科技22 分钟前
【轨物洞见】什么是产品碳足迹(PCF)?ISO 14067 计算方法与应用场景深度解读
大数据·网络·人工智能
小羊没烦恼!31 分钟前
jQuery1.5的改进细节
java·服务器·开发语言·前端·c#