ARP地址解析协议原理及应用

2008/8/2 来源:www.arpun.com 作者:小白

我们知道, 当我们在浏览器里面输入网址时, DNS服务器会自动把它解析为IP地址, 浏览器实际上查找的是IP地址而不是网址。 那么IP地址是如何转换为第二层物理地址(即MAC地址)的呢?在局域网中, 这是通过ARP协议来完成的。 ARP协议对网络安全具有重要的意义。 通过伪造IP地址和MAC地址实现ARP欺骗, 能够在网络中产生大量的ARP通信量使网络阻塞。 所以网管们应深入理解ARP协议。

一、什么是ARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。 在局域网中, 网络中实际传输的是“帧”, 帧里面是有目标主机的MAC地址的。 在以太网中, 一个主机要和另一个主机进行直接通信, 必须要知道目标主机的MAC地址。 但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。 所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 ARP协议的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址, 以保证通信的顺利进行。

二、ARP协议的工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表, 表里的IP地址与MAC地址是一一对应的, 如附表所示。

附表

 ip地址mac地址

192.168.1.100-aa-00-62-c6-09

192.168.1.200-aa-00-62-c5-03

192.168.1.303-aa-01-75-c3-06

……  ……

我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。 当发送数据时, 主机A会在自己的ARP缓存表中寻找是否有目标IP地址。 如果找到了, 也就知道了目标MAC地址, 直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址, 主机A就会在网络上发送一个广播, 目标MAC地址是“FF.FF.FF.FF.FF.FF”, 这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问, 只有主机B接收到这个帧时, 才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。 这样, 主机A就知道了主机B的MAC地址, 它就可以向主机B发送信息了。 同时它还更新了自己的ARP缓存表, 下次再向主机B发送信息时, 直接从ARP缓存表里查找就可以了。 ARP缓存表采用了老化机制, 在一段时间内如果表中的某一行没有使用, 就会被删除, 这样可以大大减少ARP缓存表的长度, 加快查询速度。

三、如何查看ARP缓存表

ARP缓存表是可以查看的, 也可以添加和修改。 在命令提示符下, 输入“arp -a”就可以查看ARP缓存表中的内容了。

用“arp -d”命令可以删除ARP表中某一行的内容;用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应。

 

网友评论
评论(...
全部评论