arp协议是什么地址转化(一文搞懂ARP协议,8张图详解如何通过目的ip拿到mac地址)

大家好,我是IT售前工程师Bernie。

我们知道,在网络通信中主机和主机通信的数据包需要依据 OSI 模型从上到下进行数据封装,当数据封装完整后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目 MAC 的封装。

如果一台主机在数据帧封装前不知道某个目的ip机器的mac地址怎么办呢? 这时候就需要通过 ARP 协议来获知目的主机的MAC 地址,完成数据封装。

什么是ARP

ARP 协议的全称是 Address Resolution Protocol,地址解析协议。说直白一点:ARP协议可以用来根据ip地址寻找mac地址的协议。

ARP协议的工作原理

举个简单的例子,在同一个局域网【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.内有4台主机通过交换机连接。那么,当pc1想要拿到ip=192.168.1.4对应的mac地址时。它将进行如下的操作

第1步

它会查询自己的ARP协议表,看看有没有这个IP绑定的mac地址。我们可以通过cmd下输入arp -a指令查询ip与mac地址的对应关系表。如果能查询到,则拿到这个mac地址进行以太网协议的封装即可。

如果拿不到,就要通过arp广播的形式去询问同一个网段下的所有主机。

第2步

pc1这台机器开始发送ARP广播,广播信息里面封装了ip地址和mac地址。这里ip地址为pc4的地址192.168.1.4,mac地址由于不知道,所以每一位都是0。

由于发送的是ARP广播协议,同一个vlan下【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.的主机全都能接收到这条消息。

第3步

每台主机收到了这条广播消息后,迅速查询下自己的ip地址和mac地址。如果发现数据包中ip地址是自己的ip,那么就第一时间更新自己的ARP表,将PC1的ip\mac地址做更新。然后,将自己的mac地址利用单播的形式返回给pc1。

第4步

pc1收到响应回来的mac地址,立即更新到自己的ARP表中。同时,将IP数据包用这个mac地址为目的mac地址封装成帧与pc4通信。

不同网段之间的ARP协议

换一个思路,如果pc1和pc4不在同一个网段,如何才能拿到pc4的mac地址呢?

比如下图,pc1和pc2\pc3在同一个网段,但是和pc4\pc5不在同一个网段。

很明显,pc1和【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.pc4是不能直接使用ARP协议的,那么这就要使用ARP代理路由了。代理路由可以将pc1的广播转送给pc4/pc5,然后在响应时pc4也要借助于ARP代理路由将mac地址传给pc1。

ARP数据包

为了让大家更好的理解 ARP 协议以及广播和单播的概念,我们来看一下用 抓包工具抓到到的真实网络中的 ARP 过程,通过数据包的方式来呈现,地址信息如下,部分 MAC 信息隐去。

请求包

响应包

解读

Hardware type :硬件类型,标识链路层协议

Protocol type: 协议类型,标识网络层协议

Hardware size :硬件地址大小,标识MAC地址长度,这里是6个字节(48bti)

Protoco【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.l size: 协议地址大小,标识IP地址长度,这里是4个字节(32bit)

Opcode: 操作代码,标识ARP数据包类型,1表示请求,2表示回应

Sender MAC address :发送者MAC

Sender IP address :发送者IP

Target MAC address :目标MAC,此处全0表示在请求

Target IP address: 目标IP

总结

OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头。ARP 协议在TCP/IP模型中属于IP层(网络层),【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.在OSI模型中属于链路层。

我是IT售前工程师Bernie,欢迎关注!下期见~

声明: 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责! 本网站部分内容只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系本站删除,将及时处理! 站长联系方式微信:ddd204443
行业资讯

拓斯达现在有多难(拓斯达取得图像匹配专利,提高图像匹配过程中的图像匹配精确度)

2024-4-19 16:49:08

行业资讯

安卓手机k歌软件哪个好用(迎新年,全新安卓K歌APP大全(听歌合集更新))

2024-4-19 17:10:03

给力项目,中创会员网会员可以下载 友情提醒:中创会员网微信公众号开通了, 这里没有广告,只有干货!定期分享你意想不到的网络思维! 干货教程!网赚论坛部分教程需要解压密码,所以请务必加微信公众号! 据说加了站长微信的,一个月都可以赚几万块!试试就知道哦 站长v:ddd204443
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索