在数据链路层中,用来标识节点的就是其MAC地址。它是局域网中进行网络通信的基础。但是在平常的网络通信操作中,都不是以MAC地址来指定目标节点的,而是以IP地址或NetBiOS名称。这样就存在一个IP地址与MAC地址的对应关系,它们之间的相互解析是通过ARP(Address Resolution Protocol,地址解析协议)或RARP(Reverse Address Resolution Protocol,反向地址解析协议)协议进行的:ARP负责地址解析出MAC地址,适用于有盘网络,而RARP负责从MAC地址解析出IP地址,适用于无盘网络。

MAC地址与IP地址时计算机网络通信中非常重要的两类地址,缺一不可。因为在OSI/RM网络层以上是通过IP地址进行寻址的,而在OSI/RM网络层以下则是通过MAC地址进行寻址的。可以说是两类地址各司其职,共同完成一个完整的计算机网络通信。当然在这一网络通信中,还可能有传输层的“端口”号参与到IP寻址中。

1、ARP工作原理

ARP协议是用于由节点IP地址解析其MAC地址,然后进行局域网内部通信的。例如要与某主机连接,可以在浏览器或运行窗口中输入其IP地址,然而在局域网内是没有网络层的,网络中的主机设备不能识别IP地址,只识别MAC地址,所以这时就需要ARP协议来转换。ARP协议的基本功能就是通过数据包中的目标节点的IP地址查询目标节点的MAC地址,以便把数据包发送到目标设备中。

我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发送出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只是主机B接收这个帧的时,才向主机A做出这样的回应:“192.168.1.1的MAC地址时00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内,如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

ARP的基本工作原理如下:

(1)每台主机都会根据以往在网络中与其他节点的通信,在自己的ARP缓存区(ARP Cache)中建立一个列表,以表示网络中节点IP地址和MAC地址的对应关系。

(2)当源节点需要将一个数据包发送到目标节点时,会首先检查自己ARP列表中是否存在该包中所包含的目标节点IP地址对应的MAC地址。如果有,则直接将数据包发送到这个MAC地址节点上;如果没有,就向本地网段发起一个ARP请求的广播包,查询此IP地址目标节点对应的MAC地址。此ARP请求数据包里包括源节点的IP地址、硬件地址,以及目标节点的IP地址。

(3)网络中所有的节点在收到这个ARP请求后,会检查数据包中的目标IP地址是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该节点首先将源端的MAC地址和IP地址的对应表项添加到自己的ARP列表中。如果发现ARP表中已经存在该IP地址所对应的MAC地址表项信息,则将其覆盖,然后给源节点发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址节点。

(4)源节点在收到这个ARP响应数据包后,将得到的目标节点的IP地址和MAC地址对应表项添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源节点一直没有收到ARP响应数据包,则表示ARP查询失败。

2、RARP的工作原理

ARP协议是根据IP地址找其对应的MAC地址,而RARP则是根据MAC地址找其对应IP地址,所以称之为"反向ARP"。具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址,然后即可直接用ARP协议找出与其对应的主机MAC地址。但是无盘机,如X终端或无盘工作站,启动时是通过MAC地址来寻址的,这时就需要通过RARP协议获取IP地址。

RARP的基本工作原理如下:

(1)发送端发送一个本地的RARP广播包,在此广播包中声明自己的MAC地址,并且请求任何收到此请求的RARP服务器分配一个IP地址。

(2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。如果存在,RARP服务器就给源主机发送一个响应数据包,并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何响应。

(3)源端在收到从RARP服务器来的响应信息后,利用得到的IP地址进行通信;如果一直没有收到RARP服务器的响应信息,则表示初始化失败。

如果还想浏览更多的内容,欢迎登陆课课家教育或关注公众号【课课家IT精品课程】。

计算机网络rarp通过什么找ip,ARP与RARP协议相关推荐

  1. 计算机网络OSI模型、TCP/IP模型与5G协议

    理论--计算机网络参考模型与5G协议 一. OSI参考模型 1.1 七层模型的功能 1.2 七层模型每层的定义与解释 二.5G协议 三种协议族:(TCP.UDP.IP) 三.各层的PDU协议数据单元 ...

  2. ARP(地址解析协议)和RARP(逆地址解析协议)

    ARP为IP地址到对应的硬件地址之间提供动态映射. 首先来看一个例子 我们敲入下面这个形式的命令: % ftp bsdi 都会进行以下这些步骤.这些步骤的序号如图4-2所示. 应用程序FTP客户端调用 ...

  3. ARP、RARP、Ping

    ARP ARP(Address Resolution Protocol,地址解析协议),工作在网络层,它用于映射计算机的物理地址与网络IP地址.ARP的工作就是在主机发送帧之前,根据目标IP地址获取M ...

  4. TCP/IP:ARP与RARP详细解析

    地址解析协议 ARP和逆地址解析协议RARP 1.基本关系: 2.地址解析协议 ARP的实现过程: 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址. ‚每一个主机 ...

  5. IP、ARP、RARP、ICMP、IGMP(网络协议:网络层协议)

    面试和笔试中,如果记住下面这张图,基本就能解决网络协议中70%的问题.需要记住: OSI模型和TCP/IP模型每一层名称: 每一层对应有哪些协议,或者说给出该协议要知道对应那一层: 该协议是基于TCP ...

  6. TCP/IP学习笔记(3)----IP,ARP,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...

  7. 系列TCP/IP协议-ARP与RARP

    一.引言 在真实的网络上传输的数据帧不是IP地址来传的,是通过每一个网卡的特有的物理地址(MAC地址)来传输的.上层协议一般是只知道IP地址,不知道MAC地址的.因此需要有通过IP地址知道MAC地址的 ...

  8. 【计算机网络】MAC地址、IP地址以及ARP协议

    [计算机网络]MAC地址.IP地址以及ARP协议 1.概述 2.MAC地址 2.1 IEEE 802局域网的MAC地址格式 2.2 IEEE 802局域网的MAC地址发送顺序 2.2.1 单播MAC地 ...

  9. IP,ARP,以太网--网络层与数据链路层详解

    目录 网络层 IP协议--网络层 基本概念 IP协议格式 IP地址 子网 网段划分 特殊的IP地址 IP地址的数量限制 私有IP地址和公网IP地址 路由 ICMP协议--网络层 ping命令 面试常问 ...

最新文章

  1. I/O端口和I/O内存
  2. ps -aux 和ps -elf 区别(查看进程)
  3. android手机连接无线路由器上网设置,怎样用手机设置无线路由器上网?
  4. Fortran向C传递NULL值
  5. The import com.sun.tools cannot be resolved
  6. Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现
  7. python完全支持面向对象编程思想_面向对象的编程思想和Python的类,访问和属性,继承...
  8. 用c++创建xml文件的两种方法
  9. 为监控主机添加SNMPv3模板
  10. ‘SentencePieceProcessor‘ object has no attribute ‘encode‘ 报错解决
  11. 无人机通信与网络学习笔记
  12. SQLyog中文版安装教程
  13. Python设置显示屏分辨率
  14. [资源下载] chromium OS 镜像下载
  15. 网站歌曲播放器php,推荐漂亮的flash网页MP3音乐播放器
  16. springboot整合es实现聚合搜索(api搜索版)
  17. CSS3实现骗人版无缝轮播图
  18. python中文件的导入与导出
  19. 屏幕色彩(一)-已知混色光色点求配色比
  20. caffe详解之损失函数

热门文章

  1. centos安装python环境
  2. php 如何取整,解析php取整的几种方式
  3. 网易云音乐通过聆讯背后:直播收入占据半边天,独家版权威胁解除
  4. webpack 最好的日志_webpack externals 深入理解
  5. mac 安装自己的web 开发软件
  6. redis 连接超时 Redis command timed out
  7. 厦门2017计算机考试题目,2017年厦门市小学生计算机LOGO语言竞赛(初赛)试卷
  8. Android实现QQ登录功能
  9. P3744 李彬的几何
  10. 劈裂天线在无线网建设中的应用