ARP协议的工作流程
图片来自网络
目录
- 网络层的ARP协议
- 1.ARP协议的目的
- 2.ARP协议通讯过程
- 3.总结
网络层的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地址的对应表)。
2.如果找到了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。”
主机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数据包进行封装后发送出去。
相关文章
- 一个Java程序员对2011年的回顾
- 大数据发展历程
- Android高级进阶之路【一】Android中View绘制流程浅析
- 可信服务管理(Trusted Service Manager)介绍
- GIS应用|快速开发REST空间分析服务
- 未来十年微软长盛不衰的两项战略
- 领域驱动设计模式的收益与挑战
- cocos 3.0 一键打包android平台应该注意的细节
- 数智化时代,驱动企业转型升级的“三驾马车”是什么?
- 基于MINA构建高性能的NIO应用
- 使用Rainbond实现离线环境软件交付
- 工作流引擎 jBPM 5.2 发布
- 微信小程序Minium自动化测试(三)
- 桌面应用抢先体验,这次有点料!
- 甲骨文Java专利遭拒 起诉Android侵权受挫
- 云计算的应用领域及发展前景
- Java效率真的很低吗?Android为何要采用?
- Android高级进阶之路【二】十分钟彻底弄明白 View 事件分发机制
- 庖丁解牛之-Android平台RTSP|RTMP播放器设计
- 手机直付,超级方便