CN103780503A - 一种负载均衡的实现方法和设备 - Google Patents

一种负载均衡的实现方法和设备 Download PDF

Info

Publication number
CN103780503A
CN103780503A CN201210397147.XA CN201210397147A CN103780503A CN 103780503 A CN103780503 A CN 103780503A CN 201210397147 A CN201210397147 A CN 201210397147A CN 103780503 A CN103780503 A CN 103780503A
Authority
CN
China
Prior art keywords
routing device
device port
multicast
igmp
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
Application number
CN201210397147.XA
Other languages
English (en)
Other versions
CN103780503B (zh
Inventor
梁玉洁
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ziguang Hengyue Technology Co.,Ltd.
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210397147.XA priority Critical patent/CN103780503B/zh
Priority to PCT/CN2013/084287 priority patent/WO2014059864A1/en
Publication of CN103780503A publication Critical patent/CN103780503A/zh
Application granted granted Critical
Publication of CN103780503B publication Critical patent/CN103780503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种负载均衡的实现方法和设备,该方法包括:当VLAN内使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送使能通知消息,以使至少两个三层组播路由设备均周期性发送IGMP普遍组查询报文;二层交换设备将接收到的IGMP普遍组查询报文转发给主机,并接收主机返回的IGMPReport报文;二层交换设备根据IGMPReport报文中携带的组播组地址确定对应的路由设备端口,并将IGMPReport报文发送给该路由设备端口对应的三层组播路由设备,以使三层组播路由设备根据该IGMPReport报文发起相应的组播组加入过程。在本发明中,实现了三层组播路由设备的负载均衡,提高了网络资源利用率。

Description

一种负载均衡的实现方法和设备
技术领域
本发明涉及通信领域,尤其涉及一种负载均衡的实现方法和设备。
背景技术
IP (Internet Protocol,互联网协议)组播(IP Multicast)是介于单播(Unicast)和广播(Broadcast)之间的一种分组传送形式,又称为IP多播,是指IP数据由单一的发送者(组播源)产生,经过网络分发给一组接收者。通常,把工作在网络层的IP组播称为三层组播,相应的组播协议称为三层组播协议,包括IGMP(Internet Group Management Protocol,互联网组管理协议)/MLD(Multicast Listener Discovery Protocol,组播侦听者发现协议)、PIM(Protocol Independent Multicast,协议无关组播)/IPv6(Internet Protocol Version 6,互联网协议第6版)PIM等;把工作在数据链路层的IP组播称为二层组播,相应的组播协议称为二层组播协议,包括IGMP Snooping(窥探)/MLD Snooping等。
三层组播协议包括组播组管理协议和组播路由协议两种类型,它们在网络中的应用位置如图1所示,其中:
组播组管理协议
在主机和与其直接相连的三层组播设备之间通常采用组播组管理协议IGMP或MLD,协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。
组播路由协议
组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。最常应用的域内组播路由协议是PIM。
二层组播协议包括IGMP Snooping/MLD Snooping、PIM Snooping/IPv6 PIM Snooping、组播VLAN(Virtual Local Area Network,虚拟局域网)/IPv6组播VLAN等,它们在网络中的应用位置如图2所示。
IGMP是TCP(Transmission Control Protocol,传输控制协议)/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由设备之间建立、维护组播组成员关系。
当共享网段上存在多个组播路由设备时,由组播路由协议(IGMPv1)或IGMP自身选举机制(IGMPv2和IGMPv3)选举出一个指定组播路由设备来充当查询器,负责周期性发送查询报文,以及向IP主机转发组播数据。其中,IGMP查询响应示意图可以如图3所示,查询器向主机发送查询报文,主机接收到查询报文(Query)后,通过接收到查询报文的端口响应报告(Report)报文。
IGMPv2的查询器选举过程如下:
(1)所有IGMPv2路由设备在初始时都认为自己是查询器,并向本地网段内的所有主机和路由设备发送IGMP普遍组查询报文;
(2)本地网段中的其它IGMPv2路由设备在收到该报文后,将报文的源IP地址与自己的接口地址作比较。通过比较,IP地址最小的路由设备将成为查询器,其它路由设备成为非查询器
(3)所有非查询器上都会启动一个定时器。在该定时器超时前,如果收到了来自查询器的IGMP查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。
IGSP(IGMP Snooping,互联网组管理协议窥探),是运行在二层设备上的组播约束机制,用于管理和控制组播组。
参见图4,运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC组播地址建立起映射关系,并根据所建立的映射关系转发组播数据:
(1)收到查询报文的端口,添加为路由设备端口,查询报文向所有端口转发;
(2)收到IGMP Report报文,添加为对应Group的成员端口,Report报文只向路由设备端口转发;
(3)收到组播数据,向该组播MAC对应的组成员端口转发。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
现有技术中,共享网段存在多个组播路由设备时,根据选举机制选出一个IGMP路由设备作为唯一的查询器,负责发送查询报文和转发组播数据。其他作为非查询器的IGMP路由设备,不会转发组播报文。在组播组信息量较大,组播业务流量较多的情况下,IGMP查询器负担增大,容易引发故障,而其他作为非查询器的IGMP路由设备不需要转发组播数据,处于空闲状态,造成资源浪费。
发明内容
本发明的目的在于提供一种负载均衡的实现方法和设备,以实现三层组播路由设备的负载均衡,提高网络资源利用率,为此,本发明采用如下技术方案:
一种负载均衡的实现方法,应用于包括主机、二层交换设备以及至少两个三层组播路由设备的系统中,所述主机、二层交换设备以及至少两个三层组播路由设备属于同一虚拟局域网VLAN,该方法包括:
当所述VLAN内使能互联网组管理协议窥探IGSP功能时,所述二层交换设备通过所述VLAN内的路由设备端口发送使能通知消息,以使所述至少两个三层组播路由设备均周期性发送互联网组管理协议IGMP普遍组查询报文;
所述二层交换设备将接收到的IGMP普遍组查询报文转发给所述主机,并接收所述主机返回的IGMP 报告Report报文;
所述二层交换设备根据所述IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将所述IGMP Report报文发送给该路由设备端口对应的三层组播路由设备,以使所述三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程。
其中,所述二层交换设备根据所述IGMP Report报文中携带的组播组地址确定对应的路由设备端口,具体为:
所述二层交换设备将所述IGMP Report报文中携带的组播组地址和所述VLAN内的路由设备端口的索引值,作为参数进行hash运算,根据hash运算结果确定组播组地址与路由设备端口的对应关系,并根据所述组播组地址与路由设备端口的对应关系,确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
其中,该方法还包括:
所述二层交换设备记录所述组播组地址与路由设备端口的对应关系;
当所述二层交换设备接收到IGMP Report报文时,根据该IGMP Report报文中携带的组播组地址查询自身记录的组播组地址和路由设备端口的对应关系,并当所述二层交换设备查询到所述IGMP Report报文中携带的组播组地址与路由设备端口的对应关系时,所述二层交换设备根据该查询到的对应关系确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
其中,所述根据hash运算结果确定组播组地址与路由设备端口的对应关系,具体为:
对于同一个组播组地址,比较不同路由设备端口对应的hash值,选择hash值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口;
当不同路由设备端口对应的hash值相同时,选择路由设备端口的索引值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口。
其中,所述二层交换设备将接收到的IGMP普遍组查询报文转发给所述主机,具体为:
当所述二层交换设备通过路由设备端口接收到IGMP普遍组查询报文时,所述二层交换设备启动对应该路由设备端口的查询报文接收定时器,并将所述IGMP普遍组查询报文转发给所述主机;
当所述二层交换设备在所述查询报文接收定时器超时前,再次从该路由设备端口接收到IGMP普遍组查询报文时,所述二层交换设备不转发该IGMP普遍组查询报文。
其中,该方法还包括:
当所述VLAN内去使能IGSP功能时,所述二层交换设备通过所述VLAN内的路由设备端口发送去使能通知消息,以使所述至少两个三层组播路由设备进行查询器选举,并由查询器周期性发送IGMP普遍组查询报文;
当所述二层交换设备接收到主机发送的IGMP Report报文时,所述二层交换设备将所述IGMP Report报文发送给所述查询器,由该查询器根据该IGMP Report报文发起相应的组播组加入过程。
一种网络设备,作为二层交换设备应用于包括主机以及至少两个三层组播路由设备的系统中,所述主机、二层交换设备以及至少两个三层组播路由设备属于同一虚拟局域网VLAN,该网络设备包括:
第一发送模块,用于当所述VLAN内使能互联网组管理协议窥探IGSP功能时,通过所述VLAN内的路由设备端口发送使能通知消息,以使所述至少两个三层组播路由设备均周期性发送互联网组管理协议IGMP普遍组查询报文;
第一接收模块,用于接收三层组播路由设备发送的IGMP普遍组查询报文;
第二发送模块,用于将所述第一接收模块接收到的IGMP普遍组查询报文转发给所述主机;
第二接收模块,用于接收所述主机返回的IGMP 报告Report报文;
确定模块,用于根据所述第二接收模块接收到的IGMP Report报文中携带的组播组地址确定对应的路由设备端口;
第三发送模块,用于将所述IGMP Report报文发送给所述确定模块确定的路由设备端口对应的三层组播路由设备,以使三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程。
其中,所述网络设备还包括:
所述确定模块具体用于,将所述IGMP Report报文中携带的组播组地址和所述VLAN内的路由设备端口的索引值,作为参数进行hash运算,根据hash运算结果确定组播组地址与路由设备端口的对应关系,并根据所述组播组地址与路由设备端口的对应关系,确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
其中,所述网络设备还包括:
记录设备,用于记录所述确定模块确定的组播组地址与路由设备端口的对应关系。
所述确定模块还用于,当所述第二接收模块接收到IGMP Report报文时,根据该IGMP Report报文中携带的组播组地址查询所述记录模块记录的组播组地址和路由设备端口的对应关系,并当查询到所述IGMP Report报文中携带的组播组地址与路由设备端口的对应关系时,根据该查询到的对应关系确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
其中,所述确定模块具体用于,对于同一个组播组地址,比较不同路由设备端口对应的hash值,选择hash值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口;当不同路由设备端口对应的hash值相同时,选择路由设备端口的索引值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口。
其中,所述第二发送模块具体用于,当所述第一接收模块通过路由设备端口接收到IGMP普遍组查询报文时,启动对应该路由设备端口的查询报文接收定时器,并将所述IGMP普遍组查询报文转发给所述主机;当所述第一接收模块在所述查询报文接收定时器超时前,再次从该路由设备端口接收到IGMP普遍组查询报文时,不转发该IGMP普遍组查询报文。
其中,所述第一发送模块还用于,当所述VLAN内去使能IGSP功能时,通过所述VLAN内的路由设备端口发送去使能通知消息,以使所述至少两个三层组播路由设备进行查询器选举,并由查询器周期性发送IGMP普遍组查询报文;
所述第三发送模块还用于,当所述第二接收模块接收到主机发送的IGMP Report报文时,将所述IGMP Report报文发送给所述查询器,由该查询器根据该IGMP Report报文发起相应的组播组加入过程。
本发明上述实施例中,当VLAN内使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送使能通知消息,以使三层组播路由设备取消查询器选举,各三层路由设备均周期性地发送IGMP普遍组查询报文;当二层交换设备接收到主机发送的IGMP Report报文时,二层交换设备根据该IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将该IGMP Report报文发送到该路由设备端口对应的三层组播路由设备,以使三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程,实现了三层组播路由设备的负载均衡,提高了网络资源利用率。
附图说明
图1 为现有技术中三层组播协议的应用位置示意图;
图2为现有技术中二层组播协议的应用位置示意图;
图3为现有技术中IGMP查询响应示意图;
图4为现有技术中IGSP端口关系示意图;
图5为本发明实施例提供的一种负载均衡的实现方法的流程示意图;
图6为本发明实施例提供的一种负载均衡的实现方法的流程示意图;
图7为本发明实施例提供一种负载均衡的实现方法的具体应用场景的架构示意图;
图8为本发明实施例提供的一种具体应用场景下的负载均衡的实现方法的流程示意图;
图9为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
针对现有技术存在的上述问题,本发明实施例提供了一种实现负载均衡的技术方案,可以应用于包括主机、二层交换设备以及至少两个三层组播路由设备的系统中,该主机、二层交换设备以及至少两个三层组播路由设备属于同一VLAN。在该技术方案中,当VLAN内使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送使能通知消息,以使三层组播路由设备取消查询器选举,各三层路由设备均周期性地发送IGMP普遍组查询报文;当二层交换设备接收到主机发送的IGMP Report报文时,二层交换设备根据该IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将该IGMP Report报文发送到该路由设备端口对应的三层组播路由设备,由该三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程,实现了三层组播路由设备的负载均衡,提高了网络资源利用率。
在本发明实施例中,由于三层组播路由设备不再选举查询器,各三层组播路由设备均周期性发送IGMP普遍组查询报文,且二层交换设备接收到IGMP Report报文后,根据IGMP Report报文中携带的组播组地址确定对应的路由设备端口,均衡的向三层组播路由设备转发IGMP Report报文,由各三层组播路由设备分别根据接收到的IGMP Report报文发起相应的组播组加入过程,并在后续流程中对接收到的相应组播组的组播数据进行转发,与现有技术中组播组加入以及组播数据转发均由单一的三层组播路由设备(查询器)完成相比,实现了三层组播路由设备的负载均衡,提高了网络资源利用率。
其中,IGMP普遍组查询报文是三层组播路由设备向组播组成员发送的报文,用于查询哪些组播组存在成员;IGMP Report报文是主机向三层组播路由器发送的报告报文,用于申请加入某个组播组或者应答IGMP查询报文。
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。其中,为了便于描述,在本发明实施例中,若未特殊说明,查询报文即为IGMP普遍组查询报文。
如图5所示,为本发明实施例提供的一种负载均衡的实现方法的流程示意图,可以包括以下步骤:
步骤501、当VLAN内使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送使能通知消息,以使各三层组播路由设备均周期性发送IGMP普遍组查询报文。
具体的,在本发明实施例中,定义一种新的IGMP消息类型,当VLAN内使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送使能通知消息。
当前网络中的三层组播路由设备接收到二层交换设备发送的使能通知消息后,取消查询器选举:三层组播路由设备中的非查询器删除当前查询器信息,恢复周期性发送查询报文;三层组播路由设备中的查询器保持周期性发送查询报文。
其中,在当系统中有新的三层组播路由设备加入时,该三层组播路由设备会发送查询报文,二层交换设备接收到该查询报文后,将接收到该查询报文的端口添加为新的路由设备端口,并向该路由设备端口发送使能通知消息。新加入的三层组播路由设备接收到使能通知消息后,不会启用查询器选举机制,而是周期性发送查询报文。
步骤502、二层交换设备将接收到的查询报文转发给VLAN内的主机,并接收主机返回的IGMP Report报文。
具体的,二层交换设备接收到三层组播路由设备发送的查询报文后,通过VLAN内的主机端口(成员端口)发送给VLAN内的主机。主机接收到查询报文后,向二层交换设备返回IGMP Report报文。
在本发明实施例中,二层交换设备接收到查询报文后,若接收到该查询报文的端口为已知的路由设备端口,则二层交换设备更新该路由设备端口对应的老化定时器;若接收到该查询报文的端口为非已知的路由设备端口,则二层交换设备将该端口添加为新的路由设备端口,并启动对应该路由设备端口的老化定时器。
其中,二层交换设备在一个查询周期内接收到的第一份查询报文,向VLAN内的各主机端口转发,一个查询周期内接收到的非第一份查询报文,则仅更新对应路由设备端口对应的老化定时器,而不对该查询报文进行转发。具体的,二层交换设备接收到查询报文后,可以启动对应接收到该查询报文的路由设备端口的查询报文接收定时器,并当二层交换设备在查询报文接收定时器超时前,再次从该路由设备端口接收到查询报文时,二层交换设备确定其为一个查询周期内通过该路由设备端口接收到的非第一份查询报文,不做转发处理,以保证主机在每个查询周期内仅接收到一份查询报文,从而仅需要对一次查询报文进行响应,减少系统资源消耗。
步骤503、二层交换设备根据接收到的IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将该IGMP Report报文发送给该路由设备端口对应的三层组播路由设备,以使该三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程。
具体的,在本发明实施例中,当二层交换设备接收到IGMP Report报文时,二层交换设备可以根据该IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将该IGMP Report报文发送给该路由设备端口对应的三层组播路由设备。
其中,在本发明实施例中,二层交换设备根据IGMP Report报文中携带的组播组地址确定对应的路由设备端口可以具体通过以下方式实现:
二层交换设备以IGMP Report报文中携带的组播组地址以及各路由设备端口的索引值作为参数进行hash运算,分别计算各路由设备端口对应的hash值。对于同一组播组地址,可以选择hash值最大(或最小)的路由设备端口为该组播组地址对应的路由设备端口;当各路由设备端口对应的hash值相同时,可以选择路由设备端口的索引值最大(或最小)的路由设备端口作为该组播组地址对应的路由设备端口。其中,IGMP Report报文中主要包含源MAC地址、目的MAC地址、源IP地址、目的IP地址、报文类型、组播组地址等字段;源MAC地址为发送IGMP Report报文的主机的MAC地址,目的MAC地址为该主机请求加入的组播组的组播组地址对应的MAC地址,源IP地址为该主机的IP地址,目的IP地址为该主机请求加入的组播组地址,报文类型用于标识该报文为Report报文,组播组地址为该主机请求加入的组播组地址。
二层交换设备确定了IGMP Report报文中携带的组播组地址对应的路由设备端口后,可以记录组播组地址与路由设备端口的对应关系,并当后续流程中,再次接收到IGMP Report报文后,可以根据IGMP Report报文中携带的组播组地址查询自身记录的组播组地址与路由设备端口的对应关系,若查询到对应的路由设备端口,则从查询到的路由设备端口转发IGMP Report报文;若未查询到对应的路由设备端口,则可以通过上述方式确定对应的路由设备端口,并记录该组播组地址与路由设备端口的对应关系。
其中,二层交换设备接收到IGMP Report报文后,若接收到该IGMP Report报文的端口为已知的主机端口,则二层交换设备更新该主机端口对应的老化定时器;若接收到该IGMP Report报文的端口为非已知的主机端口,则二层交换设备将该端口添加为新的主机端口,并启动对应该路由设备端口的老化定时器。
其中,二层交换设备在一个查询周期内收到的第一份该组播组的IGMP Report报文,向对应的特定的路由设备端口转发。
进一步地,在本发明实施例中,二层交换设备接收到主机发送的IGMP Report报文后,还可以根据该IGMP Report报文中携带的组播组地址,以及接收到该IGMP Report报文的主机端口,记录主机端口与组播组地址的对应关系。
当二层交换设备接收到组播数据时,二层交换设备可以根据该组播数据中携带的组播组地址,以及自身记录的主机端口与组播组地址的对应关系,将组播数据通过对应的主机端口转发给相应的主机。
需要注意的是,在本发明实施例提供的技术方案中,二层交换设备也可以不记录组播组地址与路由设备端口的对应关系,而是在每次接收到主机发送的IGMP Report报文时,根据IGMP Report报文中携带的组播组地址确定对应的路由设备端口(如通过上述实施例中hash运算方法),并由该路由设备端口向对应的三层组播路由设备转发IGMP Report报文。此外,在本发明实施例提供的技术方案中,确定组播组地址与路由设备端口的对应关系也并不限于通过上述实施例提供的hash运算方法,也可以通过其他方法(如顺序选择,随机选择等)实现,其具体实现方式在此不再赘述。
如图6所示,本发明实施例提供的负载均衡的实现方法还可以包括以下步骤:
步骤504、当VLAN内去使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送去使能消息,以使三层组播路由设备进行查询器选举,并由查询器周期性发送查询报文。
具体的,在本发明实施例中,还可以定义另一种新的IGMP消息类型,当VLAN内去使能IGSP功能时,二层交换设备通过VLAN内的路由设备端口发送去使能通知消息。 
当前网络中的三层组播路由设备接收到二层交换设备发送的去使能通知消息后,启动查询器选举机制,重新选举查询器。
步骤505、当二层交换设备接收到主机发送的IGMP Report报文时,二层交换设备将该IGMP Report报文发送给查询器,由查询器根据该IGMP Report报文发起相应的组播加入过程。
具体的,当VLAN内去使能IGSP后,二层交换设备对IGMP Report报文的转发流程,以及后续流程中查询器向上游发起加入过程和向下游转发组播数据的流程可以与现有技术中的相应处理流程相同,在此不再赘述。
为了更好地理解本发明实施例提供的技术方案,以下结合具体的应用场景对本发明实施例提供的技术方案进行更加详细地描述。
如图7所示,为本发明实施例提供一种负载均衡的实现方法的具体应用场景的架构示意图,其中:
二层交换设备Switch A分别通过路由设备端口Port 1、Port 2以及Port 3与三层组播路由设备Router A、Router B以及Router C连接,且Router C为查询器;Switch A、Router A、Router B、Router C、Host(主机)A、Host B、Host C以及Host D属于同一VLAN。
基于图7所示的应用场景,本发明实施例提供的负载均衡的实现方法的流程示意图可以如图8所示,可以包括以下步骤:
步骤801、当VLAN内使能IGSP功能时,Switch A分别通过Port 1、Port 2以及Port 3向Router A、Router B以及Router C发送使能通知消息。
步骤802、Router A和Router B接收到使能通知消息后,删除当前查询器信息,并周期性发送查询报文;Router C接收到使能通知消息后,仍保持周期性发送查询报文。
步骤803、Switch A接收到查询报文后,将查询报文分别转发给Host A、Host B、Host C以及Host D,并接收Host A、Host B、Host C以及Host D返回的IGMP Report报文。
步骤804、Switch A根据接收到的IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将IGMP Report报文通过对应的路由设备端口发送给相应的三层组播路由设备。
具体的,在该实施例中,二层交换设备将组播组地址以及路由设备端口的索引值作为参数进行hash运算,对于同一个组播组地址,比较不同路由设备端口计算出来的hash值,选择hash值最大的路由设备端口作为该组播组地址对应的路由设备端口;若各路由设备端口的hash值相同,则选择路由设备端口的索引值最大的路由设备端口作为该组播组地址对应的路由设备端口。
例如,在本发明实施例中,假设经过hash计算后,组播组地址与端口的对应关系如下:
Group address     Router Port             
225.0.0.0         Port 1                  
225.0.0.1         Port 2                  
225.0.0.2         Port 1                  
225.0.0.3         Port 3                  
225.0.0.4         Port 2                  
225.0.0.5         Port 2                  
225.0.0.6         Port 3                  
225.0.0.7         Port 1                  
则当Switch A收到组播组地址为225.0.0.0、225.0.0.2、225.0.0.7的IGMP Report报文时,就会只向Router A转发,Router A负责向这些组播组发起加入,并向下游转发这些组播组的组播流量。当Switch A收到组播组地址为225.0.0.1、225.0.0.4、255.0.0.5的IGMP Report报文时,只向Router B转发,Router B负责向这些组播组发起加入过程,并向下游转发这些组播组的组播流量。当Switch A收到组225.0.0.3、225.0.0.6的IGMP Report报文时,只向Router C转发,Router C负责向这些组播组发起加入过程,并向下游转发这些组播组的组播流量。
步骤805、三层组播路由设备接收到IGMP Report报文后,根据其中携带的组播组地址向对应的组播组发起加入过程,并向下游转发对应组播组的组播流量。
具体的,三层组播组路由设备向下游转发组播流量的处理方法可以与现有技术中查询器向下游转发组播流量的处理方法相类似,在此不再赘述。
步骤806、当VLAN内去使能IGSP功能时,Switch A向分别通过Port 1、Port 2以及Port 3向Router A、Router B以及Router C发送去使能通知消息。
步骤807、Router A、Router B以及Router C接收到去使能通知消息后,启用查询器选举机制,重新选举查询器。
具体的,Router A、Router B以及Router C进行查询器选举,以及选择出查询器后的报文和数据转发与现有技术中的相应处理流程相类似,在此不再赘述。
通过以上描述可知,在本发明实施例提供的方案中,当VLAN内使能IGSP功能时,通过二层交换设备向三层组播路由设备发送使能通知消息,使三层组播路由设备取消查询器选举;当二层交换设备接收到主机发送的IGMP Report报文后,根据其中携带的组播组地址确定对应的路由设备端口,并将IGMP Report通过该路由设备端口发送给对应的三层组播路由设备,由该三层组播路由设备向相应的组播组发起加入过程。通过使用本发明,一个组播组地址唯一对应一个路由设备端口,不同组播组地址均衡地对应不同的路由设备端口。二层交换设备将从主机接收到的不同组播组的IGMP Report报文,均衡的向上游的三层组播路由设备转发,从而实现了三层组播路由设备的负载均衡,提高了网络资源利用率。
基于上述方法实施例系统的发明构思,本发明实施例还提供了一种网络设备,可以作为二层交换设备应用于上述方法实施例。
如图9所示,为本发明实施例提供的一种网络设备的结构示意图,该网络设备可以作为二层交换设备应用于包括主机以及至少两个三层组播路由设备的系统中,所述主机、二层交换设备以及至少两个三层组播路由设备属于同一虚拟局域网VLAN,该网络设备包括:
第一发送模块91,用于当所述VLAN内使能互联网组管理协议窥探IGSP功能时,通过所述VLAN内的路由设备端口发送使能通知消息,以使所述至少两个三层组播路由设备均周期性发送互联网组管理协议IGMP普遍组查询报文;
第一接收模块92,用于接收三层组播路由设备发送的IGMP普遍组查询报文;
第二发送模块93,用于将所述第一接收模块92接收到的IGMP普遍组查询报文转发给所述主机;
第二接收模块94,用于接收所述主机返回的IGMP 报告Report报文;
确定模块95,用于根据所述第二接收模块94接收到的IGMP Report报文中携带的组播组地址确定对应的路由设备端口;
第三发送模块96,用于将所述IGMP Report报文发送给所述确定模块确定的路由设备端口对应的三层组播路由设备,以使所述三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程。
其中,所述确定模块95具体用于,将所述IGMP Report报文中携带的组播组地址和所述VLAN内的路由设备端口的索引值,作为参数进行hash运算,根据hash运算结果确定组播组地址与路由设备端口的对应关系,并根据所述组播组地址与路由设备端口的对应关系,确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
其中,所述网络设备还包括:
记录设备97,用于记录所述确定模块95确定的组播组地址与路由设备端口的对应关系。
所述确定模块95还用于,当所述第二接收模块94接收到IGMP Report报文时,根据该IGMP Report报文中携带的组播组地址查询所述记录模块97记录的组播组地址和路由设备端口的对应关系,并当查询到所述IGMP Report报文中携带的组播组地址与路由设备端口的对应关系时,根据该查询到的对应关系确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
其中,所述确定模块95具体用于,对于同一个组播组地址,比较不同路由设备端口对应的hash值,选择hash值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口;当不同路由设备端口对应的hash值相同时,选择路由设备端口的索引值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口。
其中,所述第二发送模块93具体用于,当所述第一接收模块92通过路由设备端口接收到IGMP普遍组查询报文时,启动对应该路由设备端口的查询报文接收定时器,并将所述IGMP普遍组查询报文转发给所述主机;当所述第一接收模块在所述查询报文接收定时器超时前,再次从该路由设备端口接收到IGMP普遍组查询报文时,不转发该IGMP普遍组查询报文。
其中,所述第一发送模块91还用于,当所述VLAN内去使能IGSP功能时,通过所述VLAN内的路由设备端口发送去使能通知消息,以使所述至少两个三层组播路由设备进行查询器选举,并由查询器周期性发送IGMP普遍组查询报文;
所述第三发送模块96还用于,当所述第二接收模块94接收到主机发送的IGMP Report报文时,将所述IGMP Report报文发送给所述查询器,由该查询器根据该IGMP Report报文发起相应的组播组加入过程。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (12)

1.一种负载均衡的实现方法,其特征在于,应用于包括主机、二层交换设备以及至少两个三层组播路由设备的系统中,所述主机、二层交换设备以及至少两个三层组播路由设备属于同一虚拟局域网VLAN,该方法包括:
当所述VLAN内使能互联网组管理协议窥探IGSP功能时,所述二层交换设备通过所述VLAN内的路由设备端口发送使能通知消息,以使所述至少两个三层组播路由设备均周期性发送互联网组管理协议IGMP普遍组查询报文;
所述二层交换设备将接收到的IGMP普遍组查询报文转发给所述主机,并接收所述主机返回的IGMP 报告Report报文;
所述二层交换设备根据所述IGMP Report报文中携带的组播组地址确定对应的路由设备端口,并将所述IGMP Report报文发送给该路由设备端口对应的三层组播路由设备,以使所述三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程。
2.如权利要求1所述的方法,其特征在于,所述二层交换设备根据所述IGMP Report报文中携带的组播组地址确定对应的路由设备端口,具体为:
所述二层交换设备将所述IGMP Report报文中携带的组播组地址和所述VLAN内的路由设备端口的索引值,作为参数进行hash运算,根据hash运算结果确定组播组地址与路由设备端口的对应关系,并根据所述组播组地址与路由设备端口的对应关系,确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
3.如权利要求2所述的方法,其特征在于,该方法还包括:
所述二层交换设备记录所述组播组地址与路由设备端口的对应关系;
当所述二层交换设备接收到IGMP Report报文时,根据该IGMP Report报文中携带的组播组地址查询自身记录的组播组地址和路由设备端口的对应关系,并当查询到该IGMP Report报文中携带的组播组地址与路由设备端口的对应关系时,根据查询到的对应关系确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
4.如权利要求2所述的方法,其特征在于,所述根据hash运算结果确定组播组地址与路由设备端口的对应关系,具体为:
对于同一个组播组地址,比较不同路由设备端口对应的hash值,选择hash值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口;
当不同路由设备端口对应的hash值相同时,选择路由设备端口的索引值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口。
5.如权利要求1所述的方法,其特征在于,所述二层交换设备将接收到的IGMP普遍组查询报文转发给所述主机,具体为:
当所述二层交换设备通过路由设备端口接收到IGMP普遍组查询报文时,所述二层交换设备启动对应该路由设备端口的查询报文接收定时器,并将所述IGMP普遍组查询报文转发给所述主机;
当所述二层交换设备在所述查询报文接收定时器超时前,再次从该路由设备端口接收到IGMP普遍组查询报文时,所述二层交换设备不转发该IGMP普遍组查询报文。
6.如权利要求1所述的方法,其特征在于,该方法还包括:
当所述VLAN内去使能IGSP功能时,所述二层交换设备通过所述VLAN内的路由设备端口发送去使能通知消息,以使所述至少两个三层组播路由设备进行查询器选举,并由查询器周期性发送IGMP普遍组查询报文;
当所述二层交换设备接收到主机发送的IGMP Report报文时,所述二层交换设备将所述IGMP Report报文发送给所述查询器,由该查询器根据该IGMP Report报文发起相应的组播组加入过程。
7.一种网络设备,其特征在于,作为二层交换设备应用于包括主机以及至少两个三层组播路由设备的系统中,所述主机、二层交换设备以及至少两个三层组播路由设备属于同一虚拟局域网VLAN,该网络设备包括:
第一发送模块,用于当所述VLAN内使能互联网组管理协议窥探IGSP功能时,通过所述VLAN内的路由设备端口发送使能通知消息,以使所述至少两个三层组播路由设备均周期性发送互联网组管理协议IGMP普遍组查询报文;
第一接收模块,用于接收三层组播路由设备发送的IGMP普遍组查询报文;
第二发送模块,用于将所述第一接收模块接收到的IGMP普遍组查询报文转发给所述主机;
第二接收模块,用于接收所述主机返回的IGMP 报告Report报文;
确定模块,用于根据所述第二接收模块接收到的IGMP Report报文中携带的组播组地址确定对应的路由设备端口;
第三发送模块,用于将所述IGMP Report报文发送给所述确定模块确定的路由设备端口对应的三层组播路由设备,以使所述三层组播路由设备根据该IGMP Report报文发起相应的组播组加入过程。
8.如权利要求7所述的网络设备,其特征在于,
所述确定模块具体用于,将所述IGMP Report报文中携带的组播组地址和所述VLAN内的路由设备端口的索引值,作为参数进行hash运算,根据hash运算结果确定组播组地址与路由设备端口的对应关系,并根据所述组播组地址与路由设备端口的对应关系,确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
9.如权利要求8所述的网络设备,其特征在于,所述网络设备还包括:
记录模块,用于记录所述确定模块确定的组播组地址与路由设备端口的对应关系;
所述确定模块还用于,当所述第二接收模块接收到IGMP Report报文时,根据该IGMP Report报文中携带的组播组地址查询所述记录模块记录的组播组地址和路由设备端口的对应关系,并当查询到所述IGMP Report报文中携带的组播组地址与路由设备端口的对应关系时,根据该查询到的对应关系确定所述IGMP Report报文中携带的组播组地址对应的路由设备端口。
10.如权利要求8所述的网络设备,其特征在于,
所述确定模块具体用于,对于同一个组播组地址,比较不同路由设备端口对应的hash值,选择hash值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口;当不同路由设备端口对应的hash值相同时,选择路由设备端口的索引值最大或最小的路由设备端口作为该组播组地址对应的路由设备端口。
11.如权利要求7所述的网络设备,其特征在于,
所述第二发送模块具体用于,当所述第一接收模块通过路由设备端口接收到IGMP普遍组查询报文时,启动对应该路由设备端口的查询报文接收定时器,并将所述IGMP普遍组查询报文转发给所述主机;当所述第一接收模块在所述查询报文接收定时器超时前,再次从该路由设备端口接收到IGMP普遍组查询报文时,不转发该IGMP普遍组查询报文。
12.如权利要求7所述的网络设备,其特征在于,
所述第一发送模块还用于,当所述VLAN内去使能IGSP功能时,通过所述VLAN内的路由设备端口发送去使能通知消息,以使所述至少两个三层组播路由设备进行查询器选举,并由查询器周期性发送IGMP普遍组查询报文;
所述第三发送模块还用于,当所述第二接收模块接收到主机发送的IGMP Report报文时,将所述IGMP Report报文发送给所述查询器,由该查询器根据该IGMP Report报文发起相应的组播组加入过程。
CN201210397147.XA 2012-10-18 2012-10-18 一种负载均衡的实现方法和设备 Active CN103780503B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210397147.XA CN103780503B (zh) 2012-10-18 2012-10-18 一种负载均衡的实现方法和设备
PCT/CN2013/084287 WO2014059864A1 (en) 2012-10-18 2013-09-26 Network switching apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210397147.XA CN103780503B (zh) 2012-10-18 2012-10-18 一种负载均衡的实现方法和设备

Publications (2)

Publication Number Publication Date
CN103780503A true CN103780503A (zh) 2014-05-07
CN103780503B CN103780503B (zh) 2017-12-29

Family

ID=50487554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210397147.XA Active CN103780503B (zh) 2012-10-18 2012-10-18 一种负载均衡的实现方法和设备

Country Status (2)

Country Link
CN (1) CN103780503B (zh)
WO (1) WO2014059864A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789287B (zh) * 2016-12-28 2020-04-03 华为技术有限公司 前端负载均衡器、后端服务器及注册方法
CN113873012A (zh) * 2021-09-01 2021-12-31 北京天融信网络安全技术有限公司 链路负载均衡方法、装置、设备、系统及计算机存储介质
CN115277542A (zh) * 2022-06-27 2022-11-01 新华三技术有限公司 一种组播流负载分担的方法和网络设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6967932B2 (en) * 2000-12-29 2005-11-22 Intel Corporation Determining the presence of IP multicast routers
CN101291240A (zh) * 2008-06-19 2008-10-22 杭州华三通信技术有限公司 一种组播流传输方法和系统
WO2009001041A1 (en) * 2007-06-23 2008-12-31 Qinetiq Limited Communications system
CN101388788A (zh) * 2008-10-29 2009-03-18 杭州华三通信技术有限公司 二层组播管理方法、系统及二层交换机
CN101577679A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 实现指定路由器之间组播业务分担的状态管理方法和装置
CN102075422A (zh) * 2011-01-04 2011-05-25 杭州华三通信技术有限公司 一种组播管理方法及二层设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6967932B2 (en) * 2000-12-29 2005-11-22 Intel Corporation Determining the presence of IP multicast routers
WO2009001041A1 (en) * 2007-06-23 2008-12-31 Qinetiq Limited Communications system
CN101291240A (zh) * 2008-06-19 2008-10-22 杭州华三通信技术有限公司 一种组播流传输方法和系统
CN101388788A (zh) * 2008-10-29 2009-03-18 杭州华三通信技术有限公司 二层组播管理方法、系统及二层交换机
CN101577679A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 实现指定路由器之间组播业务分担的状态管理方法和装置
CN102075422A (zh) * 2011-01-04 2011-05-25 杭州华三通信技术有限公司 一种组播管理方法及二层设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789287B (zh) * 2016-12-28 2020-04-03 华为技术有限公司 前端负载均衡器、后端服务器及注册方法
CN113873012A (zh) * 2021-09-01 2021-12-31 北京天融信网络安全技术有限公司 链路负载均衡方法、装置、设备、系统及计算机存储介质
CN115277542A (zh) * 2022-06-27 2022-11-01 新华三技术有限公司 一种组播流负载分担的方法和网络设备

Also Published As

Publication number Publication date
WO2014059864A1 (en) 2014-04-24
CN103780503B (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
US8539088B2 (en) Session monitoring method, apparatus, and system based on multicast technologies
CN101577679B (zh) 实现指定路由器之间组播业务分担的状态管理方法和装置
CN103117935B (zh) 应用于多归属组网的组播数据转发方法和装置
US10855576B2 (en) Information transmission method and device
CN104509073A (zh) 在软件定义的网络中发现ip多播组成员
US9548917B2 (en) Efficient multicast delivery to dually connected (VPC) hosts in overlay networks
CN101483655A (zh) 一种互联网组管理协议报文传输方法和代理设备
CN106357542B (zh) 提供组播业务的方法和软件定义网络控制器
KR102025680B1 (ko) Sdn 기반의 arp 구현 방법 및 장치
CN102694664B (zh) 组播方法及组播设备
WO2022253087A1 (zh) 一种数据传输方法、节点、网络管理器及系统
CN102916897A (zh) 一种实现vrrp负载分担的方法和设备
US8654769B2 (en) Convergence of multicast traffic in response to a topology change
CN114553799A (zh) 基于可编程数据平面的组播转发方法、装置、设备及介质
CN105099937A (zh) 一种pmtu的确定方法和设备
CN102685009B (zh) 一种组播传输路径的探测方法及装置
CN103780503A (zh) 一种负载均衡的实现方法和设备
CN112511443B (zh) 消息处理方法、装置、设备、存储介质及系统
Bartczak et al. Lightweight PIM—a new multicast routing protocol
WO2018108168A1 (zh) 分组传送网的组播业务实现方法及其装置、通信系统
CN102394813A (zh) 一种组播路由表项管理方法和路由器
CN102769562A (zh) 一种双向pim组播实现方法及其设备
CN103501272B (zh) 一种组播流量转发方法及设备
CN101877678B (zh) 一种指定源组的组播用户快速离开的方法和装置
EP3840310B1 (en) Source-active community for improved multicasting

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220127

Address after: 100082 room 402, building 2, yard 1, Zhongguancun East Road, Haidian District, Beijing

Patentee after: Ziguang Hengyue Technology Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right