第四章:ARP 地址解析协议

网络接口有一个硬件地址,48bit的值,在硬件层次上进行的数据帧交换必须有正确的接口地址.tcp/ip有本身的地址,32bit的IP地址.网络

可是知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。tcp

arp的功能就是在32bit的ip地址和硬件地址之间提供动态映射。spa

为何点对点链路不使用arp呢?blog

详细来解释下arp分组格式内容以及各个字段:接口

  前两个字段是以太网目的地址和以太网源地址,目的地址为全1的地址是广播地址。ip

  2个字节的帧类型,对于arp请求或者arp应答来讲,该字段的值是0x0806it

  硬件类型字段表示硬件地址的类型,1表示以太网地址,协议类型字段表示要映射的协议地址类型,0x0800表示ip地址。硬件

  硬件地址长度和协议地址长度,分别指出硬件地址和协议地址的长度,以字节为单位。请求

  操做字段指出四种操做类型,他们是arp请求(1),arp应答(2),rarp请求(3),rarp应答(4)。程序

  接下来四个字段分别是发送端的硬件地址、发送端的协议地址、目的端的硬件地址、目的端的协议地址。

  注意:对于一个arp请求来讲,除目的端硬件地址之外的全部其余的字段都有填充值。当系统受到一份目的端为本机的arp请求报文后,

  它会把本身的硬件地址填进去,而后用两个目的端地址分别替换两个发送端地址,并把操做字段设置成2,最后把它发送回去。

  ----未完待续----

相关文章
相关标签/搜索