@IT·互联网

ARP,局域网运维必需理解的知识

2018-09-04  本文已影响60人  相当嚣张

ARP(Address Resolution Protocol),地址解析协议,TCP/IP协议族中的一员。我们知道IP地址是互联网的身份证,你的笔电、你的手机、你的pad,只要联网都需要获取一个合适的IP地址才能够连接上互联网。而ARP地址(也称为MAC地址)是局域网的身份证明。什么?局域网是什么?

局域网:英文名:Local Area Network,一般指在一个限定的物理范围内由一组电脑、可联网电子设备连接起来的小型网络。关键词是Local,本地。比如家里、学校、公司等环境。

我们日常用的电脑、手机都有自己的ARP地址,并且这个地址理论上全球唯一。ARP不止在局域网有用,ARP位于第2层,IP位TCP/IP模型第3层,虽然“官阶”没有IP高,但没有ARP,IP承载的数据根本出不去,就像一辆车,没有轮子你是跑不动的。
ARP的地址位数有48bit(位),IP地址为32bit。通常将ARP地址用16进制表示。例 如:52:54:00:07:16:20

地址转换
任何数据想要传输到网络,必须将其封装成IP包(里面含有IP地址),然后再将IP包转换成以太网帧,用于在局域网上传输。而以太网帧就含有ARP地址。而系统会将IP地址动态的和ARP地址建立映射关系。

地址映射
这个过程对我们是透明的,不需要太关心。

ARP请求报文格式

ARP请求报文格式

这里的以太网源地址就是本机的ARP地址,以太网目的地址就是通信另一方的ARP地址(或者是一个广播地址,稍后会说明),图中表示的数字表示占几个byte(字节),前面我们说过ARP地址有48bit,1 byte = 8 bit。所以ARP地址占6个byte。

一个例子
场景:公司一台笔电访问内部网站
A为公司笔电,B为公司网站服务器。A的IP地址是192.168.100.1/24,ARP地址是52:54:00:07:16:25,B的IP地址是192.168.100.188/24,ARP地址是52:54:00:07:16:28
A打开浏览器输入B的IP地址访问其网站主页,首先系统会判断目的IP地址和自己的IP地址是否在同一个网络内。其判断的依据就是根据IP地址和子网掩码。在本例中B服务器和A在同一个网络中,系统会先去查看自身的ARP缓存表,是否有目的IP的ARP缓存记录,如果有,则直接将其设为以太网目的地址,如果没有缓存记录。就会先向局域网内发送一个ARP广播请求。

ARP广播请求:是一种特殊的ARP请求,他将以太网目的地址设置为FF:FF:FF:FF:FF:FF,以太网源地址设为自己的ARP地址52:54:00:07:16:25发送至局域网络。

局域网内的每台主机都会监听 ARP请求,当A主机发送ARP广播请求时,所有在局域网内(指同一个子网内)的设备都会收到这个请求。这个请求的内容翻译成白话:谁有192.168.100.188的ARP地址,请告诉我。收到这个请求的设备都会检查自己的IP是否为192.168.100.188,如果不是,则不做任何动作。IP为192.168.100.188的B服务器也收到了这个请求,同时发现自己的IP就是请求要查找的IP,于是B会发送一条ARP响应报文,包含了自己的IP地址和ARP地址。

:此时B发出的ARP响应报文,以太网源地址和目的地址分别是什么?
:以太网源地址是52:54:00:07:16:28(B主机的ARP地址),以太网目的地址是52:54:00:07:16:25(A主机的ARP地址)。

前面提到过局域网内的机器一直处于侦听ARP请求的状态,当A主机侦听到这个ARP响应请求时,发现其目的ARP地址就是自己,就像快递上面的收件人是自己一样,就会收取这个报文,然后获取到B服务器的ARP地址。
获取到B服务器的的ARP地址后,首先将其放入自己的ARP缓存表。我们在windows或linux下都可以使用arp -a查询arp缓存表。类似这个样子。

image.png

ARP缓存记录为分为动态和静态。广播地址就属于静态,因为它的地址是不变的,永远为ff:ff:ff:ff:ff:ff。而我们刚刚获取的B服务器的ARP地址就是动态的,因为B服务器的IP地址可能是会变的,那么其IP-ARP地址的映射关系就会随之发生改变。如果确定目的主机的IP地址不轻易发生改变,我们也可以通过命令将其设置为静态类型,命令是arp -s ip地址 arp地址
获取到B服务器的ARP地址后,就可以直接发送真正的请求数据给B服务器了,而此时B服务器以同样的方式拿到了A的ARP地址,收到请求数据后会将A请求的数据发送给A。

ARP虽然是TCP/IP协议族的基层员工,他就像快递员,没有他,你是收不到包裹的。本期主要讲的是原理,有机会再和大家聊聊以前一个著名的利用ARP机制漏洞盗取用户数据的病毒工作原理。谢谢大家的观看,再会。

上一篇下一篇

猜你喜欢

热点阅读