ARP网络协议工作原理

时间:2008-12-31

  假设网络中有两个节点A和B,如果A需要把IP数据包通过网络发送到B,那么A首先在自己的缓存中搜索和B关联的表目,如果查找成功,就使用表中对应的MAC地址来发送数据;如果查找关联表目失败,A就生成一个以太网的广播帧,并在帧中填入A的IP地址、A的MAC地址、B的IP地址、协议类型等字段,形成一个ARP请求帧。

  B接收到A发出的ARP请求(广播)帧后,首先根据A的信息刷新自己的ARP缓存,以节省不必要的ARP通信,然后生成一个ARP应答帧,在其中填入B的MAC地址,并把应答帧通过以太网发送回A。A将B的ARP信息写入高速缓存,完成ARP请求和应答过程。

  即使没有发送ARP请求,当收到任何格式正确的ARP应答帧时,也要对此帧作出响应,刷新自己ARP缓存中的相应表。
  ARP报文格式如表所示。

ARP报文格式如表

  表中每行为32个二进制位,也就是4个8位组。硬件类型字段(2字节)指明了发送方想知道的硬件接口类型,以太网对应数值为十六进制“0001”。协议类型字段(2字节)指明了发送方提供的高层协议类型,P协议对应数值为十六进制“0806”。硬件地址长度字段(1字节)和逻辑地址长度字段(1字节)指明了硬件(2字节)地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意高层协议的网络中使用。操作字段(2字节)指明了ARP帧所进行的操作类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。发送和接收端硬件地址字段(6字节)为相应机器的物理MAC地址,发送和接收端IP地址字段(4字节)为相应的高层IP地址。

  以下是捕获的一个ARP请求帧和一个ARP应答帧,它显示了当IP地址为192.168.1.23的A访问IP地址为192.168.1.1的B时,A通过广播帧发出ARP请求并得到B的应答帧的过程。

  ****A(192.168,1.17)的ARP请求报文


  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:串口调试程序代码
下一篇:ARP网络实现流程

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料