转载网址:http://blog.sina.com.cn/s/blog_66a13c610100hqr6.html
ARP协议详解
ARP协议报文格式如图1所示:
图1 ARP协议报文格式
ARP这个协议的作用是:当源主机知道目的主机的IP地址而不知道对方的MAC地址的话可以使用ARP这个广播协议来获得对方的MAC地址,获得硬件地址的原因是主机通信是通过MAC地址来实现的。
这是以太网中的ARP报文格式。
(1):以太网目的地址:是硬件地址,包含六个字节的地址。例如:
00 1f 3c d1 b6 7d 。
(2):以太网源地址:是发出给ARP包的主机地址。格式与目的地址相同 。
(3):以太帧类型:用来表明上层协议的类型,如果是ARP协议的话就为:0806 。
以上这三部分为数据链路层中以太帧的首部格式,其实在以太帧的尾部还有一个字段(图中未标出)是:
(4):帧检查序列:用于对数据帧中数据的差错检查的 。
硬件类型:如果是以太网则硬件类型为:0001 。
协议类型:这里一般写的是:0800 表示IP类型,ARP是IP协议族中的一个。
硬件地址长度:指的是MAC地址的长度,长度为6单位是字节 。
协议地址产度:如果是IP4则这个值为4,单位是字节 。
op为操作符:如果为1则为请求包;如果为2则为回应包。
以太网首部的目的MAC地址为:FF:FF:FF:FF:FF:FF表示广播包。
ARP字段中的
目的主机
MAC地址字段为:00:00:00:00:00:00(十六进制表示) 起到填充的作用。
op操作符字段为:0001
以太网首部的目的MAC地址为:源主机的MAC地址。
ARP字段中的
源主机
MAC地址字段为:目的主机的MAC地址。
op操作符字段为:0002。
如图所示的ARP帧结构中:
这里假设源主机为:A ,目的主机为:B 。其请求和回应这个都不变。
如果是请求包的话:
如果是回应包的话: