ARP协议分析

  • Post author:
  • Post category:其他


ARP协议分析

(An Analysis Of ARP Protocol)

ARP(Address Resolution Protocol)地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位) [RFC 826]。ARP协议是属于链路层的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是不需要ARP协议的。

ARP协议的数据结构:

typedef struct arphdr

{


unsigned short arp_hrd;   /* 硬件类型 */

unsigned short arp_pro;   /* 协议类型 */

unsigned char arp_hln;   /* 硬件地址长度 */

unsigned char arp_pln;  /* 协议地址长度 */

unsigned short arp_op;   /* ARP操作类型 */

unsigned char arp_sha[6];  /* 发送者的硬件地址 */

unsigned long arp_spa;  /* 发送者的协议地址 */

unsigned char arp_tha[6];  /* 目标的硬件地址 */

unsigned long arp_tpa;  /* 目标的协议地址 */

}ARPHDR, *PARPHDR;

为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。

假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping 192.16



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