ARP和RARP

来源:互联网 发布:mac资料库文件夹在哪 编辑:程序博客网 时间:2024/04/27 18:46

在介绍这两个协议之前,首先介绍IP地址与硬件地址(MAC地址)的概念。

IP地址:是网络层和以上各层使用的地址,是一种逻辑地址。

硬件地址(MAC地址):是数据链路层和物理层使用的地址。

区别如下图:

这里写图片描述

IP地址放在IP数据包的首部,而MAC地址则放在MAC帧的首部。当IP数据报放入数据链路层的MAC帧后,整个IP数据报就成为了MAC帧的数据,因而在数据链路层看不见数据报的IP地址。

ARP,即地址解析协议实现了IP地址到硬件地址的转换。而RARP,即逆地址解析协议实现了硬件地址到IP地址的转换。

ARP高速缓存

ARP高效运行的关键是每个主机上都有一个ARP高速缓存。这个高速缓存存放了本局域网上的各主机和路由器的IP地址到MAC地址的映射表。高速缓存中每一项的生存时间一般为20分钟。设置这个地址映射项目的生存时间时放置某个主机B的网络适配器突然坏掉的时候,换上新的适配器之后,其硬件地址会改变,当其他主机A需要与这个主机通信,原先的地址会失效,但过了一段时间之后,A的ARP高速缓存删除了B原先的硬件地址,A重新广播发送ARP请求分组,又找到了B。

ARP是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题。当所找的主机和目的主机不在同一局域网上,则需要通过连接在同一局域网上的路由器来进行转发,依次类推,直到解析到目的主机的局域网。

ARP四种典型情况

  • 发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。
  • 发送方是主机,要把IP数据报发送到另一个网络上的主机,这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成
  • 发送方是路由器,要把IP数据报转发到本网络上的一个主机,这时用ARP找到目的主机的硬件地址。
  • 发送方的路由器,要把IP数据报转发到另一个网络上的一个主机,这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

ARP分组格式

这里写图片描述

  • 第一个字段是以太网的目的地址。为0XFF-FF-FF-FF-FF-FF时为广播地址,电缆上所有的以太网接口都要接受广播的数据帧。
  • 第二字段是以太网源地址,即请求地址解析的主机MAC地址。
  • 第三个字段是帧类型,表示后面的数据类型。ARP该字段为0x0806
  • 硬件类型表示ARP协议实现在何种类型的网络上。值1表示以太网地址。
  • 协议类型字段表示要映射的协议地址类型。值为0x8000表示IP地址。
  • 硬件地址长度:MAC地址长度,为6字节。
  • 协议地址长度:IP地址长度,4字节
  • 操作类型:代表ARP协议数据包类型。ARP请求(值1),ARP应答(2), RARP请求(3),RARP应答(4)。
  • 接下来四个字段分别是发送端的硬件地址,发送端的协议地址,目的端的硬件地址和目的端的协议地址。

当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送出去。


RARP分组格式

RARP分组格式与ARP分组基本一致。他们之间主要的差别是RARP请求或应答的帧类型代码为0x8035, 而且RARP请求的操作代码为3,应答操作代码为4。RARP请求以广播方式传送,而RARP应答一般是单播传送。现在的DHCP协议已经包含了RARP协议的功能。

0 0
原创粉丝点击