您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

浅谈ARP地址解析协议

时间:2020-09-27 10:39:50  来源:  作者:

今天跟大家聊一聊你们认为最熟悉又是最陌生的ARP地址解析协议,现在网络都是 Ethernet,在这个环境中,我们的 PC router 三层设备都包含 mac IP 地 址。

 

一、ARP的简单介绍

 

在以太网环境中,我们要发送帧,帧要添加SD( 源目,下面统一说成SD)MAC 地址信息,通信的时候,不关注 MAC 地址是什么,ping IP 地址,很多情况下 S 和 D 通信的时候 S 知道 D的 IP 地址,不知道MAC 地址是不能通信的,因为在 Ethernet 环境中将成帧(成帧 我们的数据帧能够成功的被封装),如果不知道 MAC 地址,那么 MAC 地址帧头的第一个字段没有办法填写,所以通信的时候,不但知道对端的 IP 地址,还要知道对端 MAC 地址。

 

当PC 发送一个数据包去往目的节点的时候,回做一个判断自身的 IP 地址和目标 IP 地址是否在同一个自网段内,使用自身的掩码和目的 IP 地址做一个云运算,得出网络号和自身的网络号对比,一致代表在同一个网络内或者广播域内,这个时候可以使用对端 MAC 地址做数据封装,不在同一网络内,那么就检查是否指定网关,去查看网关的 MAC 地址信息,因为去往外网的时候目的 MAC 地址必须是网管的,否则出不去,因为 router 收到 MAC 地址为自己的接受接口地址的时候才会拆包,获得 3 层查 DIP,做转发,这就是 PC 对待网络内 网络间通信差异化处理。

 

还有一种可能,就是 PC 要访问外网节点,并没有指定网关,那么可以尝试解析对端的 MAC 地址,只要通过 Ethernet 接口发送数据,我一定要根据下一跳 IP 地址在 ARP 表中找对应的表项 ,情况有以下两种:

 

找到:直接使用该表项的地址信息填充 MAC 字段,

 

没有找到:发送 ARP 请求来解析,

 

在同一网络内,我的下一跳就是目的地;不在同一网络内 下一跳就是网关。当两来主机在同一网络内的时候直接针对目的 IP 做 ARP 检查,要访问外网的时候指定网关,对网关做 ARP 地址检查。ARP请求广播,应答为单播,那什么情况下发送ARP请求呢?就是在已知目的主机 IP,解析目的主机MAC 地址的时候,如下图:

浅谈ARP地址解析协议

 

可以看到,ARP 封装一定是封装 Ethernet 帧头。

 

下面我们就来说看看ARP数据包格式,如下图所示:

浅谈ARP地址解析协议

 

Hardware type(硬件类型)表示硬件地址类型,一般为以太网

Protocol type(协议字段) 三层的协议信息

Hardware length (硬件地址长度)MAC 地址多少字节,

Protocol length(协议长度) 3 层地址长度

Operation code (操作代码) 1 是 request 2 是 reply

 

二、代理 ARP 和免费 ARP

 

代理 ARP 全称是 Proxy ARP ,在路由器、多层交换机、防火墙的网关接口使用,那么代理 ARP 是怎么工作的呢?如:PCA---SW1---R1---SW2---PCB,PCA 是没有配置网关的老式电脑,步骤如下:

(1)判断 PCB 和自身的 IP 地址是否属于同一个 IP 子网段,然后

(2)PCA 直接针对 PCB 的 IP 地址做 ARP 解析,条件如下:

  • ARP 的请求者和被请求者是否属于同一个网络
  • R1 需要拥有去往被请求者的路由
  • 接口开启代理 ARP

 

这时 R1 会伪装成 PCB 代替 PCB 向 A 返还 ARP 应答、免费 ARP全称是IP gratuitous-arps,通过 DHCP 来获取一个 ip 地址,同时发送免费 ARP,免费 ARP 数据包是主机发送 ARP 查找自己的 IP 地址 。那么免费ARP有那么作用呢?如下:

 

(1)验证 IP 是否冲突一个主机能够通过它来确定还有一个主机是否设置了同样的 IP 地址。发送主机并不须要一定收到此请求的回答。假设收到一个回答,表示网络中存在与自身 IP 同样的主机。假设没有收到应答,则表示本机所使用的 IP 与网络中其他主机并不冲突 。

 

(2) 假设发送 ARP 的主机正好改变了物理地址(如更换物理网卡),能够使用免费ARP来通知网络中其他主机及时更新 ARP 缓存。



Tags:ARP地址   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
今天跟大家聊一聊你们认为最熟悉又是最陌生的ARP地址解析协议,现在网络都是 Ethernet,在这个环境中,我们的 PC router 三层设备都包含 MAC IP 地 址。 一、ARP的简单介绍 在以...【详细内容】
2020-09-27  Tags: ARP地址  点击:(95)  评论:(0)  加入收藏
有朋友多次问到,如何防止ip地址冲突?如何解决?很多情况下ip地址冲突除了人为,大多数都是由arp所造成的,今天我们就一起来了解一下arp相关的内容。一、什么是arp 1、什么是arp地址...【详细内容】
2019-09-23  Tags: ARP地址  点击:(132)  评论:(0)  加入收藏
▌简易百科推荐
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(0)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(2)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(29)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(9)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(14)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(20)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(30)  评论:(0)  加入收藏
无论是在外面还是在家里,许多人都习惯了用手机连接 WiFi 进行上网。不知道大家有没有遇到过这样一种情况, 明明已经显示成功连接 WiFi,却仍然提示“网络不可用”或“不可上网”...【详细内容】
2021-12-14  UGREEN绿联    Tags:WiFi   点击:(25)  评论:(0)  加入收藏
拉了千兆宽带,买了标称 1300Mbps 的无线路由器,为什么 WiFi 还是跑不满千兆?要回答这个问题,我们先得知道这个 1300Mbps 是怎么来的。开始回答之前先说明一下,这期只讲 802.11ac,...【详细内容】
2021-12-14  Ubiquiti优倍快    Tags:WiFi   点击:(83)  评论:(0)  加入收藏
问题背景IPv6环境下,在浏览器中通过http://[vip:port]访问web业务,提示无法访问此网站,[vip]的响应时间过长。分析过程之前碰到过多次在PC浏览器上无法访问vip的情况,排查方法也...【详细内容】
2021-12-13  云原生知识星球    Tags:网络问题   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条