文章内容概览

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

ARP协议

ARP(Address Resolution Protocol)地址解析协议

作用:把网络层32位的IP转换成数据链路层48位的MAC地址,在这个过程中有一个很重要的表,ARP缓存表

该表的形式如下,也是一个映射:

对于ARP缓存表的使用,有两种情况

  • ARP缓存表中缓存IP地址和MAC地址的映射关系
  • ARP缓存表中没有缓存IP地址和MAC地址的映射关系

如果有缓存的情况,就像上篇文章中介绍的步骤一样,A可以直接告诉数据链路层,E的MAC地址。A会查询ARP缓存表,查看E的MAC地址是什么,然后告知数据链路层。

如果没有缓存的情况,ARP会广播某一个IP的信息,收到这个广播的设备会回应一个包,表示我是不是这个IP地址。如果是,广播该IP地址的设备会记录对应设备的MAC地址

  • ARP缓存表是ARP协议和RARP协议运行的关键
  • ARP缓存表缓存了IP地址到硬件地址之间的映射关系(在网络层进行数据转发的时候,需要数据链路层和物理层,因此网络层在进行数据发送的时候,首先需要通过ARP协议,把IP地址转化为MAC地址,然后告诉数据链路层,这时,数据链路层才能进行数据帧的传输)
  • ARP缓存表中的记录并不是永久有效的,有一定的期限(因为MAC地址是永久不变的,但是IP地址是会变化的)

可以使用arp -a这个命令来查看路由表中的内容

ARP协议的报文信息

ARP协议的报文信息是直接封装到数据链路层的数据帧中

最上边为数据链路层的数据帧格式,中间是ARP协议的报文信息,PAD是填充的内容

可能这里会有一个疑问,既然ARP协议是直接封装在数据链路层的数据帧中的,那为什么ARP协议是属于网络层?主要是因为ARP协议使用到了IP地址,所以它属于网络层的内容。所以ARP协议是数据链路层和网络层配合使用的一个协议

RARP协议

  • RARP(Reverse Address Resolution Protocol)逆地址解析协议
  • 就是和ARP协议做相反的工作,它是将48位的MAC地址转换为32位的IP地址

它的内容是和ARP协议非常类似的

了解了ARP协议和RARP协议之后,就应该知道,在计算机A进行跨设备传输数据时,A并不是直接告诉数据链路层,目的MAC是E的,而是先查自身的缓存表之后,才知道的目的MAC地址的

在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践

计算机网络基础(四)---网络层-ARP协议与RARP协议相关推荐

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

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

  2. 【信管1.3】计算机网络基础(一)网络标准与协议

    计算机网络基础(一)网络标准与协议 问问你身边的运维吧,网络协议这个东西随便说说就是能写一本跟字典一样的书的.不要被吓到了,这是真事.不仅仅是运维,包括网络管理员以及我们这些 Web 开发工程师来说, ...

  3. ARP协议以及RARP协议的工作原理

    ARP协议和RARP协议都是五层网络协议中的网络层协议. ARP(Address Resolution Protocol)地址解析协议:作用是将网络层IP地址转换为数据链路层MAC地址,即完成IP地址 ...

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

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

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

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

  6. 计算机网络基础之网络层

    综述 层次与物理硬件对应关系 中继器.集线器.网卡 ,转发器 ,-– 物理层, 交换机.网桥 (桥接器) ------数据链路层, 路由器 ------------- 网络层 网关 --------- ...

  7. arp协议与rarp协议

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

  8. ARP协议和RARP协议

    ARP(Address Resolution Protocol)地址解析协议 RARP(Reverse Address Resolution Protocol)逆地址解析协议 1.ARP协议 ARP协 ...

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

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

最新文章

  1. 双11大考 POLARDB分钟级弹性让企业轻松扩展
  2. calico跨主机ping不通_戳穿 Calico 的谎言
  3. SSH: 使用ssh推送github代码
  4. VC6下使用WebLink控件
  5. 软件工程 - 设计模式学习之工厂方法模式Factory Method
  6. 【需求工程】系统服务与系统约束
  7. 浅谈堆栈问题-C++
  8. python dict嵌套dict_处理复杂嵌套dict结构的python方法
  9. 机器人布罩_机器人防护罩的主要作用是什么?
  10. 【原创】asp.net静态页面生成方案
  11. GPS 入门 5 —— 定位误差产生的原因和差分定位原理 (转)
  12. php中thead怎么居中,html thead标签怎么用
  13. SpringBoot——检索
  14. java 表格添加背景图片_Java 填充Excel图表中的图例背景(颜色填充、图片填充)...
  15. 大数据小项目之电视收视率企业项目03
  16. C#上位机 西门子PLC通信 S7NET协议
  17. storm流程——storm
  18. 计算机体系结构——名词解释
  19. 番茄工作法——中断(笔记)
  20. python tutorial什么意思中文_Python 2.7 Tutorial 中文版

热门文章

  1. Linux常用网络操作
  2. python如何实现飞机上下移动_python实现飞机大战
  3. 面试题:从n个数中找出第K大的数
  4. 隔行扫描信号与逐行扫描信号转换
  5. GEO卫星类有哪些最新发表的毕业论文呢?
  6. 一个家最好的投资是陪伴
  7. STM32实现0.96寸OLED显示模拟IIC和IIC四种实现(标准库和HAL库)
  8. 浅析Convert,Parse和TryParse
  9. 设计难题|设计难题《一》单火取电开关---“鬼火”
  10. DVC6200 SIS数字式阀门控制器