通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 2715|回复: 2
打印

arp协议流程示意 [复制链接]

军衔等级:

  新兵

注册:2012-4-1
跳转到指定楼层
1#
发表于 2017-2-8 16:37:33 |只看该作者 |倒序浏览

Address Resolution Protocol (ARP)。 ARP是 TCP IP 设计者利用乙太网的广播性质﹐设计出来的地址解释协定。它的主要特性和优点是它的地址对应关系是动态的﹐它以查询的方式来获得 IP协议地址和实体地址的对应。它的工作原理非常简单:
1. 首先﹐每一台主机都会在 ARP快取缓冲区 (ARPCache)中建立一个 ARP表格﹐用来记录 IP协议地址和实体地址的对应关系。这个 Table 的每一笔资料会根据自身的存活时间递减而最终消失﹐以确保资料的真实性。
2. 当发送主机有一个封包要传送给目的主机的时候﹐并且获得目的主机的 IP协议地址﹔那发送主机会先检查自己的 ARP表格中有没有该 IP协议地址的实体地址对应。如果有﹐就直接使用此地址来传送框包﹔如果没有﹐则向网路发出一个 ARPRequest 广播封包﹐查询目的主机的实体地址。这个封包会包含发送端的 IP协议地址和实体地址资料。
3. 这时﹐网路上所有的主机都会收到这个广播封包﹐会检查封包的 IP 栏位是否和自己的 IP协议地址一致。如果不是则忽略﹔如果是则会先将发送端的实体地址和 IP 资料更新到自己的 ARP表格去﹐如果已经有该 IP 的对应﹐则用新资料覆盖原来的﹔然后再回应一个 ARPReply 封包给对方﹐告知发送主机关于自己的实体地址;
4. 当发送端接到 ARPReply 之后﹐也会更新自己的 ARP表格﹔然后就可以用此纪录进行传送了。
5. 如果发送端没有得到 ARPReply ﹐则宣告查询失败。
ARP的查询过程
前面说的 ARP表格﹐只有在 TCPIP 协定被载入核心之后才会建立﹐如果 TCPIP 协定被卸载或关闭机器﹐那么表格就会被清空﹔到下次协定载入或开机的时候再重新建立﹐而同时会向网路发出一个A广播﹐告诉其它机器它的目前地址是什么﹐以便所有机器都能保持最正确的资料。
然而﹐ARPcache 的大小是有所限制的﹐如果超过了界限﹐那么越长时间没被使用过渡资料就必须清理掉﹐以腾出空间来储存更新的资料。所以﹐当机器收到 ARPequest 封包时﹐如果查询对象不是自己﹐则不会根据发送端地址资料来更新自己的ARP表格﹐而是完全忽略该封包。同时﹐每笔存在 cache 中的资料﹐都不是永久保存的﹕每笔资料再更新的时候﹐都会被赋予一个存活倒数计时值﹐如果在倒数时间到达的时候﹐该资料就会被清掉。然而﹐如果该资料在倒数时间到达之前被使用过﹐则计时值会被重新赋予。
当然了﹐ARP尚有一套机制来处理当 ARP表格资料不符合实际地址资料的状况(例如﹐在当前连线尚未结束前﹐收到目的端的地址资料更新讯息)﹔或是目的主机太忙碌而未能回答 ARP请求等状况。


举报本楼

本帖有 2 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-16 17:51 , Processed in 0.103824 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部