ARP和RARP

ARP协议用于动态将IP地址解析为MAC地址,主机通过ARP解析目的MAC地址后,建立IP到MAC的映射。RARP则用于无盘工作站启动时获取自身的IP地址,通过服务器的“物理地址-IP地址”映射表找到对应关系。ARP请求以广播方式发送,应答以单播回应;RARP请求同样广播,应答定向单播。
摘要由CSDN通过智能技术生成

ARP协议

IP地址把实际的物理地址对上层应用隐藏起来,使Internet表现出统一的地址格式,但是在实际的网络通信过程中,IP地址无法被物理网络所识别,物理网络依然只能识别物理地址,所以,要实现通信,就必须实现IP地址对物理地址的映射。
ARP报文格式
在这里插入图片描述
要先清楚的我们常说的以太网地址就是物理地址

字段1是ARP请求的目的以太网地址,全1时代表广播地址。

字段2是发送ARP请求的以太网地址。

字段3以太网帧类型表示的是后面的数据类型,ARP请求和ARP应答这个值为0806

字段4表示硬件地址的类型,硬件地址不只以太网一种,是以太网类型时此值为1。

字段5表示要映射的协议地址的类型,要对IPv4地址进行映射,此值为0x0800

字段6和7表示硬件地址长度和协议地址长度,MAC地址占6字节,IP地址占4字节。

字段8是操作类型字段,值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。

字段9是发送端ARP请求或应答的硬件地址,这里是以太网地址,和字段2相同。

字段10是发送ARP请求或应答的IP地址。

字段11和12是目的端的硬件地址和协议地址。

对于以太网而言,当IP数据包通过以太网发送时,以太网链路并不识别32位的IP地址,它们是以48位的MAC地址标识以太网节点的。因此,必须在IP地址与MAC地址之间建立映射(map)关系,建立这种映射的过程称为地址解析(Resolution)

ARP(Address Resolution Protocol,地址解析协议)就是用于动态地将IP地址解析为MAC地址的协议。主机通过ARP解析到目的MAC地址后,将在自己的ARP缓存表中增加相应的IP地址到MAC地址的映射表项,用于后续到同一目的地报文的转发。
在这里插入图片描述

假设HostA和HostB在同一个网段,HostA要向HostB发送IP包,其地址解析过程如下:

1)HostA首先查看自己的ARP表,确定其中是否包含有HostB的IP地址对应的ARP表项。如果找到了对应的表项,则HostA直接利用ARP表项中的MAC地址对IP数据包封装成帧,并将帧发送给HostB。
2)如果HostA在ARP表中找不到对应的表项,则暂时缓存该数据包,然后以广播方式发送一个ARP请求。ARP请求报文中的发送端IP地址和发送端MAC地址为HostA的IP地址和MAC地址,目标IP地址为HostB的IP地址,目标MAC地址为全0的MAC地址。
3)由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求。HostB比较自己的IP地址和ARP请求报文中的目标IP地址,由于两者相同,HostB将ARP请求报文中的发送端(即HostA)IP地址和MAC地址存入自己的ARP表中,并以单播方式向HostA发送ARP响应,其中包含了自己的MAC地址。其他主机发现请求的IP地址并非自己,于是都不做应答。
4)HostA收到ARP响应报文后,将HostB的MAC地址加入到自己的ARP表中,同时将IP数据包用此MAC地址为目的地址封装成帧并发送给HostB。

RARP协议

在这里插入图片描述
主机只知道自己的硬件地址时,可以通过RARP(Reverse Address Resolution Protocol,反向地址解析协议)解析自己的IP地址。RARP常用于无盘工作站启动前获取自身IP地址。在刚刚启动时,无盘工作站只知道自己网卡的MAC地址,需要获得自己的IP地址,于是向网络中广播RARP请求。RARP服务器接收广播请求后发送应答报文,无盘工作站随即获得IP地址。
RARP服务器要响应请求,首先必须知道物理地址与IP地址的对应关系。为此,在RARP服务器中维持着一个本网段的“物理地址-IP地址”映射表。当某无盘工作站发出RARP请求后,网上所有主机均收到该请求,但只有RARP服务器处理请求并根据请求者物理地址响应请求。无盘工作站发出的RARP请求中携带其物理地址,服务器根据此硬件地址查找其IP地址。由于服务器此时已经知道无盘工作站的物理地址,因此不再采用广播方式,而是直接向无盘工作站发送单播应答。
对应于ARP、RARP请求以广播方式发送,ARP、RARP应答一般以单播方式发送,以节省网络资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值