数据链路层:以太网、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 替代
相关推荐
新知图书6 分钟前
搭建Spring Boot开发环境
java·spring boot·后端
星辰徐哥12 分钟前
5G的行业应用:工业互联网、车联网、智慧医疗中的网络支撑
网络·5g·php
杨云龙UP12 分钟前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
Dovis(誓平步青云)15 分钟前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
宸津-代码粉碎机16 分钟前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
头疼的程序员42 分钟前
计算机网络:自顶向下方法(第七版)第八章 学习分享(三)
网络·学习·计算机网络
小码哥_常1 小时前
一个Starter搞定六种防护,Spring Boot API的超强护盾来了
后端
@insist1231 小时前
网络工程师-核心考点:网络管理体系与 SNMP 协议全解析
网络·智能路由器·网络工程师·软考·软件水平考试
autumn20051 小时前
Flutter 框架跨平台鸿蒙开发 - 历史人物对话
服务器·flutter·华为·harmonyos
我科绝伦(Huanhuan Zhou)2 小时前
分享一个网络智能运维系统
运维·网络