ARP:地址解析协议

数据链路如以太网或令牌环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从的。一个网络如以太网可以同时被不同的网络层使用。
当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48 bit的以太网地址来确定目的接口的。设备驱动程序从不检查 I P数据报中的目的I P地址。
地址解析为这两种不同的地址形式提供映射: 32 bit的I P地址和数据链路层使用的任何类型的地址

两种协议如图 4 - 1所示: A R P(地址解析协议)和 R A R P(逆地址解析协议)。



A R P为I P地址到对应的硬件地址之间提供动态映射。我们之所以用动态这个词是因为这个过程是自动完成的,一般应用程序用户或系统管理员不必关心

R A R P是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或 X终端),它需要系统管理员进行手工设置
A R P本来是用于广播网络的,有许多主机或路由器连在同一个网络上。
硬件层次上进行的数据帧交换必须有正确的接口地址。但是, T C P / I P有自己的地址: 32 bit的I P地址。知道主机的 I P地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。 A R P的功能是在32 bit的I P地址和采用不同网络技术的硬件地址之间提供动态映射。

ARP高速缓存
A R P高效运行的关键是由于每个主机上都有一个 A R P高速缓存。这个高速缓存存放了最近I n t e r n e t地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为 2 0分钟,起始时间从被创建时开始算起。
ARP的分组格式


以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全 1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。

两个字节长的以太网帧类型表示后面数据的类型。对于 A R P请求或应答来说,该字段的值为0 x 0 8 0 6
形容词h a r d w a r e (硬件)和p r o t o c o l (协议)用来描述A R P分组中的各个字段。例如,一个 A R P请求分组询问协议地址(这里是 I P地址)对应的硬件地址(这里是以太网地址)
硬件类型字段表示硬件地址的类型。它的值为 1即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为 0 x 0 8 0 0即表示 I P地址。它的值与包含 I P数据报的以太网数据帧中的类型字段的值相同,这是有意设计的

接下来的两个 1字节的字段,硬件地址长度协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上 I P地址的A R P请求或应答来说,它们的值分别为 6和4
操作字段指出四种操作类型,它们是 A R P请求(值为1)、 A R P应答(值为 2)、 R A R P请求(值为3)和R A R P应答(值为4)
接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址( I P地址)、目的端的硬件地址目的端的协议地址
arp -a

ARP代理

如果A R P请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作委托 A R P或A R P代理(Proxy ARP)。 这样可以欺骗发起A R P请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。路由器的功能相当于目的主机的代理,把分组从其他主机转发给它
免费ARP
免费A R P可以有两个方面的作用:
1) 一个主机可以通过它来确定另一个主机是否设置了相同的 I P地址。
2) 如果发送免费 A R P的主机正好改变了硬件地址(很可能是主机关机了,并换了一块接口卡,然后重新启动),那么这个分组就可以使其他主机高速缓存中旧的硬件地址进行相应的更新。
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值