0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARP协议的工作流程

冬至子 来源:清菡软件测试 作者:清菡 2023-07-10 17:29 次阅读

网络层的ARP协议

通过ARP协议知道对方的mac地址,已经知道对方ip地址的情况下,不知道mac地址。定义了一个ARP协议来解决这个问题。

因为在数据链路层的时候需要知道一个mac地址,然后才能进行数据链路层的封装。所以需要通过网络层的ARP协议来获取mac地址。

打开控制面板-网络连接-连接详细信息

图片

物理地址:是这台电脑的mac地址。

IPv4地址:是这台电脑的ip地址。

通过ip对应成域名。mac地址不方便记忆,所以最先记住的是ip地址或域名。

要进行数据链路层的封装又必须要知道它的mac地址。所以用ARP协议,通过ip地址获取对方的mac地址。

1.ARP协议的目的

ARP-地址解析协议,实现通过对方的ip地址(域名)寻找对方的mac地址。

2.ARP协议通讯过程

举个例子:

图片

图片来自网络

目的:老师想给班级里一个学生a发消息催作业,用微信。

「老师」

1.先去微信通讯录查找有没有同学a的微信,如果有,直接给同学a发消息,让她交作业。

2.没有同学a的微信。去班级群发消息:“同学a的微信,给我一下,我是某某老师。”

同学a看到群里消息,她把微信单独发给老师。老师收到同学a回复的微信消息。

3.老师加好友,可以在微信通讯录找到同学a,可以直接发消息了。

给同学a单独发了一条消息:"同学a,我们要交作业了。"

同学a单独回复:"我马上交作业。""

「同学a」

1.添加老师的微信到微信通讯录。

2.私聊发消息。

这个过程就是ARP协议实现的过程。

同上:

图片

图片来自网络

主机a给主机b发消息进行通信

1.主机a找主机b的mac地址。

知道主机b的ip地址:192.168.1.2

主机a的ip地址:192.168.1.1

现在主机a要发消息,找主机b的mac地址。ARP表和微信通讯录很相似(ip地址和mac地址的对应表)。

如果找到了mac地址,去数据链路层封装mac地址,进行数据包的发送。如果在arp表里没有找到ip地址对应的mac地址,主机a发消息给主机b所在的主机群组。

主机a发广播消息:“谁有主机b(192.168.1.2)的mac地址,我是主机a(192.169.1.1)。”

主机b回复主机a一条单播消息:“我就是192.168.1.2,我的mac地址是xxxxx。”

2.主机b收到主机a的广播消息后,在回复消息之前。主机b保存主机a的mac地址和ip地址到自己的ARP表里面。

再找主机a通信的时候,就直接在ARP表里面找到主机a的ip地址和mac地址的对应关系,直接发送单播消息。

3.主机a收到主机b的单播消息,同样把主机b的ip地址和mac地址保存到ARP表里。

3.总结

1.主机a首先查看自己的ARP表,如果找到了主机b的mac地址,则直接对ip数据包进行帧封装,发送给主机b。

2.如果主机a在ARP表中找不到主机b的mac地址,则将缓存该数据报文,然后以 「广播方式」 发送一个arp请求报文。

ARP请求报文中带上 「源ip地址和源mac地址(主机a)」 ,目标ip地址和目标mac地址为主机b的ip地址和 「全0的mac地址」

广播,该网段上的所有主机都可以接收到该请求。但只有被请求的主机(即主机b)会对该请求进行处理。

3.主机b比较自己的ip地址和ARP请求报文中的目标ip地址,当两者相同时进行如下处理:将arp请求报文中的发送端(即主机a)的ip地址和mac地址存入自己的ARP表中。

之后以 「单播方式」 发送arp响应报文给主机a,其中包含了自己的 「mac地址」

4.主机a收到ARP响应报文后,将主机b的mac地址加入到自己的ARP表中以用于后续报文的转发,同时将ip数据包进行封装后发送出去。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARP协议
    +关注

    关注

    0

    文章

    10

    浏览量

    6888
收藏 人收藏

    评论

    相关推荐

    帮忙分析下这个设计的工作流程

    你好我是单片机学习的菜鸟能不能帮我分析一下一下设计的工作流程各个器件的工作原理
    发表于 12-07 11:06

    AndroidWifi工作流程

    AndroidWifi工作流程
    发表于 11-02 10:52

    AndroidWifi工作流程

    AndroidWifi工作流程
    发表于 09-25 11:17

    AndroidWifi工作流程

    AndroidWifi工作流程
    发表于 11-08 09:07

    TCP/IP协议栈的工作流程是怎样的

    协议栈是什么?BLE协议栈有哪些应用?TCP/IP协议栈的工作流程是怎样的?
    发表于 11-03 07:33

    AS068工作流程是怎样的?

    AS068工作流程是怎样的?
    发表于 12-07 08:02

    地址解析协议ARP

    地址解析协议ARP 地址解析协议 ARP 是一种广播协议,主机通过它可以动态地
    发表于 06-09 21:53 1125次阅读
    地址解析<b class='flag-5'>协议</b><b class='flag-5'>ARP</b>

    地址解析协议(ARP),地址解析协议(ARP)是什么意思

    地址解析协议(ARP),地址解析协议(ARP)是什么意思 地址解析协议 (ARP) “地址
    发表于 04-06 09:07 2104次阅读

    ARP协议动态交互仿真系统的设计

    该系统实现了ARP 协议的动态交互仿真,完成了ARP协议整个工作过程的模拟实现,通过动态交互操作,能够让学习者更轻松地学习和掌握
    发表于 03-31 11:07 2269次阅读
    <b class='flag-5'>ARP</b><b class='flag-5'>协议</b>动态交互仿真系统的设计

    arp协议的作用是什么?arp协议工作原理介绍

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。那么ARP协议
    发表于 11-02 16:14 6.4w次阅读
    <b class='flag-5'>arp</b><b class='flag-5'>协议</b>的作用是什么?<b class='flag-5'>arp</b><b class='flag-5'>协议</b>的<b class='flag-5'>工作</b>原理介绍

    测试工程师工作流程有哪些

    测试工程师的工作流程,与公司的整体工作流程,项目的测试要求等因素相关。本文主要讨论测试工程师的一般工作流程
    的头像 发表于 10-03 16:56 7706次阅读

    雷电的4K工作流程

    在4K的雷电工作流程
    的头像 发表于 05-31 11:20 2420次阅读

    工作流程图怎么用?有哪些绘制工作流程图的软件

    工作流程图是清晰地展示工作中各个环节的流程图图示,主要用于工作活动和效率的管理。工作流程图这种图示方法具有直观描述性、简洁性、可操作性和指导
    的头像 发表于 07-28 14:22 3549次阅读

    ARP是什么意思?ARP是什么协议ARP协议用于什么地方

    ARP是什么意思?ARP是什么协议ARP协议用于什么地方 ARP是什么意思?
    发表于 11-10 18:00 1.9w次阅读

    TCP/IP协议工作流程

    域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP地址 RFC:TCP/IP协议的标准文档 端口号:一个逻辑号码,IP包所带有的标记 Socket:应用编程接口 数据链路层的工作特性: 为IP模块发送和接收IP数据报 为AR
    的头像 发表于 11-19 14:11 7538次阅读
    TCP/IP<b class='flag-5'>协议</b>的<b class='flag-5'>工作流程</b>