ARP协议

来源:互联网 发布:来自故宫的礼物 淘宝 编辑:程序博客网 时间:2024/06/05 10:17

ARP协议作用:

       OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layer interface)。IP地址在第三层, MAC地址在第二层。在网络通讯时,协议在发送数据包时,得先封装第三层(IP地址),第二层(MAC地址)的报头, 源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先被网卡接收到再去处理上层协议,如果接收后的数据包的硬件地址与本机不符,则直接丢弃,因此在通讯前必须获得目的主机的硬件地址。即ARP协议(Address Resoulution Protocol 地址解析协议)的作用,将IP地址解析为以太网MAC地址(物理地址)。

ARP数据包格式


以太网目的地址:目的主机的mac地址,在ARP协议中卫全F,即广播方式

帧类型(两个字节):表示后面数据的类型。ARP请求或应答来说,该字段的值为0X0806

硬件类型字段:指发送方想知道的硬件地址的类型,即链路层网络类型,以太网的值为1

协议类型字段:表示要映射的协议地址类型,IP为0X0800

硬件地址长度和协议地址长度:指明了硬件地址和高层协议地址的长度,这样ARP帧就可以在任意硬件和任意协议的网络中使用。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4

操作字段(OP):用来表示这个报文的类型,ARP请求为1,ARP响应为2

发送端的以太网地址:源主机硬件地址,6个字节; 

发送端IP地址:发送端的协议地址(IP地址),4个字节;

目的以太网地址:目的端硬件地址,6个字节;

目的IP地址:目的端的协议地址(IP地址),4个字节。

工作原理:

  IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。

主机A(源)、B(目的)之间通信,在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的

IP,以太网中的所有主机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,在B应答发送的消息,该以太

网其他主机也会接收到,但在数据链路层判断MAC地址不符后会丢弃。B的应答包中就填充上了B的MAC地址,并回

复给A。A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。

本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。

简单介绍,下面这篇文章有较详细的原理讲解。

点击打开链接