专利名称:一种动态地址分配中防止ip地址欺骗的方法
技术领域:
本发明涉及通讯网络的接入方法,具体涉及宽带网络中动态地址的分配方法。
图1为实际组网应用情况,包括具有DHCP中继功能的三层交换机,与其相连的一个网段中的主、备DHCP服务器,另一个网段中的DHCP客户。
DHCP动态分配是通过服务器和用户终端之间的DHCP报文交互完成的,而DHCP报文是广播报文,不能跨越网段,这样DHCP服务器只能为本网段的用户终端提供服务。但是由于资源限制,不可能为每个网段都配置一台DHCP服务器,而且出于安全性考虑,DHCP服务器通常都是处于一个单独的网段。这样就需要DHCP服务器可以为不在其网段的用户终端提供服务。而DHCP中继为DHCP广播报文提供网段间的转发功能,使得DHCP服务器实现为不在其网段的用户终端提供服务。
但在使用DHCP动态分配方式的网络中,有一些用户终端不通过DHCP中继正常获取IP地址,而是非法设置分配给其他用户的IP地址上网。对于这种IP地址欺骗问题,目前是通过用户终端计算机系统引导时发出的免费ARP报文来检查的,如果有非法用户终端占用了自己的IP地址,用户终端计算机就会报告地址冲突。但是这样通过计算机自身检测冲突并不能从根本上解决问题,非法用户还是可以通过IP地址欺骗上网。
为达到上述目的,本发明采用如下步骤(1)用户终端向交换机发出ARP(地址解析协议)请求或响应报文;(2)交换机对ARP报文中的源MAC(网卡硬件地址)地址和源IP地址进行检查,即在合法用户地址表中查找是否存在匹配项,如果存在,按正常流程处理,即将用户终端发出的ARP报文的源IP地址和源MAC地址加入ARP表,从而使用户终端能够上网通信;否则,丢弃该报文。
在合法用户地址表中增加一个新的用户终端的信息经过以下步骤(21)用户终端通过DHCP中继向DHCP服务器发出DHCPDISCOVER报文;(22)DHCP服务器通过DHCP中继向用户终端发出DHCPOFFER响应报文;(23)用户终端通过DHCP中继向DHCP服务器发送DHCPREQUEST报文;(24)DHCP中继收到DHCP服务器的DHCPACK响应报文;(25)交换机搜索已存在的合法用户地址表,如果IP地址被设置为静态表项,则进行步骤(26),否则,进行步骤(27);(26)向DHCP服务器发送DHCPDECLINE报文,标记此IP地址为已分配,同时,向用户终端发送DHCPNAK报文,通知其申请其他IP地址,然后转入步骤(21),继续申请IP地址;(27)交换机进行转发处理,并把分配给用户的IP地址和MAC地址写入合法用户地址表。
上述步骤中,静态表项是固定IP地址的用户终端的信息,它是根据固定IP地址的用户终端的实际使用情况进行添加和删除的,可以通过命令行或网管手工配置,删除时交换机的处理步骤为交换机向服务器发送DHCPREQUST请求报文,去掉步骤(26)中对此IP地址所做的标记;交换机向服务器发送DHCPRELEASE报文,释放IP地址,使其能够被动态分配给用户。
本发明对用户终端的ARP报文进行合法地址的检查,如果在合法用户地址表中没有匹配项即丢弃该报文,使利用IP地址欺骗的非法用户不能进行网上通信,并且合法用户的可以继续正常使用,不会受到影响,从而在根本上解决了问题。
对于固定IP地址的用户终端,采用向合法用户地址表手工配置静态表项的方法。当新的用户终端请求分配IP地址时,判断该地址是否在静态表项中,如果在,则通知该用户申请其他IP地址,这样保证了已经分配给固定用户终端的IP地址不会再分配给其他用户终端使用,从而避免了由于IP地址被重新分配而引起的合法固定IP用户终端无法上网的问题。
下面将结合附图及实施例对本发明作进一步说明。
如图3所示,在合法用户地址表中增加一个新的用户终端的信息经过以下步骤步骤21用户终端通过DHCP中继向DHCP服务器发出DHCPDISCOVER报文,要求DHCP服务器提供服务;步骤22DHCP服务器通过DHCP中继向用户发出DHCPOFFER响应报文,向用户表明可以提供服务;步骤23用户终端通过DHCP中继向DHCP服务器发送DHCPREQUEST,报文申请IP地址;步骤24DHCP中继收到DHCP服务器的DHCPACK响应报文,报文中有分配给用户的IP地址、掩码以及一些其它配置信息如网关地址等;步骤25交换机搜索已存在的合法用户地址表,如果IP地址被设置为静态表项,则进行步骤(26),否则,进行步骤(27);步骤26向DHCP服务器发送DHCPDECLINE报文,标记此IP地址为已分配,并向用户终端发送DHCPNAK报文,通知其申请其他IP地址,然后转入步骤(21),继续申请IP地址;步骤27交换机进行转发处理,并把分配给用户的IP地址和MAC地址写入合法用户地址表。
下面详细介绍前面所述的静态表项的情况有些用户终端需要设置固定的IP地址,而固定IP地址不是通过DHCP报文获得IP地址的,因此合法地址表中不存在其对应的表项,为了使其能够通过地址检查正常上网,采用在合法用户地址表中设置静态表项的方法,静态表项为固定IP地址的用户终端的信息,它根据固定IP地址的用户终端的实际使用情况进行添加和删除,可以通过命令行或网管手工配置。如步骤24、25、26所述,当DHCP中继收到DHCP服务器的DHCPACK响应报文时,交换机搜索合法用户地址表,如果此IP地址被设置为静态表项,则向DHCP服务器发送DHCPDECLINE报文,标记此IP地址为已分配,使其不会再被DHCP服务器分配给其他用户终端,同时,向用户终端发送DHCPNAK报文,通知其申请其他IP地址。
当某个固定IP用户终端不再需要固定的IP地址时,手工删除静态表项,这时交换机会向服务器发送DHCPREQUST请求报文和DHCPRELEASE报文,除去此IP地址的已分配标记,从而使其能够继续被DHCP服务器提供给其他用户终端使用。
权利要求
1.一种动态地址分配中防止IP地址欺骗的方法,其特征在于包括(1)用户终端向交换机发出ARP报文;(2)交换机对ARP报文中的源MAC地址和源IP地址进行检查,即在合法用户地址表中查找是否存在匹配项,如果存在,将用户终端发出的ARP报文的源IP地址和源MAC地址加入ARP表,从而使用户终端能够上网通信;否则,丢弃该报文。
2.根据权利要求1所述的动态地址分配中防止IP地址欺骗的方法,其特征在于,还包括在所述的合法用户地址表中增加一个新的用户终端的信息,具体经过以下步骤(21)用户终端通过DHCP中继向DHCP服务器发出DHCPDISCOVER报文;(22)DHCP服务器通过DHCP中继向用户终端发出DHCPOFFER响应报文;(23)用户终端通过DHCP中继向DHCP服务器发送DHCPREQUEST报文;(24)DHCP中继收到DHCP服务器的DHCPACK响应报文;(25)交换机搜索已存在的合法用户地址表,如果IP地址被设置为静态表项,则进行步骤(26),否则,进行步骤(27);(26)向DHCP服务器发送DHCPDECLINE报文,标记此IP地址为已分配,同时,向用户终端发送DHCPNAK报文,通知其申请其他IP地址,然后转入步骤(21),继续申请IP地址;(27)交换机进行转发处理,并把分配给用户的IP地址和MAC地址写入合法用户地址表。
3.根据权利要求2所述的动态地址分配中防止IP地址欺骗的方法,其特征在于,所述静态表项是固定IP地址的用户终端的信息。
4.根据权利要求3所述的动态地址分配中防止IP地址欺骗的方法,其特征在于,所述静态表项根据固定IP地址的用户终端的实际使用情况进行添加和删除。
5.根据权利要求4所述的动态地址分配中防止IP地址欺骗的方法,其特征在于,所述静态表项的添加和删除是通过命令行或网管手工配置的。
6.根据权利要求4或5所述的动态地址分配中防止IP地址欺骗的方法,其特征在于,所述静态表项的信息删除时,交换机的处理步骤为(61)交换机向服务器发送DHCPREQUST请求报文,去掉步骤(26)中对此IP地址所做的标记;(62)交换机向服务器发送DHCPRELEASE报文,释放IP地址,使其能够被动态分配给用户。
全文摘要
本发明提供了一种在动态地址分配中防止IP地址欺骗的方法,对用户终端发出的ARP报文中的源MAC地址和源IP地址进行检查,在合法用户地址表中查找是否存在匹配项,如果存在,按正常流程处理,否则,丢弃该报文。这样使利用IP地址欺骗的非法用户不能进行网上通信,并且合法用户不会受到影响。对于固定IP地址的用户终端,采用向合法用户地址表手工配置静态表项的方法,当新的用户终端请求分配IP地址时,判断该地址是否在静态表项中,如果在则通知其申请其他IP地址,这样保证了已经分配给固定用户终端的IP地址不会再分配给其他用户终端使用,从而避免了由于IP地址被重新分配而引起的合法固定IP用户终端无法上网的问题。
文档编号H04L29/06GK1466341SQ0212500
公开日2004年1月7日 申请日期2002年6月22日 优先权日2002年6月22日
发明者析 姚, 姚析, 修亦宏, 潘凝 申请人:华为技术有限公司