ARP协议-地址解析的过程
2016-02-19 21:35
267 查看
关于ARP协议,大部分人只是简单地知道:这个协议是通过IP地址来获取MAC地址的
但是,这个真的有这么简单吗???它是如何获取MAC地址的呢???
(ARP地址解析协议, RARP反向地址解析协议),我们习惯上把它们认为是链路层的协议,实际上,从分层的角度来看,更准确的说是,(应该是一种介于网络IP层与链路层之间的一种协议)
我们知道在ISO/OSI模型中,数据在传输的过程中,有不断封装过程,到了链路层的话(以太网传输),在以太网的帧格式中会出现目的主机的MAC地址,但是我们从一开始就只知道目的主机的IP地址,所以这里用到了ARP协议
大致过程如下:
源主机先在自己的ARP缓冲区中寻找映射,如果有(直接填充于以太网帧中),如果没有,通过路由广播请求,这时一些联网的主机就会收到这个请求,并将这个请求传回网络层,对比IP地址,检验是否可以接受,如果不行,则直接丢失这个信息,如果可以那么回复ARP请求,并且将源主机的MAC地址加入到目的ARP缓冲区中,形成映射,源主机接受到请求后,将目的的MAC地址加入到ARP缓冲区,也形成映射,并将mac地址传输至连接层。此时转化完成
但是,这个真的有这么简单吗???它是如何获取MAC地址的呢???
(ARP地址解析协议, RARP反向地址解析协议),我们习惯上把它们认为是链路层的协议,实际上,从分层的角度来看,更准确的说是,(应该是一种介于网络IP层与链路层之间的一种协议)
我们知道在ISO/OSI模型中,数据在传输的过程中,有不断封装过程,到了链路层的话(以太网传输),在以太网的帧格式中会出现目的主机的MAC地址,但是我们从一开始就只知道目的主机的IP地址,所以这里用到了ARP协议
大致过程如下:
源主机先在自己的ARP缓冲区中寻找映射,如果有(直接填充于以太网帧中),如果没有,通过路由广播请求,这时一些联网的主机就会收到这个请求,并将这个请求传回网络层,对比IP地址,检验是否可以接受,如果不行,则直接丢失这个信息,如果可以那么回复ARP请求,并且将源主机的MAC地址加入到目的ARP缓冲区中,形成映射,源主机接受到请求后,将目的的MAC地址加入到ARP缓冲区,也形成映射,并将mac地址传输至连接层。此时转化完成
相关文章推荐
- windows客户端开发--通过ShellExecute函数打开浏览器
- 排序算法(五)——简单选择排序
- windows客户端开发--通过ShellExecute函数打开浏览器
- BZOJ 1305 CQOI2009 dance跳舞 二分答案+最大流
- [BZOJ 2180]最小直径生成树
- json
- ThinkPHP框架总结之安全及使用
- 四维超体运动在三维空间的表现1(使用three.js)
- 算法竞赛入门经典 孪生素数
- [oj]樱花对称问题
- 【opencv】图像平滑处理
- zabbix企业应用:监控Dell Compellent存储设备
- C++之 构造函数调用规则
- JavaScript 的性能优化:加载和执行
- 笔记:Deep multi patch aggregation network for image style, aesthetics and quality estimation
- 松哥推荐的nginx配置教程
- VBA单元格拷贝
- Android线程一、AsyncTask使用简介
- bzoj1208[HDOI2004] 宠物收养所
- JQuery 常用积累(六)ZTree