因特网中的ARP地址解析协议

Author: 王涛 Date: 2000年 第36期

  我每次到学校机房上网时都得为IP地址设置而烦恼:要想顺利上网冲浪,自己机器必须有一个跟别人不冲突的IP地址,而机房机器众多,还连成个C类地址的局域网,空IP地址很难找到。最可恶的是在我每次手工设置完IP地址后,Windows98并不会马上报告是否存在冲突,相反却逼我重启一把。这样搞花去很多时间,最后满腔热情都被耗没了。回去深入研究一下才知道,原来个中有个很重要的因特网协议在起作用呢!它就是ARP(Address Resolution Protocol)地址解析协议。
  大家都知道,IP协议是因特网的粘贴剂,世界各地的体系结构各异的网络通过IP协议互联成一体。IP协议中很重要的就是IP地址。路由器就是靠辨认源端IP地址和目的端IP地址来将数据分组准确的发送的。可是如今的大多数主机都是通过一个只识别LAN物理地址的网卡连上LAN,而LAN通过路由器互联成因特网的。每块出厂的网卡都有一个48位的硬件物理地址,它是由生产商向一个权威机构申请的,以保证没有两个相同物理地址的网卡出现在同一LAN中(在Windows98中可以运行winipcfg程序来得到网卡的物理地址和对应的IP地址)。在LAN中,网卡并不能识别IP地址,只能识别硬件物理地址。那么怎么将IP地址转换到硬件物理地址呢?ARP地址解析协议就应运而生了。
  ARP地址解析协议规定,LAN中每台机器在启动时查找自己的IP地址和网卡物理地址,再将这个地址映射向LAN中广播。其他的机器接受到了这个地址映射后就自觉的将它缓存起来,将来发送数据时就可查缓存表来将IP地址映射到物理地址上。这样,若两台机器设置有相同的IP地址,LAN上机器的缓存表里就会出现冲突,后占用IP地址的机器的就被认为无效。为了实时反映缓存地址映射情况,LAN上每台机器每隔几秒就定时的广播自己的地址映射。通过这个协议实现了IP地址和硬件物理地址的转换。
  现在,终于知道了吧!Windows98重启实际上就是要重新向LAN中宣布:嘿,我新的地址映射是这样的,有兄弟和我的IP地址一样吗?若有冲突,Windows98就会告诉你:IP地址和网卡的硬件地址发生冲突,重来吧!