ARP协议和RARP协议都是五层网络协议中的网络层协议。

  • ARP(Address Resolution Protocol)地址解析协议:作用是将网络层IP地址转换为数据链路层MAC地址,即完成IP地址与物理地址的映射

  • RARP(Reverse Address Resolution Protocol)逆地址解析协议:作用是完成硬件地址到IP地址的映射

ARP协议的工作原理

  • 1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP缓存表,以表示IP地址和MAC地址之间的对应关系。
  • 2)当源主机要发送数据时,首先检查自己的ARP列表中是否存在该IP地址对应的MAC地址
    • 如果有,则直接发送数据到该MAC地址;
    • 如果没有,就向本网段的所有主机发送ARP数据包,查询此目的主机对应的MAC地址;该数据包包括的内容有:(源主机 IP地址,源主机MAC地址,目的主机的IP 地址)。
  • 3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中的目的IP地址是否是自己的IP地址;
    • 如果不是,则忽略该数据包;
    • 如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖;然后将自己的MAC地址写入ARP响应包中,并发送给源主机,告诉源主机自己是它想要找的MAC地址。
  • 4)源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。
    • 如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

RARP协议的工作原理

  • 1)发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址。
  • 2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。
  • 3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用。
  • 4)如果不存在,RARP服务器对此不做任何的响应。
  • 5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

ARP协议以及RARP协议的工作原理相关推荐

  1. 计算机网络基础(四)---网络层-ARP协议与RARP协议

    文章内容概览 还是看在上一篇文章中提到的这张图,计算机A将数据跨设备传输给C.A发出目的地为C的IP数据报,查询路由表发现下一跳为E,A将IP数据报交给数据链路层,并告知目的MAC地址是E.那么A是如 ...

  2. 软件测试面试题:I P协议、RARP协议、ICMP协议与ARP协议的功能是什么?

    I P协议.RARP协议.ICMP协议与ARP协议的功能是什么? IP 协议(Internet Protocol,因特网协议),属于 OSI7 层参考模型中的网络层协议.它提供两个基本功能:寻址和分段 ...

  3. 关于协议转换器的分类以及工作原理的详细介绍

    现如今,随着互联网的广泛应用,我们国内的网民也是突破了8.29亿,相信,大家对于网络这块是非常的熟悉了,它是一种虚拟的东西,但是它几乎存在于我们生活的各个角落,在很大程度的让我们的日常生活变得便捷与丰 ...

  4. 计算机网络-网络层篇-ARP协议与RARP协议

    目录 问题所在 解决方案 ARP协议 RARP协议 问题所在 对于简单的网络拓扑,数据帧的转发有4个步骤 A通过网卡发出数据帧 数据帧到达路由器,路由器取出前6字节 路由器匹配MAC地址表,找到对应的 ...

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

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

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

    ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息. 1.IP协议 IP协议是TCP/IP协议的 ...

  7. 【4】TCP/IP协议族详解-ARP协议和RARP协议

    声明:本博客参考<TCP/IP协议详解卷一:协议> 1.概述 在以太网中一台主机将数据帧从一台主机发送到另一台主机时,是根据48bit的以太网地址确定目的接口的.设备驱动程序从不检查IP数 ...

  8. arp协议与rarp协议

    说起arp,那么什么是arp呢?arp协议是什么呢?以及如果编写arp脚本抓取对应主机mac地址?这都是我以下需要讲的: 1.什么是ARP协议 ARP协议是"Address Resoluti ...

  9. 计算机网络 arp协议和rarp协议

    文章目录 1.arp协议 1.1 简介 1.2 功能 1.3 工作原理 2.rarp协议 2.1 简介 2.2 工作原理 1.arp协议 1.1 简介 地址解析协议,即ARP(Address Reso ...

最新文章

  1. 【转载】nginx for windows: 让nginx以服务的方式运行
  2. combobox的使用
  3. DWM1000 长距离模块讨论
  4. Keras 实现 LSTM
  5. Luogu P1108 低价购买 DP
  6. android 同步执行方法吗,Android异步方法以同步方式实现
  7. 隐藏画质代码_优秀的模糊测试代码是如何炼成的?
  8. python变量分类_Python 入门系列 —— 5. 三大变量类型介绍
  9. Chrome谷歌浏览器新功能 删除主题更方便
  10. 用css3和jQuery制作精美的表单
  11. 高效率去掉js数组中重复项
  12. 《数字摄影与摄像》学习笔记——摄影课理论基础
  13. Liunx安装 jemalloc == 内存管理工具
  14. http://me.rice.edu/~akin/
  15. 团队作业4——第一次项目冲刺(Alpha版本)2nd day
  16. php 数据结构set,ES6的Set数据结构是什么
  17. aria2linux安装教程,Ubuntu 安装下载工具 Aria2
  18. java poi 自动行高_POI设置单元格自动行高(思路)
  19. Tungsten Fabric中文社区介绍
  20. 电感的能量储存在哪里-深度解析(4)

热门文章

  1. 使用CadLib实现CAD(dxf、dwg格式)文件的读取和显示
  2. webpack编译提速:使用externals和DllPlugin
  3. PHP实现创建文件夹
  4. 展示型企业网站的制作方案
  5. android的单元测试,Android 单元测试(Button 点击测试)
  6. 计算机网络之IP地址分配及静态路由配置
  7. H3C BGP基本配置实验
  8. 快手java开发面试经验大全
  9. bridged networking(桥接模式)和network address translation(NAT模式)
  10. 根据批量地址名称在高德地图进行定位踩过的坑