ARP协议:地址解析协议

ARP:地址解析协议
首先ARP是属于网络层的协议,它通过解析IP地址来获取MAC地址。
在数据链路层中,数据帧格式首部组成有6字节的以太网目的地址和6字节的以太网源地址这两个字段,自己的MAC地址还容易获取到,但是获取目的的MAC地址就要通过ARP地址解析协议来获取了。
获取目的端的MAC地址(在一个以太网中)步骤如下:
1.发送ARP请求的以太网数据帧给以太网上的每个主机,即广播(以太网源地址填全1)。ARP请求帧中包含了目的主机的IP地址。
2.目的主机收到了该ARP请求之后,会发送一个ARP应答,里面包含了目的主机的MAC地址。
虽然只有简单的两步,但是里面有很多细节。
首先是关于ARP怎么通过IP地址来解析出MAC地址的。
ARP给IP地址和MAC地址中间做了动态映射,也就是说缓存了一个ARP表,将得到的IP地址和MAC地址对应起来,如果在表中没有查到IP地址对应的MAC地址,就会发广播去找。随着用户的使用,ARP表如果不做任何措施,就会变得越来越臃肿缓慢,就降低了网络传输数据的效率,所以ARP缓存中每一项被设置了生存时间,一般是20分钟,从被创建时开始计算,到时则清除,如果在计时期间又被使用了,计时会重置。

接下来,ARP数据报的格式是什么。
如图所示:
这里写图片描述
前14字节是以太网首部帧格式
硬件类型,该字段占2个字节,表示硬件地址的类型,为1表示以太网MAC地址。
协议类型,该字段占2个字节,代表要映射的协议地址类型,值为0x0800代表IP地址。
硬件地址长度和协议地址长度,分别占1个字节,指出硬件地址和协议地址的长度,以字节为单位。
OP,该字段的意思是操作字段,它指出了4种操作类型,值为1代表ARP请求,值为2代表ARP应答,值为3代表RARP请求,值为4代表RARP应答。
发送端以太网地址字段占6个字节,这个信息和数据帧首部的以太网源地址重复了。
发送端IP字段占4个字节。
目的以太网地址字段占6个字节,发送时为空,当目的主机收到ARP请求之后,会把自己的硬件地址填进去。
目的IP地址字段占4个字节。
当ARP请求发送到了目的端之后,目的端填上了自己的硬件地址,然后把两个目的端地址和两个发送端地址交换,把op的值置为2,再把该ARP数据报发回去。

前面提到的获取目的端的MAC地址的步骤是在一个特殊的条件下完成了,即发送端和目的端都在同一个以太网中,那么当发送端和目的端不在同一个网络中呢。
这种情况下有一个术语叫ARP代理。连接发送端和目的端网络的路由器就充当这样一个代理。举个简单的例子,当主机A发送ARP请求给主机B时,它们处于不同的网络,但是由路由器C相连,当C识别出主机B的IP地址属于它连接的一个主机,这时C就会欺骗主机A,让A误认C就是目的主机,然后C就将ARP数据报发给B,最后B再将ARP应答发回来。

还有最后一个ARP特性:免费ARP
它是指主机发送ARP查找自己的IP地址。
作用有两个:
1.主机可以通过它来确定另一个主机有没有设置同样的IP地址。
2.如果发送免费ARP的主机改变了硬件地址(换了网卡),那么这个分组就会更新其它主机高速缓存表中旧的硬件地址。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值