分享好友 最新动态首页 最新动态分类 切换频道
arp 协议
2024-12-26 09:46

我们之前学习到的 IP 协议解决的是数据跨网络传输的问题。 数据链路层解决的是:直接相连的主机,进行数据交付的问题 直接相连的设备包括我们的电脑,路由器等等哈

我们在网络基础那篇文章中讲过什么是以太网,这里可以来复习一下

  • “以太网” 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的 内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;
  • 例如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;
  • 以太网是当前应用最广泛的局域网技术。和以太网并列的还有令牌环网, 无线LAN等;
  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是 48 位,是在网卡出厂时固化的;

  • 帧协议类型字段有三种值,分别对应 IP、ARP、RARP;

  • 帧末尾是 CRC 校验码。用于在数据通信中检测传输过程中可能出现的错误。它是一种错误检测码,通过对数据进行多项式计算来生成校验值,并将该校验值附加到数据中一起发送。接收方在接收数据时也进行相同的计算,并与接收到的 CRC 值进行比较,以检查数据是否在传输过程中发生了损坏。

太网帧格式的报文也叫做 Mac 帧哈

  • Mac 帧如何做到解包呢?很简单,就是定长报文,掐头去尾就得到有效载荷啦!头:14 字节,尾:4 字节。
  • Mac 帧的有效载荷应该交给上层的那个协议呢?类型字段用来表示将有效载荷交给上层的那个协议
    • 类型字段为 0x0800 就是将有效子啊喝交给 IP 协议。
    • 类型字段为 0x0806 就是将有效子啊喝交给 ARP 协议。
    • 类型字段为 0x0835 就是将有效子啊喝交给 RARP 协议。

这里还是以以太网为例哈,这个部分在网络基础的那篇文章中已经详细讲解过了,这里简单提一下

如上图所示:假设一个局域网中的 H1 要发送一条数据给同一局域网中的 H7 主机!H1 主机进行 Mac 帧的封装,然后发送发哦局域网,然后整个局域网的主机都会收到这个 Mac 帧,收到 Mac 帧的主机会读取报文中的目的 Mac 地址,如果和自己的 Mac 地址不相同,报文就会被直接丢弃!如果和自己的 Mac 地址相同,就会继续进行解包和向上交付

路由器也是 有网络层和数据链路成的,路由器收到报文的时候,先解包,再查路由表,然后再进行封转,转发!直到到达目标主机所在的局域网

分析这个解包和封转的过程不难看出,Mac 帧只在局域网中有效。路由器进行转发的过程中,源 Mac 地址和 目标 Mac 地址是不端变化的

不知道你有没有这样一个疑问:在局域网中通信的两台主机,最开始的时候我们怎么知道目标主机的 Mac 地址呢?这就要引出 ARP 协议啦

ARP(Address Resolution Protocol,地址解析协议)是一种用于将IP地址映射到MAC地址的协议。ARP 不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议。就是说 ARP 协议本身是被划分到了数据链路层的,但是 ARP 协议是 Mac 帧的上层协议

  • ARP 协议建立了主机 IP 地址 和 MAC 地址 的映射关系.
  • 在网络通讯时,源主机的应用程序知道目的主机的 IP 地址和端口号,却不知道目的主机的硬件地址
  • 数据包首先是被网卡接收到再去处理上层协议的, 如果接收到的数据包的硬件地址与本机不符,则直接丢弃;
  • 因此在通讯前必须获得目的主机的硬件地址;
  • 硬件类型指链路层网络类型, 1 为以太网;
  • 协议类型指要转换的地址类型, 0x0800 为IP地址,即将 IP 地址转换为 Mac 地址。
  • 硬件地址长度对于以太网地址为 6 字节,填 6 就行。
  • 协议地址长度对于 IP 地址为 4 字节,填 4 就行。
  • op字段为 1 表示 ARP 请求,op 字段为 2 表示 ARP 应答。

不难发现,对于 IP 地址到 Mac 地址的转化大部分的字段都是固定的写法

如上图所示,在局域网 A 中,主机 R 想要给主机 C 发送一条数据,但是主机 R 并不知道主机 C 的 Mac 地址。因此需要进行 ARP 请求获取主机 C 的Mac 地址

  1. 首先在主机 R 的 ARP 软件层进行 ARP 报文的封装
  • 硬件类型,协议类型,硬件地址长度,协议地址长度都是固定填法。

  • 发送的是 ARP 请求 OP 字段填写 1。

  • 目的以太网地址现在我们还不知道,直接填上全 F 就行

  1. APR 请求报文封转完毕之后,就会交付给下层,构建 Mac 帧
  • 目的以太网地址不知道,填全 F 表示广播地址,任何收到这个 Mac 帧的主机都需要进行解包向上交付。
  • 以太网源地址是填写 MacR 哈,上面的图有一点小错误。
  • 帧类型是 0x0806 表示有效载荷是 ARP 报文。将来需要交给 ARP 的软件层。
  1. Mac 帧构建完毕之后,就会通过网卡发送到局域网。因为目的 Mac 地址是广播地址,局域网中的任何主机都会收到这个 Mac 帧并进行解包,那么就会有两种情况

    1. 除了主机 C 之外的其他主机收到了这个 Mac 帧,假设就是主机 B。

      • 主机 B 收到这个 Mac 帧之后,进行固定长度地掐头去尾,发现帧的类型是 0x0806,也就是 ARP 协议,就会将有效载荷交付给 ARP 的软件层。
      • ARP 的软件层收到这个报文之后,首先会取出 OP 字段,发现 OP 字段为 1 ,即该报文是 ARP 请求。然后再去取目的 IP 地址,发现目的 IP 地址和自己的 IP 地址不相同,那么就会直接将报文在 ARP 层丢弃。
    2. C 主机收到了这个 Mac 帧。

      • 主机 C 收到这个 Mac 帧之后,进行固定长度地掐头去尾,发现帧的类型是 0x0806,也就是 ARP 协议,就会将有效载荷交付给 ARP 的软件层。

      • ARP 的软件层收到这个报文之后,首先会取出 OP 字段,发现 OP 字段为 1 ,即该报文是 ARP 请求。然后再去取目的 IP 地址,发现目的 IP 地址和自己的 IP 地址相同,那么主机 C 就会进行 ARP 应答

      • 在主机 C 的 ARP 软件层进行 ARP 应答的封装

        • 同样地,硬件类型,协议类型,硬件地址长度,协议地址长度都是固定填法。
        • op 字段填写 2 表示这是 ARP 应答
        • 站在主机 C 的视角,发送端以太网地址,发送端 IP 地址,目的以太网地址,目的 IP 地址都是清楚的
      • ARP 应答封装完成之后,就会向下交付,封装 Mac 帧。

        • 目的以太网地址,源以太网地址主机 C 都已经知道了。
        • 帧的类型是 0x0806 表示有效载荷是 APR 报文。将来需要交给 ARP 的软件层。
      • Mac 帧封装完毕之后,就会将他发送到局域网,此时也有两种情况

        1. 除了主机 R 以外的其他主机收到了这个 Mac 帧。这个主机发现目的以太网地址不是自己,会将报文直接丢弃
        2. 主机 R 收到了这个 Mac 帧,发现目的以太网地址是自己,那么机会接收这个报文,从而获取到主机 B 的 Mac 地址,就这样,完成了一次 ARP 请求和响应的过程。

    通过以上模拟的 ARP 通信过程,我们不难得出结论

    1. ARP 收发的过程中,收到的任何 ARP 报文都是先看 OP 字段。
    2. OP 字段决定了 ARP 报文的种类,是 ARP 请求报文还是 ARP 响应报文呢?不同类型的 ARP 报文又决定了接下来是看目的 IP 地址还是发送端的 Mac 地址。

在局域网中的主机每次进行通信之前都要进行 ARP 是不是有点麻烦,好在操作系统会帮我们缓存主机的 Mac 地址和 IP 地址的映射关系!我们可以使用 命令查看缓存的映射数据!下图是在 Windows 操作系统中查看到的结果

最新文章
成品网站1 1 719:高效便捷的建站解决方案,帮助中小企业快速上线
“成品网站1 1 719”这个关键词,听起来可能有些陌生,但它在网站建设和设计领域的特定背景下具有相当重要的意义。本文将围绕“成品网站1 1 719”展开详细分析,解释它在不同场景下的应用,特别是在企业建站和个人站点搭建中的作用。随着互
证件照换底色app免费的有哪些 免费证件照换底色软件分享
众所周知,在工作中或者是各种考试、以及各个方面都可能会应用到证件照,那么不同领域对证件照的要求也是不一样的,照片的大效或者底色方面。今天就来看一下证件照换底色app免费的有哪些?小编会给大家介绍几款自用的免费软件,大家可在手机
手机cpu天梯图2024年8月最新
对于手机处理器的理解,往往存在一种误区。有些人认为,既然对手机的性能需求不高,且不常玩游戏,那么顶级的处理器就显得不那么必要。然而,事实上,处理器是手机中几乎所有运算工作的核心。 无论是
联想ThinkPad与ThinkBook:笔记本电脑系列之间的区别概览
本文将深入探讨联想的ThinkPad和ThinkBook两个笔记本电脑系列的特点和差异,帮助消费者更好地理解它们各自的优势和适用场景。从设计、性能、定位、功能特点等方面进行分析比较,以便为读者在购买时提供有力的参考依据。一、联想ThinkPad系
实战解析,SEO与SEM案例,揭秘网站流量与率提升之道
本文解析了SEO与SEM实战案例,深入探讨了如何通过优化搜索引擎排名和付费推广提升网站流量与率。案例展示了实际操作技巧,包括关键词研究、内容优化、广告投放等策略,为网站优化提供实用参考。随着互联网的不断发展,SEO(搜索引擎优化)
这里告诉你变现猫互动广告广告投放怎么合作
变现猫怎么推广?有官方广告合作。aautoquickey今年开始商业化,aautoquickerapp的有的广告位。你可以付钱。变现猫推广小程序怎么开通?1.进入aautoquickerapp,实名认证后打开aautoquickless商店;aautoquicker的首页——左上角“3”打开侧
【A3360清理大师下载】sonim A3360清理大师8.4.2免费下载
清理大师:更简单,更畅快!6亿用户信赖的手机清理!清理大师是一款完全免费的手机加速与空间清理软件,强力加速使手机运行更流畅,一键清理快速解决空间不足问题。【一键清理】一键搞定无用垃圾,手机清理更省心【手机加速】瞬间释放手机
WISE2024年度焦点产品:开拍、QQ音乐、WPS、可灵
12月12日,凭借着卓越的产品力和超高的美誉度,美图公司旗下开拍获评WISE2024年度焦点产品奖,一同获奖的还有QQ音乐、WPS、可灵等知名产品。由36氪发起的2024年度焦点产品计划,致力于从消费电子和快消品这两大热门行业中发掘出最具创新力
骁龙865与鸿蒙900,骁龙865运行速度对比麒麟990?差距有多大?结局没料到
在安卓阵营中,虽然品牌众多,但是归根到底主要分为了两大阵营,一种是搭载华为麒麟处理器的手机,另一种是搭载高通骁龙处理器的手机。因此,麒麟和骁龙一直都是争斗不休,有人说麒麟处理器好,
精仿搜狗网址导航网站源码带后台更新2012版
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdhtmlheadlink rel=icon href=https://download.csdn.net/download/menhu008/https://download.csdn.net/download/i
相关文章
推荐文章
发表评论
0评