ARP学习总结一

  • Post author:
  • Post category:其他




1、ARP是什么?



A




RP(Address  Resolution Protocol)地址解析协议,是根据





IP地址





获取





物理地址





的一个





TCP/IP协议





,是





IPv4





中必不可少的协议。



2、A




RP有什么作用?



简单讲就是把IP地址转换成MAC地址,那为什么要转换呢?在现行寻址机制中,主机的以太网网卡只能识别MAC地址,而不能识别IP地址,若数据帧中不指明主机B的MAC 地址,主机B的网卡不能识别该帧是发给自己的,因此主机A仅知道主机B的IP地址还不够,还必须知道主机B的MAC地址,才能完成对主机B的访问;网络之间是用IP地址寻址,网络之内(同一物理网段或称IP子网)是用MAC地址寻址。



3、ARP工作流程



主机之间的通信通常是通过IP地址进行,例如ping 192.168.0.2。主机将报文发出之前,必须填好以太网头部,也就是目标MAC和源MAC,那MAC是怎么填的呢?



实际上,每一台主机都有一个IP地址与MAC地址的映射表(简称ARP缓存表),主机发送报文之前,通过IP地址在表里查找对应的MAC地址,找到后,就可以封装以太网帧然后发送出去。



ARP缓存表是动态更新的,刚开始的时候这个表是空的,如图1.1所示。



图1.1

4、举个例子



假设在一个局域网中,有两台主机,分别是主机A(IP地址是192.168.0.1,MAC是b0-fc-36-3c-17-10),主机B(IP地址是192.168.0.2,MAC是00-0c-29-ed-76-b0),主机A向主机B发送消息时会经过以下的步骤:



第1步:主机A首先查看自己的ARP表,确认是否有主机B对应的ARP表项。如果找到了对应的MAC地址,主机A直接利用ARP表中的MAC地址,对应IP地址进行帧封装,并将数据包发送给主机B。



第2步:如果主机A在ARP缓存表中找不到主机B的对应的MAC地址,它将询问192.168.0.2的MAC地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。



第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,主机B将ARP请求报文中的发送端(主机A)的IP地址和MAC地址存入自己的ARP表中。以单播的方式发送ARP响应给主机A,其中也包含了自己的MAC地址。。



第4步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。如图1.2是更新后的缓存表。

图1.2



版权声明:本文为dhdt1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。