一种介质访问控制地址冲突检测方法、装置和系统的制作方法

文档序号:7941102阅读:188来源:国知局
专利名称:一种介质访问控制地址冲突检测方法、装置和系统的制作方法
技术领域
本发明涉及以太网接入技术,尤其涉及一种介质访问控制(Medium/Media Access Control, MAC)冲突检测方法、装置和系统。
背景技术
目前,互联网络为互联网络协议版本6 (Internet Protocol Version 6,IPv6)网络,随着智慧城市、电子地球、物联网等网络技术的发展,人们对随时随地接入IPv6网络的需求不断扩大,各种有线、无线网络设备不断接入IPv6网络中。而且,随着虚拟化技术的发展,虚拟网络设备也不断地加入到IPv6网络中。但是,由于现有网络设备的MAC地址大多是在出厂时即随机固化生成的48位地址,是不可变更的。这样,随着在二层交换网络中接入的网络设备不断增多,不同网络设备具有相同的MAC地址的可能性越来越大,如此就会导致出现MAC地址冲突的情况。由于二层交换机的数据包转发是基于MAC地址来实现的,因此,当在二层交换网络中存在MAC地址冲突时,会引起MAC转发表的震荡,导致二层交换机误发服务响应交互报文、服务访问报文等报文,进而导致存在MAC地址冲突的网络设备不能正常访问网络,不能为用户正常提供网络服务。此外,由于网络交互的报文会被二层交换机导向存在冲突MAC的另外的设备,不仅导致网络机密信息存在泄漏的风险,而且导致网络攻击被导向不期望的网络设备、或虚拟设备,从而带来网络攻击的风险。目前,虽然有些网络设备可以根据预设的策略和规则自动产生新的MAC地址,但自动产生的MAC地址仍会与其他网络设备的MAC地址存在冲突。只有当出现网络设备不能正常访问网络,不能为用户正常提供网络服务,甚至受到网络攻击的情况时,管理人员才会发现存在MAC地址冲突的情况,进而对MAC地址进行更改。

发明内容
有鉴于此,本发明的主要目的在于提供一种MAC地址冲突检测方法、装置和系统, 能有效避免MAC地址冲突的情况出现,进而保证网络设备对网络的正常访问,为用户提供正常的网络服务,降低网络攻击的风险。为达到上述目的,本发明的技术方案是这样实现的本发明公开了一种介质访问控制MAC地址冲突检测方法,该方法包括访问网络之前,本地网络设备向目标多播地址发出MAC地址冲突检测请求报文, 所述请求报文中携带所述网络设备的当前MAC地址;收到请求报文的目标网络设备,从所述请求报文中提取MAC地址并进行检测,判定提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文;收到响应报文的本地网络设备产生新MAC地址。
较佳的,所述MAC地址冲突检测请求报文和所述MAC地址冲突检测响应报文分别置于扩展的IPv6传输控制消息协议ICMPv6消息或扩展的ICMPv6选项中。较佳的,所述目标多播地址的后M位是本地网络设备当前MAC地址的后M位;所述请求多播地址的后M位是发出MAC地址冲突检测响应报文的目标网络设备的MAC地址的后M位。较佳的,所述本地网络设备产生新MAC地址为所述本地网络设备根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。较佳的,所述MAC地址前缀为路由器定时向节点多播地址发出的;所述MAC地址前缀置于MAC地址前缀通告消息中。较佳的,所述节点多播地址为FF02: 1。较佳的,所述本地网络设备产生新MAC地址之前,该方法还包括所述网络设备向路由器多播地址发送MAC地址前缀请求消息;收到请求消息的路由器,向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀;其中,所述MAC地址前缀请求消息和所述MAC地址前缀通告消息分别置于扩展的 ICMPv6消息或扩展的ICMPv6选项中。较佳的,所述路由器多播地址为FF02 2。本发明公开了一种网络设备,该网络设备包括请求报文发送单元和MAC地址产生单元,其中,所述请求报文发送单元,用于在网络设备访问网络之前,向目标多播地址发出MAC 地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;所述MAC地址产生单元,用于根据收到的MAC地址冲突检测响应报文产生新MAC 地址。较佳的,所述MAC地址产生单元,具体用于根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。本发明公开了一种网络设备,该网络设备包括MAC地址提取单元、检测单元和响应报文发送单元,其中,所述MAC地址提取单元,用于从收到的MAC地址冲突检测请求报文中提取MAC地址;检测单元,用于对提取的MAC地址进行检测,判断提取出的MAC地址是否与自身的 MAC地址相同;响应报文发送单元,用于当提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文。本发明公开了一种路由器,所述路由器包括MAC地址前缀发送单元和MAC地址前缀通告消息发送单元;其中,MAC地址前缀发送单元,用于定时向节点多播地址发出MAC地址前缀,所述MAC地址前缀置于MAC地址前缀通告消息中;MAC地址前缀通告消息发送单元,用于根据收到的MAC地址前缀通告消息,向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀。本发明公开了一种MAC地址冲突检测系统,该系统包括本地网络设备和目标网络设备,其中,所述本地网络设备,用于在其访问网络之前,向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;根据收到的MAC地址冲突检测响应报文产生新MAC地址;所述目标网络设备,用于从本地网络设备发来的MAC地址冲突检测请求报文中提取MAC地址;对提取的MAC地址进行检测,判断提取出的MAC地址是否与自身的MAC地址相同;当提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文。较佳的,该系统还包括路由器,所述路由器,用于定时向节点多播地址发出MAC地址前缀,所述MAC地址前缀置于MAC地址前缀通告消息中;所述本地网络设备,具体用于根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。较佳的,所述本地网络设备,还用于向路由器多播地址发送MAC地址前缀请求消息;所述MAC地址前缀请求消息置于扩展的ICMPv6消息或扩展的ICMPv6选项中;所述路由器,还用于向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀;所述MAC地址前缀通告消息置于扩展的ICMPv6消息或扩展的ICMPv6选项中。由上可知,本发明提供的MAC地址冲突检测方法,在网络设备访问网络之前,本地网络设备向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;收到请求报文的目标网络设备,从所述请求报文中提取MAC地址并进行检测,判定提取出的MAC地址与自身的MAC地址相同时,则向请求多播地址发出MAC地址冲突检测响应报文;收到响应报文的本地网络设备产生新MAC地址。采用上述技术方案,能够实现在网络设备访问网络之前对该网络设备的MAC地址进行冲突检测,从而避免MAC地址冲突的情况出现,进而保证网络设备对网络的正常访问,为用户提供正常的网络服务,降低网络攻击的风险。


图1为本发明网络设备的结构示意图;图2为本发明MAC地址分配系统的组成示意图;图3为本发明MAC地址分配方法的第一实施例的实现流程示意图;图4为本发明MAC地址分配方法的第二实施例的实现流程示意图;图5为接入IPv6网络的应用场景结构示意图。
具体实施例方式本发明公开了一种作为网络访问发起侧的网络设备,该网络设备包括请求报文发送单元和MAC地址产生单元,其中,所述请求报文发送单元,用于在网络设备访问网络之前,向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;所述MAC地址产生单元,用于根据收到的MAC地址冲突检测响应报文产生新MAC 地址。所述MAC地址产生单元,具体用于根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。本发明还公开了一种作为网络访问响应侧的网络设备,如图1所示,该网络设备包括MAC地址提取单元、检测单元和响应报文发送单元,其中,所述MAC地址提取单元,用于从收到的MAC地址冲突检测请求报文中提取MAC地址;检测单元,用于对提取的MAC地址进行检测,判断提取出的MAC地址是否与自身的 MAC地址相同;响应报文发送单元,用于当提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文。本发明公开了一种路由器,所述路由器包括MAC地址前缀发送单元和MAC地址前缀通告消息发送单元,其中,MAC地址前缀发送单元,用于定时向节点多播地址发出MAC地址前缀,所述MAC地址前缀置于MAC地址前缀通告消息中;MAC地址前缀通告消息发送单元,用于根据收到的MAC地址前缀通告消息,向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀。本发明公开了一种MAC地址冲突检测系统,如图2所示,该系统包括本地网络设备、目标网络设备和路由器,其中,所述本地网络设备,用于在自身访问网络之前,向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;根据收到的MAC地址冲突检测响应报文产生新MAC地址;所述目标网络设备,用于从本地网络设备发来的MAC地址冲突检测请求报文中提取MAC地址;对提取的MAC地址进行检测,判断提取出的MAC地址是否与自身的MAC地址相同;当提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文。所述路由器,用于定时向节点多播地址FF02: :1发出MAC地址前缀,所述MAC地址前缀置于MAC地址前缀通告消息中;所述本地网络设备,具体用于根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。所述本地网络设备,还用于向路由器多播地址FF02::2发送MAC地址前缀请求消息;所述路由器,还用于向节点多播地址FF02::1发送MAC地址前缀通告消息,所述 MAC地址前缀通告消息携带MAC地址前缀;所述MAC地址前缀请求消息和所述MAC地址前缀通告消息分别置于扩展的IPv6 传输控制消息协议(Internet Control Message Protocol for IPv6,ICMPv6)消息或扩展的ICMPv6选项中。
基于上述设备和系统,下面介绍本发明MAC地址冲突检测方法的第一实施例,本实施例中,目标网络设备进行冲突检测,如图3所示,该方法包括步骤301、访问网络之前,本地网络设备向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述本地网络设备的当前MAC地址。这里,所述目标多播地址的后M位是本地网络设备当前MAC地址的后24位。这样,自身MAC地址的后M位与本地网络设备当前MAC地址的后M位相同的在线网络设备, 都会接收到MAC地址冲突检测请求报文,避免漏检。所述MAC地址冲突检测请求报文置于扩展的ICMPv6消息或扩展的ICMPv6选项中。步骤302、收到请求报文的目标网络设备,从所述请求报文中提取MAC地址并进行检测,判定提取出的MAC地址与自身的MAC地址相同时,则向请求多播地址发出MAC地址冲突检测响应报文。这里,所述请求多播地址的后对位是发出MAC地址冲突检测响应报文的目标网络设备的MAC地址的后M位。这样,自身MAC地址的后M位与发出MAC地址冲突检测响应报文的目标网络设备的MAC地址后M位相同的在线网络设备,都会接收到MAC地址冲突检测响应报文,避免本地网络设备因存在MAC地址冲突而接收不到MAC地址冲突检测响应报文。所述MAC地址冲突检测响应报文置于扩展的ICMPv6消息或扩展的ICMPv6选项中。步骤303、收到响应报文的本地网络设备产生新MAC地址。具体的,所述本地网络设备根据路由器发出的MAC地址前缀如M位MAC地址厂商编号和本地随机产生的唯一索引值如M位索引值,产生新MAC地址。所述MAC地址前缀为路由器定时向节点多播地址FF02: :1发出的,所述MAC地址前缀置于MAC地址前缀通告消息中。所述MAC地址前缀请求消息置于扩展的ICMPv6消息或扩展的ICMPv6选项中。由于路由器定时向节点多播地址FF02: 1发出MAC地址前缀,在线的所有网络设备都能够接收到所述MAC地址前缀。本发明可以应用于接入IPv6网络的场景中,参见图4所示,图4中子网1通过二层交换机1直接连接路由器;子网2连接二层交换机3,所述二层交换机3连接汇聚交换机 2,所述汇聚交换机2再连接路由器。网络设备1为准备访问网络的本地网络设备,其余网络设备为在线的目标网络设备。例如,准备接入IPv6网络中的子网2的网络设备1的当前MAC地址为 00-1C-BF-43-32-EB。在线的网络设备5的MAC地址也为00-1C-BF-43-32-EB,网络设备1 和网络设备5的MAC地址存在MAC地址冲突。基于上述设备和系统,下面介绍本发明介质访问控制MAC地址冲突检测方法应用与上述场景的第二实施例,与第一实施例相比较,本实施例中,本地网络设备向路由器多播地址FF02 2发送MAC地址前缀请求消息,以获得MAC地址前缀,如图5所示,该方法包括步骤501、访问网络之前,本地网络设备向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址。这里,冲突检测请求报文的目的IPv6地址采用根据网络设备1当前的MAC地址00-1C-BF-43-32-EB构造的目标多播地址;所述目标多播地址的后24位是本地网络设备当前MAC地址的后24位。步骤502、收到请求报文的目标网络设备,从所述请求报文中提取MAC地址。其中,收到请求报文的各目标网络设备,分别从请求报文中提取出MAC地址 00-1C-BF-43-32-EB。步骤503、目标网络设备对提取的MAC地址进行检测,判断提取出的MAC地址与自身的MAC地址是否相同,如果相同,则进入步骤504 ;如果不相同,则进入步骤509。这里,各目标网络设备分别对提取的MAC地址进行检测;其中,网络设备5经检测判定提取出的MAC地址00-1C-BF-43-32-EB与自身的MAC地址00-1C-BF-43-32-EB相同。步骤504、目标网络设备向请求多播地址发出MAC地址冲突检测响应报文。这里,网络设备5向请求多播地址发出MAC地址冲突检测响应报文;具体的,MAC地址冲突检测响应报文的目的IPv6地址采用根据网络设备5自身的 MAC地址构造的请求多播地址;所述请求多播地址的后24位是发出MAC地址冲突检测响应报文的网络设备5的MAC地址的后24位。步骤505、本地网络设备判断是否在在预定时间内收到响应报文,如果收到响应报文,则进入步骤506 ;如果没有收到响应报文,则进入步骤510。步骤506、本地网络设备向路由器多播地址FF02: :2发送MAC地址前缀请求消息;其中,所述MAC地址前缀请求消息置于扩展的ICMPv6消息或扩展的ICMPv6选项中。由于本地网络设备向路由器多播地址FF02: :2发送MAC地址前缀请求消息,网络中的所有网络设备都能够接收到所述MAC地址前缀请求消息。步骤507、收到请求消息的路由器,向节点多播地址FF02: 1发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀;例如,所述MAC地址前缀为24位MAC地址厂商编号00_1C_EF。其中,所述MAC地址前缀通告消息置于扩展的ICMPv6消息或扩展的ICMPv6选项中。步骤508、所述本地网络设备根据路由器发出的MAC地址前缀和本地随机产生的唯一索引值,产生新MAC地址,进入步骤501。例如,所述新MAC 地址为 00-1C-EF-43-32-05。步骤509、目标网络设备不进行响应,进入步骤505。步骤510、所述网络设备使用当前MAC地址接入到网络,结束本次流程。采用本发明介质访问控制MAC地址冲突检测方法,在访问网络之前,网络设备1能够检测出与网络设备5存在MAC地址冲突,从而产生新的MAC地址,重复进行冲突检测,直到网络设备1的MAC地址与在线的其他网络设备不存在MAC地址冲突。以上所述,仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范围。
权利要求
1.一种介质访问控制MAC地址冲突检测方法,其特征在于,该方法包括访问网络之前,本地网络设备向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;收到请求报文的目标网络设备,从所述请求报文中提取MAC地址并进行检测,判定提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文;收到响应报文的本地网络设备产生新MAC地址。
2.根据权利要求1所述的方法,其特征在于,所述MAC地址冲突检测请求报文和所述 MAC地址冲突检测响应报文分别置于扩展的IPv6传输控制消息协议ICMPv6消息或扩展的 ICMPv6选项中。
3.根据权利要求1所述的方法,其特征在于,所述目标多播地址的后M位是本地网络设备当前MAC地址的后M位;所述请求多播地址的后对位是发出MAC地址冲突检测响应报文的目标网络设备的MAC 地址的后M位。
4.根据权利要求1所述的方法,其特征在于,所述本地网络设备产生新MAC地址为所述本地网络设备根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。
5.根据权利要求4所述的方法,其特征在于,所述MAC地址前缀为路由器定时向节点多播地址发出的;所述MAC地址前缀置于MAC地址前缀通告消息中。
6.根据权利要求5所述的方法,其特征在于,所述节点多播地址为FF02: 1。
7.根据权利要求4所述的方法,其特征在于,所述本地网络设备产生新MAC地址之前, 该方法还包括所述网络设备向路由器多播地址发送MAC地址前缀请求消息;收到请求消息的路由器,向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀;其中,所述MAC地址前缀请求消息和所述MAC地址前缀通告消息分别置于扩展的 ICMPv6消息或扩展的ICMPv6选项中。
8.根据权利要求7所述的方法,其特征在于,所述路由器多播地址为FF02::2。
9.一种网络设备,其特征在于,该网络设备包括请求报文发送单元和MAC地址产生单元,其中,所述请求报文发送单元,用于在网络设备访问网络之前,向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;所述MAC地址产生单元,用于根据收到的MAC地址冲突检测响应报文产生新MAC地址。
10.根据权利要求9所述的网络设备,其特征在于,所述MAC地址产生单元,具体用于根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。
11.一种网络设备,其特征在于,该网络设备包括MAC地址提取单元、检测单元和响应报文发送单元,其中,所述MAC地址提取单元,用于从收到的MAC地址冲突检测请求报文中提取MAC地址;检测单元,用于对提取的MAC地址进行检测,判断提取出的MAC地址是否与自身的MAC 地址相同;响应报文发送单元,用于当提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文。
12.—种路由器,其特征在于,所述路由器包括MAC地址前缀发送单元和MAC地址前缀通告消息发送单元;其中,MAC地址前缀发送单元,用于定时向节点多播地址发出MAC地址前缀,所述MAC地址前缀置于MAC地址前缀通告消息中;MAC地址前缀通告消息发送单元,用于根据收到的MAC地址前缀通告消息,向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀。
13.一种MAC地址冲突检测系统,其特征在于,该系统包括本地网络设备和目标网络设备,其中,所述本地网络设备,用于在其访问网络之前,向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;根据收到的MAC地址冲突检测响应报文产生新MAC地址;所述目标网络设备,用于从本地网络设备发来的MAC地址冲突检测请求报文中提取 MAC地址;对提取的MAC地址进行检测,判断提取出的MAC地址是否与自身的MAC地址相同; 当提取出的MAC地址与自身的MAC地址相同时,向请求多播地址发出MAC地址冲突检测响应报文。
14.根据权利要求13所述的系统,其特征在于,该系统还包括路由器,所述路由器,用于定时向节点多播地址发出MAC地址前缀,所述MAC地址前缀置于MAC 地址前缀通告消息中;所述本地网络设备,具体用于根据路由器发出的MAC地址前缀和本地随机产生的索引值产生新MAC地址。
15.根据权利要求14所述的系统,其特征在于,所述本地网络设备,还用于向路由器多播地址发送MAC地址前缀请求消息;所述MAC地址前缀请求消息置于扩展的ICMPv6消息或扩展的ICMPv6选项中;所述路由器,还用于向节点多播地址发送MAC地址前缀通告消息,所述MAC地址前缀通告消息携带MAC地址前缀;所述MAC地址前缀通告消息置于扩展的ICMPv6消息或扩展的 ICMPv6选项中。
全文摘要
本发明提供了一种介质访问控制(MAC)地址冲突检测方法,该方法包括访问网络之前,本地网络设备向目标多播地址发出MAC地址冲突检测请求报文,所述请求报文中携带所述网络设备的当前MAC地址;收到请求报文的目标网络设备,从所述请求报文中提取MAC地址并进行检测,判定提取出的MAC地址与自身的MAC地址相同时,则向请求多播地址发出MAC地址冲突检测响应报文;收到响应报文的本地网络设备产生新MAC地址。本发明还公开了MAC地址冲突检测装置和系统,本发明能有效避免MAC地址冲突的情况出现,进而保证网络设备对网络的正常访问,为用户提供正常的网络服务,降低网络攻击的风险。
文档编号H04L29/12GK102333134SQ201110314789
公开日2012年1月25日 申请日期2011年10月17日 优先权日2011年10月17日
发明者喻敬海, 赵真富 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1