Study-Hard-链路层协议ARP-简析(不断更新)

        ARP(Address Resolution Protocol,地址解析协议),其功能就是将逻辑上的IP地址(如XXX.XXX.XXX.XXX)映射为对应的物理地址48bit(如00-AA-00-62-D2-02)。那么看如下几个问题:


Q1:ARP转换的是谁的IP地址?

A1:ARP转换的是IP数据报中目的主机的IP地址。


Q2:ARP的工作流程是什么样子滴?

A2:先看下面这张图:


忽略数据报生成的过程,从ARP协议开始出发,一次ARP请求经过如下步骤:

a.ARP发送一份ARP请求的数据帧,将其发送给以太网上的所有主机。(这个过程称之为广播)

b.ARP请求的数据帧中包含目的主机的IP地址,

c.目的主机接收到广播报文后,识别此IP,如果符合,则发送一个ARP应答。这个应该包含这个IP所对应的MAC地址

d.收到ARP应答后,通过此ARP进行的Request-Response,就可以进行数据的传输了。

e.将IP数据报发送给目的主机。

        下面看下,ARP的请求或应答报文,并介绍下其中的关键字段


以太网目的地址:全为1,作为广播地址(当请求ARP应答的时候)

op:有四种ARP请求(1)、ARP应答(2)、RARP请求(3)RARP应答(4)


Q3:ARP中的高速缓存?

A3:高速缓存的意义,我们可以考虑下,如果每次发送之前都请求一次MAC地址,在局域网中还可以,那么在广域网中呢?会不会产生很多的报文,进而阻塞网络?再比如,web开发中,我们常会用到反向代理,为什么要用到反向代理?因为如果所有的高并发的请求都冲向服务器,服务器的负载很肯能会过高,如果使用反向代理的话(相当于一个缓存组件)会将经常请求的数据,不经过真实的web服务器,而在反向代理这层就返回给了用户。

        那么ARP中的高速缓存也是同样的道理,ARP会在一段时间内维护自己的高速缓存,这个高速缓存存放了最近一段时间内IP地址到Mac的映射记录,每项的生存时间约为20分钟,起始时间从被创建开始算起,如下图:



        PS:以上内容会不断补充滴,如果有好的建议欢迎提出!


参考资料:

《TCP/IP详解:卷一》

wiki:http://zh.wikipedia.org/wiki/%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值