ARP协议和路由器工作原理

article/2025/9/25 0:04:36

 网络设备想要发送数据到另一台设备是,不仅要知道对方设备的IP地址,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送数据的那一台设备必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP协议来实现的。

数据的封装过程

PC1首先在应用层产生数据 data;

然后传输层在应用层的基础上封装TCP/UDP协议,产生数据段;

网络层在传输层的基础上封装IP 地址(源IP地址 192.168.1.1 和目的IP地址 192.168.2.1 | TCP | data);

数据链路层在网络层的基础上封装MAC地址(即:源MAC地址 AA 目的MAC地址 BB | 源IP地址 192.168.1.1 目的IP地址 192.168.2.1 | TCP | data);

物理层:将PDU()转换成比特流(bit)。

网络层中封装的封装的的源IP地址和数据链路层中的MAC并不是完全对应的关系,为避免记混,可以认为目的IP地址是数据最终要到达的地方的IP地址;目的MAC地址是下一站要到达的地方的MAC地址。

路由器的工作原理

PC1传来的数据到达路由器:

1:路由器会先查看自己的缓存表中是否存在PC1的相关信息;再对数据帧中的目的MAC地址进行解析,判断是否是本接口的MAC地址,如果不是就直接丢弃;如果是就进行解封装。

2:路由器查看数据中的目的IP地址,查看该IP地址是否和路由表中的信息相匹配,如果不匹配,就直接丢弃然后返回ICMP错误信息;如果匹配成功,就将数据路由到相对应的路由器的接口,再进行对帧头帧尾的封装。

3:检查ARP缓存表中是否存在下一跳的MAC地址,如果有就重新封装再进行转发;如果没有,就发送ARP请求广播报文请求获取下一跳的MAC地址,并记录到ARP缓存表中, 再重新封装数据帧发送出去。

ARP请求和响应:

ARP请求报文 (request)

PC1不知道PC2的MAC地址,因此要发送ARP广播请求报文。在数据链路层中产生ARP请求报文:

请求包中:

源MAC地址:AA      目的MAC地址:FF-FF-FF-FF-FF-FF(广播MAC地址,是为了让对方知道可以进行ARP请求在整个网络上传播,该网络所有的主机都能收到这个报文,网关将会阻止该报文发送到其他网络上。);

ARP协议中:源IP地址:192.168.1.1            目的IP地址:192.168.1.254(路由器的网关)   

                  源MAC地址 AA     目的MAC地址 00-00-00-00-00-00

ARP响应报文 (replay)

路由器收到PC1发送的请求报文后,检查到请求报文中的MAC地址和自身的地址相匹配,路由器会将ARP报文中的源MAC地址和源IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应。ARP Reply报文通过单播传送。

ARP协议中:源MAC地址BB              目的MAC地址 AA

           源IP地址 192.168.1.254    目的IP地址 192.168.1.1 

ARP代理

广播报文无法被路由器转发,那么目的主机就收不到发送数据的主机的ARP request报文,那目的主机也就无法应答,就需要在路由器上启用代理ARP功能。用ARP代理后,路由器收到这样的请求,会查找路由表,如果路由表中存在目的主机的路由表,路由器将会使用自己与发送数据主机的那个接口的MAC地址来回应这一ARP request。主机A收到ARP reply后,将以路由器跟发送数据的主机的那个接口的MAC地址作为目的MAC地址进行数据转发。则不同网络的网络设备在没有配置网关的情况下,也能够通过ARP代理实现相互通信。


http://chatgpt.dhexx.cn/article/MAQTdn8F.shtml

相关文章

ARP协议工作原理

转自:https://blog.csdn.net/wangzhen209/article/details/78249955 一、ARP在同个网段下的工作原理 首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时&…

【头歌】——ARP协议分析(计算机网络)

任务描述 本关任务:对 ARP 协议进行分析。 具体操作

ARP协议的作用

1. 什么是ARP?    ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。   2为什么要有ARP? OSI 模式把网…

ARP协议的工作流程

坚持原创输出,点击蓝字关注我吧 图片来自网络 目录 网络层的ARP协议 1.ARP协议的目的2.ARP协议通讯过程3.总结 网络层的ARP协议 通过ARP协议知道对方的mac地址,已经知道对方ip地址的情况下,不知道mac地址。定义了一个ARP协议来解决这个问题。…

什么是ARP协议

欢迎关注  一、什么是ARP协议 ARP协议,全称“Address Resolution Protocol”,中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址)。 在TCP/IP的网络环境下,每个联网的主机都会被分配…

ARP协议格式和实例分析

ARP协议是一个网络层协议,它的出现是为了完成网络层的ip和数据链路层的MAC地址之间的对应关系。 一、ARP协议的报文格式 arp的报文格式如下: 1.硬件地址类型:该字段表示物理网络类型,即标识数据链路层使用的是那一种协议,其中0x…

Wireshark抓包分析ARP协议

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》 使用Wireshark工具抓取ARP协议的数据包,分析ARP协议的…

ARP协议详解 ------- 一看就懂

ARP协议详解 什么是ARP?ARP的作用ARP工作流程抓包分析ARP请求报文ARP应答报文 ARP表动态ARP表静态ARP表免费ARP免费ARP的作用有:(1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。(2)更新其他主机高速缓存中旧的硬件地址信息。(3)网关利…

全网最全最详细的ARP协议介绍

ARP,Address Resolution Protocol,地址解析协议,解析IP地址得到MAC地址,基于数据链路层之上的协议,可以看成和网络层同一层级,通常称为2.5层协议,ARP是网络层与数据链路层的重要枢纽,它解决了网络层(软件)到数据链路层(硬件)的映射 ARP请求报文 数据通信的基础是在…

ARP协议介绍

什么是ARP? ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和…

图解 ARP协议工作流程

文章目录 概念工作原理工作过程举例 ARP报文格式 概念 ARP(Address Resolution Protocol),即地址解析协议。ARP协议是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机&#…

计算机网络 - ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和…

ARP协议原理

文章目录 引言初始ARPARP缓存表一句话总结ARP协议的工作ARP表项的建立对于局域网对于公网 ARP缓存表的超时处理ARP报文喜欢就关注我吧! 引言 从前一篇文章中,我们知道计算机中会维护一个ARP缓存表,这个表记录着IP地址与MAC地址的映射关系&am…

ARP协议简介

ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。 数据链路如以太网或令牌环网都有自己的寻址机制,这是使用数据链路的任何网络层…

ARP协议详解,小白易懂

当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址&am…

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

目录 一、ARP简介 二、ARP的工作原理 三、ARP协议在同网段工作原理 四、ARP协议在不同网段工作原理 一、ARP简介 ARP全称是“Address Resolution Protocol”(地址解析协议),ARP作用于以太网的环境之中,以太网环境之中数据的传输依赖的是MAC地址并不是…

矩阵分析:特征值分解

矩阵分析:特征值分解 前置知识空间变换伸缩旋转 对称矩阵对称矩阵对角化 正交矩阵向量的基基变换不同基下的向量变换逆矩阵不同基下的空间变换 内积的几何意义 特征值、特征向量特征值分解代码 前置知识 空间变换 伸缩 一个矩阵其实就是一个线性变换,因…

关于矩阵特征值的理解

好久没看矩阵相关的东西,,,都忘光了,,,, 用运动来理解描述矩阵。 如何理解矩阵特征值? - 马同学的回答 - 知乎https://www.zhihu.com/question/21874816/answer/181864044 行列式是…

矩阵特征值求法实例

矩阵特征值 设 A 是n阶方阵,如果存在数m和非零n维 列向量 x,使得 Axmx 成立,则称 m 是矩阵A的一个特征值(characteristic value)或 本征值(eigenvalue)。 矩阵特征值方法 对于矩阵A,由AXλ 0X,λ…

MATLAB中有关矩阵特征值和特征向量的计算

在MATLAB语言中,求矩阵的特征值和特征向量需要用到两个函数:eig()、diag() diag():可生成一个对角矩阵 调用eig函数的格式为: [x,y]eig(A) 其中矩阵y的对角线元素存储的是A的所有特征值,且从小到大排列;而矩阵x的每一…