以太网基础——ARP协议

本文详细介绍了ARP协议的工作原理,包括MAC地址的概念,ARP协议的作用,ARP工作流程,以及ARP帧的格式。通过示例解释了主机如何通过ARP找到目标主机的MAC地址,从而实现网络通信。同时,还探讨了ARP缓存表的重要性及其在数据包发送中的角色。

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

1:什么是MAC地址

        MAC地址(Media Access Control Address),直译为媒体访问控制位,也称为局域网地址(LAN address),MAC地址,以太网地址(Ethernet Address)物理地址(Physical Address)它是一个用来确认网络设备位置的地址。

         它是网络设备(如计算机,手机,路由器等)在物理层上唯一的身份标识符,它由48位(6Byte)二进制数组成,(例如:00:11:22:33:44:55每两个数用冒号或者短横线隔开,MAC地址是由设备厂商预设的,无法修改,因此可以用来区分不同的网络设备,在局域网中,数据包的传输是根据MAC地址进行路由的。

注:简单来说,IP地址标识网络中的逻辑设备,MAC地址标识物理设备。在以太网通信中,MAC地址是最重要的寻址标识,IP地址则用于更高层的逻辑寻址和路由。理解二者的区别非常重要。

2:什么是ARP协议

      ARP(Address Resolution Protocal,地址解析协议)是一种网络协议,用于将IP地址转换成MAC地址,以便在网络中传输数据,它可以通过广播的方式使网络中的所有主机都能知道IP地址与MAC地址的对应关系,从而实现网络上的数据通信。

       当主机需要与另一个主机通信时,它会首先向网络中广播一个ARP请求,询问该主机的MAC地址,接收该请求的主机会返回自己的MAC地址,以便发送方能够将数据发送到接收方,ARP协议是IPv4中非常重要的一种协议,它是实现网络通信的关键之一,(注意:ARP只用于IPv4协议中,IPv6协议使用的是Neighbor Discovery Protocal,译为邻居发现协议,它被纳入ICMPv6中)

       简而言之,ARP就是一种解决地址问题的协议,它以IP地址为线索,定位下一个应该接收数据分包的主机MAC地址,如果目标主机不在同一个链路上,那么会查找下一跳路由器的MAC地址。

3:ARP工作流程

        主机A的IP地址为192.168.1.1MAC地址为0A-11-22-33-44-01

        主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

        当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:

  • 第1步:根据主机A上的路由器内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
  • 第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

  • 第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
  • 第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
  • 第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

 下面我们通过图片进一步理解一下:

4:ARP帧格式 

        ARP请求和ARP应答都是被组装在一个ARP数据包中发送的,ARP包的组成结构如下图所示。需要注意的是:ARP包是被封装在以太网帧中发送的,所以在图中也列出了以太网帧头部

 4.1:MAC头部

        前 6+6+2 个字节是 MAC(以太网)头部 ,其余部分由 ARP 协议定义。 ARP 帧的前 8 个字节是通用的,剩余部分用于将 IPv4 协议映射到 48 位的以太网地址。

        首先让我们看看以太网头部:

               第一个字段是 DST 即目的MAC地址 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值