CN102761477A - 组播协议报文发送方法及装置 - Google Patents
组播协议报文发送方法及装置 Download PDFInfo
- Publication number
- CN102761477A CN102761477A CN2012101406121A CN201210140612A CN102761477A CN 102761477 A CN102761477 A CN 102761477A CN 2012101406121 A CN2012101406121 A CN 2012101406121A CN 201210140612 A CN201210140612 A CN 201210140612A CN 102761477 A CN102761477 A CN 102761477A
- Authority
- CN
- China
- Prior art keywords
- multicast
- message
- virtual machine
- information
- bridge
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种组播协议报文发送方法及装置,该方法包括边界路由网桥接收用于查询组播信息的触发信息;该边界路由网桥根据触发信息查询组播信息;该边界路由网桥根据查询到的组播信息,发送组播协议报文。通过本发明,解决了现有技术中网络节点间组播业务交互浪费带宽资源,以及业务切换过慢的问题,进而达到了节约网络带宽,提高业务切换效率以及用户体验的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种组播协议报文发送方法及装置。
背景技术
多链接透明互连(Transparent Interconnection over Lots of Links,简称为TRILL),是互联网工程任务组(Internet Engineering Task Force,简称为IETF)推荐的连接层(L2)网络的标准。TRILL通过将中间系统到中间系统(Intermediate System to Intermediate System,简称为IS-IS、ISIS)路由协议引入到L2网络,作为控制面实现。在TRILL网络的数据面,运行TRILL协议的设备称为路由网桥(Router Bridge,简称为RB),其中与终端连接的称为边界路由网桥(Edge RB,简称为ERB)。边界路由网桥部署在数据中心网络的边界,对原始数据报文进行特定技术的封装解封装,比如TRILL或最短路径桥(Shortest Path Bridging,简称为SPB)等。在TRILL网络,边界路由网桥入口称为Ingress RB,出口称为Egress RB,Ingress RB会将原始报文另行封装一层TRILL头及外部MAC头,这就形成TRILL的数据帧在TRILL网络传输,其他负责将TRILL数据帧从Ingress RB一跳一跳地传送到Egress RB的路由网桥称为传输路由网桥,在Egress RB上会将数据报文解封装,还原成原始报文向终端传输。图1是相关技术中协议报文传输的网络架构图,如图1所示,ERB1-ERB3为边界路由网桥,中间RB1-RB3为传输路由网桥,Host1及H1、Hn为数据中心网络中的主机,加入了不同的组播组。Router为路由器,维护下行组播组成员关系。
在TRILL网络中,将所有报文区分为五种,即:二层控制帧(例如,BPDU及VLAN注册帧等),原始帧(即,非TRILL封装帧),TRILL数据帧,TRILL控制帧(例如,ISIS报文)和TRILL其它帧。
对于接入侧进来的原始帧,边界路由网桥会对其源和目的等有效信息进行学习,并将学习结果在ISIS控制报文中洪泛出去,而原始帧将被封装成TRILL数据报文在TRILL网络透传,一般中间传输路由网桥对原始帧中的源和目的不会有兴趣,即并不需要对这些信息进行维护。因此,边界路由网桥比传输路由网桥需要额外维护一些终端MAC等信息。在相关技术中,对于终端传送过来的数据报文和协议报文,边界路由网桥并无区分处理,都当原始帧来处理。对于组播协议报文来说,因为需要所有终端可达,所以TRILL网络会沿树转发至所有边界路由网桥。图2是相关技术中Internet组管理协议(Internet Group Management Protocol,简称为IGMP)的协议报文在TRILL网络内传输的示意图,如图2所示,在TRILL网络内存在着大量的IGMP查询报文(IGMP Query),以及IGMP回复报文(IGMP Report)。对于原始查询及回复报文来说,需要将该报文在整棵树上转发一次。图3是相关技术中在TRILL网络内存在的一棵以RB2为根的树的示意图,如图3所示,以该RB2为根的树存在很多的分支,组播报文默认沿树转发。因此,对于有大量组成员存在于不同组的大型二层组播网络来说,存在着大量的IGMP协议报文,这些协议报文会在整个TRILL网络中转发至所有RB节点。而大量报文的传输,对于网络带宽,将是较大的浪费。
另外,随着服务器虚拟化技术的成熟,数据中心部署虚拟机服务器应用越来越多。基于备份、节能等方面原因,虚拟机迁移的应用也越来越多。关于虚拟机的迁移涉及的内容较多,例如,虚拟机及上行路由网桥资源的预留,以及上行路由网桥节点感知到虚拟机物理位置切换。
组播收集组播组及其成员信息是通过IGMP的Query及Report以及Leave报文来定期更新的:通过Query报文的周期发送,收到Query的主机回复Report报文后,由此进行更新维护。而IGMP的Query报文周期发送间隔默认为125s,组成员信息的老化时间一般为260s。当虚拟机发生迁移时,虚拟机上正好有组播业务的存在,依赖组播协议自己的收敛时间,不可避免的会导致长时间的流量中断。例如,在一个边界路由网桥刚收到虚拟机的Report回复时,虚拟机就发生迁移,由路由网桥1下迁移接入路由网桥2。对于路由网桥2来说,并不知道虚拟机上有组播业务,需要等待新的Query发送,但下一个Query发送在125s钟之后,虚拟机通过收到的Query报文回复相应的Report信息,路由网桥2上收到该Report后才会知道有该组播成员的存在,之后流量才可以正常抵达,这么长时间的流量中断,对于用户来说是不可接受的。另外,对于路由网桥1来说,表项会在260s后老化,给虚拟机投递的组播流量仍会往路由网桥1投递这么长时间,也是带宽的浪费。尤其在IGMP snooping网络,由于IGMP的Query报文发送周期可能更长,表项的老化周期也可能更长,流量丢失的情况会更严重。因此,现有技术中存在感知到虚拟机的迁移后,组播业务切换过慢的问题。
因此,现有技术中存在网络节点间组播协议报文交互浪费带宽资源,以及组播业务切换过慢的问题。
发明内容
本发明提供了一种组播协议报文发送方法及装置,以至少解决现有技术中网络节点间组播协议报文交互浪费带宽资源,以及组播业务切换过慢的问题。
根据本发明的一个方面,提供了一种组播协议报文发送方法,包括:边界路由网桥接收用于查询组播信息的触发信息;所述边界路由网桥根据所述触发信息查询所述组播信息;所述边界路由网桥根据查询到的所述组播信息,发送组播协议报文。
优选地,用于查询所述组播信息的所述触发信息为以下至少之一:第一查询报文,其中,所述第一查询报文用于向所述边界路由网桥查询组播成员信息或组播业务信息、虚拟机迁移的通告信息,其中,所述通告信息用于通告所述边界路由网桥所述虚拟机的迁入或迁出。
优选地,所述边界路由网桥根据查询到的所述组播信息,发送所述组播协议报文包括,在所述触发信息为所述第一查询报文的情况下,所述边界路由网桥发送组播协议报文,其中,所述组播协议报文为所述边界路由网桥根据查询到的所述组播信息构建的回复报文。
优选地,所述边界路由网桥根据查询到的所述组播信息,发送所述组播协议报文包括,在所述触发信息为所述虚拟机迁移的通告信息的情况下,所述边界路由网桥向迁移的虚拟机发送所述组播协议报文,其中,所述组播协议报文为用于查询所述迁移的虚拟机上是否存在组播业务的第二查询报文。
优选地,所述边界路由网桥向迁移的虚拟机发送所述组播协议报文包括,虚拟机迁入方向的边界路由网桥在接收到虚拟机迁入的通告信息时,根据所述通告信息查询到的所述组播信息;根据所述组播信息,在所述迁入方向的边界路由网桥接收到所述虚拟机发出的第一个报文之后,向所述虚拟机发送所述第二查询报文;和/或,虚拟机迁出方向的边界路由网桥在接收到虚拟机迁出的通告信息时,定期向所述虚拟机发送所述第二查询报文,直到虚拟机迁出方向的边界路由网桥接收不到所述第二查询报文对应的回复报文。
优选地,所述第一查询报文和所述第二查询报文为组播普通查询报文或组播特定组查询报文,其中,所述组播普通查询报文为向所有组播组查询的报文,所述组播特定组查询报文为向特定标识组查询的报文。
优选地,还包括,在所述边界路由网桥根据所述组播标识查询所述组播信息之前,所述边界路由网桥向所述TRILL网络中的网络节点发送第三查询报文,其中,所述边界路由网桥根据所述第三查询报文对所述组播信息进行更新。
优选地,所述边界路由网桥在预定的周期内向所述TRILL网络中的网络节点发送所述第三查询报文。
根据本发明的另一方面,提供了一种组播协议报文发送装置,位于边界路由网桥中,包括:接收模块,用于接收用于查询组播信息的触发信息;查询模块,用于根据所述触发信息查询所述组播信息;发送模块,用于根据查询到的所述组播信息,发送组播协议报文。
优选地,所述发送模块包括第一发送模块,用于在所述触发信息为所述第一查询报文的情况下,发送组播协议报文,其中,所述组播协议报文为所述边界路由网桥根据查询到的所述组播信息构建的回复报文。
优选地,所述发送模块包括第二发送模块,用于在所述触发信息为所述虚拟机迁移的通告信息的情况下,所述边界路由网桥向迁移的虚拟机发送所述组播协议报文,其中,所述组播协议报文为用于查询所述迁移的虚拟机上是否存在组播业务的第二查询报文。
优选地,还包括第三发送模块,用于向多链接透明互连TRILL网络中的网络节点发送第三查询报文,其中,所述边界路由网桥根据所述第三查询报文对所述组播信息进行更新。
通过本发明,采用边界路由网桥接收用于查询组播信息的触发信息;所述边界路由网桥根据所述触发信息查询所述组播信息;所述边界路由网桥根据查询到的所述组播信息,发送组播协议报文。解决了现有技术中网络节点间组播业务交互浪费带宽资源,以及业务切换过慢的问题,进而达到了节约网络带宽,提高业务切换效率以及用户体验的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中协议报文传输的网络架构图;
图2是相关技术中IGMP协议报文在TRILL网络内传输的示意图;
图3是相关技术中在TRILL网络内存在的一棵以RB2为根的树的示意图;
图4是根据本发明实施例的组播协议报文发送方法的流程图;
图5是根据本发明实施例的组播协议报文发送装置的结构框图;
图6是根据本发明实施例的组播协议报文发送装置中发送模块56的结构框图一;
图7是根据本发明实施例的组播协议报文发送装置中发送模块56的结构框图二;
图8是根据本发明优选实施例的组播协议报文发送装置的结构框图;
图9是根据本发明实施例的IGMP协议报文在TRILL传输的示意图;
图10是根据本发明实施例的虚拟机迁移时资源处理的示意图;
图11是根据本发明实施例的虚拟机迁移的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
对于组播协议报文来说,而其实根据TRILL控制帧传递的信息,边界路由网桥已收集到组播成员所有有效信息。例如,协议(Internet Group Management Protocol,简称为IGMP)报文,边界路由网桥在学习到报文的有效信息(例如,VLAN、源MAC、组播MAC)之后,控制面会将该有效信息洪泛到所有节点,因此,该边界路由网桥存有该组播信息。对于原始查询报文来说,与之相连的路由网桥已经通过控制面收集到是否有无组播组成员存在,根据结果直接进行回复即可,无需在整颗树上将该报文转发一次。对于有大量组成员存在于不同组的大型二层组播网络来说,也存在着大量的IGMP协议报文,而由ERB进行IGMP的查询和回复,将会有效节约TRILL网络的带宽。另外,基于上述所分析的,如何进行组播流量的快速切换,有非常重要的意义。而对于具体虚拟机迁移时所携带的组播业务,如何进行有效即时的切换,未有太多研究。在感知到虚拟机迁移的时候,通过ERB的及时Query触发,对虚拟机上可能运行的组播业务也能进行即时的感知,由此流量得以及时的进行切换。因此,由ERB实现IGMP的查询和回复,同时可以解决虚拟机迁移时的组播流量及时切换的问题。
在本实施例中提供了一种组播协议报文发送方法,图4是根据本发明实施例的组播协议报文发送方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,边界路由网桥接收用于查询组播信息的触发信息;
步骤S404,该边界路由网桥根据上述触发信息查询组播信息;
步骤S406,该边界路由网桥根据查询到的上述组播信息,发送组播协议报文。
通过上述步骤,通过边界路由网桥ERB来实施对组播信息的查询与处理,相对于现有技术中在进行组播信息交互时,该ERB所起的作用只是对报文进行转发,或者是透传,而不会对接收的报文进行任何的处理,根据上述方案依据触发信息不同,该ERB根据触发信息从该ERB本地查询到该组播信息,在查询到该组播信息时就直接依据该组播信息对组播协议报文进行处理,因而也有效地避免了现有技术中需要在整个网络中传送报文而带来的带宽资源浪费,以及组播业务切换感知过慢,影响用户体验的问题,不仅大大节约了网络带宽,而且,提高了业务切换效率,从而使用户体验也得到了提升。
依据上述ERB查询组播业务信息可以应用于多种的业务需求,即,用于查询组播信息的触发信息依据业务需求的不同而不同,例如,该触发信息可以为第一查询报文,其中,该查询报文用于向上述ERB查询组播成员信息或组播业务信息(该第一查询报文可以来自TRILL网络外的任何网元,例如,可以来自路由器)、又例如,该触发信息也可以为虚拟机迁移的通告信息,其中,该通告信息用于通告ERB虚拟机的迁入或迁出。下面针对上述两种不同的业务需求ERB完成查询组播信息之后所进行的后续处理进行说明。
(1)在上述触发信息为查询报文的情况下,依据第一查询报文的所要查询的内容的不同,该ERB根据查询到的组播信息构建相应的回复报文,然后向发送该第一查询报文的网元发送该回复报文。例如,当第一查询报文用于查询组播成员信息时,ERB将根据组播标识查询到的组播成员信息构建回复报文,然后将该回复报文向发送该第一查询报文的网元发送该回复报文,该回复报文包含有上述查询到的组播成员信息(例如,某成员是否属于该组播内的组播成员)。通过上述处理,实现了ERB上接收协议报文(例如,IGMP查询报文)和回复报文的发送,例如,在路由器向ERB发送查询报文时,ERB根据组播信息的查询结果进行报文回复。
(2)在上述触发信息为虚拟机迁移的通告信息的情况下,该ERB根据查询到的上述组播信息判断迁入或迁出的虚拟机上是否存在组播业务;在迁入或迁出的虚拟机上存在组播业务的情况下,该ERB向迁移的虚拟机发送上述组播协议报文,上述组播协议报文为用于查询上述迁移的虚拟机上是否存在组播业务的第二查询报文,该第二查询报文是ERB是在根据从本地查询到迁移的虚拟上存在组播业务之后,对该发生迁移的虚拟机上是否存在组播业务进行确认,以便后续对组播关系的更新。其中,上述所指的边界路由网桥包括了虚拟机迁入方向上的边界路由网桥和虚拟机迁出方向上的边界路由网桥,在实施时,ERB可以向虚拟机发送查询报文,该查询报文用于对该虚拟机上是否存在组播业务进行确认,例如,对于虚拟机迁出方向的边界路由网桥在接收到虚拟机迁出的通告信息时,定期向虚拟机发送上述第二查询报文,当收到该虚拟机的回复报文时则确认该虚拟机上存在组播业务,然而,如果没有收到相应的回复报文,则认为需要对该虚拟机上是否存在组播业务进行再次确认,直到虚拟机迁出方向的边界路由网桥接收不到上述第二查询报文对应的回复报文,此时说明了该虚拟机已迁出,即可以对该虚拟机占用的组播资源进行释放。
对于迁出方向的边界路由网桥,在收到迁移的通告消息的时候就定时触发,收不到回复的时候不再发送了。而对于迁入方向的边界路由网桥,感知到虚拟机迁移进来才发上述第二查询报文(例如,虚拟机迁移过来后向虚拟机发出,迁入方向边界路由网桥接收到的虚拟机发出的第一个报文后,向虚拟机发出第二查询报文);即,虚拟机迁入方向的边界路由网桥在接收到虚拟机迁入的通告信息时,根据接收通告信息查询到的组播信息;根据组播信息,在迁入方向的边界路由网桥接收到虚拟机发出的第一个报文时,向虚拟机发送上述第二查询报文,需要说明的是,上述第一查询报文和第二查询报文都可以为组播普通查询报文或组播特定组查询报文,其中,组播普通查询报文为向所有组播组查询的报文,即是对所有组播组发送的报文,所有组播组都会对该报文进行回复。而上述组播特定组查询报文为向特定标识组查询的报文,即该查询只针对该特定标识组,也只是该特定标识组进行相应的回复。
优选地,在确认该虚拟机上存在上述组播业务时,对组播业务进行切换可以采用以下处理方式:在迁入或迁出的虚拟机上存在组播业务的情况下,该ERB将迁入或迁出的虚拟机上的组播关系进行更新;该ERB将更新后的虚拟机的组播关系通告网络中的节点;ERB通过更新后的组播关系切换组播业务。
另外,边界路由网桥中所存储的组播信息可以来自多种途径,例如,该ERB可以预先通过控制面收集网络节点的该组播信息,而通过控制面收集到该组播信息并不需要多层报文的转发,从而在一定程度上节约了网络带宽。当然,在ERB根据组播标识查询组播信息之前,ERB向TRILL网络中的网络节点发送第三查询报文,其中,ERB根据所述第三查询报文对组播信息进行更新。较优地,可以在预定的时间内对所述ERB收集存储的该组播信息进行更新,即,对ERB上所存储的组播信息进行周期性的更新,更新的方式可以是预先设置,例如,可以在网络节点中的组播关系发生改变时,触发更新;当然也可以通过设置预定的更新时间,在预定的更新时间到达时,就发送查询报文,根据收到的对应回复报文对收集到的组播信息进行更新。
在本实施例中还提供了一种组播协议报文发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的组播协议报文发送装置的结构框图,如图5所示,该装置位于边界路由网桥中,包括接收模块52、查询模块54和发送模块56,下面对该装置进行说明。
接收模块52,用于接收用于查询组播信息的触发信息,其中,该触发信息携带有用于查询组播信息的组播标识;查询模块54,连接至上述接收模块52,用于根据上述组播标识查询组播信息;发送模块56,连接至上述查询模块54,用于根据查询到的组播信息,发送组播协议报文。
图6是根据本发明实施例的组播协议报文发送装置中发送模块56的结构框图一,如图6所示,该发送模块56包括第一发送模块62,用于在上述触发信息为第一查询报文的情况下,发送组播协议报文,其中,该组播协议报文为上述ERB根据查询到的组播信息构建的回复报文。
图7是根据本发明实施例的组播协议报文发送装置中发送模块56的结构框图二,如图7所示,该发送模块56包括第二发送模块72,用于在上述触发信息为虚拟机迁移的通告信息的情况下,该ERB向迁移的虚拟机发送组播协议报文,其中,该组播协议报文为用于查询迁移的虚拟机上是否存在组播业务的第二查询报文。
图8是根据本发明优选实施例的组播协议报文发送装置的结构框图,如图8所示,该装置除包括图5中的所有模块外,还包括第三发送模块82,连接至上述查询模块54,用于在ERB根据组播标识查询组播信息之前,向TRILL网络中的网络节点发送第三查询报文,其中,ERB根据该第三查询报文对组播信息进行更新,即在在用户侧,由ERB来周期的发送查询报文,从而根据用户侧的反馈来对组播信息进行及时的更新。
上述实施例及优选实施方式在于提供一种在数据中心尤其是网络中(例如,TRILL网络)组播流量优化方法,其主要思想在于:在数据中心的TRILL网络,利用TRILL的控制面ISIS协议,以及ERB上的IGMP Snooping模块维护的组播信息,将过来的IGMP协议报文进行有效的学习后,根据ISIS协议接收洪泛的组播有效信息,ERB根据这些信息可对组播报文直接进行查询和回复,无需将IGMP报文进行TRILL数据封装之后,在TRILL网络中沿组播树进行转发。即将原本只是由IGMP Snooping收集的有效信息通告给TRILL的ISIS模块,现在需要ISIS模块将收集的有效信息通知给IGMP模块,以便当过来Query报文时,可以根据已经收集到的信息直接回复Report报文,当然为了维护本地的一个组播成员状态,ERB需要主动周期发送Query报文来定期更新本地表项。而当ERB得到本地将有虚拟机迁移进来的信息时,可以根据控制面收集的信息,对用户携带的信息是否与已收集到的组播信息进行比较,然后感知到虚拟机迁移进来时触发ERB上IGMP Query报文的发送,得到虚拟机的Report回复后进行本地数据库的更新维护,以及通过控制面新信息报文对数据中心其它节点进行及时洪泛。由此对于整个数据中心来讲,到该虚拟机的组播业务流量是新的边界路由网桥可达的。
基于上述思想,网络中的EBR在接收到针对不同的查询组播信息的触发信息时,所采取的处理方式也存在较大差异,下面针对几种触发信息分别进行说明。
(1)当TRILL网络某一边界路由网桥收到IGMP的Query消息时(即该触发信息为查询报文,该报文用于查询组播信息,例如,查询组播成员信息),根据TRILL控制面ISIS收集的组播成员信息情况,直接进行IGMP Report回复。而对于用户接入侧而言,边界路由网桥周期发送Query报文,根据下行存在的组播成员回复的Report信息,维护更新本地的组播成员信息情况,当然也可以设置在组播成员发生改变时,就对ERB收集的组播成员信息进行更新。
(2)对于得到通知说将有虚拟机迁移到本地的ERB(即,此时的触发信息为虚拟机迁移通告,该迁移通告用于通告虚拟机的迁入或迁出),ERB将根据通知消息中的虚拟机的VLAN、MAC来判断数据库中是否已有该成员相关的组播信息存在。如果数据库中存在该成员的组播信息的话,则在感知到虚拟机迁移进来时触发一个IGMP Query查询报文的发送,该IGMPQuery查询报文用于对组播成员是否存在组播业务进行确认,根据虚拟机回复的IGMP Report报文,进行数据库控制面信息的更新,并触发更新报文通知其它节点。根据更新后的组播关系,该ERB与网络中的其它节点进行组播业务。
另外,对于收到通知说有虚拟机迁移出本地的ERB来说,同样根据通知中的虚拟机信息,查询到该虚拟机在本地有组播信息存在,则调整该ERB上的Query发送间隔,当有Query发出无Report回复时,则即时对该虚拟机占用的组播资源进行释放。这样在一定程度上避免了组播资源的浪费,也有效地节省了网络带宽资源。
需要说明的是,网络中进行传输报文所依据的协议不同时,所采用的协议报文也可以不同,例如,当网络传输报文所采用的协议为IGMP协议时,所传输的报文为IGMP协议报文,而采用的协议为MLD协议时,依据该协议所传输的报文为MLD协议报文。不管采用什么其它不同的协议报文,只要不脱离本发明的思想,对协议报文并不具体限定,即,只要采用了本发明实施例或优选实施方式的技术手段,就可以在一定程度上解决相关技术中所存在的类似问题。下面以IGMP协议报文在TRILL网络中的传输为例进行说明。
在本优选实施例中提供了一种协议报文在网络中的优化传输方法,下面对IGMP协议报文在TRILL网络传输的优化(以IGMPV2版本为例)进行说明。
基于图1所示出的网络架构,以ERB1为边界路由网桥为例进行说明,当ERB1收到Host1发送来的IGMP Report报文后,解析report报文,提取出report报文中携带的有效信息(如VLAN、组MAC、主机源MAC),本地维护一张接收端口与有效信息的对应关系表,其后通过GADDR-TLV142进行封装在ISIS的LSP报文内进行洪泛,这样对于远端和Router相连的ERB3来讲,就已经知道本网络中有组成员Host1存在,因此该IGMP Report报文将完全无需在中间RB上进行传递,ERB1在记录了有效信息后,刷新本地维护的对应关系表。当Router上过来IGMP Query消息时,ERB3根据已知信息进行封装答复,同时ERB3也不再将该Query报文给其它RB、ERB传递。一般路由器侧只需要收到下行有接收者接收就行,所以这种情况,由ERB3随机生成一个合法的ip作为源ip地址回复出报文即可。若路由器端收到的回复需要与代理前的完全一致,则需要组成员的各个源ip地址来逐个回复report,这时可以根据需要将GADDR-TLV扩展携带源IP地址信息在数据库中携带。图9是根据本发明实施例的IGMP协议报文在TRILL传输的示意图,如图9所示,TRILL域内不再有IGMP协议报文的传递了。
而对于本地表项的更新,默认可以根据host端过来的report报文或leave报文,进行表项的更新维护,若想定期刷新,可以根据表项生存时间,进行周期的查询报文发送,根据返回的report报文进行状态的更新。若Host1发出leave报文,则本地表项以及ISIS LSP将更新信息及时发布出去,在整个TRILL域内洪泛。
需要说明的是,MLD协议报文在TRILL网络传输与上述优选实施例中IGMP协议报文在TRILL网络内的传输类似,所不同的是,协议报文由IGMP协议报文的查询、回复变为MLD协议报文的查询、回复。当然还可以是其它协议的报文,在此并不一一举例说明。
在本实施例中还提供了一种虚拟机迁移基于ERB查询虚拟机上的组播业务信息来实现虚拟机上组播业务转换。在本实施例中提供了一种虚拟机迁移时结合VDP协议通告信息来实现的方式。图10是根据本发明实施例的虚拟机迁移时资源处理的示意图,如图10所示,虚拟机迁移时,IEEE的标准协议VDP会将边需要准备的资源以及释放的资源携带虚拟机VM的信息通知给边界交换机。
虚拟机VM1将由ERB1迁入到ERB2的覆盖范围。虚拟机迁移时通过虚拟发现配置协议(VSI(Virtual station interface)Discovery and Configuration Protocol,简称为VDP)通知边界交换机(结合TRILL网络),有虚拟机进行迁移的动作发生。对于实施虚拟机迁移的管理者来说,会让连接VM的Vswitch通告VDP消息给边界交换机,本示例以TRILL网络的边界路由交换机ERB为例进行说明。
步骤①,VDP通知ERB2预留资源,有虚拟机VM1要迁移过来:VDP消息由Vswitch2上发送通告给ERB2,将有虚拟机VM1迁移进来,请预留资源。该VDP消息中会携带有VM1的VSIid、VLAN、MAC三元组信息,记录为虚拟机信息;
步骤②,VDP通知ERB1准备释放资源,VM1要迁移出去:在通知资源预分配后,发VDP消息给ERB1,携带虚拟机信息表明,该虚拟机将要离开,请释放资源;
步骤③,ERB2与Vswitch2通过VDP协议进行的资源协商:在ERB2和Vswitch2间通过VDP协商需要为该虚拟机进行资源协商;
步骤④,VM1进行迁移:在资源协商成功后,虚拟机将在该数据中心TRILL网络进行迁移。
图11是根据本发明实施例的虚拟机迁移的示意图,如图11所示,该图示出了虚拟机迁移结合数据中心的TRILL网络图,图中VM(Virtual Machine)1…VMn为同一个虚拟交换机下的多个虚拟机,其中VM1发生迁移,由虚拟交换机Vswitch(Virtual Switch)1接入ERB1,迁移发生后,由虚拟交换机Vswitch2接入ERB2。TRILL网络的控制面协议为ISIS(IntermediateSystem to Intermediate System Routing Protocol)协议。VM1开始接入了ERB1,则在接入时ERB1生成的ISIS LSP(Link-state Packet)消息中,由于虚拟机上有组播业务存在,发出的组播报文中,其VLAN信息、组播MAC(GMAC)以及源虚拟机MAC将会在ISIS LSP报文中携带泛洪出去,由此TRILL网络的其它RB及ERB节点在收到ERB1的LSP信息后,就知道ERB1下面的虚拟机VM1上面有组播信息存在。下面对该实施方式进行说明:
步骤①,ERB2收到迁入通知,比较数据库,对应有组播条目,将组播信息放缓存:VDP消息通告ERB2预留资源时,虚拟机VM1的三元组信息ERB2上会感知到,根据虚拟机信息VSIid,拿VM1的MAC去组播数据库中进行查找,会知道该MAC携带在ERB1的GMAC下面;
步骤②,ERB1收到迁出消息,比较数据库,有组播条目,发Query报文:ERB1收到VDP关于VM1将要离开,释放资源的申请。则利用虚拟机三元组中的MAC信息,查找本地数据库,发现在本地加入过组播组GMAC,则触发一个Query查询,由于已知GMAC,可以优选发特定组查询报文,在接收不到Report回复的延时后,及时将VM1的组成员信息在本地删除,并触发更新ISIS的LSP,洪泛TRILL网络其它节点,本地没有VM1这个组成员存在;
步骤③,VM1发生迁移,由Vswitch1迁入Vswitch2:虚拟机VM1发生迁移;
步骤④,ERB2感知到VM1存在,发Query报文:虚拟机VM1迁入ERB2后,启动的时候会有报文发出,这时ERB2可以及时感知,通过对报文源MAC的学习,比较步骤1的缓存结果,发出一个IGMP Query报文,以便及时确认该VM是不是确实还有该组播业务存在,当得到VM1的Report回复时,更新本地的组播成员信息表,并触发更新ISIS的LSP,洪泛TRILL网络其他节点。由此,整个TRILL网络的节点都知道仅有ERB2携带了VM1的信息,后续流量即可正常转发到ERB2上,再准确送达VM1,由此,组播流量中断情况可有效得到缓解。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种组播协议报文发送方法,其特征在于,包括:
边界路由网桥接收用于查询组播信息的触发信息;
所述边界路由网桥根据所述触发信息查询所述组播信息;
所述边界路由网桥根据查询到的所述组播信息,发送组播协议报文。
2.根据权利要求1所述的方法,其特征在于,用于查询所述组播信息的所述触发信息为以下至少之一:
第一查询报文,其中,所述第一查询报文用于向所述边界路由网桥查询组播成员信息或组播业务信息、
虚拟机迁移的通告信息,其中,所述通告信息用于通告所述边界路由网桥所述虚拟机的迁入或迁出。
3.根据权利要求2所述的方法,其特征在于,所述边界路由网桥根据查询到的所述组播信息,发送所述组播协议报文包括,在所述触发信息为所述第一查询报文的情况下,所述边界路由网桥发送组播协议报文,其中,所述组播协议报文为所述边界路由网桥根据查询到的所述组播信息构建的回复报文。
4.根据权利要求2所述的方法,其特征在于,所述边界路由网桥根据查询到的所述组播信息,发送所述组播协议报文包括,在所述触发信息为所述虚拟机迁移的通告信息的情况下,所述边界路由网桥向迁移的虚拟机发送所述组播协议报文,其中,所述组播协议报文为用于查询所述迁移的虚拟机上是否存在组播业务的第二查询报文。
5.根据权利要求4所述的方法,其特征在于,所述边界路由网桥向迁移的虚拟机发送所述组播协议报文包括,
虚拟机迁入方向的边界路由网桥在接收到虚拟机迁入的通告信息时,根据所述通告信息查询到的所述组播信息;根据所述组播信息,在所述迁入方向的边界路由网桥接收到所述虚拟机发出的第一个报文之后,向所述虚拟机发送所述第二查询报文;和/或,
虚拟机迁出方向的边界路由网桥在接收到虚拟机迁出的通告信息时,定期向所述虚拟机发送所述第二查询报文,直到虚拟机迁出方向的边界路由网桥接收不到所述第二查询报文对应的回复报文。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一查询报文和所述第二查询报文为组播普通查询报文或组播特定组查询报文,其中,所述组播普通查询报文为向所有组播组查询的报文,所述组播特定组查询报文为向特定标识组查询的报文。
7.根据权利要求1-5中任一项所述的方法,其特征在于,还包括,所述边界路由网桥向多链接透明互连TRILL网络中的网络节点发送第三查询报文,其中,所述边界路由网桥根据所述第三查询报文对所述组播信息进行更新。
8.根据权利要求7所述的方法,其特征在于,所述边界路由网桥在预定的周期内向所述TRILL网络中的网络节点发送所述第三查询报文。
9.一种组播协议报文发送装置,其特征在于,位于边界路由网桥中,包括:
接收模块,用于接收用于查询组播信息的触发信息;
查询模块,用于根据所述触发信息查询所述组播信息;
发送模块,用于根据查询到的所述组播信息,发送组播协议报文。
10.根据权利要求9所述的装置,其特征在于,所述发送模块包括第一发送模块,用于在所述触发信息为所述第一查询报文的情况下,发送组播协议报文,其中,所述组播协议报文为所述边界路由网桥根据查询到的所述组播信息构建的回复报文。
11.根据权利要求9所述的装置,其特征在于,所述发送模块包括第二发送模块,用于在所述触发信息为所述虚拟机迁移的通告信息的情况下,所述边界路由网桥向迁移的虚拟机发送所述组播协议报文,其中,所述组播协议报文为用于查询所述迁移的虚拟机上是否存在组播业务的第二查询报文。
12.根据权利要求9-11中任一项所述的装置,其特征在于,还包括第三发送模块,用于向多链接透明互连TRILL网络中的网络节点发送第三查询报文,其中,所述边界路由网桥根据所述第三查询报文对所述组播信息进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210140612.1A CN102761477B (zh) | 2012-05-08 | 2012-05-08 | 组播协议报文发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210140612.1A CN102761477B (zh) | 2012-05-08 | 2012-05-08 | 组播协议报文发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761477A true CN102761477A (zh) | 2012-10-31 |
CN102761477B CN102761477B (zh) | 2016-08-03 |
Family
ID=47055803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210140612.1A Active CN102761477B (zh) | 2012-05-08 | 2012-05-08 | 组播协议报文发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761477B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113483A (zh) * | 2013-04-19 | 2014-10-22 | 华为技术有限公司 | 一种组播通信方法和汇聚交换机 |
CN104301232A (zh) * | 2014-10-29 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种多链路透明互联网络中报文转发方法和装置 |
CN104468370A (zh) * | 2013-09-24 | 2015-03-25 | 杭州华三通信技术有限公司 | 一种组播数据报文转发方法及设备 |
CN104702506A (zh) * | 2013-12-09 | 2015-06-10 | 华为技术有限公司 | 一种报文传输方法、网络节点及报文传输系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764155A (zh) * | 2005-09-08 | 2006-04-26 | 杭州华为三康技术有限公司 | 一种域间组播的传输方法及边缘设备 |
CN101631129A (zh) * | 2009-08-18 | 2010-01-20 | 中兴通讯股份有限公司 | 组播数据转发方法及装置 |
-
2012
- 2012-05-08 CN CN201210140612.1A patent/CN102761477B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764155A (zh) * | 2005-09-08 | 2006-04-26 | 杭州华为三康技术有限公司 | 一种域间组播的传输方法及边缘设备 |
CN101631129A (zh) * | 2009-08-18 | 2010-01-20 | 中兴通讯股份有限公司 | 组播数据转发方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113483A (zh) * | 2013-04-19 | 2014-10-22 | 华为技术有限公司 | 一种组播通信方法和汇聚交换机 |
CN104113483B (zh) * | 2013-04-19 | 2017-06-20 | 华为技术有限公司 | 一种组播通信方法和汇聚交换机 |
CN104468370A (zh) * | 2013-09-24 | 2015-03-25 | 杭州华三通信技术有限公司 | 一种组播数据报文转发方法及设备 |
CN104468370B (zh) * | 2013-09-24 | 2018-09-04 | 新华三技术有限公司 | 一种组播数据报文转发方法及设备 |
CN104702506A (zh) * | 2013-12-09 | 2015-06-10 | 华为技术有限公司 | 一种报文传输方法、网络节点及报文传输系统 |
CN104702506B (zh) * | 2013-12-09 | 2018-10-19 | 华为技术有限公司 | 一种报文传输方法、网络节点及报文传输系统 |
CN104301232A (zh) * | 2014-10-29 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种多链路透明互联网络中报文转发方法和装置 |
CN104301232B (zh) * | 2014-10-29 | 2017-10-03 | 新华三技术有限公司 | 一种多链路透明互联网络中报文转发方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102761477B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022121349A1 (zh) | 算力应用流量转发方法及装置 | |
CN102714636B (zh) | 用于便于越过网络边界的推送通信的方法和装置 | |
KR101989333B1 (ko) | 소프트웨어 정의 네트워킹에서의 데이터 전달 방법, 기기 및 시스템 | |
CN106572017B (zh) | Bier信息的发送方法、接收方法及装置 | |
CN109660442B (zh) | Overlay网络中组播复制的方法及装置 | |
US20170264496A1 (en) | Method and device for information processing | |
CN108964940B (zh) | 消息发送方法及装置、存储介质 | |
CN111246453B (zh) | 一种数据传输方法、用户面网元及控制面网元 | |
CN102571587B (zh) | 报文转发方法和设备 | |
CN103873373A (zh) | 一种组播数据报文转发方法及设备 | |
CN115225722A (zh) | 算力资源的通告方法及装置、存储介质、电子装置 | |
CN105262667A (zh) | Overlay网络中控制组播传输的方法、装置 | |
US10855576B2 (en) | Information transmission method and device | |
CN106254203A (zh) | 一种报文转发方法及装置 | |
WO2014041550A1 (en) | Discovering ip multicast group memberships in software defined networks | |
CN103078969A (zh) | 一种mac地址信息通告方法和设备 | |
WO2018068588A1 (zh) | 提供组播业务的方法和软件定义网络控制器 | |
CN102882781A (zh) | 一种报文发送的方法、路由器桥及系统 | |
CN102970231A (zh) | 组播流转发实现方法和路由网桥(rb) | |
CN103117935A (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
CN103986638A (zh) | Advpn隧道绑定多公网链路的方法和装置 | |
CN108028801A (zh) | 一种基于sdn的arp实现方法及装置 | |
CN102761477A (zh) | 组播协议报文发送方法及装置 | |
CN106375211B (zh) | Vrrp负载均衡场景中的交换机数据处理方法和交换机 | |
CN102769911B (zh) | 一种路由通告消息发送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |