ARP地址解析协议工作原理

ARP地址解析协议?
无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。所以需要一种方法来完成IP 地址到MAC 地址的映射,这就是地址解析协议(Address Resolution Protocol)。每台主机都设有一个ARP 高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC 地址的映射表,称ARP 表。使用ARP 来动态维护此ARP 表。

ARP 工作在网络层,其工作原理如下:主机A 欲向本局域网上的某台主机B 发送IP 数据报时
1、(缓存中找IP地址对应的Mac地址)
先在其ARP 高速缓存中查看有无主机B 的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC 帧,然后通过局域网将该MAC帧发往此硬件地址。
2、(广播找ip对应的mac地址)
如果没有,那么就通过使用目的MAC 地址为FF-FF-FF-FF-FF-FF 的帧来封装并广播ARP请求分组,使同一个局域网里的所有主机收到ARP 请求。主机B 收到该ARP 请求后,向主机A 发出响应ARP 分组,分组中包含主机B 的IP
与MAC 地址的映射关系,主机A 在收到后将此映射写入ARP 缓存,然后按查询到的硬件地址发送MAC 帧。ARP 由于“看到了"IP地址,所以它工作在网络层,而NAT路由器由于“看到了“端口,所以它工作在传输层。
注意:ARP 用于解决同一个局域网上的主机或路由器的IP
3、(不同局域网的ip,找路由器的Mac地址,转发给路由器再进行下一步操作)
地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做,尽管ARP 请求分组是广播发送的,但ARP 响应分组是普通的单播,即从一个源地址发送到一个目的地址。

主机A要把Mac帧发送到ip地址为B的主机上(找B对应的mac)
1、首先,查找主机A的缓存里有没有B的ip地址所对应的mac,有的话直接发给这个mac地址
2、在局域网内发送一个地址为FF-FF-FF-FF-FF-FF的广播,查找该局域网内有没有ip对应的mac
3、如果该局域网内没有的话,就通过路由器转发给下一个网络,看下一个网络有没有对应的mac

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章