【背景描述】
1 、什么是ARP?
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
2 、ARP协议的工作原理
正常情况下,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
p_w_picpath
3 、常见的ARP***类型
clip_p_w_picpath002
clip_p_w_picpath004
clip_p_w_picpath006
clip_p_w_picpath002[8]
p_w_picpath
clip_p_w_picpath002[10]
clip_p_w_picpath004[9]
clip_p_w_picpath006[9]
交换机的IP-MAC-PORT绑定可以很好地解决ARP欺骗行为,保护网络的安全。
【实验拓扑】
p_w_picpath
【实验设备】DES-3526交换机1台,测试PC2台,网线若干。
【实验步骤】
clip_p_w_picpath003
初始阶段,绑定的数目为零
p_w_picpath
p_w_picpath
开始的时候测试PC连接在交换机的第一个端口,此时与路由器通信正常。
p_w_picpath
将此计算机从第一端口移至1-8端口的任一端口,它与路由器的通信仍然正常,因为我们已经将192.168.1.11&00-16-d3-b8-70-08这个地址对绑定到了1-8端口。
p_w_picpath
将此计算机连接到9-16端口的任一端口,此时它与路由器的通信中断,因为我们没有在9-16端口上绑定192.168.1.11&00-16-d3-b8-70-08。
p_w_picpath
p_w_picpath
此时将测试计算机连接到交换机的1-8端口任意一口,然后将此计算机的IP地址修改为192.168.1.12,然后测试与路由器的通信。
p_w_picpath
p_w_picpath
虽然仍然连接在1-8端口中,但是由于修改了此计算机的IP地址,也已经被交换机所阻止其通信。如果修改了计算机的MAC地址,结果也是同样的。
p_w_picpath
要想使此交换机可以在1-16端口中正常通信,可以修改此ip-mac地址对所绑定的端口为1-16。
p_w_picpath
在交换机上配置了IMP功能以后,交换机会检查每个数据包的源IP地址和MAC,对于没有在交换机内记录的IP和MAC地址的计算机所发出的数据包都会被交换机所阻止,这也从根源上杜绝了ARP病毒的***。IMP功能也有效地防止了内部网络某些人出于某些目的擅自修改自己计算机的IP、MAC地址或者交换机端口号的行为。从而保障了网络的安全。
注:在未启用IMP功能的交换机端口上所连接的计算机则不受以上规则的限制。
【知识扩展】
clip_p_w_picpath002
IP-MAC-PORT绑定是在交换机上面静态的绑定网络内主机的ip-mac-port的对应关系,在网络内主机数目比较少的情况下,使用IP-MAC-PORT绑定是比较方便的。当网络内主机的数目比较多的时候,这种方式就比较繁琐。
这个时候我们采用的是DHCP SNOOPING的方式来解决这个问题。对于比较大型的网络,最长采用的是使用DHCP服务器为网络内的主机来自动分配IP地址 ,这个时候可以开启交换机上面的DHCP SNOOPING功能, DHCP Snooping可以自动的学习IP和MAC以及端口的配对,并将学习到的对应关系保存到交换机的本地数据库中。 在客户机发送数据的时候只有和数据库中 IP-MAC-PORT条目匹配正确,数据 才能通过 相应的端口进行传输 。如果这个时候网络内某个主机对其他主机发送ARP欺骗数据包,交换机都回及时的将数据进行阻止,来保护网络的安全。
下面我们来看一个DHCP-Snooping的实验例子,实验环境与上例同。
【实验拓扑】
p_w_picpath
【实验步骤】
在交换机上配置DHCP-Snooping参数
p_w_picpath
p_w_picpath
p_w_picpath
p_w_picpath
p_w_picpath
计算机在修改了自身IP 地址以后,被交换机所阻止。同样修改了自身MAC地址也会得到同样的结果。除了防止用户修改IP-MAC信息以外,DHCP-Snooping还可以限制接入的计算机的数目。例如下例:
p_w_picpath
这个例子中 ,DHCP SNOOPING只允许每个端口学习一条IP-MAC的对应条目,连接在这个端口上的其他主机被认为非法的主机阻止其进行通信。
原来PC1直接连接在交换机的第一个端口上,可以进行正常的网络通信。为了让更多的机器上网,在端口1下面私自连接了一台交换机,PC1和PC2都连接到这台交换机上面。但是由于交换机做了安全设置,虽然PC2通过DHCP服务器获得了IP地址,但是PC2被交换机认定为非法的主机而 阻止其通信。
p_w_picpath
p_w_picpath
p_w_picpath
虽然PC2也可以从路由器获取到IP地址,但是由于在交换机上执行了每个端口只允许绑定一个IP-MAC条目,所以PC2的通信就被交换机所阻止了。这在一定程度限制了网络上非法计算机的接入,保证了网络的安全。