地址解析协议ARP

一 发送数据的过程

在学习ARP协议的工作原理之前,我们需要先知道为什么需要ARP协议,它在数据传输过程中有怎样的作用。

以下是计算机网络中发送数据的一个大致过程。

首先要知道,源主机发送数据要经过5层的封装,目的主机接收数据也要经过5层的解封装,中间系统只有低三层,只负责数据传输,数据在中间系统传输时,也要反复进行3层的封装和解封装。

以下是5层模型中发生数据的步骤:

  • 应用层有一个文件需要传输,也就是一个数据报文需要传输。
  • 传输层将数据报文进行分段,分成多段数据报
  • 网络层拿到数据报,加上首部,封装成IP数据报,再对IP数据报进行分片,以便分组转发,首部应该包含源IP地址和目的IP地址。
  • 数据链路层拿到IP数据报,加上首部和尾部(一般是帧检验序列FCS)封装成数据帧,首部应该包含源MAC地址和目的MAC地址。
  • 物理层拿到数据帧后,以比特流的形式去传输。

备注:MAC地址,即硬件地址,和IP地址不同的是,IP地址是网络层标志各主机和路由器的地址,而MAC地址是实际的物理地址。

由于每当数据到达链路层,都需要加上源MAC地址和目的MAC地址,所以就需要用到ARP解析协议,去完成下一跳的IP地址到MAC地址的映射,确定下一跳具体走哪,也就是确定下一跳的硬件地址。

二 ARP工作原理

  • 首先要知道,每一台主机都设有一个ARP高速缓存,里面存有本局域网上的各主机和路由器的IP地址到MAC地址的映射表,这些都是该主机目前知道的一些MAC地址。

  • 当主机A要向本局域网上的某台主机发送IP数据报时,就先在其ARP缓存中查看有无主机B的IP地址,如果有,就在ARP缓存中查找其对应的MAC地址,再把这个MAC地址写入MAC帧,然后通过局域网把该MAC帧发往此MAC地址。

  • 如果ARP缓存中没有该MAC地址,就需要经过以下步骤去获取目的MAC地址。

    • ARP进程在本局域网上广播发送一个ARP请求分组。ARP请求分组的主要内容为源IP地址和源MAC地址,以及目的IP地址。
    • 在本局域网上的所有主机(或路由器)上运行的ARP进程都收到此ARP请求分组。
    • 若主机B的IP地址与ARP请求分组中要查询的目的IP地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的MAC地址。
    • 主机A收到主机B的ARP响应分组后,就在其高速缓存中写入主机B的IP地址到MAC地址的映射。至此,链路层就可以写入目的MAC地址,封装成MAC帧了。

下面是主机1要向主机3发送数据的过程(主机1和主机3在同一个网络,没有经过路由器)

备注:如果主机之间不在同一个网络,比如上图的主机1和主机5,则在数据传输过程中,需要经过多个路由器转发,可以发现,网络层的源IP地址和目的IP地址通常是保持不变的(NAT的情况可能改变),而链路层的源MAC地址和目的MAC地址是随着传输过程而发生变化的

三 小结

ARP协议简介

由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。

所以我们需要ARP协议:完成主机或路由器IP地址到MAC地址的映射。(解决下一跳走哪的问题)

ARP协议使用过程

检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单薄一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。

ARP协议4种典型情况

  • 主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;
  • 主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;
  • 路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
  • 路由器发给另一个网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。

【计算机网络】ARP协议工作原理相关推荐

  1. 计算机网络——ARP协议(地址解析)原理

    摘要 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的 ...

  2. ARP协议工作原理及ARP欺骗(中间人攻击)

    网络中的数据传输所依赖的是MAC地址而不是IP地址,ARP协议负责将IP地址转换为MAC地址 ARP协议工作原理 ARP协议规定,每台计算机都需要一个ARP表,用来保存IP地址和MAC地址的映射关系 ...

  3. ARP 协议工作原理(同网段及跨网段)

    目录 一.ARP简介 二.ARP的工作原理 三.ARP协议在同网段工作原理 四.ARP协议在不同网段工作原理 一.ARP简介 ARP全称是"Address Resolution Protoc ...

  4. arp 项删除失败: 请求的操作需要提升。_ccna必懂篇-arp协议工作原理详解。

    本次呢,要说的是arp协议,那么什么是arp协议呢?有什么作用呢? 什么是arp ARP(Address Resolution Protocol)地址解析协议,地址解析协议由互联网工程任务组(IETF ...

  5. 计算机网络——IP协议基础原理

    摘要 IP协议提供的一种统一的地址格式.它为互联网上的每一个网络和主机分配一个逻辑地址所以IP地址也叫逻辑地址,用来屏蔽物理地址的差异,MAC地址每一个机器都有一个编码.IP地址是32位二进制数据分为 ...

  6. 计算机网络rip工作原理,12. 小型网络 RIP 协议工作原理

    Re:计算机网络 静态路由和动态路由协议 ====================== # IP路由-网络层实现的功能: 网络畅通的条件 静态路由 路由汇总 默认路由 Windows上的路由表和默认路 ...

  7. ARP和RARP协议工作原理

    ARP和RARP协议工作原理 MAC地址与IP地址是计算机网络通信中非常重要的两类地址,缺一不可.因为在OSI/RM网络层以上是通过IP地址进行寻址的,而在OSI/RM网络层以下则是通过MAC地址进行 ...

  8. 【计算机网络】数据链路层 : CSMA/CA 协议 ( 载波监听多点接入 / 碰撞避免 协议 | CSMA/CA 协议工作原理 | CSMA/CD 协议 与 CSMA/CA 协议对比 )

    文章目录 一. CSMA/CA 协议 ( 非重点.仅作了解 ) 二.CSMA/CA 协议工作原理 三. CSMA/CD 协议 不能用于 无限局域网 的原因 四. CSMA/CD 协议 与 CSMA/C ...

  9. ARP协议详解,ARP协议执行原理、ARP协议如何根据IP地址寻找Mac地址?

    「作者主页」:士别三日wyx 「作者简介」:CSDN top200.阿里云博客专家.华为云享专家.网络安全领域优质创作者 ARP协议 一.什么是ARP协议 1. Mac地址 2. 网络层的数据 3. ...

最新文章

  1. HSF服务的开发与使用
  2. 【mybatis】IF判断的坑 (实现if test= status == 'zhangsan')
  3. 分布式与人工智能课程(part14)--深度学习
  4. python字符串是用双引号括起来的_用python连接字符串列表并用引号将每个字符串括起来...
  5. 双曲函数奇偶性_基本初等函数之奇偶性(强基系列42)
  6. windows安装MySQL数据库【附安装文档和安装包】
  7. 【电商AI】商业情境中的机器学习|湾区人工智能
  8. android studio中的适配器,如何在Android Studio中测试回收器视图适配器
  9. http://www.cnblogs.com/huxj/archive/2009/11/21/1607791.html
  10. CVPR 2022NTIRE 2022|首个用于高光谱图像重建的 Transformer
  11. 解决ISCROLL单击变双击的BUG
  12. Django中文文档2.0
  13. 蓄水池采样算法的python实现_蓄水池采样算法-Reservoir Sampling
  14. linux用户管理相关
  15. 网站开发进阶(七十):CSS 实现圆角有立体感的 DIV 边框
  16. Java用JFrame、JPanel、Graphics绘图案例讲解
  17. 计算机房灭火房间用的系数,消防安全知识试题(三)(2)
  18. 1.1 n阶行列式子的定义
  19. java整人_整人“病毒”代码(一)
  20. LCHub中国低代码平台排行榜

热门文章

  1. Z律师:创业项目如何玩转股权众筹?
  2. 物联网平台由哪些部分组成
  3. git中submodule子模块的添加、使用和删除
  4. 英里 英尺 英寸的换算
  5. 用地预审与选址意见书
  6. D3.js树图tree 组织机构分布图(基于vue)
  7. Windows 通过CMD指令导出的文件夹/文件的目录树
  8. C#调用FFMPEG实现桌面录制(视频+音频+生成本地文件)【笔记】
  9. 解决视频切片转码后无法无法快进的问题
  10. 原生js判断IE浏览器版本