防止ARP报文攻击的方法和路由设备
技术领域
本发明涉及通信技术领域,特别涉及一种防止地址解析协议(ARP)报文攻击的方法和路由设备。
背景技术
IP地址是主机在网络层中的地址,如果要将网络层中数据包传送给目的主机,必须知道目的主机的MAC地址,因此必须将IP地址解析为MAC地址,ARP正是将IP地址解析为MAC地址的协议。如果发送方与目的方是同一网段,那么发送方就发送一个ARP请求报文,来请求目的MAC地址;如果发送方发送发与目的方不是同一网段,那么发送发就会发送一个ARP请求来请求网关的MAC地址。
然而,由于ARP协议设计之初没有考虑安全机制问题,因此,ARP协议是一个非常容易受攻击的协议,在当前网络技术中,网络上基于ARP协议欺骗的网络病毒和攻击行为越来越猖獗。
图1为现有部署VRRP的监控网络的组网示意图。如图1所示,监控网络中包括编码器1(EC1)、EC2等多个EC,动态主机配置协议服务器(DHCPServer),DHCP中继(Relay),包含了一个主(Master)路由器和多个从(Slave)路由器的VRRP备份组。其中,EC获取网关MAC的过程如下:
1、EC以广播方式发送DHCP-DISCOVER报文以请求IP地址;
2、DHCP Relay收到EC以广播方式发送的DHCP-DISCOVER报文,将报文中的giaddr字段填充为DHCP Relay的IP地址,并将报文单播转发给指定的DHCP Sever;
3、DHCP Sever接收到DHCP Relay转发来的EC的DHCP-DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP-OFFER报文单播发送给DHCP Relay,由DHCP Relay把该报文转发给EC;
4、EC接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP Sever在DHCP-OFFER报文中分配的IP地址,进而由DHCP Relay转发此报文到DHCP服务器;
5、DHCP Sever收到EC发来的DHCP-REQUEST报文后,如果确认将地址分配给该EC,则返回DHCP-ACK报文;否则返回DHCP-NAK报文,表明地址不能分配给该客户端;
6、EC获取到IP地址后,发起ARP请求,请求解析网关IP地址的MAC地址;
7、VRRP中的Master接收到EC发送的ARP请求后,根据负载均衡算法使用不同路由器的虚拟MAC地址应答ARP请求,如:EC1发送ARP请求获取网关MAC地址时,Master使用自己的虚拟MAC地址应答该请求;EC2发送ARP请求获取网关MAC地址时,Master使用Slave的虚拟MAC地址应答该请求。
至此,即完成了现有部署了VRRP的监控网络中EC获取网关MAC地址的过程。然而,现有部署VRRP的监控网络中是通过ARP来获取网关MAC地址的,因此,很容易出现由ARP协议带来的网络病毒和攻击行为,对监控网络造成影响。
发明内容
有鉴于此,本发明提供了一种防止ARP报文攻击的方法,不仅能够准确地获取到网关MAC地址,而且还能够避免由ARP协议对监控网络造成的影响。
本发明还提供了一种防止ARP报文攻击的路由设备,不仅能够准确地获取到网关MAC地址,而且还能够避免由ARP协议对监控网络造成的影响。
为了达到上述目的,本发明提出的技术方案为:
一种防止地址解析协议ARP报文攻击的方法,应用于部署有虚拟路由器冗余协议VRRP备份组的监控网络中,该方法包括:
动态主机配置协议中继DHCP Relay接收由编码器EC发送的用于请求IP地址的DHCP发现DISCOVER报文,将所述DHCP DISCOVER报文发送给DHCP服务器Server;
DHCP Relay接收由DHCP Server对所述DHCP DISCOVER报文回应的包含为EC分配的IP地址和网关IP地址的DHCP OFFER报文;
DHCP Relay根据所述网关IP地址获取VRRP备份组的网关接入访问控制MAC地址,将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC。
所述DHCP Relay根据所述网关IP地址获取VRRP备份组的网关MAC地址,将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC包括:
DHCP Relay侦听VRRP备份组发送的包含该VRRP备份组里所有路由器的虚拟MAC地址的Advertisement报文,从所述网关IP地址对应的VRRP备份组发送的Advertisement报文中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
所述DHCP Relay根据所述网关IP地址获取VRRP备份组的网关MAC地址,将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC包括:
DHCP Relay根据所述网关IP地址构造免费ARP,将所述免费ARP发送给VRRP备份组,接收VRRP备份组发送的该备份组中路由器的虚拟MAC地址,从所述网关IP地址对应的VRRP备份组发送的虚拟MAC地址中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
所述DHCP Relay通过轮询或加权的方式选取一个虚拟MAC地址。
所述DHCP Relay根据所述网关IP地址获取VRRP备份组的网关MAC地址,将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC包括:
DHCP Relay根据所述DHCP OFFER报文中网关IP地址和为EC分配的IP地址,向具有相应网关IP地址的VRRP备份组中的主Master路由器请求网关MAC地址,接收由Master路由器发送的虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
该方法进一步包括:EC根据接收到的网关IP地址和网关MAC地址生成ARP表项。
一种防止地址解析协议ARP报文攻击的路由设备,应用于部署有虚拟路由器冗余协议VRRP备份组的监控网络中,该路由设备包括:发送单元,接收单元和获取单元,其中,
所述发送单元,用于接收由编码器EC发送的用于请求IP地址的DHCP发现DISCOVER报文,将所述DHCP DISCOVER报文发送给DHCP服务器Server;
所述接收单元,用于接收由DHCP Server对所述发送单元发送的DHCPDISCOVER报文回应的包含为EC分配的IP地址和网关IP地址的DHCP OFFER报文;
所述获取单元,用于根据所述接收单元接收到的网关IP地址获取VRRP备份组的网关接入访问控制MAC地址,将所述获取到的MAC地址携带在DHCPOFFER报文中发送给EC。
所述获取单元,用于侦听VRRP备份组发送的包含该VRRP备份组里所有路由器的虚拟MAC地址的Advertisement报文,从所述接收单元接收到的网关IP地址对应的VRRP备份组发送的Advertisement报文中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
所述获取单元,用于根据所述接收单元接收到的网关IP地址构造免费ARP,将所述免费ARP发送给VRRP备份组,接收VRRP备份组发送的该备份组中路由器的虚拟MAC地址,从所述网关IP地址对应的VRRP备份组发送的虚拟MAC地址中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCPOFFER报文中发送给EC。
所述获取单元,用于根据所述接收单元接收到的DHCP OFFER报文中网关IP地址和为EC分配的IP地址,向具有相应网关IP地址的VRRP备份组中的主Master路由器请求网关MAC地址,接收由Master路由器发送的虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
综上所述,本发明所采用的防止ARP报文攻击的方法和网络设备,是通过当DHCP Relay接收到DHCP服务器对EC发送的DHCP DISCOVER报文的回应报文DHCP OFFER报文时,向具有对应IP地址的VRRP备份组获取虚拟MAC地址,并将所述虚拟MAC地址作为网关MAC地址携带在DHCPOFFER报文中发送给EC,从而使得EC可以根据DHCP报文中的网关IP地址和网关MAC地址生成ARP表项,也就无需向网关发送ARP请求来获取网关MAC地址。因此,本发明防止ARP报文攻击的方法,不仅能够准确地获取到网关MAC地址,而且还能够避免由ARP协议对监控网络造成的影响。
附图说明
图1为现有部署VRRP的监控网络的组网示意图;
图2为本发明防止ARP报文攻击方法的工作流程图;
图3为本发明所采用的路由设备的结构示意图。
具体实施方式
为了解决本发明提出的技术问题,本发明所述方案的具体实现包括:
DHCP Relay接收由EC发送的用于请求IP地址的DHCP DISCOVER报文,将所述DHCP DISCOVER报文发送给DHCP Server;DHCP Relay接收由DHCPServer对所述DHCP DISCOVER报文回应的包含为EC分配的IP地址和网关IP地址的DHCP OFFER报文;DHCP Relay根据所述网关IP地址获取VRRP备份组的网关MAC地址,将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图2为本发明防止ARP报文攻击方法的工作流程图,该方法应用于部署有VRRP备份组的监控网络中,如图2所示,该流程包括:
步骤201:DHCP Relay接收由EC发送的用于请求IP地址的DHCPDISCOVER报文,将所述DHCP DISCOVER报文发送给DHCP Server。
步骤202:DHCP Relay接收由DHCP Server对所述DHCP DISCOVER报文回应的包含为EC分配的IP地址和网关IP地址的DHCP OFFER报文。
步骤203:DHCP Relay根据所述DHCP OFFER报文中的网关IP地址获取VRRP备份组的网关MAC地址。
需要说明的是,在本步骤中,所述DHCP Relay根据所述DHCP OFFER报文中的网关IP地址获取VRRP备份组的网关MAC地址可包括:
DHCP Relay侦听VRRP备份组发送的包含该VRRP备份组里所有路由器的虚拟MAC地址的Advertisement报文,从所述网关IP地址对应的VRRP备份组发送的Advertisement报文中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC,
或,DHCP Relay根据所述网关IP地址构造免费ARP,将所述免费ARP发送给VRRP备份组,接收VRRP备份组发送的该备份组中路由器的虚拟MAC地址,从所述网关IP地址对应的VRRP备份组发送的虚拟MAC地址中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC,或,
DHCP Relay根据所述DHCP OFFER报文中网关IP地址和为EC分配的IP地址,向具有相应网关IP地址的VRRP备份组中的主Master路由器请求网关MAC地址,接收由Master路由器发送的虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
其中,所述DHCP Relay通过轮询或加权的方式选取一个虚拟MAC地址。下面举例说明轮询或加权的工作机制:
轮询工作机制,假设有4个备选的虚拟MAC地址分别为A、B、C、D,第一个EC请求MAC地址分配A出去,第二个EC请求MAC地址分配B出去,第三个EC请求MAC地址分配C出去,依此类推;
加权工作机制,仍然假设有4个备选的虚拟MAC地址分别为A、B、C、D,他们的权重分别为2、1、1、1,第一个EC请求MAC地址分配A出去,第二个EC请求MAC地址还是分配A出去,第三个EC请求MAC地址分配B出去,第四个EC请求MAC地址分配C出去,依次以此类推,也即按照2∶1∶1∶1的比例进行分配。
步骤204:DHCP Relay将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC。
需要说明的是,所述获取到的MAC地址被添加到DHCP OFFER报文中的保留字段中,从而通过DHCP OFFER报文发送给EC。
当所述EC接收到DHCP OFFER报文时,EC就能够根据接收到的DHCPOFFER报文中的网关IP地址和网关MAC地址生成ARP表项,也就无需EC再发送ARP请求获取网关MAC地址,也就避免了ARP攻击行为。
至此,即完成了本发明防止ARP报文攻击方法的整个工作流程。
基于上述方法,图3给出了本发明所采用的路由设备的结构示意图。如图3所示,该路由设备应用于部署有VRRP备份组的监控网络中,包括发送单元31,接收单元32和获取单元33,其中,
所述发送单元31,用于接收由EC发送的用于请求IP地址的DHCPDISCOVER报文,将所述DHCP DISCOVER报文发送给DHCP Server;
所述接收单元32,用于接收由DHCP Server对所述发送单元31发送的DHCPDISCOVER报文回应的包含为EC分配的IP地址和网关IP地址的DHCP OFFER报文;
所述获取单元33,用于根据所述接收单元32接收到的网关IP地址获取VRRP备份组的网关MAC地址,将所述获取到的MAC地址携带在DHCP OFFER报文中发送给EC。
进一步地,所述获取单元,用于侦听VRRP备份组发送的包含该VRRP备份组里所有路由器的虚拟MAC地址的Advertisement报文,从所述接收单元32接收到的网关IP地址对应的VRRP备份组发送的Advertisement报文中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC,
或,所述获取单元,用于根据所述接收单元32接收到的网关IP地址构造免费ARP,将所述免费ARP发送给VRRP备份组,接收VRRP备份组发送的该备份组中路由器的虚拟MAC地址,从所述网关IP地址对应的VRRP备份组发送的虚拟MAC地址中选取一个虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC,
或,所述获取单元,用于根据所述接收单元32接收到的DHCP OFFER报文中网关IP地址和为EC分配的IP地址,向具有相应网关IP地址的VRRP备份组中的主Master路由器请求网关MAC地址,接收由Master路由器发送的虚拟MAC地址,将所述虚拟MAC地址携带在DHCP OFFER报文中发送给EC。
至此,即得到了本发明所采用的路由设备。图3所述路由设备的具体工作流程可参见图2,这里不再赘述。
总之,本发明所采用的防止ARP报文攻击的方法和网络设备,当DHCPRelay接收到DHCP服务器对EC发送的DHCP DISCOVER报文的回应报文DHCP OFFER报文时,向具有对应IP地址的VRRP备份组获取虚拟MAC地址,并将所述虚拟MAC地址作为网关MAC地址携带在DHCP OFFER报文中发送给EC,从而使得EC可以根据DHCP报文中的网关IP地址和网关MAC地址生成ARP表项,也就无需向网关发送ARP请求来获取网关MAC地址。因此,本发明防止ARP报文攻击的方法,不仅能够准确地获取到网关MAC地址,而且还能够避免由ARP协议对监控网络造成的影响。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。