CN104683495A - 一种mac表项的管理方法和设备 - Google Patents
一种mac表项的管理方法和设备 Download PDFInfo
- Publication number
- CN104683495A CN104683495A CN201510067556.7A CN201510067556A CN104683495A CN 104683495 A CN104683495 A CN 104683495A CN 201510067556 A CN201510067556 A CN 201510067556A CN 104683495 A CN104683495 A CN 104683495A
- Authority
- CN
- China
- Prior art keywords
- mac address
- multicast
- address
- mac
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种MAC表项的管理方法和设备,该方法包括:查询器设备确定第一MAC地址发生冲突时,获得IP组播地址对应的第二MAC地址;查询器设备向二层接入设备发送MAC冲突纠错报文,由二层接入设备维护IP组播地址和第二MAC地址之间的映射关系;查询器设备向组播接收者发送特定组查询报文,由组播接收者重新发送报告报文;二层接入设备在收到报告报文之后,利用映射关系,在MAC表项中记录IP组播地址、第二MAC地址和报告报文的接收端口之间的对应关系,并从MAC表项中删除IP组播地址、第一MAC地址和报告报文的接收端口之间的对应关系。本发明实施例中,当发现MAC地址出现冲突时,查询器设备纠正发生冲突的MAC地址,使相同MAC地址的组播数据在网络中可以精确转发。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种MAC表项的管理方法和设备。
背景技术
IP组播又称为IP多播,是指组播数据由一个组播源产生,经过网络中的各网络设备(如路由器)发送到一个或者多个组播接收者。IP组播既不指定明确的组播接收者,也不是将组播数据分发给网络中的所有主机。组播源并不关心组播接收者所处的位置,只要将组播数据发送到组播目的地址,剩下的工作就交给网络中的各网络设备去完成,由各网络设备将组播数据发送给所有组播接收者。为了实现上述功能,各网络设备需要收集组播接收者的点播信息,并利用组播接收者的点播信息建立正确的分发路径,并按照正确的分发路径将组播数据发送给各组播接收者,以实现组播数据的转发和复制。各网络设备在收集组播接收者的点播信息时,需要收集各组播接收者点播的组播数据的MAC(Media Access Control,介质访问控制)地址和IP组播地址。
针对32位的IPv4组播地址,IPv4组播地址的前4位为固定值1110,IPv4组播地址的5-9位(共5位)为任意数值,IPv4组播地址的低23位(10-32位)放入MAC地址的低23位,并得到MAC地址。由于IPv4组播地址的低23位被映射到MAC地址,而IPv4组播地址的5-9位可以任意选择,因此会有32(2的5次幂)个IPv4组播地址映射到同一MAC地址。针对128位的IPv6组播地址,IPv6组播地址的前8位为固定值11111111,IPv6组播地址的9-96位(共88位)为任意数值,IPv6组播地址的低32位(97-128位)放入MAC地址的低32位,并得到MAC地址。由于IPv6组播地址的低32位被映射到MAC地址,而IPv6组播地址的9-96位可以任意选择,因此会有2的88次幂个IPv6组播地址映射到同一MAC地址。
综上所述,会有多个IP组播地址(IPv4组播地址/IPv6组播地址)映射到同一个MAC地址。基于此,当组播接收者点播的组播数据的IP组播地址不同,但是MAC地址相同时,各网络设备在收集IP组播地址和MAC地址之后,会发现MAC地址出现冲突,此时各网络设备无法利用点播的组播数据的IP组播地址和MAC地址建立正确的分发路径,从而导致无法精确转发组播数据。
发明内容
本发明实施例提供一种MAC表项的管理方法,该方法具体包括:
查询器设备接收来自组播接收者的报告报文,所述报告报文中携带所述组播接收者点播的组播数据的IP组播地址和第一MAC地址;如果所述第一MAC地址发生冲突,则获得所述IP组播地址对应的第二MAC地址;
所述查询器设备向二层接入设备发送MAC冲突纠错报文,所述MAC冲突纠错报文中携带所述IP组播地址和所述第二MAC地址;由所述二层接入设备维护所述IP组播地址和所述第二MAC地址之间的映射关系;
所述查询器设备通过所述二层接入设备向所述组播接收者发送特定组查询报文;由所述组播接收者重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;由所述二层接入设备在收到所述报告报文之后,利用所述映射关系,在MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
所述方法进一步包括:
如果所述第一MAC地址未发生冲突,则所述查询器设备在接收者列表中记录所述IP组播地址和所述第一MAC地址之间的对应关系;
如果所述第一MAC地址发生冲突,则所述查询器设备在接收者列表中记录所述IP组播地址和所述第二MAC地址之间的对应关系;
其中,所述查询器设备在收到报告报文后,如果所述接收者列表中记录了所述IP组播地址之外的其它IP组播地址与第一MAC地址之间的对应关系,则所述第一MAC地址发生冲突;否则,所述第一MAC地址未发生冲突。
所述方法进一步包括:
所述查询器设备向二层接入设备发送的MAC冲突纠错报文中还携带老化时间,由二层接入设备利用所述老化时间为所述映射关系启动老化定时器;
当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,所述查询器设备向二层接入设备发送MAC地址冲突取消报文,由二层接入设备在收到MAC地址冲突取消报文后,删除所述映射关系;否则,所述查询器设备按照指定时间间隔周期性的向二层接入设备发送MAC地址冲突更新报文,由二层接入设备在收到MAC地址冲突更新报文后,更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
本发明实施例提供一种MAC表项的管理方法,该方法具体包括:
二层接入设备接收来自组播接收者的携带所述组播接收者点播的组播数据的IP组播地址和第一MAC地址的报告报文,并在MAC表项中记录所述IP组播地址、第一MAC地址和所述报告报文的接收端口之间的对应关系;
所述二层接入设备将所述报告报文发送给查询器设备,由查询器设备发现第一MAC地址发生冲突时,获得所述IP组播地址对应的第二MAC地址;
所述二层接入设备接收来自所述查询器设备的MAC冲突纠错报文,所述MAC冲突纠错报文中携带了所述IP组播地址和所述第二MAC地址,并维护所述IP组播地址和所述第二MAC地址之间的映射关系;
所述二层接入设备接收来自所述查询器设备的特定组查询报文,并将所述特定组查询报文发送给组播接收者;由所述组播接收者在收到特定组查询报文后,重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;
所述二层接入设备在接收到重新发送的报告报文之后,利用所述映射关系,在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
所述方法进一步包括:
所述二层接入设备在接收到重新发送的报告报文之后,判断所述映射关系中是否记录了所述报告报文中携带的IP组播地址;如果是,则所述二层接入设备执行在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系的过程;如果否,则所述二层接入设备判断所述MAC表项中是否记录了所述报告报文中携带的IP组播地址;如果没有携带,则所述二层接入设备在所述MAC表项中记录所述报告报文中携带的IP组播地址、MAC地址和所述报告报文的接收端口之间的对应关系。
所述方法进一步包括:
所述MAC冲突纠错报文中还携带老化时间,所述二层接入设备在收到MAC冲突纠错报文后,利用所述老化时间为所述映射关系启动老化定时器;
当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,所述二层接入设备接收所述查询器设备发送的MAC地址冲突取消报文,并删除所述映射关系;否则,所述二层接入设备接收所述查询器设备按照指定时间间隔周期性发送的MAC地址冲突更新报文,并更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
本发明实施例提供一种查询器设备,所述查询器设备具体包括:
接收模块,用于接收来自组播接收者的报告报文,所述报告报文中携带组播接收者点播的组播数据的IP组播地址和第一介质访问控制MAC地址;
获得模块,用于当所述第一MAC地址发生冲突时,则获得所述IP组播地址对应的第二MAC地址;
发送模块,用于向二层接入设备发送MAC冲突纠错报文,所述MAC冲突纠错报文中携带所述IP组播地址和所述第二MAC地址;由所述二层接入设备维护所述IP组播地址和所述第二MAC地址之间的映射关系;
并通过所述二层接入设备向所述组播接收者发送特定组查询报文;由所述组播接收者重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;由所述二层接入设备在收到所述报告报文之后,利用所述映射关系,在MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
还包括:维护模块,用于当所述第一MAC地址未发生冲突时,则在接收者列表中记录所述IP组播地址和所述第一MAC地址之间的对应关系;当所述第一MAC地址发生冲突时,则在接收者列表中记录所述IP组播地址和所述第二MAC地址之间的对应关系;其中,如果所述接收者列表中记录了所述IP组播地址之外的其它IP组播地址与第一MAC地址之间的对应关系,则所述第一MAC地址发生冲突;否则,所述第一MAC地址未发生冲突。
所述发送模块向二层接入设备发送的MAC冲突纠错报文中还携带老化时间,由二层接入设备利用所述老化时间为所述映射关系启动老化定时器;
所述发送模块,还用于当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,向二层接入设备发送MAC地址冲突取消报文,由二层接入设备在收到MAC地址冲突取消报文后,删除所述映射关系;否则,按照指定时间间隔周期性的向二层接入设备发送MAC地址冲突更新报文,由二层接入设备在收到MAC地址冲突更新报文后,更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
本发明实施例提供一种二层接入设备,所述二层接入设备具体包括:
记录模块,用于接收来自组播接收者的报告报文,所述报告报文中携带了所述组播接收者点播的组播数据的IP组播地址和第一介质访问控制MAC地址,并在MAC表项中记录所述IP组播地址、所述第一MAC地址和所述报告报文的接收端口之间的对应关系;
发送模块,用于将所述报告报文发送给查询器设备,由查询器设备发现第一MAC地址发生冲突时,获得所述IP组播地址对应的第二MAC地址;
接收模块,用于接收来自所述查询器设备的MAC冲突纠错报文,所述MAC冲突纠错报文中携带了所述IP组播地址和所述第二MAC地址,并维护所述IP组播地址和所述第二MAC地址之间的映射关系;
接收来自所述查询器设备的特定组查询报文,并将所述特定组查询报文发送给组播接收者;由所述组播接收者在收到特定组查询报文后,重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;
处理模块,用于在接收到重新发送的报告报文之后,利用所述映射关系,在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
所述处理模块,具体用于在接收到重新发送的报告报文后,判断所述映射关系中是否记录了报告报文中携带的IP组播地址;如果是,则执行在所述MAC表项中记录IP组播地址、第二MAC地址和报告报文的接收端口之间的对应关系的过程;如果否,则判断MAC表项中是否记录了报告报文中携带的IP组播地址;如果没有携带,则在MAC表项中记录所述报告报文中携带的IP组播地址、MAC地址和所述报告报文的接收端口之间的对应关系。
所述MAC冲突纠错报文还携带老化时间,所述处理模块,还用于在收到MAC冲突纠错报文后,利用所述老化时间为所述映射关系启动老化定时器;
所述处理模块,还用于当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,接收所述查询器设备发送的MAC地址冲突取消报文,并删除所述映射关系;否则,接收所述查询器设备按照指定时间间隔周期性发送的MAC地址冲突更新报文,并更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
基于上述技术方案,本发明实施例中,当组播接收者点播的组播数据的IP组播地址不同,MAC地址相同时,各网络设备在收集IP组播地址和MAC地址后,会发现MAC地址出现冲突,并纠正发生冲突的MAC地址,各网络设备可以利用点播的组播数据的IP组播地址和MAC地址建立正确的分发路径,即相同MAC地址的组播数据在网络中可以精确转发,网络带宽占用最优。
附图说明
图1是本发明实施例中提出的应用场景示意图;
图2是本发明实施例提供的一种MAC表项的管理方法流程示意图;
图3是本发明实施例提供的协议报文的格式示意图;
图4是本发明实施例提供的一种查询器设备的结构示意图;
图5是本发明实施例提供的一种二层接入设备的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种MAC表项的管理方法,以图1为本发明实施例的应用场景示意图,假设组播接收者1点播组播源1的组播数据,组播接收者2点播组播源2的组播数据,组播源1发出的组播数据的IP组播地址为IP组播地址1,MAC地址为MAC地址1,组播源2发出的组播数据的IP组播地址为IP组播地址2,MAC地址为MAC地址1。
本发明实施例中,当三层路由设备为一个时,则该三层路由设备作为查询器设备和DR(Designated Router,指定路由器);当三层路由设备为多个时,则多个三层路由设备中有一个三层路由设备作为查询器设备,也有一个三层路由设备作为DR。图1中以一个三层路由设备为例进行说明,该三层路由设备即作为查询器设备,又作为DR。以三层路由设备的查询器功能说明本发明实施例技术方案,对于三层路由设备的DR功能,本发明实施例不再赘述。因此,本发明实施例的后续描述中,可以将三层路由设备称为查询器设备。
本发明实施例中,IP组播地址为IPv4组播地址或者IPv6组播地址,MAC地址为IPv4组播地址映射的MAC地址或者IPv6组播地址映射的MAC地址。
本发明实施例中,查询器设备上使能MLD(Multicast Listener Discovery,组播侦听发现)/IGMP(Internet Group Management Protocol,互联网组管理协议)功能,且二层接入设备上使能MLD/IGMP Snooping(侦听)功能。
在上述应用场景下,如图2所示,该MAC表项的管理方法包括以下步骤:
步骤201,组播接收者发送报告报文(如MLD/IGMP报告报文),该报告报文中携带该组播接收者点播的组播数据的IP组播地址和第一MAC地址。二层接入设备接收来自组播接收者的报告报文,并在MAC表项中记录IP组播地址、第一MAC地址和该报告报文的接收端口之间的对应关系。
当组播接收者1需要点播组播源1的组播数据时,组播接收者1发送报告报文,该报告报文中携带IP组播地址1和MAC地址1;二层接入设备1通过端口1收到该报告报文之后,在MAC表项中记录IP组播地址1、MAC地址1和端口1之间的对应关系。当组播接收者2需要点播组播源2的组播数据时,组播接收者2发送报告报文,该报告报文中携带IP组播地址2和MAC地址1;二层接入设备1通过端口2收到该报告报文之后,在MAC表项中记录IP组播地址2、MAC地址1和端口2之间的对应关系。
步骤202,二层接入设备将报告报文发送给查询器设备,查询器设备接收携带组播接收者点播的组播数据的IP组播地址和第一MAC地址的报告报文,如果第一MAC地址发生冲突,则获得IP组播地址对应的第二MAC地址。
本发明实施例中,查询器设备负责管理网段内的所有组播接收者的信息,并在接收者列表内记录所有组播接收者的信息,如组播接收者点播的组播数据的IP组播地址和第一MAC地址的信息。基于此,查询器设备在接收到报告报文后,如果接收者列表中记录了该报告报文中携带的IP组播地址之外的其它IP组播地址与该报告报文中携带的第一MAC地址之间的对应关系,则第一MAC地址发生冲突;否则,第一MAC地址未发生冲突。进一步的,如果第一MAC地址未发生冲突,则查询器设备在接收者列表中记录IP组播地址和第一MAC地址之间的对应关系;如果第一MAC地址发生冲突,则查询器设备在接收者列表中记录IP组播地址和第二MAC地址之间的对应关系。
查询器设备在接收到携带IP组播地址1和MAC地址1的报告报文之后,由于此时接收者列表中没有记录IP组播地址1之外的其它IP组播地址与MAC地址1之间的对应关系,因此,MAC地址1未发生冲突,查询器设备在接收者列表中记录IP组播地址1和MAC地址1之间的对应关系。之后,查询器设备在接收到携带IP组播地址2和MAC地址1的报告报文之后,由于此时接收者列表中已经记录了IP组播地址2之外的其它IP组播地址(即IP组播地址1)与MAC地址1之间的对应关系,因此,MAC地址1发生冲突,查询器设备需要获得IP组播地址2对应的第二MAC地址(如MAC地址2),并在接收者列表中记录IP组播地址2和MAC地址2之间的对应关系。
本发明实施例中,查询器设备在获得IP组播地址对应的第二MAC地址时,可以基于MAC地址生成算法获得IP组播地址对应的第二MAC地址,具体的第二MAC地址的生成算法,本发明实施例中不再进行详细说明。
步骤203,查询器设备在发现第一MAC地址发生冲突时,向二层接入设备发送MAC冲突纠错报文,并通过二层接入设备向组播接收者发送特定组查询报文。其中,该MAC冲突纠错报文中携带IP组播地址和第二MAC地址。
查询器设备在接收到携带IP组播地址2和MAC地址1的报告报文之后,发现MAC地址1发生冲突,并向二层接入设备发送MAC冲突纠错报文,该MAC冲突纠错报文中携带IP组播地址2和MAC地址2。进一步的,查询器设备通过二层接入设备向组播接收者发送特定组查询报文(如MLD/IGMP特定组查询报文),该特定组查询报文用于触发组播接收者重新发送报告报文。
步骤204,二层接入设备在收到MAC冲突纠错报文后,维护MAC冲突纠错报文中携带的IP组播地址和第二MAC地址之间的映射关系。二层接入设备在收到特定组查询报文后,将该特定组查询报文发送给组播接收者。
例如,二层接入设备1在收到携带IP组播地址2和MAC地址2的MAC冲突纠错报文后,维护IP组播地址2和MAC地址2之间的映射关系。
步骤205,组播接收者在接收到来自二层接入设备的特定组查询报文之后,重新发送携带IP组播地址和第一MAC地址的报告报文。例如,组播接收者1重新发送携带了IP组播地址1和MAC地址1的报告报文,组播接收者2重新发送携带了IP组播地址2和MAC地址1的报告报文。
步骤206,二层接入设备在接收到重新发送的报告报文之后,利用IP组播地址和第二MAC地址之间的映射关系,在MAC表项中记录IP组播地址、第二MAC地址和报告报文的接收端口之间的对应关系,并从MAC表项中删除IP组播地址、第一MAC地址和报告报文的接收端口之间的对应关系。
本发明实施例中,二层接入设备在接收到重新发送的报告报文之后,判断IP组播地址和第二MAC地址之间的映射关系中是否记录了该报告报文中携带的IP组播地址。如果是,则二层接入设备执行在MAC表项中记录IP组播地址、第二MAC地址和报告报文的接收端口之间的对应关系,并从MAC表项中删除IP组播地址、第一MAC地址和报告报文的接收端口之间的对应关系的过程。如果否,则二层接入设备判断MAC表项中是否记录了该报告报文中携带的IP组播地址。如果没有携带,则二层接入设备在MAC表项中记录报告报文中携带的IP组播地址、MAC地址和报告报文的接收端口之间的对应关系。如果已经携带,则二层接入设备结束本步骤的处理过程。
二层接入设备1通过端口1收到携带IP组播地址1和MAC地址1的报告报文后,由于二层接入设备1只记录了IP组播地址2和MAC地址2之间的映射关系,因此,映射关系中没有记录该报告报文中携带的IP组播地址1。由于MAC表项中已经记录了该报告报文中携带的IP组播地址1,因此结束本步骤的处理过程,在MAC表项中记录了IP组播地址1、MAC地址1和端口1之间的对应关系。二层接入设备1通过端口2收到携带IP组播地址2和MAC地址1的报告报文后,由于二层接入设备1记录了IP组播地址2和MAC地址2之间的映射关系,因此映射关系中记录了该报告报文中携带的IP组播地址2。二层接入设备1利用IP组播地址2和MAC地址2之间的映射关系,在MAC表项中记录IP组播地址2、MAC地址2和端口2之间的对应关系,并从MAC表项中删除IP组播地址2、MAC地址1和端口2之间的对应关系。
步骤207,二层接入设备将报告报文发送给查询器设备。
本发明实施例中,查询器设备向二层接入设备发送的MAC冲突纠错报文中还可以携带老化时间。基于此,二层接入设备在收到MAC冲突纠错报文之后,利用该老化时间为IP组播地址和第二MAC地址之间的映射关系启动老化定时器。进一步的,如果该老化定时器未超时,则二层接入设备会继续维护IP组播地址和第二MAC地址之间的映射关系;如果该老化定时器超时,则二层接入设备会删除IP组播地址和第二MAC地址之间的映射关系。
本发明实施例中,当组播接收者在预设时间内未点播对应于IP组播地址和第一MAC地址的组播数据时,则查询器设备向二层接入设备发送MAC地址冲突取消报文。二层接入设备在收到MAC地址冲突取消报文之后,删除IP组播地址和第二MAC地址之间的映射关系。否则,查询器设备按照指定时间间隔周期性的向二层接入设备发送MAC地址冲突更新报文。二层接入设备在收到MAC地址冲突更新报文之后,更新IP组播地址和第二MAC地址之间的映射关系的老化定时器;其中,该指定时间间隔小于上述老化时间。
其中,组播接收者在预设时间内未点播对应于IP组播地址和第一MAC地址的组播数据,表示该组播接收者(即MAC地址发生冲突的组播接收者)由于超时而被删除,此时不再需要向该组播接收者发送相应的组播数据。
如图3所示,为一种MLD/IGMP协议报文的格式示意图,MAC冲突纠错报文、MAC地址冲突取消报文、MAC地址冲突更新报文均基于该协议报文的格式设置。Type(类型)域的值表示协议报文是IGMP协议报文还是MLD协议报文;例如,当Type域的值为23时,表示IGMP协议报文,当Type域的值为144时,表示MLD协议报文。Sub(子)Type域表示协议报文的类型;例如,当Sub Type域的值为1时,表示MAC冲突纠错报文,当Sub Type域的值为2时,表示MAC地址冲突更新报文,当Sub Type域的值为3时,表示MAC地址冲突取消报文。Max Hold Time(最大保持时间)域的值表示老化时间;其中,当Sub Type域的值为1时,Max Hold Time域的值有效,当Sub Type域的值为2或3时,Max Hold Time域的值无效。在每个ConflictRecord(冲突记录)域中,包含IP组播地址和对应的第二MAC地址。
基于上述技术方案,本发明实施例中,当组播接收者点播的组播数据的IP组播地址不同,MAC地址相同时,各网络设备在收集IP组播地址和MAC地址后,会发现MAC地址出现冲突,并纠正发生冲突的MAC地址,各网络设备可以利用点播的组播数据的IP组播地址和MAC地址建立正确的分发路径,即相同MAC地址的组播数据在网络中可以精确转发,网络带宽占用最优。
在现有技术中,二层接入设备1在MAC表项中记录IP组播地址1、MAC地址1和端口1之间的对应关系,并在MAC表项中记录IP组播地址2、MAC地址1和端口2之间的对应关系。针对组播源1发出的组播数据,IP组播地址为IP组播地址1,MAC地址为MAC地址1,DR(即查询器设备)发送给二层接入设备1的组播数据的IP组播地址为IP组播地址1,MAC地址为MAC地址1,由于二层接入设备1基于MAC地址进行转发,且MAC地址1在MAC表项中对应于端口1和端口2,因此,二层接入设备1将通过端口1和端口2分别发送组播源1的组播数据,显然,由于组播接收者2未点播组播源1的组播数据,因此,二层接入设备1不应该通过端口2发送组播源1的组播数据。同理,二层接入设备1将通过端口1和端口2分别发送组播源2的组播数据,显然,由于组播接收者1未点播组播源2的组播数据,因此,二层接入设备1不应该通过端口1发送组播源2的组播数据。
在本发明实施例中,二层接入设备1在MAC表项中记录IP组播地址1、MAC地址1和端口1之间的对应关系,并在MAC表项中记录IP组播地址2、MAC地址2和端口2之间的对应关系。针对组播源1发出的组播数据,IP组播地址为IP组播地址1,MAC地址为MAC地址1,DR(即查询器设备)发送给二层接入设备1的组播数据的IP组播地址为IP组播地址1,MAC地址为MAC地址1,由于二层接入设备1基于MAC地址进行转发,且MAC地址1在MAC表项中对应于端口1,因此,二层接入设备1只会通过端口1发送组播源1的组播数据。针对组播源2发出的组播数据,IP组播地址为IP组播地址1,MAC地址为MAC地址1,DR发送给二层接入设备1的组播数据的IP组播地址为IP组播地址1,MAC地址为MAC地址2,由于二层接入设备1基于MAC地址进行转发,且MAC地址2在MAC表项中对应于端口2,因此,二层接入设备1只会通过端口2发送组播源2的组播数据。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种查询器设备,如图4所示,所述查询器设备具体包括:
接收模块11,用于接收来自组播接收者的报告报文,所述报告报文中携带组播接收者点播的组播数据的IP组播地址和第一介质访问控制MAC地址;
获得模块12,用于当所述第一MAC地址发生冲突时,则获得所述IP组播地址对应的第二MAC地址;
发送模块13,用于向二层接入设备发送MAC冲突纠错报文,所述MAC冲突纠错报文中携带所述IP组播地址和所述第二MAC地址;由所述二层接入设备维护所述IP组播地址和所述第二MAC地址之间的映射关系;
并通过所述二层接入设备向所述组播接收者发送特定组查询报文;由所述组播接收者重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;由所述二层接入设备在收到所述报告报文之后,利用所述映射关系,在MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
还包括:维护模块14,用于当所述第一MAC地址未发生冲突时,则在接收者列表中记录所述IP组播地址和所述第一MAC地址之间的对应关系;当所述第一MAC地址发生冲突时,则在接收者列表中记录所述IP组播地址和所述第二MAC地址之间的对应关系;其中,如果所述接收者列表中记录了所述IP组播地址之外的其它IP组播地址与第一MAC地址之间的对应关系,则所述第一MAC地址发生冲突;否则,所述第一MAC地址未发生冲突。
所述发送模块13向二层接入设备发送的MAC冲突纠错报文中还携带老化时间,由二层接入设备利用所述老化时间为所述映射关系启动老化定时器;
所述发送模块13,还用于当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,向二层接入设备发送MAC地址冲突取消报文,由二层接入设备在收到MAC地址冲突取消报文后,删除所述映射关系;否则,按照指定时间间隔周期性的向二层接入设备发送MAC地址冲突更新报文,由二层接入设备在收到MAC地址冲突更新报文后,更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种二层接入设备,如图5所示,所述二层接入设备具体包括:
记录模块21,用于接收来自组播接收者的报告报文,所述报告报文中携带了所述组播接收者点播的组播数据的IP组播地址和第一介质访问控制MAC地址,并在MAC表项中记录所述IP组播地址、所述第一MAC地址和所述报告报文的接收端口之间的对应关系;
发送模块22,用于将所述报告报文发送给查询器设备,由查询器设备发现第一MAC地址发生冲突时,获得所述IP组播地址对应的第二MAC地址;
接收模块23,用于接收来自所述查询器设备的MAC冲突纠错报文,所述MAC冲突纠错报文中携带了所述IP组播地址和所述第二MAC地址,并维护所述IP组播地址和所述第二MAC地址之间的映射关系;
接收来自所述查询器设备的特定组查询报文,并将所述特定组查询报文发送给组播接收者;由所述组播接收者在收到特定组查询报文后,重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;
处理模块24,用于在接收到重新发送的报告报文之后,利用所述映射关系,在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
所述处理模块24,具体用于在接收到重新发送的报告报文后,判断所述映射关系中是否记录了报告报文中携带的IP组播地址;如果是,则执行在所述MAC表项中记录IP组播地址、第二MAC地址和报告报文的接收端口之间的对应关系的过程;如果否,则判断MAC表项中是否记录了报告报文中携带的IP组播地址;如果没有携带,则在MAC表项中记录所述报告报文中携带的IP组播地址、MAC地址和所述报告报文的接收端口之间的对应关系。
所述MAC冲突纠错报文还携带老化时间,所述处理模块24,还用于在收到MAC冲突纠错报文后,利用所述老化时间为所述映射关系启动老化定时器;所述处理模块24,还用于当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,接收所述查询器设备发送的MAC地址冲突取消报文,并删除所述映射关系;否则,接收所述查询器设备按照指定时间间隔周期性发送的MAC地址冲突更新报文,并更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种介质访问控制MAC表项的管理方法,其特征在于,该方法包括:
查询器设备接收来自组播接收者的报告报文,所述报告报文中携带所述组播接收者点播的组播数据的IP组播地址和第一MAC地址;如果所述第一MAC地址发生冲突,则获得所述IP组播地址对应的第二MAC地址;
所述查询器设备向二层接入设备发送MAC冲突纠错报文,所述MAC冲突纠错报文中携带所述IP组播地址和所述第二MAC地址;由所述二层接入设备维护所述IP组播地址和所述第二MAC地址之间的映射关系;
所述查询器设备通过所述二层接入设备向所述组播接收者发送特定组查询报文;由所述组播接收者重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;由所述二层接入设备在收到所述报告报文之后,利用所述映射关系,在MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
如果所述第一MAC地址未发生冲突,则所述查询器设备在接收者列表中记录所述IP组播地址和所述第一MAC地址之间的对应关系;
如果所述第一MAC地址发生冲突,则所述查询器设备在接收者列表中记录所述IP组播地址和所述第二MAC地址之间的对应关系;
其中,所述查询器设备在收到报告报文后,如果所述接收者列表中记录了所述IP组播地址之外的其它IP组播地址与第一MAC地址之间的对应关系,则所述第一MAC地址发生冲突;否则,所述第一MAC地址未发生冲突。
3.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
所述查询器设备向二层接入设备发送的MAC冲突纠错报文中还携带老化时间,由二层接入设备利用所述老化时间为所述映射关系启动老化定时器;
当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,所述查询器设备向二层接入设备发送MAC地址冲突取消报文,由二层接入设备在收到MAC地址冲突取消报文后,删除所述映射关系;否则,所述查询器设备按照指定时间间隔周期性的向二层接入设备发送MAC地址冲突更新报文,由二层接入设备在收到MAC地址冲突更新报文后,更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
4.一种介质访问控制MAC表项的管理方法,其特征在于,该方法包括:
二层接入设备接收来自组播接收者的携带所述组播接收者点播的组播数据的IP组播地址和第一MAC地址的报告报文,并在MAC表项中记录所述IP组播地址、第一MAC地址和所述报告报文的接收端口之间的对应关系;
所述二层接入设备将所述报告报文发送给查询器设备,由查询器设备发现第一MAC地址发生冲突时,获得所述IP组播地址对应的第二MAC地址;
所述二层接入设备接收来自所述查询器设备的MAC冲突纠错报文,所述MAC冲突纠错报文中携带了所述IP组播地址和所述第二MAC地址,并维护所述IP组播地址和所述第二MAC地址之间的映射关系;
所述二层接入设备接收来自所述查询器设备的特定组查询报文,并将所述特定组查询报文发送给组播接收者;由所述组播接收者在收到特定组查询报文后,重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;
所述二层接入设备在接收到重新发送的报告报文之后,利用所述映射关系,在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
5.如权利要求4所述的方法,其特征在于,所述方法进一步包括:
所述二层接入设备在接收到重新发送的报告报文之后,判断所述映射关系中是否记录了所述报告报文中携带的IP组播地址;如果是,则所述二层接入设备执行在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系的过程;如果否,则所述二层接入设备判断所述MAC表项中是否记录了所述报告报文中携带的IP组播地址;如果没有携带,则所述二层接入设备在所述MAC表项中记录所述报告报文中携带的IP组播地址、MAC地址和所述报告报文的接收端口之间的对应关系。
6.如权利要求4所述的方法,其特征在于,所述方法进一步包括:
所述MAC冲突纠错报文中还携带老化时间,所述二层接入设备在收到MAC冲突纠错报文后,利用所述老化时间为所述映射关系启动老化定时器;
当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,所述二层接入设备接收所述查询器设备发送的MAC地址冲突取消报文,并删除所述映射关系;否则,所述二层接入设备接收所述查询器设备按照指定时间间隔周期性发送的MAC地址冲突更新报文,并更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
7.一种查询器设备,其特征在于,所述查询器设备具体包括:
接收模块,用于接收来自组播接收者的报告报文,所述报告报文中携带组播接收者点播的组播数据的IP组播地址和第一介质访问控制MAC地址;
获得模块,用于当所述第一MAC地址发生冲突时,则获得所述IP组播地址对应的第二MAC地址;
发送模块,用于向二层接入设备发送MAC冲突纠错报文,所述MAC冲突纠错报文中携带所述IP组播地址和所述第二MAC地址;由所述二层接入设备维护所述IP组播地址和所述第二MAC地址之间的映射关系;
并通过所述二层接入设备向所述组播接收者发送特定组查询报文;由所述组播接收者重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;由所述二层接入设备在收到所述报告报文之后,利用所述映射关系,在MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
8.如权利要求7所述的查询器设备,其特征在于,还包括:
维护模块,用于当所述第一MAC地址未发生冲突时,则在接收者列表中记录所述IP组播地址和所述第一MAC地址之间的对应关系;当所述第一MAC地址发生冲突时,则在接收者列表中记录所述IP组播地址和所述第二MAC地址之间的对应关系;其中,如果所述接收者列表中记录了所述IP组播地址之外的其它IP组播地址与第一MAC地址之间的对应关系,则所述第一MAC地址发生冲突;否则,所述第一MAC地址未发生冲突。
9.如权利要求7所述的查询器设备,其特征在于,
所述发送模块向二层接入设备发送的MAC冲突纠错报文中还携带老化时间,由二层接入设备利用所述老化时间为所述映射关系启动老化定时器;
所述发送模块,还用于当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,向二层接入设备发送MAC地址冲突取消报文,由二层接入设备在收到MAC地址冲突取消报文后,删除所述映射关系;否则,按照指定时间间隔周期性的向二层接入设备发送MAC地址冲突更新报文,由二层接入设备在收到MAC地址冲突更新报文后,更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
10.一种二层接入设备,其特征在于,所述二层接入设备具体包括:
记录模块,用于接收来自组播接收者的报告报文,所述报告报文中携带了所述组播接收者点播的组播数据的IP组播地址和第一介质访问控制MAC地址,并在MAC表项中记录所述IP组播地址、所述第一MAC地址和所述报告报文的接收端口之间的对应关系;
发送模块,用于将所述报告报文发送给查询器设备,由查询器设备发现第一MAC地址发生冲突时,获得所述IP组播地址对应的第二MAC地址;
接收模块,用于接收来自所述查询器设备的MAC冲突纠错报文,所述MAC冲突纠错报文中携带了所述IP组播地址和所述第二MAC地址,并维护所述IP组播地址和所述第二MAC地址之间的映射关系;
接收来自所述查询器设备的特定组查询报文,并将所述特定组查询报文发送给组播接收者;由所述组播接收者在收到特定组查询报文后,重新发送携带所述IP组播地址和所述第一MAC地址的报告报文;
处理模块,用于在接收到重新发送的报告报文之后,利用所述映射关系,在所述MAC表项中记录所述IP组播地址、所述第二MAC地址和所述报告报文的接收端口之间的对应关系,并从所述MAC表项中删除所述IP组播地址、所述第一MAC地址和报告报文的接收端口之间的对应关系。
11.如权利要求10所述的二层接入设备,其特征在于,
所述处理模块,具体用于在接收到重新发送的报告报文后,判断所述映射关系中是否记录了报告报文中携带的IP组播地址;如果是,则执行在所述MAC表项中记录IP组播地址、第二MAC地址和报告报文的接收端口之间的对应关系的过程;如果否,则判断MAC表项中是否记录了报告报文中携带的IP组播地址;如果没有携带,则在MAC表项中记录所述报告报文中携带的IP组播地址、MAC地址和所述报告报文的接收端口之间的对应关系。
12.如权利要求10所述的二层接入设备,其特征在于,
所述MAC冲突纠错报文还携带老化时间,所述处理模块,还用于在收到MAC冲突纠错报文后,利用所述老化时间为所述映射关系启动老化定时器;
所述处理模块,还用于当所述组播接收者在预设时间内未点播所述IP组播地址和第一MAC地址的组播数据时,接收所述查询器设备发送的MAC地址冲突取消报文,并删除所述映射关系;否则,接收所述查询器设备按照指定时间间隔周期性发送的MAC地址冲突更新报文,并更新所述映射关系的老化定时器;其中,所述指定时间间隔小于所述老化时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510067556.7A CN104683495B (zh) | 2015-02-09 | 2015-02-09 | 一种mac表项的管理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510067556.7A CN104683495B (zh) | 2015-02-09 | 2015-02-09 | 一种mac表项的管理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683495A true CN104683495A (zh) | 2015-06-03 |
CN104683495B CN104683495B (zh) | 2018-04-06 |
Family
ID=53318059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510067556.7A Active CN104683495B (zh) | 2015-02-09 | 2015-02-09 | 一种mac表项的管理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683495B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530187A (zh) * | 2015-12-14 | 2016-04-27 | 小米科技有限责任公司 | 物理地址获取方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119290A (zh) * | 2006-08-01 | 2008-02-06 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及系统 |
CN101286990A (zh) * | 2008-05-27 | 2008-10-15 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
US20080316924A1 (en) * | 2007-06-20 | 2008-12-25 | Takeki Yazaki | Shaping device and router device |
CN102333013A (zh) * | 2011-10-17 | 2012-01-25 | 中兴通讯股份有限公司 | 一种介质访问控制地址冲突检测方法、装置和系统 |
-
2015
- 2015-02-09 CN CN201510067556.7A patent/CN104683495B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119290A (zh) * | 2006-08-01 | 2008-02-06 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及系统 |
US20080316924A1 (en) * | 2007-06-20 | 2008-12-25 | Takeki Yazaki | Shaping device and router device |
CN101286990A (zh) * | 2008-05-27 | 2008-10-15 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
CN102333013A (zh) * | 2011-10-17 | 2012-01-25 | 中兴通讯股份有限公司 | 一种介质访问控制地址冲突检测方法、装置和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530187A (zh) * | 2015-12-14 | 2016-04-27 | 小米科技有限责任公司 | 物理地址获取方法及装置 |
CN105530187B (zh) * | 2015-12-14 | 2019-06-14 | 小米科技有限责任公司 | 物理地址获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104683495B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104601959B (zh) | 一种视频监控系统及其快速接入网络摄像机的方法 | |
RU2357281C2 (ru) | Виртуальная сеть вещания для междоменной связи | |
KR100908320B1 (ko) | IPv6 네트워크 내 호스트 차단 및 탐색방법 | |
CN102143509B (zh) | Ap管理无线中继器的方法、装置及系统 | |
CN101827138B (zh) | 一种优化的ipv6过滤规则处理方法和设备 | |
CN105554179B (zh) | 局域网内dns解析方法、系统 | |
CN105897444B (zh) | 一种组播组的管理方法和装置 | |
US10091065B1 (en) | Zero configuration networking on a subnetted network | |
CN108418806B (zh) | 一种报文的处理方法及装置 | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
CN103118148A (zh) | 一种arp缓存更新方法和设备 | |
CN103248720A (zh) | 一种查询物理地址的方法及装置 | |
CN105337746B (zh) | 一种组播数据的传输方法和装置 | |
US20140032782A1 (en) | Method and apparatus for route selection of host in multihoming site | |
CN110290044B (zh) | 一种vpn网络和主干网络的分流方法、装置及存储介质 | |
EP2536099A2 (en) | Method and access node for preventing address conflict | |
EP3021533A1 (en) | Switching device, controller, and method and system for switching device configuration and packet processing | |
US20150271086A1 (en) | Reducing Network Traffic By Intercepting Address Resolution Messages | |
US9525646B2 (en) | Method, device and computer program for selecting a router node in an LLN network | |
US20180262418A1 (en) | Method and apparatus for communication in virtual network | |
CN110958124B (zh) | 多播组管理方法、装置、可读存储介质、及计算机 | |
CN104683495A (zh) | 一种mac表项的管理方法和设备 | |
CN108429641A (zh) | 一种网络设备管理方法及装置 | |
CN105791318A (zh) | 一种组播安全接入装置及方法 | |
CN109831313B (zh) | 群组通信方法、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |