以太网协议和ARP协议

本文深入探讨数据链路层的MAC地址作用及其格式,详细解释ARP协议如何解决IP地址到MAC地址的转换问题,包括ARP请求与应答流程、ARP缓存表机制及ARP数据报格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据链路层负责相邻设备之间的传输,其关键作用的是MAC地址。

MAC地址用于识别数据链路中互联的节点;MAC地址长48个比特位。

  

以太网帧格式

类型:网络层使用的协议

CRC校验:检验数据链路层数据帧是否出错 


只要确定了IP地址,就可以像这个目标发送IP数据报。在底层,进行实际通信时有必要知道每个IP地址所对应的MAC地址。

如果不知道,就无法传输数据了。

而解决这个问题,需要运用ARP协议。

ARP协议是通过IP地址获取MAC地址。

ARP协议的工作流程:

      为了获得目的主机的MAC地址,要通过广播发送一个ARP请求包。这个包包含了想要知道的MAC地址主机的IP地址。广播的包被同一链路上所有的主机或路由器接收,并被解析。如果ARP请求包中的目标IP地址和自己的IP地址一至,那么就将自己的MAC地址塞入ARP响应包返回。

注:

也就是说

       ARP协议只在子网内部有效

      ARP请求是广播发送的,如果目标主机收到则进行处理,如果不是目标主机收到,则丢弃掉

ARP缓存表

如果每发送一个IP数据报都要进行一次ARP请求以此确定MAC地址,那么将会造成不必要的网络流量。

为了解决上面问题,我们可以将刚得到的映射关系存入ARP缓存表一段时间(20min,即ARP缓存表的老化时间)。

如果在数据链路层没有在缓存表当中发现目的MAC地址,则发送ARP请求获取,否则直接从缓存表当中获取。

 

 

 

ARP数据报格式

以太网目的地址:ARP请求的目的MAC地址,全填充为1,表示广播地址

以太网源地址:ARP请求主机的MAC地址

帧类型:表示上层使用的协议(ARP协议是基于网络层和数据链路层之间的协议)

28字节的请求或应答:

2字节硬件地址类型:运行ARP网络的类型,以太网。

2字节协议类型:表示要映射的协议地址类型。它的值为0x0800表示IP地址类型

1字节的协议地址长度:IP地址的长度

op:标识是ARP请求还是ARP应答  1标识请求,2表示应答

发送端以太网地址:发送ARP请求或者应答主机的MAC地址

4字节发送端IP地址:发送端ARP请求或者应答主机的IP地址

目的以太网地址:

       ARP请求:填充 0x0000 0000 0000

      ARP应答:填充的是ARP请求中的源MAC地址

目的IP地址:目标主机的IP地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值