网络通信 频道

[新手入门七] 什么是ARP协议

    地址转换协议ARP(Address Resolution Protocol)是个链路层协议,它工作在第二层的位置,在本层和硬件接口联系,同时对上层(网络层)提供服务。

    上图是针对TCP/IP协议族来描述ARP协议的,但是设置ARP协议的本来用意却不是专门针对TCP/IP协议的。

    世界总的来说是杂乱的,同时网络增加了这种杂乱。几乎在网络架构的每一层,都有几个潜在的协议可以使用。例如在高一点的层次有用于远程登录的TELNET和SUPDUP。低一点的有TCP,IPX或DECnet等协议。

     甚至在与硬件较接近的逻辑传输层也有CHAOS,DOD Internet,Xerox PUP,DECnet等协议。10兆以太网通过使用以太网包头中的类型字段来使这些协议(而且更多)能在一根电缆上共存。然而,10兆以太网在物理电缆上需要48比特地址,而大多数协议地址不是48比特,它们并不需要与硬件的48比特以太网地址有什么关系。例如CHAOS的地址是16比特,DOD Internet的地址是32比特,Xerox PUP的地址是8比特。这就需要一个协议来动态地区分一个<协议,地址>对和一个48比特以太网地址的对应关系。

    随着更多的制造商提供遵循DEC,Intel和Xerox发布的规范的接口产品,以太网的使用也在增加。随着使用的增加,为这个接口开发的软件也越来越多。有两个选择:(1)每个实现者用自己的方法做某种形式的地址转换;(2)每个实现者使用统一标准,这样代码可以不加修改的移植到其它系统。这个建议试图建立一个标准。

    解决问题的方法肯定是第二种了,这就需要建立一种标准,把上层协议的地址转换为以太网上可用的地址形式,这样ARP协议就产生了。

     这里需要注意的是,实际的解决方案并不是理论上必须的,很多实际的解决方案都有其历史的因素,业界标准往往不是理论上的非常好的解决方案,它们往往是各方利益妥协的结果。可以理解为综合各种因素的一个综合非常好的解决方案。

0
相关文章