CN101369994A - A method, device and system for implementing multicast group membership management protocol proxy - Google Patents
A method, device and system for implementing multicast group membership management protocol proxy Download PDFInfo
- Publication number
- CN101369994A CN101369994A CNA2007101405880A CN200710140588A CN101369994A CN 101369994 A CN101369994 A CN 101369994A CN A2007101405880 A CNA2007101405880 A CN A2007101405880A CN 200710140588 A CN200710140588 A CN 200710140588A CN 101369994 A CN101369994 A CN 101369994A
- Authority
- CN
- China
- Prior art keywords
- multicast group
- multicast
- interface
- downstream
- upstream
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现组播组成员管理协议代理的方法,在媒体网关(MG)上设置一个上游流接口和至少一个下游流接口,媒体网关控制器(MGC)维护综合每个下游流接口组播组成员订阅状况的组播组成员数据库,MG在下游流接口接收来自下游网络的加入组播组的报告消息或离开组播组的消息,向MGC上报;MGC根据所述报告消息或离开组播组的消息更新所述组播组成员数据库中的内容;MGC判断所述组播组成员数据库是否发生变化,若是,则指示MG在上游流接口上向上游网络发送报告消息或者离开组播组消息。本发明还公开了另一种实现组播组成员管理协议代理的方法,以及实现组播组成员管理协议代理的系统和装置。本发明方案可以使MG具备组播组成员管理协议代理功能。
The invention discloses a method for realizing multicast group member management protocol agent. One upstream stream interface and at least one downstream stream interface are set on the media gateway (MG), and the media gateway controller (MGC) maintains and synthesizes each downstream stream interface. The multicast group member database of the subscription status of multicast group members. The MG receives the report message of joining the multicast group or the message of leaving the multicast group from the downstream network at the downstream flow interface, and reports it to the MGC; The message of the multicast group updates the content in the multicast group member database; the MGC judges whether the multicast group member database has changed, and if so, instructs the MG to send a report message to the upstream network on the upstream flow interface or leave the multicast group group message. The invention also discloses another method for realizing the proxy of the multicast group member management protocol, as well as a system and a device for realizing the proxy of the multicast group member management protocol. The solution of the invention can make the MG have the agent function of the multicast group member management protocol.
Description
技术领域 technical field
本发明涉及组播技术领域,特别涉及一种实现组播组成员管理协议代理的方法、装置和系统。The invention relates to the field of multicast technology, in particular to a method, device and system for realizing multicast group member management protocol proxy.
背景技术 Background technique
IP组播(multicast)或者说多播,是指在IP网络中将数据包发送到网络中的某个确定节点子集,这个子集称为组播组(multicast group)。IP组播的基本思想是,源主机只发送一份数据,这份数据中的目的地址为组播组地址;组播组中的所有目的主机都可接收到同样的数据拷贝,而组播组之外的其它主机不能收到。组播组用D类IP地址(224.0.0.0~239.255.255.255)来标识。IP multicast (multicast) or multicast refers to sending data packets to a certain subset of nodes in the network in the IP network. This subset is called a multicast group (multicast group). The basic idea of IP multicast is that the source host only sends one copy of data, and the destination address in this data is the address of the multicast group; all destination hosts in the multicast group can receive the same data copy, and the multicast group Other hosts cannot receive it. A multicast group is identified by a class D IP address (224.0.0.0 to 239.255.255.255).
根据协议的作用范围,组播协议分为主机-路由器之间的协议,即组播组成员管理协议;以及路由器-路由器之间协议,主要是各种组播路由协议。组播组成员管理协议包括互联网组管理协议(IGMP)和组播侦听器发现(Multicast Listener Discovery,MLD)等;组播路由协议又分为域内组播路由协议及域间组播路由协议两类。According to the scope of the protocol, the multicast protocol is divided into the host-router protocol, that is, the multicast group member management protocol; and the router-router protocol, mainly various multicast routing protocols. Multicast group membership management protocols include Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (Multicast Listener Discovery, MLD), etc.; multicast routing protocols are divided into intra-domain multicast routing protocols and inter-domain multicast routing protocols. kind.
通过组播组成员管理协议,在路由器中建立起其接口所在的IP子网(subnet)内的组播组成员关系信息,该信息具体地说,就是每一个组播组,或者再进一步细划到对组播源地址的过滤,在该IP子网是否拥有活动的成员。域内组播路由协议根据这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树,在路由器中建立组播路由状态,路由器根据这些状态进行组播数据包转发。域间组播路由协议根据网络中配置的域间组播路由策略,在各自治系统(Autonomous System,AS)间发布具有组播能力的路由信息以及组播源信息,使组播数据能在域间进行转发。IGMP协议用于IPV4网络的组成员管理,在IPV6网络则采用功能和内容都与IGMP类似的协议MLD。以下以IGMP为例,对组播组成员管理协议进行进一步地介绍。Through the multicast group member management protocol, the multicast group membership information in the IP subnet (subnet) where its interface is located is established in the router. Specifically, this information is each multicast group, or further subdivided To filter on the multicast source address, whether there are active members in this IP subnet. The intra-domain multicast routing protocol uses certain multicast routing algorithms to construct a multicast distribution tree based on these multicast group membership information, and establishes multicast routing states in routers, and routers forward multicast packets based on these states. According to the inter-domain multicast routing policy configured in the network, the inter-domain multicast routing protocol publishes multicast-capable routing information and multicast source information among autonomous systems (ASs), so that multicast data can be distributed in domains. transfer between. The IGMP protocol is used for group member management in the IPV4 network, and the protocol MLD, which is similar in function and content to IGMP, is used in the IPV6 network. The following takes IGMP as an example to further introduce the multicast group membership management protocol.
IGMP协议运行于主机和与主机直接相连的组播路由器之间,IGMP实现的功能是双向的:一方面,通过IGMP协议,主机通知组播路由器希望加入并接收某个特定组播组的信息;另一方面,组播路由器通过IGMP协议周期性地查询局域网内某个已知组播组的成员是否处于活动状态,即该网段是否仍有属于某个组播组的成员,实现所连网络组成员关系的收集与维护。通过IGMP,在路由器中记录的信息是某个组播组是否在本地有组成员,而不是组播组与主机之间的对应关系。The IGMP protocol runs between the host and the multicast router directly connected to the host. The function of IGMP is bidirectional: on the one hand, through the IGMP protocol, the host informs the multicast router that it wants to join and receive information about a specific multicast group; On the other hand, the multicast router periodically inquires whether the members of a known multicast group in the LAN are active through the IGMP protocol, that is, whether the network segment still has members belonging to a certain multicast group, and realizes that the connected network Group membership collection and maintenance. Through IGMP, the information recorded in the router is whether a certain multicast group has local members, rather than the corresponding relationship between the multicast group and the host.
到目前为止,IGMP有三个版本。IGMPv1(RFC1112)中定义了基本的组成员查询和报告过程;IGMPv2由RFC2236定义,在IGMPv1的基础上添加了组成员快速离开的机制;IGMPv3(RFC3376)中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文,也就是增加了对组播源地址的过滤功能。以下着重介绍IGMPv2协议的原理。So far, there are three versions of IGMP. IGMPv1 (RFC1112) defines the basic group member query and reporting process; IGMPv2 is defined by RFC2236, which adds a mechanism for group members to leave quickly on the basis of IGMPv1; the main function added in IGMPv3 (RFC3376) is that members can specify to receive or Specify not to receive packets from certain multicast sources, that is, add the function of filtering multicast source addresses. The following focuses on the principles of the IGMPv2 protocol.
当同一个网段内有多个组播路由器时,IGMPv2通过查询器选举机制从中选举出唯一的查询器。查询器周期性地发送通用组查询消息进行成员关系查询;主机发送报告消息来响应查询。主机发送报告消息的时间有随机性,当检测到同一网段内有其它成员发送同样的消息时,则抑制自己的响应报文。如果有新的主机要加入组播组,不必等待查询器的查询消息,而是主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。对于作为组成员的路由器而言,其行为和普通的主机一样,响应其它路由器的查询。通过上述机制,在组播路由器里建立起一张表,其中记录了路由器的各个接口所对应的子网上都有哪些组的成员。当路由器接收到某个组播组的数据报文后,只向该组播组成员的接口上转发数据报文。主机加入了组播组,必须周期发送报告消息以维持其状态。组播路由器启动组成员关系间隔(GroupMembership Interval)定时器,定时器超时前没有接收到主机维持该状态的报告消息,则删除该子网的该组的成员关系。还有其它的组播定时器,例如:查询间隔(Query Interval)定时器,该定时器超时,则发送普遍查询消息。最后成员查询间隔(Last Member Query Interval)定时器,当接收到主机发送的离开组的消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开,并启动该定时器,每次超时就重发,发送的次数由最后成员查询次数(LastMember Query Count)决定,如果最后一次查询的定时器超时还没有接收到被离开的组的组成员的报告消息,则删除该子网的该组的成员关系。另外,作为主机,也需要主动报告间隔(Unsolicited Report Interval)定时器来控制主机重复发送主动报告消息的时间,以及查询响应间隔(Query Response Interval)定时器用来控制主机响应查询消息的时间。When there are multiple multicast routers in the same network segment, IGMPv2 elects a unique querier through the querier election mechanism. The querier periodically sends general group query messages to query membership; the host sends report messages to respond to queries. The time when the host sends the report message is random. When it detects that other members in the same network segment send the same message, it suppresses its own response message. If a new host wants to join the multicast group, it does not need to wait for the query message from the querier, but actively sends a report message. When leaving a multicast group, the host sends a leaving group message; after receiving the leaving group message, the querier sends a specific group query message to determine whether all group members have left. A router that is a member of a group behaves like a normal host, responding to queries from other routers. Through the above mechanism, a table is established in the multicast router, which records which groups are members on the subnet corresponding to each interface of the router. When a router receives a data packet of a certain multicast group, it only forwards the data packet to the interfaces of the members of the multicast group. A host has joined a multicast group and must periodically send report messages to maintain its status. The multicast router starts the group membership interval (GroupMembership Interval) timer, and does not receive the report message that the host maintains the state before the timer expires, then deletes the membership of the group of the subnet. There are other multicast timers, such as: Query Interval timer, when the timer expires, a general query message is sent. Last Member Query Interval (Last Member Query Interval) timer, after receiving the message of leaving the group sent by the host, the querier sends a specific group query message to determine whether all group members have left, and starts the timer, every time It will be resent when it times out, and the number of sendings is determined by the LastMember Query Count. If the timer of the last query expires and no report message has been received from the group members of the group that has been left, the group member of the subnet will be deleted. Group membership. In addition, as a host, the Unsolicited Report Interval timer is also needed to control the time for the host to repeatedly send unsolicited report messages, and the Query Response Interval timer is used to control the time for the host to respond to query messages.
组播路由可以分为两大类:信源树(Source Tree)和共享树(SharedTree)。信源树是指以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。由于信源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树(shortest path tree,SPT)。对于某个组播组,网络要为任何一个向该组发送报文的组播源建立一棵树。共享树以某个路由器作为路由树的树根,该路由器称为汇集点(Rendezvous Point,RP),将RP到所有接收者的最短路结合起来构成转发树。使用共享树时,对应某个组,网络中只有一棵树。所有的组播源和接收者都使用这棵树来收发报文,组播源先向树根发送数据报文,之后报文又向下转发到达所有的接收者。在组播中,报文是发送给一组接收者的,这些接收者用一个逻辑地址标识。路由器在接收到报文后,必须根据源和目的地址确定出上游(指向组播源)和下游方向,把报文沿着远离组播源的方向进行转发。这个过程称作逆向路径转发(Reverse Path Forwarding,RPF)。Multicast routing can be divided into two categories: Source Tree and Shared Tree. The source tree refers to a forwarding tree that uses the multicast source as the tree root and combines the shortest paths from the multicast source to each receiver. Since the source tree uses the shortest path from the multicast source to the receiver, it is also called the shortest path tree (shortest path tree, SPT). For a certain multicast group, the network needs to build a tree for any multicast source that sends packets to the group. The shared tree uses a router as the root of the routing tree. This router is called a rendezvous point (Rendezvous Point, RP), and combines the shortest paths from the RP to all receivers to form a forwarding tree. When using a shared tree, there is only one tree in the network corresponding to a certain group. All multicast sources and receivers use this tree to send and receive packets. The multicast source first sends data packets to the root of the tree, and then forwards the packets downward to all receivers. In multicast, a message is sent to a group of receivers identified by a logical address. After receiving the message, the router must determine the upstream (pointing to the multicast source) and downstream directions according to the source and destination addresses, and forward the message along the direction away from the multicast source. This process is called Reverse Path Forwarding (RPF).
组播路由协议和组播组成员管理协议相比要复杂,这样对设备的要求比较高。RFC4605中介绍了组播组成员管理协议代理技术,具体是IGMP/MLD代理(proxy)的技术,当网络拓扑结构比较简单的情况下,不需要运行组播路由协议,而是引入基于组播组成员管理协议的代理设备,对组播数据流进行复制与转发。也就是说代理设备通过代理组播组成员管理协议消息学习组播组成员信息,依据组播组成员信息来实现组播数据流的转发。采用组播组成员管理协议代理技术,首先可以节约设备的成本,加快部署速度,而且当代理设备部署在核心网和接入网之间时,该代理设备不需要支持核心网的组播路由协议,而只需向其发送组播组成员管理协议消息,这样增强了代理设备的通用性。The multicast routing protocol is more complicated than the multicast group member management protocol, so the requirements for equipment are relatively high. RFC4605 introduced the multicast group member management protocol proxy technology, specifically the IGMP/MLD proxy (proxy) technology. When the network topology is relatively simple, it is not necessary to run the multicast routing protocol, but to introduce the multicast group-based The proxy device of the member management protocol, which replicates and forwards the multicast data stream. That is to say, the proxy device learns the multicast group member information through the proxy multicast group member management protocol message, and forwards the multicast data stream according to the multicast group member information. Using the multicast group member management protocol proxy technology can save the cost of equipment and speed up deployment, and when the proxy device is deployed between the core network and the access network, the proxy device does not need to support the multicast routing protocol of the core network , and only need to send the multicast group member management protocol message to it, which enhances the versatility of the proxy device.
IGMP/MLD代理的实现的原理是:代理设备的主机接口,又称为上游流接口(Upstream Interface),指向共享树或者信源树的根节点的方向。在这个接口上,运行IGMP主机功能。代理设备上维护组播组成员数据库(Membership Database),该数据库中的记录是每个下游流接口的组播组成员信息(membership information)的合并(merge,或者说汇总),也可以说是每个下游流接口的组播组的订阅状况(subscription)的合并。其合并规则见RFC4605,每条记录格式为(组播组地址,过滤条件,组播源地址列表)。该成员数据库相当于代理设备在上游流接口所在IP子网上作为一个主机的组播组成员状态的记录总和。当在上游流接口上接收到IGMP查询包时,代理设备查询该成员数据库后在主机端口发送IGMP成员报告,当成员数据库发生改变时,主动发送离开或者加入组播的数据包到相连的路由器。IGMP/MLD代理还要记录每个下游流接口上的组播订阅状况,主机接口接收到符合成员数据库记录的组播数据流,然后根据各个下游流接口上的组播组成员状态转发组播包。代理设备的路由器接口,又称为下游流接口(Downstream Interface),背离根节点,下联主机。代理设备在此端口运行IGMP路由器功能,进行所连接的IP子网中的用户的组成员登记查询删除工作。实现接收成员报告消息和离开组播组请求;发送查询包;向有组播数据流的组播组成员的的下游流接口转发接收到的该组播数据包。IGMP/MLD代理在下游流接口所在的子网中还必须能够通过选举成为查询器,这样才可以成为该子网中唯一的转发组播数据流的设备。The realization principle of the IGMP/MLD proxy is: the host interface of the proxy device, also known as the upstream stream interface (Upstream Interface), points to the direction of the root node of the shared tree or the source tree. On this interface, run the IGMP host function. The proxy device maintains a multicast group membership database (Membership Database), and the records in the database are the merging (merge, or summary) of the multicast group membership information (membership information) of each downstream flow interface, which can also be said to be each Merge of the subscription status (subscription) of the multicast group of the downstream flow interface. See RFC4605 for the merging rules, and the format of each record is (multicast group address, filter condition, multicast source address list). The member database is equivalent to the sum of records of the multicast group member states of the proxy device as a host on the IP subnet where the upstream flow interface is located. When an IGMP query packet is received on the upstream flow interface, the proxy device queries the member database and sends an IGMP membership report on the host port. When the member database changes, it actively sends a leave or join multicast packet to the connected router. The IGMP/MLD agent also records the multicast subscription status on each downstream flow interface. The host interface receives the multicast data flow that matches the membership database record, and then forwards the multicast packet according to the multicast group membership status on each downstream flow interface. . The router interface of the proxy device, also known as the downstream interface (Downstream Interface), deviates from the root node and connects to the host. The proxy device runs the IGMP router function on this port, and performs group member registration, inquiry and deletion of users in the connected IP subnet. Realize receiving member report message and leaving multicast group request; sending query packet; forwarding the received multicast data packet to the downstream flow interface of the multicast group member with multicast data flow. The IGMP/MLD proxy must also be able to become a querier through election in the subnet where the downstream flow interface is located, so that it can become the only device that forwards multicast data streams in the subnet.
媒体网关控制器(MGC)和媒体网关(MG)是分组网络中的两个关键构件,MGC和MG组成的网络架构如图1所示。MGC负责呼叫控制功能,MG负责业务承载功能,MG之间通过实时传输协议(Real-time TransportProtocol,RTP)交互。网关控制协议是MG和MGC之间通信的主要协议,目前应用较为广泛的有H.248/MeGaCo和媒体网关控制协议(Media GatewayControl Protocol,MGCP)这两种协议。Media Gateway Controller (MGC) and Media Gateway (MG) are two key components in a packet network. The network architecture composed of MGC and MG is shown in Figure 1. The MGC is responsible for the call control function, the MG is responsible for the service bearer function, and the MGs interact through the Real-time Transport Protocol (RTP). The gateway control protocol is the main protocol for communication between MG and MGC. At present, H.248/MeGaCo and Media Gateway Control Protocol (MGCP) are widely used.
以H.248协议为例,MG上的各种资源被抽象表示为终端(Termination)。终端又分为物理(Physical)终端和临时(Ephemeral)终端,前者代表一些具有半永久存在性的物理实体,例如TDM通道等,后者代表一些临时申请用后释放的公共资源,例如RTP流等。另以根(Root)终端代表MG整体。终端之间的组合被抽象表示为上下文(Context)。上下文可以包含多个终端,因而以拓扑(Topology)来描述终端间的相互关系。对于还未与其它终端发生关联的终端,由一个称为空(Null)上下文的特殊上下文来包含。基于这种抽象模型,呼叫的接续实际上就是对终端和上下文的操作。Taking the H.248 protocol as an example, various resources on the MG are abstractly expressed as Termination. Terminals are divided into physical terminals and ephemeral terminals. The former represents some semi-permanent physical entities, such as TDM channels, etc., and the latter represents some public resources released after temporary application, such as RTP streams. In addition, the Root terminal represents the MG as a whole. The combination between terminals is abstractly represented as a context (Context). A context can contain multiple terminals, so topology (Topology) is used to describe the relationship between terminals. For terminals that have not yet been associated with other terminals, they are contained by a special context called a Null context. Based on this abstract model, the connection of a call is actually an operation on the terminal and the context.
由于目前MG不具备处理IGMP/MLD协议消息以及组播路由协议消息的能力,因此如果承载路径上有媒体网关存在,IGMP/MLD协议消息将被媒体网关阻隔。Since the MG currently does not have the ability to process IGMP/MLD protocol messages and multicast routing protocol messages, if there is a media gateway on the bearer path, the IGMP/MLD protocol message will be blocked by the media gateway.
发明内容 Contents of the invention
有鉴于此,本发明实施例提出一种实现组播组成员管理协议代理的方法,使MG能够具备组播组成员管理协议代理的功能。该方法在MG上设置一个上游流接口和至少一个下游流接口,MG维护汇总所述MG的所有下游流接口的组播组成员信息的组播组成员数据库,并包括如下步骤:In view of this, the embodiment of the present invention proposes a method for realizing the proxy of the multicast group member management protocol, so that the MG can have the function of the proxy of the multicast group member management protocol. The method sets an upstream stream interface and at least one downstream stream interface on the MG, and the MG maintains a multicast group member database that summarizes the multicast group member information of all downstream stream interfaces of the MG, and includes the following steps:
MG在下游流接口接收来自下游网络的组播组成员管理协议消息,并根据所述组播组成员管理协议消息更新所述组播组成员数据库中的内容,MG判断所述组播组成员数据库是否发生变化,若是,则在上游流接口上向上游网络发送组播组成员管理协议消息;The MG receives the multicast group membership management protocol message from the downstream network at the downstream flow interface, and updates the contents of the multicast group membership database according to the multicast group membership management protocol message, and the MG judges the multicast group membership database Whether there is a change, if so, send a multicast group membership management protocol message to the upstream network on the upstream flow interface;
或者,or,
MG在上游流接口上接收到查询消息,根据所述查询消息对所述组播组成员数据库的内容进行查找,若查找到匹配的内容,则在上游流接口向上游网络发送报告消息。The MG receives the query message on the upstream flow interface, searches the contents of the multicast group membership database according to the query message, and sends a report message to the upstream network through the upstream flow interface if a matching content is found.
本发明实施例还公开了另一种实现组播组成员管理协议代理的方法,在MG上设置一个上游流接口和至少一个下游流接口,MG维护汇总所有下游流接口的组播组成员信息的第一组播组成员数据库,并包括如下步骤:The embodiment of the present invention also discloses another method for realizing multicast group member management protocol proxy. One upstream flow interface and at least one downstream flow interface are set on the MG, and the MG maintains and summarizes the multicast group member information of all downstream flow interfaces. The first multicast group member database, and includes the following steps:
MG在下游流接口接收来自下游网络的组播组成员管理协议消息,向MGC上报;The MG receives the multicast group membership management protocol message from the downstream network on the downstream flow interface, and reports it to the MGC;
MGC根据所述组播组成员管理协议消息更新MGC上维护的第二组播组成员数据库中的内容,判断所述第二组播组成员数据库是否发生变化,若是,则指示MG在上游流接口上向上游网络发送组播组成员管理协议消息;或者,MGC向MG发送接受所述组播组成员管理协议消息的指示,MG根据所述指示更新所述第一组播组成员数据库,判断所述第一组播组成员数据库是否发生变化,若是,则在上游流接口上向上游网络发送组播组成员管理协议消息;The MGC updates the content in the second multicast group member database maintained on the MGC according to the multicast group member management protocol message, and judges whether the second multicast group member database changes, and if so, instructs the MG on the upstream flow interface Sending a multicast group member management protocol message upstream to the upstream network; or, the MGC sends an indication to the MG of accepting the multicast group member management protocol message, and the MG updates the first multicast group member database according to the indication, and judges that the Whether the above-mentioned first multicast group member database changes, if so, then send a multicast group member management protocol message to the upstream network on the upstream flow interface;
或者,or,
MG在上游流接口上收到查询消息后向MGC上报,MGC根据所述查询消息对所述第二组播组成员数据库的内容进行查找,若查找到匹配的内容,则指示所述MG在上游流接口向上游网络发送报告消息;或者,MG在上游流接口上收到查询消息后对所述第一组播组成员数据库的内容进行查找,若查找到匹配的内容,则向上游网络发送报告消息。After the MG receives the query message on the upstream flow interface, it reports to the MGC. The MGC searches the contents of the second multicast group member database according to the query message. If a matching content is found, it indicates that the MG is in the upstream The flow interface sends a report message to the upstream network; or, after receiving the query message on the upstream flow interface, the MG searches the contents of the first multicast group member database, and if a matching content is found, then sends a report to the upstream network information.
本发明实施例还公开了一种实现组播组成员管理协议代理的方法,组播组成员管理协议代理的上游流接口与特定的组播组绑定,或者与特定的组播组和组播源地址绑定。The embodiment of the present invention also discloses a method for realizing the proxy of the multicast group member management protocol. Source address binding.
本发明实施例公开的又一种实现组播组成员管理协议代理的方法,在组播组成员管理协议代理中,配置上游网络和下游网络之间的组播组地址和/或组播数据流源地址的映射关系;并包括如下步骤:Yet another method for realizing multicast group member management protocol proxy disclosed by the embodiment of the present invention, in the multicast group member management protocol proxy, configure the multicast group address and/or multicast data flow between the upstream network and the downstream network The mapping relationship of the source address; and includes the following steps:
在下游流接口接收组播组成员管理协议消息;receiving a multicast group membership management protocol message at a downstream stream interface;
根据所述映射关系,将所述组播组成员管理协议消息中的下游网络的组播组地址和/或组播数据流源地址修改为被映射的上游网络的组播组地址和/或组播数据流源地址;According to the mapping relationship, modify the multicast group address and/or multicast data flow source address of the downstream network in the multicast group member management protocol message to the multicast group address and/or group address of the mapped upstream network broadcast data flow source address;
在上游流接口发送所述修改后的组播组成员管理协议消息;sending the modified multicast group membership management protocol message on an upstream stream interface;
或者,包括如下步骤:Alternatively, include the following steps:
在上游流接口上接收到组播数据流;A multicast stream is received on the upstream stream interface;
根据所述映射关系,将所述组播数据流中的上游网络的组播组地址和/或组播数据流源地址修改为被映射的下游网络的组播组地址和/或组播数据流源地址,再在下游流接口发送所述组播数据流。According to the mapping relationship, modify the multicast group address of the upstream network and/or the source address of the multicast data flow in the multicast data flow to the multicast group address and/or multicast data flow of the mapped downstream network source address, and then send the multicast data flow on the downstream flow interface.
本发明实施例还公开了一种实现组播组成员管理协议代理的系统,包括MG和MGC,The embodiment of the invention also discloses a system for realizing multicast group member management protocol proxy, including MG and MGC,
所述MG上配置一个上游流接口和至少一个下游流接口,并维护汇总所述MG的所有下游流接口的组播组成员信息的组播组成员数据库;根据所述组播组成员数据库,将上游流接口接收的组播组成员管理协议消息转发到相应的下游流接口,或者向上游流接口发送报告消息;An upstream flow interface and at least one downstream flow interface are configured on the MG, and a multicast group membership database summarizing the multicast group membership information of all downstream flow interfaces of the MG is maintained; according to the multicast group membership database, the The multicast group membership management protocol message received by the upstream stream interface is forwarded to the corresponding downstream stream interface, or a report message is sent to the upstream stream interface;
所述MGC用以向所述MG发送设置或更新命令,来设置或更新所述MG上的配置。The MGC is used to send a setting or updating command to the MG to set or update configurations on the MG.
本发明实施例公开了一种MG,包括用于实现组播组成员管理协议代理功能的装置,该装置包括:The embodiment of the present invention discloses an MG, which includes a device for realizing the proxy function of the multicast group member management protocol, and the device includes:
接口配置模块,用于将MG连接分组子网的接口配置为上游流接口或下游流接口;An interface configuration module, configured to configure the interface connecting the MG to the packet subnet as an upstream flow interface or a downstream flow interface;
组播组数据库模块,用于维护所述MG的所有下游流接口总的组播订阅状况;A multicast group database module, configured to maintain the total multicast subscription status of all downstream stream interfaces of the MG;
代理转发模块,用于根据在上游流接口接收的查询消息,对所述组播组数据库模块中的内容进行搜索,若搜索到匹配的内容,则在上游流接口向上游网络发送报告消息;或者,根据下游流接口接收的组播组成员管理协议消息更新所述组播组数据库模块中的内容,并判断所述组播组成员数据库是否发生变化,若是,则在上游流接口上向上游网络发送组播组成员管理协议消息。The agent forwarding module is used to search the content in the multicast group database module according to the query message received at the upstream flow interface, and if the matching content is found, send a report message to the upstream network at the upstream flow interface; or , updating the content in the multicast group database module according to the multicast group member management protocol message received by the downstream flow interface, and judging whether the multicast group membership database has changed, and if so, sending to the upstream network on the upstream flow interface Send a multicast group membership management protocol message.
本发明实施例公开的另一种实现组播组成员管理协议代理的系统,包括MG和MGC,所述MG上配置一个上游流接口和至少一个下游流接口,MG维护汇总所有下游流接口的组播组成员信息的第一组播组成员数据库;所述MG用于在下游流接口接收来自下游网络的组播组成员管理协议消息,并将所述组播组成员管理协议消息上报给MGC;MG根据MGC下发的指示更新所述第一组播组成员数据库和/或发送组播组成员管理协议消息;或者,所述MG用于在上游流接口上收到查询消息后向MGC上报,并根据所述MGC的指示在上游流接口向上游网络发送报告消息;Another system for implementing multicast group member management protocol proxy disclosed in the embodiment of the present invention includes MG and MGC, the MG is configured with one upstream flow interface and at least one downstream flow interface, and the MG maintains and summarizes the group of all downstream flow interfaces. A first multicast group member database of broadcast group member information; the MG is used to receive a multicast group member management protocol message from a downstream network at a downstream flow interface, and report the multicast group member management protocol message to the MGC; The MG updates the first multicast group member database and/or sends a multicast group member management protocol message according to the instruction sent by the MGC; or, the MG is configured to report to the MGC after receiving the query message on the upstream stream interface, and send a report message to the upstream network at the upstream flow interface according to the instruction of the MGC;
所述MGC维护汇总所有下游流接口的组播组成员信息的第二组播组成员数据库;根据所述MG上报的组播组成员管理协议消息以及所述第二组播组成员数据库中的内容向所述MG下发相应指示。The MGC maintains a second multicast group member database that summarizes the multicast group member information of all downstream flow interfaces; according to the multicast group member management protocol message reported by the MG and the content in the second multicast group member database Issue a corresponding instruction to the MG.
本发明实施例公开了一种MGC,包括:The embodiment of the present invention discloses an MGC, including:
接收模块,用于接收MG上报的组播组成员管理协议消息;A receiving module, configured to receive a multicast group member management protocol message reported by the MG;
第二组播组数据库模块,用于维护所述MG的所有下游流接口总的组播订阅状况;根据所述接收模块接收的组播组成员管理协议消息,对所维护的组播订阅状况进行更新或搜索,并将更新或搜索的结果通知组播指令下发模块;The second multicast group database module is used to maintain the total multicast subscription status of all downstream stream interfaces of the MG; according to the multicast group member management protocol message received by the receiving module, the maintained multicast subscription status is carried out Update or search, and notify the multicast instruction issuing module of the update or search result;
下发模块,用于根据更新或搜索的结果,向MG下发相应指示。The issuing module is configured to issue corresponding instructions to the MG according to the update or search results.
从以上技术方案可以看出,本发明方案在MG上维护上游流接口和下游流接口,并维护用于记录组播组成员信息的组播组成员数据库,根据所述组播组成员数据库,对来自上游流接口或下游流接口的组播组成员管理协议消息进行处理或转发,从而使MG实现组播组成员管理协议代理的功能。As can be seen from the above technical solutions, the present invention maintains the upstream stream interface and the downstream stream interface on the MG, and maintains a multicast group member database for recording multicast group member information. According to the multicast group member database, the Process or forward the multicast group membership management protocol message from the upstream flow interface or downstream flow interface, so that the MG realizes the function of the multicast group membership management protocol agent.
附图说明 Description of drawings
图1为现有技术MG与MGC的组网示意图;Fig. 1 is a schematic diagram of networking of MG and MGC in the prior art;
图2为本发明方案的一个应用场景示意图;Fig. 2 is a schematic diagram of an application scenario of the solution of the present invention;
图3为本发明方案的另一个应用场景示意图;FIG. 3 is a schematic diagram of another application scenario of the solution of the present invention;
图4为本发明实施例实现从下游网络到上游网络方向上的代理功能的处理流程图;Fig. 4 is the processing flowchart of realizing the proxy function in the direction from the downstream network to the upstream network according to the embodiment of the present invention;
图5为本发明实施例实现从上游网络到下游网络方向上的代理功能的处理流程图;Fig. 5 is the process flowchart of realizing the proxy function in the direction from the upstream network to the downstream network according to the embodiment of the present invention;
图6为本发明实施例建立拓扑关系的示意图;FIG. 6 is a schematic diagram of establishing a topological relationship according to an embodiment of the present invention;
图7为本发明实施例的MG内部结构框图。Fig. 7 is a block diagram of the internal structure of the MG according to the embodiment of the present invention.
具体实施方式 Detailed ways
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。In order to make the purpose, technical solution and advantages of the present invention clearer, the present invention will be further elaborated below in conjunction with the accompanying drawings.
IP网络之间的媒体网关可以作为IGMP/MLD代理实体,一个简单的应用场景如图2所示。IP网络1和IP网络2之间的边缘(border)网关MG作为IGMP/MLD代理,在MG中维护汇总MG的所有下游流接口组播组成员信息的的组播组成员数据库。IP网络2是MG的被代理网络,MG在IP网络2中通过选举成为查询器,能够向IP网络2发送查询消息以及处理从IP网络2中接收到的IGMP/MLD报告消息或离开组播组消息;MG在IP网络1中作为主机,接收来自IP网络1的报告消息或离开消息,并根据所述报告消息或离开消息更新组播组成员数据库,在组播组成员数据库记录发生变化的时候能够向IP网络1发送IGMP/MLD报告消息和离开消息;根据组播组成员数据库的内容,响应IP网络1中的查询器发出的查询消息。The media gateway between IP networks can serve as an IGMP/MLD proxy entity, and a simple application scenario is shown in Figure 2. The border gateway MG between the IP network 1 and the IP network 2 acts as an IGMP/MLD agent, and maintains a multicast group member database summarizing the multicast group member information of all downstream flow interfaces of the MG in the MG. IP network 2 is the proxy network of MG. MG is elected as a querier in IP network 2, and can send query messages to IP network 2 and process IGMP/MLD report messages received from IP network 2 or leave the multicast group. message: MG acts as a host in IP network 1, receives report message or leave message from IP network 1, and updates the multicast group member database according to the report message or leave message, when the multicast group member database record changes It can send IGMP/MLD report messages and leave messages to IP network 1; respond to query messages sent by the querier in IP network 1 according to the contents of the multicast group member database.
G1IP网络2中有新的组播组成员订阅组播,该主机发出加入组播组G1的报告。作为IP网络2中的组播查询器(querier),MG接收到该报告,如果根据该报告消息,造成了成员数据库记录的改变,则在IP网络1中作为主机发送报告,要求加入组播组G1。该报告被IP网络1中的组播路由器接收,根据现有的组播路由协议向着组播的信源树或者共享树的根节点方向继续传递加入组播组信息。图2中,如果IP网络2中主机要求加入的组播组的组播数据源就在IP网络2中,MG可能可以直接接收组播数据源发出的组播数据流,而不需要从上游的组播路由器获得该组播数据流。MG向IP网络2转发组播数据流依据成员数据库记录以及各下游流接口上的组播组成员状态。There is a new multicast group member subscribing to multicast in G1IP network 2, and the host sends a report of joining multicast group G1. As a multicast queryer (querier) in IP network 2, MG receives the report, if the report message changes the member database records, it sends a report as a host in IP network 1, requesting to join the multicast group G1. The report is received by the multicast router in the IP network 1, and the information of joining the multicast group is forwarded to the root node of the multicast source tree or shared tree according to the existing multicast routing protocol. In Figure 2, if the multicast data source of the multicast group requested by the host on IP network 2 is in IP network 2, the MG may be able to directly receive the multicast data stream sent by the The multicast router obtains the multicast data flow. The MG forwards the multicast data flow to the IP network 2 according to the member database record and the multicast group member status on each downstream flow interface.
另外,IP网络1中的接收MG报告的组播路由器本身可能是一个IGMP/MLD代理,该代理在IP网络1中作为组播查询器(也是组播路由器)。IP网络2中的主机也可能本身是IGMP/MLD代理,该代理在IP网络2中作为支持组播的主机。在以上两种情况下,实际上是IGMP/MLD代理串联的情况,而被串联的IGMP/MLD代理中的一个或者多个可以为具备本发明功能的MG。In addition, the multicast router receiving the MG report in IP network 1 may itself be an IGMP/MLD proxy, and the proxy acts as a multicast queryer (also a multicast router) in IP network 1 . The host in IP network 2 may itself be an IGMP/MLD proxy, and the proxy acts as a host supporting multicast in IP network 2 . In the above two cases, the IGMP/MLD proxies are actually connected in series, and one or more of the connected IGMP/MLD proxies may be MGs with the functions of the present invention.
IGMP/MLD代理(见RFC4605)允许有一个上游流接口以及一个或者多个下游流接口。这里的上游流接口可以是针对所有的组播,大多数场景也是如此。但是,如果用在稍微复杂一点的网络结构中,一个上游接口也可能只用于一个或者一些组播组。而对于其它的一个或者一些组播组,其上游流接口可能不同。更复杂的情况下,对于同一个组播组,其对应共享树的上游流接口以及不同的组播源的信源树的上游流接口可能不同,如果IGMP/MLD代理能够获得组播组、组播源地址和上游流接口的关系,并将上游流接口与组播组和/或组播源源地址进行绑定,则可以将IGMP报告发送到与该报告所属的组播对应的上游流接口。这也是对IGMP/MLD代理功能的增强。如图3所示。IGMP/MLD proxies (see RFC4605) allow one upstream stream interface and one or more downstream stream interfaces. The upstream stream interface here can be for all multicast, and the same is true for most scenarios. However, if used in a slightly more complex network structure, an upstream interface may only be used for one or some multicast groups. However, for other one or some multicast groups, their upstream stream interfaces may be different. In more complicated cases, for the same multicast group, the upstream stream interface corresponding to the shared tree and the upstream stream interface of the source tree of different multicast sources may be different. If the IGMP/MLD proxy can obtain the multicast group, group If the relationship between the broadcast source address and the upstream flow interface is established, and the upstream flow interface is bound to the multicast group and/or the multicast source address, the IGMP report can be sent to the upstream flow interface corresponding to the multicast to which the report belongs. This is also an enhancement to the IGMP/MLD proxy function. As shown in Figure 3.
另外,IGMP/MLD代理还可以完成在IPv4和IPv6网络之间进行代理,实现该功能需要对各自网络的组播组地址和组播源地址进行IPv4地址和IPv6地址之间的映射。即使是相同版本的IP网络之间的IGMP/MLD代理,也存在上游流接口和下游流接口之间的组播组地址和/或组播源地址的规划不同的情况,IGMP/MLD代理上维护组播组地址映射关系和/或者组播源地址的映射关系。并且在代理的IGMP/MLD协议消息以及组播数据流上实现该映射。这实际上也是对IGMP/MLD代理功能的增强。In addition, the IGMP/MLD proxy can also complete the proxy between IPv4 and IPv6 networks. To realize this function, it is necessary to perform mapping between IPv4 addresses and IPv6 addresses for the multicast group addresses and multicast source addresses of their respective networks. Even for IGMP/MLD proxies between IP networks of the same version, there are situations where the planning of the multicast group address and/or multicast source address is different between the upstream flow interface and the downstream flow interface. The IGMP/MLD proxy maintains The multicast group address mapping relationship and/or the multicast source address mapping relationship. And the mapping is implemented on the proxy IGMP/MLD protocol message and the multicast data flow. This is actually an enhancement of the IGMP/MLD proxy function.
多个下游流接口共用上游流接口获得的组播数据流。MG需要维护组播组成员数据库,也要维护每个下游流接口上的组播组成员状态,即维护每个下游流接口上的组播组成员信息。组播组成员状态在本文中也叫组播组订阅状况。Multiple downstream stream interfaces share the multicast data stream obtained by the upstream stream interface. The MG needs to maintain the multicast group membership database, and also maintain the multicast group membership status on each downstream flow interface, that is, maintain the multicast group membership information on each downstream flow interface. The multicast group membership status is also called multicast group subscription status in this document.
实际上,以上所述MG实现IGMP/MLD代理功能需要MGC的参与。本发明实施例中,将MG与MGC作为组播组成员管理协议代理系统,所述代理系统需要实现如下三方面功能:In fact, the above-mentioned MG needs the participation of the MGC to implement the IGMP/MLD proxy function. In the embodiment of the present invention, MG and MGC are used as the multicast group member management protocol proxy system, and the proxy system needs to realize the following three aspects of functions:
A、上游流接口和下游流接口的属性配置功能。A. The attribute configuration function of the upstream flow interface and the downstream flow interface.
MG上要配置上游流接口。配置的某一个上游流接口可以适用于所有的组播组以及组播源地址,但是可能是和特定的一个或者多个组播组(可以进一步包括组播源地址)绑定。如图4所示。另外,对于每个上游流接口可以配置除本身以外的一个或者多个或者全部可以允许使用的下游流接口。MG不处理非下游流接口的加入组播组请求。如果MG在所连接的同一个子网有多个接口,则只选取其中的一个作为上游流接口或者下游流接口。The upstream stream interface needs to be configured on the MG. A configured upstream flow interface may be applicable to all multicast groups and multicast source addresses, but may be bound to one or more specific multicast groups (may further include multicast source addresses). As shown in Figure 4. In addition, for each upstream flow interface, one or more or all allowable downstream flow interfaces other than itself may be configured. The MG does not process the request to join a multicast group from a non-downstream interface. If the MG has multiple interfaces on the same subnet it is connected to, only one of them is selected as the upstream flow interface or downstream flow interface.
该配置可以被MGC实时更新。This configuration can be updated by the MGC in real time.
B、准入控制和资源预留。B. Admission control and resource reservation.
代理系统对于每个下游流接口维护允许被代理的组播组地址和/或组播数据流源地址的相关信息;该信息包括向下游流接口发出IGMP/MLD消息的主机的权限,权限包括允许加入哪些组播组等;该信息还包括每个下游流接口业务总带宽,已加入的组播组,和/或各个组播数据流源地址的优先级别。在总带宽不够的情况下优先准入高优先级别的数据流。该功能不能在所有的IGMP版本中使用。早期的IGMP版本规定主机可以监听其它主机发出的报告消息并且可以避免发送重复的报告消息。The proxy system maintains relevant information about the multicast group address and/or multicast data flow source address that is allowed to be proxied for each downstream flow interface; this information includes the authority of the host that sends IGMP/MLD messages to the downstream flow interface, and the authority includes permission Which multicast groups to join, etc.; this information also includes the total service bandwidth of each downstream flow interface, the joined multicast groups, and/or the priority level of each multicast data flow source address. When the total bandwidth is insufficient, high-priority data streams are given priority. This function cannot be used in all IGMP versions. Early versions of IGMP stipulated that hosts can listen to report messages sent by other hosts and avoid sending repeated report messages.
C、组播组地址和组播数据流源地址映射。C. Mapping between multicast group address and multicast data flow source address.
有些情况下,MG所连接的各个IP网络之间的组播数据流源地址的规划不统一,例如图2所示,IP网络2中源地址为S2的组播数据流在IP网络1中的源地址映射为S1,即媒体网关在IP网络2接收到要求加入组播组G1,而且要求组播数据流源地址为S2的IGMP报告后,在向IP网络1转发该IGMP报告时,将该报告消息转化为要求加入组播组G1,组播数据流源地址为S1的IGMP报告。或者组播组地址需要被映射,例如IP网络2中的组播组G2在IP网络1中被映射到组播组G1。MG所连接的不同IP网络还可能运行不同的协议,如IPv4网络的组成员管理协议为IGMP,IPv6网络的组成员管理协议为MLD。其组播组地址和组播源地址显然需要被映射。In some cases, the planning of the source address of the multicast data flow between the various IP networks connected to the MG is inconsistent. For example, as shown in Figure 2, the multicast data flow with the source address S2 in IP network The source address is mapped to S1, that is, after the media gateway receives the IGMP report requesting to join the multicast group G1 on IP network 2 and the source address of the multicast data flow is S2, when forwarding the IGMP report to IP network 1, it will send the The report message is transformed into an IGMP report requesting to join the multicast group G1, and the source address of the multicast data flow is S1. Or the multicast group address needs to be mapped, for example, the multicast group G2 in the IP network 2 is mapped to the multicast group G1 in the IP network 1 . Different IP networks connected to the MG may also run different protocols, for example, the group membership management protocol of the IPv4 network is IGMP, and the group membership management protocol of the IPv6 network is MLD. Its multicast group address and multicast source address obviously need to be mapped.
因此,代理系统维护上下游流接口之间组播组地址转换规则和/或组播数据流源地址转换规则。在上游流接口所在IP网络和下游流接口所在的IP网络之间建立组播组地址映射关系和/或组播数据流源地址映射关系。Therefore, the proxy system maintains multicast group address translation rules and/or multicast data flow source address translation rules between upstream and downstream flow interfaces. Establish a multicast group address mapping relationship and/or a multicast data flow source address mapping relationship between the IP network where the upstream flow interface is located and the IP network where the downstream flow interface is located.
代理系统(包括MG和MGC两部分)通过来自下游流接口所在IP网络(以下简称下游网络)的IGMP/MLD消息,学习各下游网络中的组成员状态,更新成员数据库。数据库记录改变时向上游流接口发送报告或者离开组播组的组播组成员管理协议消息,在收到上游接口上的查询消息时根据成员数据库内容发送报告消息。进行以上工作的同时还要执行准入控制以及组播组地址和/或组播源地址的映射。The proxy system (including MG and MGC) learns the status of group members in each downstream network through the IGMP/MLD message from the IP network where the downstream flow interface is located (hereinafter referred to as the downstream network), and updates the member database. Send a report to the upstream flow interface when the database record changes or leave a multicast group membership management protocol message, and send a report message according to the membership database content when receiving a query message from the upstream interface. While performing the above work, admission control and mapping of multicast group addresses and/or multicast source addresses should also be performed.
根据MG与MGC各自实现功能的不同,所述代理系统分为以下两种方式:According to the different functions of MG and MGC, the agent system is divided into the following two ways:
方式一:在MG上维护对于IGMP/MLD的处理机制,并根据被代理的IGMP/MLD消息维护成员数据库记录。MG上的配置还可以由MGC向MG下设置或者更新。纯粹的静态配置的方案的缺点在于规则的更新可能不够实时。如果用户权限被修改,组播组地址和组播数据流源地址映射规则需要更新,或者组播组优先级别发生改变等情况下需要更新静态配置,则难以保证更新的实时性,而且很多规则需要MGC利用控制层或者业务层的信息生成,这样就需要MGC具有向MG设置或者更新MG上的配置的功能。Method 1: Maintain the processing mechanism for IGMP/MLD on the MG, and maintain member database records according to the proxied IGMP/MLD messages. The configuration on the MG can also be set or updated by the MGC to the MG. The disadvantage of the purely static configuration scheme is that the update of the rules may not be real-time enough. If the user rights are modified, the multicast group address and multicast data flow source address mapping rules need to be updated, or the static configuration needs to be updated when the priority level of the multicast group changes, it is difficult to guarantee the real-time performance of the update, and many rules need to be updated. The MGC is generated using the information of the control layer or the service layer, so the MGC needs to have the function of setting or updating the configuration on the MG.
方式二:通过和MGC的交互,在MGC的控制下处理IGMP/MLD消息,包括MG上报接收到的IGMP/MLD消息和/或MGC指示MG发送IGMP/MLD消息。在MG作为IGMP/MLD代理的场景下,MGC指示MG在上游流接口上检测上报查询消息,指示MG发送报告消息和离开组播组消息。MGC指示MG在下游流接口上检测上报报告消息和离开组播组消息,发送查询消息。Method 2: Through interaction with the MGC, the IGMP/MLD message is processed under the control of the MGC, including the MG reporting the received IGMP/MLD message and/or the MGC instructing the MG to send the IGMP/MLD message. In the scenario where the MG acts as an IGMP/MLD proxy, the MGC instructs the MG to detect report query messages on the upstream stream interface, and instructs the MG to send report messages and leave multicast group messages. The MGC instructs the MG to detect report messages and leave multicast group messages on the downstream flow interface, and send query messages.
上述两种方式还可以结合在一起使用。例如,部分功能可以通过方式一配置在MG上自动完成,例如在下游接口上的周期查询,上游流接口上对查询消息的自动应答等,一些配置还可以通过MGC指示更新,例如MGC向MG同步下游流接口上的组播组成员状态等,而部分功能可以通过方式二由MGC控制MG上报以及发送IGMP/MLD消息。The above two methods can also be used in combination. For example, some functions can be automatically completed on the MG through mode one configuration, such as periodic query on the downstream interface, automatic response to the query message on the upstream flow interface, etc. Some configurations can also be updated through the MGC instruction, such as the synchronization between the MGC and the MG The status of multicast group members on the downstream stream interface, and some functions can be reported by the MGC and sent IGMP/MLD messages by the MGC controlling the MG through the second method.
代理系统的第一实施例采用上述方式一的方案,实现可行的具体方案很多,这里只描述其中一种,其它方案的原理类似。The first embodiment of the agent system adopts the scheme of the above-mentioned mode 1, and there are many feasible specific schemes, only one of which is described here, and the principle of other schemes is similar.
对H.248协议的扩展,包括:Extensions to the H.248 protocol, including:
一、定义一个H.248的包impp用于MGC设置或者更新规则。1. Define an H.248 package impp for MGC setting or updating rules.
作为IGMP/MLD代理的MG位于两个或者两个以上IP网络交界的位置。The MG as an IGMP/MLD proxy is located at the junction of two or more IP networks.
在immp包中定义属性:Define properties in the immp package:
(1).上游流接口名(upstream interface name,usin),数据类型为octstring,默认值为空,其值为上游流接口的接口名;(1). Upstream interface name (usin), the data type is octstring, the default value is empty, and its value is the interface name of the upstream interface;
(2).下游流接口名(downstream interface name,dsin),数据类型为octstringlist,默认值为空,其值为可用的下游流接口的接口名列表,因为下游流接口可能多于一个,所以用列表来表示。(2). Downstream interface name (downstream interface name, dsin), the data type is octstringlist, the default value is empty, and its value is the interface name list of available downstream interface, because there may be more than one downstream interface, so use list to represent.
上游流接口名代表了其连接的上游流接口所在的IP网络,下游流接口名代表了其连接的可用的下游流接口所在的IP网络。The name of the upstream flow interface represents the IP network where the upstream flow interface connected to it is located, and the name of the downstream flow interface represents the IP network where the available downstream flow interface connected to it is located.
以上的属性定义方式默认对于所有组播组都适用,即该代理系统所代理的所有组播组使用相同的上游流接口和下游流接口。如果不同的组播组或者不同的组播数据流源地址可以使用不同的上游流接口和下游流接口,比如:某个接口是组播组G1的上游流接口,另一个接口是组播组G2的上游流接口,或者,某个接口是组播组G1,组播源地址为S1的组播上游接口,而另一个接口是组播组G1,组播源地址为S2的组播上游接口,则以上两个属性定义方法需要进一步增强,包括组播组标识和/或组播数据流源地址,以及与所述组播组标识和/或组播数据流源地址对应的上游流接口和可用下游流接口列表。The above attribute definition method is applicable to all multicast groups by default, that is, all multicast groups proxied by the proxy system use the same upstream flow interface and downstream flow interface. If different multicast groups or different multicast data flow source addresses can use different upstream flow interfaces and downstream flow interfaces, for example: one interface is the upstream flow interface of multicast group G1, and the other interface is multicast group G2 or, one interface is a multicast upstream interface of multicast group G1 with a multicast source address of S1, and the other interface is a multicast upstream interface of multicast group G1 with a multicast source address of S2, Then the above two attribute definition methods need to be further enhanced, including the multicast group identifier and/or the source address of the multicast data flow, and the upstream stream interface and available List of downstream stream interfaces.
也可以不对下游流接口做限定,即允许上游流接口以外的所有接口作为下游流接口。It is also possible not to limit the downstream flow interface, that is, allow all interfaces except the upstream flow interface to be downstream flow interfaces.
以上的上游流接口名以及下游流接口名参数可以用接口所连接的IP网络的标识属性替代,该参数可以参照H.248.41中的IP域指示的表达方式。其作用和使用接口名相同。后面涉及到接口名的地方都可以用IP域标识的方式替代。The above upstream flow interface name and downstream flow interface name parameters can be replaced by the identification attribute of the IP network connected to the interface, and this parameter can refer to the expression indicated by the IP field in H.248.41. Its function is the same as using the interface name. All subsequent references to interface names can be replaced by IP domain identifiers.
二、定义准入控制与预留(admission and reserve,aar)信号,用于MGC向MG更新准入控制和资源预留相关配置。2. Define the admission and reserve (admission and reserve, aar) signal, which is used for the MGC to update the admission control and resource reservation related configurations to the MG.
该信号定义如下参数:The signal defines the following parameters:
(1).接口名(interface name,in),数据类型为octstring,默认值为空,其值为接口名。(1). Interface name (interface name, in), the data type is octstring, the default value is empty, and its value is the interface name.
(2).允许组播组(allowed group,ag),数据类型为string,默认值为空,其值为被允许的组播组地址,可能是IPV4地址或者IPV6地址。(2). Allowed multicast group (allowed group, ag), the data type is string, the default value is empty, and its value is the allowed multicast group address, which may be an IPV4 address or an IPV6 address.
(3).拒绝组播组(refused group,ag),数据类型为string,默认值为空,其值为被拒绝的组播组地址,可以是IPV4地址或者IPV6地址。(3). The rejected group (ag), the data type is string, the default value is empty, and its value is the rejected multicast group address, which can be an IPV4 address or an IPV6 address.
(4).允许用户加入的组播组(user agreed group,uag),数据类型为string,默认值为空,其值为请求消息的源地址以及被允许加入的组,两项内容之间用逗号隔开。(4). The multicast group that allows users to join (user agreed group, uag), the data type is string, the default value is empty, and its value is the source address of the request message and the group that is allowed to join. Between the two contents, use separated by commas.
(5).拒绝用户加入的组播组(user refused group,urg),数据类型为string,默认值为空,其值为请求消息的源地址以及被拒绝加入的组,两项内容之间用逗号隔开。(5). The multicast group that the user refused to join (user refused group, urg), the data type is string, the default value is empty, and its value is the source address of the request message and the group that was refused to join. separated by commas.
(6).组播组优先级(group class,gc),数据类型为octstring,默认值为空,其值为组地址以及对应的优先级。(6). Multicast group priority (group class, gc), the data type is octstring, the default value is empty, and its value is the group address and the corresponding priority.
MGC向MG下发该信号时,用于指示某个接口上允许和拒绝的组播组,该接口对于某个用户的权限设置以及该接口上各个组播组的优先级别。When the MGC sends this signal to the MG, it is used to indicate the allowed and denied multicast groups on a certain interface, the authority setting of this interface for a certain user, and the priority level of each multicast group on this interface.
三、定义信号gasamap,用于MGC向MG更新组播组地址和组播数据流源地址映射关系。3. Define the signal gasamap, which is used by the MGC to update the mapping relationship between the multicast group address and the source address of the multicast data flow to the MG.
该信号定义如下参数:The signal defines the following parameters:
(1).接口名(interface name,in),数据类型为octstring,默认值为空,其值为下游流接口的接口名。(1). Interface name (interface name, in), the data type is octstring, the default value is empty, and its value is the interface name of the downstream flow interface.
(2).下游流地址与上游流地址的映射(downstream address to upstreamaddress,datoua),数据类型为string list,默认值为空,其值为下游流接口上的组播组地址和其映射的上游流接口上的组播组地址,两项内容之间用逗号隔开,列表中每一行代表一个映射关系。(2). The mapping between downstream address and upstream address (downstream address to upstream address, datoua), the data type is string list, the default value is empty, and its value is the multicast group address on the downstream interface and its mapped upstream The multicast group address on the stream interface. The two items are separated by commas. Each line in the list represents a mapping relationship.
(3).下游流组播源与上游流组播源的映射(downstream source to upstreamsource,datoua),数据类型为string list,默认值为空,其值为下游流接口上的组播数据流源地址和其映射的上游流接口上的组播数据流源地址,两项内容之间用逗号隔开,列表中每一行代表一个映射关系。(3). The mapping between the downstream multicast source and the upstream multicast source (downstream source to upstream source, datoua), the data type is string list, the default value is empty, and its value is the multicast data flow source on the downstream interface The address and the source address of the multicast data stream on the upstream stream interface to which it is mapped are separated by commas. Each line in the list represents a mapping relationship.
MGC向MG下发该信号时,用于指示某个下游流接口所在的IP网络的组播组地址和/或组播数据流源地址和上游流接口所在IP网络中的组播组地址和/或组播数据流源地址之间的对应关系。When the MGC sends this signal to the MG, it is used to indicate the multicast group address and/or the source address of the multicast data flow on the IP network where a certain downstream flow interface is located and the multicast group address and/or the multicast group address and/or the IP network where the upstream flow interface is located Or the correspondence between the source addresses of multicast data streams.
通过上面各个信号和属性,MGC指示MG设置或者更新IGMP/MLD消息的处理规则。这些信号和属性可以设置到MG的ROOT终端上,也可以设置到非ROOT终端上。如果是创建在非ROOT终端上,在创建该终端时可以通过前面描述的参数in等指定接口,指定接口后,该终端用于处理(包括了发送和接收等)该终端被创建时指定的接口所连接的IP网络中的IGMP/MLD消息。Through the above signals and attributes, the MGC instructs the MG to set or update the processing rules for IGMP/MLD messages. These signals and attributes can be set on the ROOT terminal of the MG, and can also be set on the non-ROOT terminal. If it is created on a non-ROOT terminal, you can specify the interface through the parameter in described above when creating the terminal. After specifying the interface, the terminal is used to process (including sending and receiving, etc.) the interface specified when the terminal is created IGMP/MLD messages in the connected IP network.
另外,下游流接口上的查询机制有必要说明一下。下游流接口上如果收到了退出组播组的消息,需要发送查询消息判断该下游网络上是否还有其它的该组播组的用户。下游流接口上有周期查询的机制,避免因为组播组成员管理协议消息在IP网络中丢失,或者下游网络中主机在发出退出组播组消息前就离开网络,造成下游流接口上的组播组用户订阅状况和实际网络中的情况不符合。另外,如果上游流接口上收到查询消息,在查找成员数据库的机制外,可增加向下游流接口发送查询消息,以及时更新成员数据库和下游流接口上的组播组订阅状况。In addition, the query mechanism on the downstream stream interface needs to be explained. If the downstream stream interface receives the message of quitting the multicast group, it needs to send a query message to determine whether there are other users of the multicast group on the downstream network. There is a periodic query mechanism on the downstream stream interface to avoid the loss of multicast group member management protocol messages in the IP network, or the hosts in the downstream network leave the network before sending out the exit multicast group message, resulting in multicast on the downstream stream interface. The subscription status of group users does not match that of the actual network. In addition, if a query message is received on the upstream flow interface, in addition to the mechanism of searching the member database, a query message can be sent to the downstream flow interface to update the membership database and the multicast group subscription status on the downstream flow interface in time.
成员数据库以及各下游接口上的组播组成员状态的维护除了依据下游流接收上接收到的报告消息和离开消息,还要依据各组播定时器的状态。前面已经接收过,这里不再赘述。The maintenance of the member database and the status of the multicast group members on each downstream interface is based on the status of each multicast timer in addition to the report message and leave message received on the downstream flow receiver. It has been received before and will not be repeated here.
在IGMP v2中,有报告消息用于加入组播组,还有离开消息用于离开组播组。在IGMP v3中,报告消息和离开消息的功能都通过报告消息来实现了。例如,在报告消息中,源地址过滤条件为MODE_IS_INCLUDE,但是源地址列表为空,实际上是表示离开组播组,这样,IGMP v3的一个报告消息可以实现IGMP v2的多个报告消息和离开消息的功能。In IGMP v2, there are report messages for joining a multicast group and leave messages for leaving a multicast group. In IGMP v3, the functions of report message and leave message are realized through report message. For example, in the report message, the source address filter condition is MODE_IS_INCLUDE, but the source address list is empty, which actually means leaving the multicast group. In this way, one report message of IGMP v3 can realize multiple report messages and leave messages of IGMP v2 function.
代理系统的第二实施例采用上述方式二的方案,即通过MG和MGC的交互,在MGC的控制下处理IGMP/MLD消息。The second embodiment of the proxy system adopts the solution of the second mode above, that is, through the interaction between the MG and the MGC, the IGMP/MLD messages are processed under the control of the MGC.
在第二实施例中,上游流接口和下游流接口的配置或者指定还是可以使用第一实施例的方法。In the second embodiment, the configuration or designation of the upstream flow interface and the downstream flow interface can still use the method of the first embodiment.
在下游流接口上,MGC向MG设置H.248事件检测IGMP/MLD的报告消息和/或离开组播组的消息。MGC通过信号向MG指示发送IGMP/MLD的查询消息。下面以IGMP协议为例,MLD协议的实现类似。On the downstream stream interface, the MGC sets the H.248 event detection IGMP/MLD report message and/or the message of leaving the multicast group to the MG. The MGC instructs the MG to send an IGMP/MLD query message through a signal. The following uses the IGMP protocol as an example, and the implementation of the MLD protocol is similar.
所述H.248事件包括:The H.248 events include:
一.处理IGMP协议消息的事件igmprl。1. Event igmprl that processes IGMP protocol messages.
事件igmprl用于检测IGMP的成员报告(Membership Report)消息和离开组(Leave Group)消息.The event igmprl is used to detect IGMP membership report (Membership Report) messages and leave group (Leave Group) messages.
该事件有如下参数:The event has the following parameters:
(1)接口名(interface name),数据类型为octstring list,默认值为空,其值为要检测该事件的下游流接口的接口名列表。(1) Interface name (interface name), the data type is octstring list, the default value is empty, and its value is the interface name list of the downstream flow interface to detect the event.
如果该事件设置在根终端上,则可以通过该参数指示在哪个或者哪些下游流接口上检测IGMP的报告消息和离开组消息。如果该属性值为空,则表示在所有下游流接口上进行检测。If this event is set on the root terminal, this parameter can be used to indicate on which or which downstream stream interfaces to detect IGMP report messages and leave group messages. If the value of this attribute is empty, it means to perform detection on all downstream flow interfaces.
如果该事件设置在临时终端上而且该终端被指定接口,则不需要设置该参数。If the event is set on a temporary terminal and the terminal is assigned an interface, this parameter does not need to be set.
该事件上报时携带如下参数:The event is reported with the following parameters:
(1)参数(interface name,in),数据类型为octstring list,其值为检测到事件的下游流接口的接口名。(1) The parameter (interface name, in), the data type is octstring list, and its value is the interface name of the downstream flow interface where the event is detected.
如果该事件发生在临时终端上而且该终端被指定接口,则不需要上报该参数。If the event occurs on a temporary terminal and the terminal is assigned an interface, this parameter does not need to be reported.
(2)协议版本(ver),数据类型为integer,默认值为3,其值为协议版本,1,2,3分别代表IGMP的版本1,2和3。(2) Protocol version (ver), the data type is integer, the default value is 3, and its value is the protocol version, 1, 2, and 3 represent IGMP versions 1, 2, and 3, respectively.
(3)消息类型(type),数据类型为integer,默认值为1,其值代表消息类型。1代表IGMP的报告消息,2代表IGMP的离开组消息。(3) Message type (type), the data type is integer, the default value is 1, and its value represents the message type. 1 represents the IGMP report message, and 2 represents the IGMP leave group message.
(4).报告内容(r1),数据类型为string list,默认值为空,值代表报告消息的内容。列表中每一行代表对于一个组的报告内容。对于IGMP V1和IGMP V2来说,每行的内容是一个组播组的组地址。对于IGMP V3来说,要复杂一些。列表中每一行的格式如下:(4). Report content (r1), the data type is string list, the default value is empty, and the value represents the content of the report message. Each row in the list represents the report content for a group. For IGMP V1 and IGMP V2, the content of each line is the group address of a multicast group. For IGMP V3, it's a bit more complicated. The format of each line in the list is as follows:
组播组地址,类型,源地址1,源地址2,......Multicast group address, type, source address 1, source address 2, ...
类型包括如下几种:Types include the following:
MODE_IS_INCLUDE 1MODE_IS_INCLUDE 1
MODE_IS_EXCLUDE 2MODE_IS_EXCLUDE 2
CHANGE_TO_INCLUDE_MODE 3CHANGE_TO_INCLUDE_MODE 3
CHANGE_TO_EXCLUDE_MODE 4CHANGE_TO_EXCLUDE_MODE 4
ALLOW_NEW_SOURCES 5ALLOW_NEW_SOURCES 5
BLOCK_OLD_SOURCES 6BLOCK_OLD_SOURCES 6
如果参数r1字符串列表中的一行是”224.100.200.3,1,192.168.1.2,192.168.1.3”If a line in the string list of parameter r1 is "224.100.200.3,1,192.168.1.2,192.168.1.3"
则表示加入组播组224.100.200.3,源地址过滤类型为MODE_IS_INCLUDE,源地址列表为192.168.1.2和192.168.1.3,即要求加入组播组224.100.200.3,但是限定组播数据流源地址必须是192.168.1.2或192.168.1.3。It means to join the multicast group 224.100.200.3, the source address filter type is MODE_IS_INCLUDE, the source address list is 192.168.1.2 and 192.168.1.3, that is, it is required to join the multicast group 224.100.200.3, but the source address of the limited multicast data flow must be 192.168 .1.2 or 192.168.1.3.
(5)离开组消息(leave group,lg),数据类型为string list,默认值为空,其值代表离开的组播组的列表,列表中的每一项为一个组播组地址。(5) Leave group message (leave group, lg), data type is string list, default value is empty, its value represents the list of the multicast group that leaves, and each item in the list is a multicast group address.
在下游流接口上,MG还要发送IGMP/MLD查询消息。该查询消息可以是由MG周期自动发送,或者MG指示MG周期发送,或者被上游流接口或者下游流接口的其它事件触发后发送。如果是由MGC指示MG发送IGMP/MLD查询消息,则需要扩展H.248协议。还是以IGMP为例:On the downstream stream interface, the MG also sends IGMP/MLD query messages. The query message may be automatically sent periodically by the MG, or the MG may instruct the MG to send it periodically, or be sent after being triggered by other events on the upstream flow interface or the downstream flow interface. If the MGC instructs the MG to send IGMP/MLD query messages, the H.248 protocol needs to be extended. Or take IGMP as an example:
二、用于MGC指示MG发送IGMP查询消息的事件igmpre。2. The event igmpre used for the MGC to instruct the MG to send an IGMP query message.
该事件包括如下参数:The event includes the following parameters:
(1).接口名(interface name,in),数据类型为octstring,默认值为空,其值为下游流接口的接口名。如果该事件设置在根终端上,则可以通过该参数指示在哪个下游流接口上发送IGMP的查询消息。如果该信号发送在非ROOT终端上而且该终端被指定接口,则不需要设置该参数。(1). Interface name (interface name, in), the data type is octstring, the default value is empty, and its value is the interface name of the downstream flow interface. If this event is set on the root terminal, this parameter can be used to indicate on which downstream stream interface to send the IGMP query message. If the signal is sent on a non-ROOT terminal and the terminal is assigned an interface, this parameter does not need to be set.
(2).版本(ver),数据类型为integer,默认值为3,其值为协议版本,1,2,3分别代表IGMP的版本1,2和3。(2). Version (ver), the data type is integer, the default value is 3, and its value is the protocol version. 1, 2, and 3 represent IGMP versions 1, 2, and 3, respectively.
(3).等待时长(mrc),数据类型为integer,默认值为空,值代表查询消息中的Max Resp Code字段。表示等待响应报告的最大时长。(3). Waiting time (mrc), the data type is integer, the default value is empty, and the value represents the Max Resp Code field in the query message. Indicates the maximum time to wait for a response report.
(4).组播组地址(ga),数据类型为string,默认值为空,值代表查询消息中的组播组地址。(4). Multicast group address (ga), the data type is string, the default value is empty, and the value represents the multicast group address in the query message.
(5).组播源地址列表(sal),数据类型为string list,默认值为空,值代表查询消息中的组播源地址列表。(5). Multicast source address list (sal), the data type is string list, the default value is empty, and the value represents the multicast source address list in the query message.
MG接收到MGC的igmpre信号后,根据信号中的参数构造并发送IGMP的查询消息。After receiving the igmpre signal from the MGC, the MG constructs and sends an IGMP query message according to the parameters in the signal.
在上游流接口上,也需要对H.248协议进行扩展,由MGC指示MG发送IGMP/MLD的报告消息和离开组播组的消息,以及接收到上游路由器的查询消息时由MG通过事件上报给MGC。这就需要MGC维护组播组成员数据库,才能够在收到查询消息的时候生成报告消息。On the upstream flow interface, the H.248 protocol also needs to be extended. The MGC instructs the MG to send IGMP/MLD report messages and messages about leaving the multicast group, and when receiving query messages from upstream routers, the MG reports to the MGC. This requires the MGC to maintain the multicast group member database so that it can generate a report message when it receives a query message.
上游流接口上扩展的事件包括:Events extended on the upstream streaming interface include:
一、信号mrl,用于MGC指示NGW在上游流接口上发送IGMP的报告消息和离开组消息。1. The signal mrl is used by the MGC to instruct the NGW to send an IGMP report message and a leave group message on the upstream flow interface.
该信号包括如下参数:This signal includes the following parameters:
(1).参数接口名(interface name,in),数据类型为octstring,其值为上游流接口的接口名。(1). The parameter interface name (interface name, in), the data type is octstring, and its value is the interface name of the upstream flow interface.
如果该信号发送到根终端上,则可以通过该参数指示在哪个上游流接口上发送IGMP的报告消息。如果该信号被发送到专门创建的临时终端上而且该终端被创建在指定的接口上,则不需要设置该参数。如果MG只有一个上游流接口用于所有的组播组,则也不需要设置该参数。If the signal is sent to the root terminal, this parameter can be used to indicate on which upstream stream interface to send the IGMP report message. If the signal is sent to a specially created temporary terminal and the terminal is created on the specified interface, then this parameter does not need to be set. If the MG has only one upstream stream interface for all multicast groups, this parameter does not need to be set.
(2).版本(ver),数据类型为integer,默认值为3,其值为协议版本,1,2,3分别代表IGMP的版本1,2和3。(2). Version (ver), the data type is integer, the default value is 3, and its value is the protocol version. 1, 2, and 3 represent IGMP versions 1, 2, and 3, respectively.
(3).消息类型(type),数据类型:integer,默认值为1,其值代表消息类型。1代表IGMP的报告消息,2代表IGMP的离开组消息。(3). Message type (type), data type: integer, the default value is 1, and its value represents the message type. 1 represents the IGMP report message, and 2 represents the IGMP leave group message.
(4).报告内容(r1),数据类型为string list,默认值为空,值代表报告消息的内容。列表中每一行代表对于一个组的报告内容。对于IGMP v1和IGMP v2来说,每行的内容是一个组播组的组地址。对于IGMP v3来说,要复杂一些。列表中每一行的格式如下:(4). Report content (r1), the data type is string list, the default value is empty, and the value represents the content of the report message. Each row in the list represents the report content for a group. For IGMP v1 and IGMP v2, the content of each line is the group address of a multicast group. For IGMP v3, it's a bit more complicated. The format of each line in the list is as follows:
组播组地址,类型,源地址1,源地址2,......Multicast group address, type, source address 1, source address 2, ...
类型包括如下几种:Types include the following:
MODE_IS_INCLUDE 1MODE_IS_INCLUDE 1
MODE_IS_EXCLUDE 2MODE_IS_EXCLUDE 2
CHANGE_TO_INCLUDE_MODE 3CHANGE_TO_INCLUDE_MODE 3
CHANGE_TO_EXCLUDE_MODE 4CHANGE_TO_EXCLUDE_MODE 4
ALLOW_NEW_SOURCES 5ALLOW_NEW_SOURCES 5
BLOCK_OLD_SOURCES 6BLOCK_OLD_SOURCES 6
如果参数r1字符串列表中的一行是”224.100.200.3,1,192.168.1.2,192.168.1.3”,则表示加入组播组224.100.200.3,源地址过滤类型为MODE_IS_INCLUDE,源地址列表为192.168.1.2和192.168.1.3,即要求加入组播组224.100.200.3,但是限定组播数据流源地址必须是192.168.1.2或192.168.1.3。If a line in the string list of the parameter r1 is "224.100.200.3, 1, 192.168.1.2, 192.168.1.3", it means joining the multicast group 224.100.200.3, the source address filtering type is MODE_IS_INCLUDE, and the source address list is 192.168.1.2 and 192.168.1.3, that is, it is required to join the multicast group 224.100.200.3, but the source address of the limited multicast data flow must be 192.168.1.2 or 192.168.1.3.
(5).离开组消息(lg),数据类型为string list,默认值为空,其值代表离开的组播组的列表,列表中的每一项为一个组播组地址。(5). Leaving group message (lg), the data type is string list, the default value is empty, and its value represents the list of the leaving multicast group, and each item in the list is a multicast group address.
报告消息和离开组消息也可以通过两个不同的信号指示下发,前面的方法是使用同一个信号来下发,用参数来区分消息类型。The report message and the leaving group message can also be sent through two different signal instructions. The previous method is to use the same signal to send, and use parameters to distinguish the message type.
二、扩展H.248事件rq,MG通过该事件上报在上游流接口接收到的IGMP查询消息。2. Extend the H.248 event rq, through which the MG reports the IGMP query message received at the upstream stream interface.
该事件有如下参数:The event has the following parameters:
(1).接口名(interface name,in),数据类型为octstring,其值为上游流接口的接口名。(1). Interface name (interface name, in), the data type is octstring, and its value is the interface name of the upstream flow interface.
如果事件被设置到根终端上,则可以通过该参数指示在哪个上游流接口上检测IGMP的查询消息。如果该信号被发送到临时终端上而且该终端被指定接口,则不需要设置该参数。如果MG只有一个上游流接口用于所有的组播组,则也不需要设置该参数。If the event is set to the root terminal, this parameter can be used to indicate on which upstream stream interface to detect IGMP query messages. If the signal is sent to a temporary terminal and the terminal is assigned an interface, this parameter does not need to be set. If the MG has only one upstream stream interface for all multicast groups, this parameter does not need to be set.
该事件上报时携带如下参数:The event is reported with the following parameters:
(1).接口名(interface name,in),数据类型为octstring list,其值为检测到事件的上游流接口的接口名。如果该事件设置在非ROOT终端上而且该终端被指定接口,或者MG上只有一个上游流接口,则不需要上报该参数。(1). Interface name (interface name, in), the data type is octstring list, and its value is the interface name of the upstream flow interface that detected the event. If this event is set on a non-ROOT terminal and the terminal is assigned an interface, or there is only one upstream flow interface on the MG, this parameter does not need to be reported.
(2).版本(ver),数据类型:integer,默认值为3,其值为协议版本,1,2,3分别代表IGMP的版本1,2和3。(2). Version (ver), data type: integer, default value is 3, its value is the protocol version, 1, 2, 3 represent IGMP version 1, 2 and 3 respectively.
(3).等待时长(mrc),数据类型为integer,默认值为空,值代表查询消息中的Max Resp Code字段。表示等待响应报告的最大时长。(3). Waiting time (mrc), the data type is integer, the default value is empty, and the value represents the Max Resp Code field in the query message. Indicates the maximum time to wait for a response report.
(4).组播组地址(ga),数据类型为string,默认值为空,值代表查询消息中的组播组地址。(4). Multicast group address (ga), the data type is string, the default value is empty, and the value represents the multicast group address in the query message.
(5).组播源地址(sal),数据类型为string list,默认值为空,值代表查询消息中的组播源地址列表。(5). Multicast source address (sal), the data type is string list, the default value is empty, and the value represents the list of multicast source addresses in the query message.
另外,还需要扩展一些参数用来携带查询消息中的其它字段。In addition, some parameters need to be extended to carry other fields in the query message.
MGC通过该事件获知MG接收到的IGMP查询消息,并进行后续操作,例如发送报告消息等。The MGC learns the IGMP query message received by the MG through this event, and performs subsequent operations, such as sending a report message.
通过上述扩展的H.248包,MGC可以控制MG实现组播组成员管理协议代理的功能。在此基础上,可以进一步实现对组播组成员的准入控制和以及组播资源预留功能;以及在上游流接口所在IP网络和下游流接口所在IP网络之间的组播组地址映射功能和组播数据流源地址映射功能。Through the above-mentioned extended H.248 package, the MGC can control the MG to implement the function of acting as a proxy for the multicast group member management protocol. On this basis, it is possible to further realize the admission control of multicast group members and the multicast resource reservation function; and the multicast group address mapping function between the IP network where the upstream stream interface is located and the IP network where the downstream stream interface is located And multicast data flow source address mapping function.
以方式二进行处理的MGC和MG组成的代理系统为例,实现下游网络中的代理功能的处理流程如图4所示,包括如下步骤:Taking the proxy system composed of MGC and MG for processing in mode 2 as an example, the processing flow for realizing the proxy function in the downstream network is shown in Figure 4, including the following steps:
步骤401:MG在下游流接口上收到IGMP/MLD的报告消息或者离开组播组的消息,并将所收到的消息上报给MGC。Step 401: The MG receives an IGMP/MLD report message or a message of leaving a multicast group on a downstream flow interface, and reports the received message to the MGC.
步骤402:MGC通过本地配置的策略,用户签约信息,资源状态以及MGC上维护的组播组成员数据库中记录的记录,来判断是否需要更新该成员数据库,若是则继续执行步骤403;否则,MGC向MG下发拒绝指示,并结束本流程。Step 402: The MGC judges whether it is necessary to update the member database through the locally configured policy, user subscription information, resource status, and records recorded in the multicast group member database maintained on the MGC, and if so, proceed to step 403; otherwise, the MGC Issue a rejection instruction to the MG, and end this process.
判断是否需要更新组播组成员数据库,可能有多种情况,以下举具体示例进行说明。对于请求加入组播组的报告消息来说,如果该报告消息所要求加入的组播组已经在组播组成员数据库有记录,则不需要对数据库进行更新,否则需要更新,即将该组播组的记录加入到数据库中;对于请求离开组播组的消息来说,需要在收到该离开组播组消息的下游接口上发送特定组查询消息来判断该消息所要离开的组播组在该MG的下游流接口是否还有其它用户在订阅,如果有,则不需要对数据库进行更新,否则需要更新,即将该组播组的记录从数据库中删除。There may be many situations in judging whether to update the multicast group member database, and specific examples are given below to illustrate. For a report message requesting to join a multicast group, if the multicast group required by the report message has been recorded in the multicast group member database, there is no need to update the database; otherwise, it needs to be updated, that is, the multicast group record to the database; for a message requesting to leave a multicast group, it is necessary to send a specific group query message on the downstream interface receiving the message to determine that the multicast group to be left by the message is in the MG Whether there are other users subscribing to the downstream stream interface, if yes, the database does not need to be updated, otherwise it needs to be updated, that is, the record of the multicast group is deleted from the database.
MGC上的本地策略可以包括在MGC上配置下游流接口配置允许组播组地址和/或组播数据流源地址列表,和/或在下游流接口配置禁止组播组地址和/或组播数据流源地址列表。则该步骤所述判断中,可能包括如下子判断:The local policy on the MGC may include configuring the downstream flow interface on the MGC to allow the multicast group address and/or the multicast data flow source address list, and/or configuring the downstream flow interface to prohibit the multicast group address and/or multicast data A list of stream source addresses. Then the judgment in this step may include the following sub-judgments:
402A、MGC判断所述报告消息或离开组播组的消息中携带的组播组地址和/或组播数据流源地址,是否在所述允许组播组地址和/或组播数据流源地址列表中,或者是否不在所述禁止组播组地址和/或组播数据流源地址列表中,若是,则继续执行其它子判断;否则,MGC向MG下发拒绝指示。402A. The MGC judges whether the multicast group address and/or the source address of the multicast data flow carried in the report message or the message of leaving the multicast group is within the allowed multicast group address and/or the source address of the multicast data flow. list, or whether it is not in the prohibited multicast group address and/or multicast data stream source address list, if yes, continue to execute other sub-judgments; otherwise, the MGC sends a rejection instruction to the MG.
MGC上的本地策略还可以包括在MGC上配置在下游流接口允许接入的总带宽,以及各个组播组和/或组播数据流源地址的优先级;则所述判断可以包括如下子判断:The local strategy on the MGC may also include configuring the total bandwidth allowed on the downstream flow interface on the MGC, and the priority of each multicast group and/or source address of the multicast data flow; then the judgment may include the following sub-judgments :
402B、判断所述报告消息对应的组播的带宽与该下游流接口已有的组播带宽之和,是否大于所述允许接入的总带宽,若否,继续执行其它子判断;根据所述报告消息携带的组播组和/或组播数据流源地址的优先级判断是否允许所述报告消息对应的组播,若是,则继续执行其它子判断;否则,向MG下发拒绝指示。402B. Judging whether the sum of the multicast bandwidth corresponding to the report message and the existing multicast bandwidth of the downstream stream interface is greater than the total bandwidth allowed for access, if not, continue to execute other sub-judgments; according to the The priority judgment of the multicast group and/or multicast data flow source address carried in the report message whether to allow the multicast corresponding to the report message, if so, continue to execute other sub-judgments; otherwise, send a rejection instruction to the MG.
步骤403:更新MGC上的组播组成员数据库。Step 403: Update the multicast group member database on the MGC.
步骤404:MGC向MG下发在上游流接口上向上游网络发送报告消息或者离开组播组消息的指示。Step 404: The MGC issues an instruction to the MG to send a report message or leave a multicast group message to the upstream network on the upstream stream interface.
上述流程中,在转发消息到上游流接口时,由于向上游流接口发送的报告消息或离开组播组消息的内容可以由MGC在信号参数中指示,所以MGC可以指示MG完成上游网络和下游网络之间的组播组地址映射功能和组播数据流源地址映射功能,即将消息中的按照下游网络规划的组播组地址和/或组播数据源地址映射为按照上游网络规划的组播组地址和/或组播数据源地址。In the above process, when forwarding the message to the upstream flow interface, since the content of the report message or the message leaving the multicast group sent to the upstream flow interface can be indicated by the MGC in the signal parameters, the MGC can instruct the MG to complete the upstream network and downstream network The multicast group address mapping function and the multicast data flow source address mapping function, that is, the multicast group address and/or multicast data source address in the message according to the downstream network planning are mapped to the multicast group according to the upstream network planning address and/or multicast data source address.
该代理系统实现上游网络中的代理功能的处理流程如图5所示,包括如下步骤:The processing flow of the proxy system to realize the proxy function in the upstream network is shown in Figure 5, including the following steps:
步骤501:MG收到上游流接口上的查询消息后,将查询消息上报给MGC;Step 501: After receiving the query message on the upstream stream interface, the MG reports the query message to the MGC;
步骤502:MGC根据所述查询消息对所述组播组成员数据库的内容进行查找,如果上游网络和下游网络之间的组播组地址和/或组播源地址有映射关系,查找时也要予以考虑,例如,可以将需要匹配的双方地址统一到同一网络中;若搜索到匹配的内容,则执行步骤503;Step 502: The MGC searches the contents of the multicast group member database according to the query message. If there is a mapping relationship between the multicast group address and/or the multicast source address between the upstream network and the downstream network, the MGC also needs to search for the contents of the multicast group membership database. Considering that, for example, the addresses of both parties that need to be matched can be unified into the same network; if the matching content is found, then step 503 is executed;
步骤503:MGC指示所述MG在上游流接口向上游网络发送报告消息;Step 503: The MGC instructs the MG to send a report message to the upstream network on the upstream stream interface;
根据方式一进行的处理流程可参照上述图4和图5的流程,不同之处在于省略了MG和MGC的交互,MGC上的处理过程都转移到MG上来完成。The processing flow according to the first mode can refer to the above-mentioned flow in Fig. 4 and Fig. 5, the difference is that the interaction between the MG and the MGC is omitted, and the processing on the MGC is transferred to the MG for completion.
依据下游流接口上接收到的报告消息和离开组播组消息,MG可以维护下游流接口上的组播组成员状态,但是MGC可能因为用户权限等原因拒绝下游网络用户的加入组播组请求,如果在MG上维护了各下游流接口上的组播组用户订阅状况,而用户上报的加入组播组请求被拒绝时,需要MGC向MG指示,避免MG错误地更新下游接口上的组播组订阅状况。指示的方式可以采取如下两种方式:According to the report message and leaving multicast group message received on the downstream flow interface, the MG can maintain the multicast group membership status on the downstream flow interface, but the MGC may reject the downstream network user's request to join the multicast group due to reasons such as user rights. If the subscription status of multicast group users on each downstream interface is maintained on the MG, and the request to join the multicast group reported by the user is rejected, the MGC needs to indicate to the MG to prevent the MG from mistakenly updating the multicast group on the downstream interface Subscription status. There are two ways to indicate:
1.在MG上报事件,向MGC上报用户加入组播组时,MGC在应答消息中返回错误码,表明不允许加入;1. When the MG reports the event and reports to the MGC that the user joins the multicast group, the MGC returns an error code in the response message, indicating that the user is not allowed to join;
2.MGC通过另外的消息中携带的信号等指示拒绝之前上报的要求加入组播组的请求。2. The MGC indicates to reject the previously reported request to join the multicast group through a signal carried in another message.
还有一种方式用来保证MG维护正确的各下游流接口上的组播组用户订阅状况。MGC上根据接收到的MG上报的加入组播组消息和离开组播组消息也可以获得各下游流接口上的组播组订阅状况,在经过MGC的策略控制后,可能要拒绝一些组播订阅请求,这些被拒绝的组播订阅请求不用来更新下游流接口上的组播组订阅状况,也不用来更新成员数据库。MGC还可以通过业务层或者应用层的信令流中获得的信息获得下游网络中主机的组播组订阅状况。下游流接口上的组播组订阅状况发生改变时,MGC可以向MG通过扩展的H.248消息进行更新,更新的信息包括该接口上加入的组播组,源地址过滤条件以及源地址列表。扩展的方法比较简单,这里就不详细描述了。There is another way to ensure that the MG maintains the correct subscription status of multicast group users on each downstream flow interface. The MGC can also obtain the multicast group subscription status on each downstream flow interface according to the received message of joining a multicast group and leaving a multicast group reported by the MG. After the policy control of the MGC, some multicast subscriptions may be rejected These rejected multicast subscription requests are not used to update the multicast group subscription status on the downstream stream interface, nor are they used to update the membership database. The MGC can also obtain the multicast group subscription status of the hosts in the downstream network through the information obtained in the signaling flow of the service layer or the application layer. When the subscription status of the multicast group on the downstream stream interface changes, the MGC can update the MG through an extended H.248 message. The updated information includes the multicast group joined on the interface, source address filter conditions, and source address list. The extension method is relatively simple and will not be described in detail here.
MG维护了各下游流接口上的组播组用户订阅状况,MG可以进一步根据这些信息推导出组播组成员数据库的记录,那么,在收到上游流接口上的查询消息时,可以进行自动应答,而不需要向MGC上报后,等MGC指示进行应答。在MG上的组播组成员数据库发生变化的情况下向上游流接口主动发送报告消息或者离开组播组消息。The MG maintains the subscription status of multicast group users on each downstream flow interface. The MG can further derive the records of the multicast group membership database based on these information. Then, when receiving the query message on the upstream flow interface, it can automatically answer , without reporting to the MGC, and waiting for an instruction from the MGC to respond. When the multicast group member database on the MG changes, it actively sends a report message or a leave multicast group message to the upstream flow interface.
如果MGC维护上游网络和下游网络之间的组播组地址映射关系和/或组播数据流源地址映射关系,则MGC可以扩展H.248协议将相关的上游网络和下游网络之间的组播组地址映射关系和/或组播数据流源地址映射关系也下发给MG,MG也需要结合该映射信息才能根据各下游接口上的组播组订阅状况进行组播数据流的转发。在转发组播数据流的时候,如果组播组地址和/或组播数据流源地址有映射关系,MG需要按照映射关系修改数据流上的被映射的地址。If the MGC maintains the multicast group address mapping relationship and/or multicast data stream source address mapping relationship between the upstream network and the downstream network, the MGC can extend the H.248 protocol to The group address mapping relationship and/or the multicast data stream source address mapping relationship are also delivered to the MG, and the MG also needs to combine the mapping information to forward the multicast data stream according to the multicast group subscription status on each downstream interface. When forwarding the multicast data flow, if there is a mapping relationship between the multicast group address and/or the source address of the multicast data flow, the MG needs to modify the mapped address on the data flow according to the mapping relationship.
该映射关系如果比较固定,也可以配置到MG上,MGC可以通过H.248消息对该配置进行更新。If the mapping relationship is relatively fixed, it can also be configured on the MG, and the MGC can update the configuration through an H.248 message.
MG向MGC上报接收到的组播组成员管理协议消息,这样可能会产生大量的消息交互,实际上,可以进行优化,对于冗余的消息,MG可以不用上报,例如不会影响到下游流接口上的组播组成员信息的消息,就可以考虑不必上报,因为对这种消息,MGC的进行准入控制的结果并不会影响到MG对组播数据流的转发。The MG reports the received multicast group membership management protocol message to the MGC, which may generate a large number of message interactions. In fact, it can be optimized. For redundant messages, the MG does not need to report, for example, it will not affect the downstream flow interface. It may be considered unnecessary to report the message of multicast group member information on the Internet, because for this kind of message, the admission control result of the MGC will not affect the forwarding of the multicast data flow by the MG.
另外,MG在下游流接口上发送查询消息的机制可能有几种情况。下游流接口上如果收到了退出组播组的消息,需要发送查询消息判断该下游网络上是否还有其它的该组播组的用户。下游流接口上还可以有周期查询的机制,避免因为组播组成员管理协议消息在IP网络中丢失,或者下游网络中主机在发出退出组播组消息前就离开网络,造成下游流接口上的组播组用户订阅状况和实际网络中的情况不符合。另外,如果上游流接口上收到查询消息,在查找成员数据库的机制外,可增加向下游流进行查询的机制,以及时更新成员数据库和下游流接口上的组播组订阅状况。In addition, the mechanism for the MG to send query messages on the downstream flow interface may have several situations. If the downstream stream interface receives the message of quitting the multicast group, it needs to send a query message to determine whether there are other users of the multicast group on the downstream network. There can also be a periodic query mechanism on the downstream flow interface to avoid the loss of the multicast group member management protocol message in the IP network, or the host in the downstream network leaves the network before sending out the exit multicast group message, causing the downstream flow interface to fail. The subscription status of multicast group users does not match that of the actual network. In addition, if a query message is received on the upstream flow interface, in addition to the mechanism for searching the member database, a mechanism for querying the downstream flow can be added to update the member database and the multicast group subscription status on the downstream flow interface in time.
前面描述的MG上配置和MGC控制的两种方法不互斥,而是可以结合在一起使用。例如,部分功能可以配置在MG上自动完成,一些配置还可以通过MGC指示更新,而部分功能可以通过方案二由MGC控制MG上报以及发送IGMP/MLD消息。The two methods of configuration on the MG and MGC control described above are not mutually exclusive, but can be used together. For example, some functions can be configured automatically on the MG, and some configurations can be updated through the MGC instruction, and some functions can be reported by the MG under the control of the MGC and send IGMP/MLD messages through solution 2.
本发明中定义的事件如果不是永久事件,则需要由MGC向MG设置,如果是永久事件,则MG可以自动检测并且上报该事件。If the event defined in the present invention is not a permanent event, it needs to be set by the MGC to the MG. If it is a permanent event, the MG can automatically detect and report the event.
前面描述的方法解决了上游流接口和下游流接口上IGMP/MLD协议的相关处理问题。MG还需要对相关的组播数据流进行处理和转发。The method described above solves the related processing problems of the IGMP/MLD protocol on the upstream flow interface and the downstream flow interface. The MG also needs to process and forward related multicast data streams.
如果MGC将前面定义的信号和事件下发到MG的根终端上,则MG在上游流接口上接收到组播数据流后根据下游流接口的组播组成员状态,也就是下游接口上的组播订阅(subscription)状况,将组播数据流转发到需要转发的下游流接口上。另外,MG是否作为下游网络的查询器也是一个参考条件,如果不是查询器,则不需要转发组播数据流。如果需要对上游流接口所在IP网络和下游流接口所在IP网络之间的组播组地址和/或组播数据流源地址作映射,则相应的在转发数据流的时候要修改数据流的目的地址(组播组地址)和/或组播数据流源地址,以符合映射关系。If the MGC sends the previously defined signals and events to the root terminal of the MG, after the MG receives the multicast data stream on the upstream flow interface, it will Broadcast subscription (subscription) status, and forward the multicast data flow to the downstream flow interface that needs to be forwarded. In addition, whether the MG serves as the querier of the downstream network is also a reference condition. If it is not a querier, it does not need to forward the multicast data flow. If it is necessary to map the multicast group address and/or source address of the multicast data flow between the IP network where the upstream flow interface is located and the IP network where the downstream flow interface is located, the purpose of the data flow should be modified accordingly when the data flow is forwarded Address (multicast group address) and/or source address of multicast data flow to conform to the mapping relationship.
如图6所示,如果MGC将前述定义的信号和事件下发到MG上被指定接口的临时终端上,这里将被指定上游流接口的终端称为上游流接口终端,将被指定下游流接口的终端称为下游流接口终端。可以将这些终端放在同一个上下文中,拓扑关系为从上游流接口终端到下游流接口终端单向。As shown in Figure 6, if the MGC sends the above-defined signals and events to the temporary terminal of the designated interface on the MG, the terminal designated as the upstream flow interface is called the upstream flow interface terminal, and it will be designated as the downstream flow interface The terminal of is called the downstream stream interface terminal. These terminals can be placed in the same context, and the topological relationship is unidirectional from the upstream stream interface terminal to the downstream stream interface terminal.
根据上述方案一,MG的内部结构框图如图7所示,包括:According to the above scheme 1, the internal structure block diagram of MG is shown in Figure 7, including:
接口配置模块701,用于将MG连接分组子网的接口配置为上游流接口或下游流接口。接口配置模块701可以将连接分组子网的接口配置为与特定组播组地址和/或组播源地址绑定的上游流接口。The interface configuration module 701 is configured to configure the interface connecting the MG to the packet subnet as an upstream flow interface or a downstream flow interface. The interface configuration module 701 may configure the interface connected to the packet subnet as an upstream flow interface bound to a specific multicast group address and/or multicast source address.
组播组数据库模块702,用于存储所述MG的所有下游流接口总的组播订阅状况;A multicast group database module 702, configured to store the total multicast subscription status of all downstream stream interfaces of the MG;
代理转发模块703,用于根据在上游流接口接收的查询消息,对所述组播组数据库模块702中的内容进行搜索,若搜索到匹配的内容,则在上游流接口向上游网络发送报告消息;或者,根据下游流接口接收的报告消息或离开组播组的消息更新所述组播组数据库模块702中的内容,并判断所述组播组成员数据库是否发生变化,若是,则在上游流接口上向上游网络发送报告消息或者离开组播组消息。The proxy forwarding module 703 is configured to search the content in the multicast group database module 702 according to the query message received at the upstream flow interface, and if a matching content is found, send a report message to the upstream network at the upstream flow interface Or, update the content in the multicast group database module 702 according to the report message received by the downstream flow interface or the message leaving the multicast group, and judge whether the multicast group membership database changes, if so, in the upstream flow The interface sends report messages or leave multicast group messages to the upstream network.
代理转发模块703中还可以包括:The proxy forwarding module 703 may also include:
订阅状况记录单元,用于记录MG的每个下游流接口的组播订阅情况;A subscription status recording unit, configured to record the multicast subscription status of each downstream stream interface of the MG;
组播数据流转发单元,用于将所述MG上游流接口接收的组播数据流,根据所述订阅状况记录单元中的内容找到相应的下游流接口,并将所述组播数据流转发到所述下游流接口。The multicast data flow forwarding unit is used to find the corresponding downstream flow interface according to the content in the subscription status recording unit for the multicast data flow received by the MG upstream flow interface, and forward the multicast data flow to the downstream stream interface.
接入控制模块704,用于在下游流接口配置允许组播组地址和/或组播数据流源地址列表,或者在下游流接口配置禁止组播组地址和/或组播数据流源地址列表,根据下游流接口接收的报告消息中携带的组播组地址和/或组播数据流源地址,判断是否对来自下游流接口的组播组成员管理协议消息进行处理,若是,则通知所述代理转发模块703进行相应处理。The access control module 704 is configured to configure a list of allowed multicast group addresses and/or multicast data flow source addresses on the downstream flow interface, or configure a list of forbidden multicast group addresses and/or multicast data flow source addresses on the downstream flow interface , according to the multicast group address and/or multicast data flow source address carried in the report message received by the downstream flow interface, determine whether to process the multicast group member management protocol message from the downstream flow interface, and if so, notify the The proxy forwarding module 703 performs corresponding processing.
接入控制模块704还进一步包括:The access control module 704 further includes:
带宽控制单元,用于在下游流接口配置允许接入的总带宽,并判断下游流接口接收的报告消息对应的组播的带宽与该下游流接口已有的组播带宽之和,是否大于所述允许接入的总带宽,若否,则通知所述代理转发模块703进行相应处理;The bandwidth control unit is used to configure the total bandwidth allowed to be accessed on the downstream flow interface, and judge whether the sum of the multicast bandwidth corresponding to the report message received by the downstream flow interface and the existing multicast bandwidth of the downstream flow interface is greater than the specified The total bandwidth allowed to be accessed, if not, then notify the agent forwarding module 703 to perform corresponding processing;
和/或,and / or,
优先级控制单元,用于配置各个组播组和/或组播数据流源地址的优先级,根据下游流接口接收的报告消息携带的组播组和/或组播数据流源地址的优先级,判断是否通知所述代理转发模块703进行相应处理。A priority control unit, configured to configure the priority of each multicast group and/or multicast data flow source address, according to the priority of the multicast group and/or multicast data flow source address carried in the report message received by the downstream flow interface , to determine whether to notify the proxy forwarding module 703 to perform corresponding processing.
地址映射模块705,用于配置在上游网络和下游网络之间的组播组地址和/或组播数据流源地址的映射关系;并根据所配置的映射关系,将下游流接口接收的组播组成员管理协议消息中的组播组地址和/或组播数据流源地址,修改为上游网络的组播组地址和/或组播数据流源地址;并将修改后的消息交给代理转发模块703进行转发;The address mapping module 705 is used to configure the mapping relationship between the multicast group address and/or the source address of the multicast data flow between the upstream network and the downstream network; and according to the configured mapping relationship, the multicast received by the downstream flow interface The multicast group address and/or multicast data flow source address in the group member management protocol message is modified to the multicast group address and/or multicast data flow source address of the upstream network; and the modified message is forwarded to the agent Module 703 forwards;
和/或,根据所述映射关系,将上游流接口接收的组播数据流中的组播组地址和/或组播数据流源地址,修改为下游网络的组播组地址和/或组播数据流源地址,并将修改后的组播数据流交给代理转发模块703进行转发。And/or, according to the mapping relationship, modify the multicast group address and/or multicast data flow source address in the multicast data flow received by the upstream flow interface to the multicast group address and/or multicast data flow of the downstream network source address of the data stream, and forward the modified multicast data stream to the agent forwarding module 703 for forwarding.
配置管理模块706,用于根据来自MGC的配置或更新命令,对所述接口配置模块701、接入控制模块704或地址映射模块705的配置进行设置或更新。The configuration management module 706 is configured to set or update the configuration of the interface configuration module 701 , the access control module 704 or the address mapping module 705 according to a configuration or update command from the MGC.
组播组定时器模块707,用于维护组播组定时器,并根据所维护的组播组定时器,或者所维护的组播组定时器和所述代理转发模块703接收的组播组成员管理协议消息更新所述组播组成员数据库模块702的内容。组播组定时器模块707中可能维护不止一个定时器,如前文提到的组成员关系间隔定时器、查询间隔定时器、主动报告间隔定时器以及查询响应间隔定时器。The multicast group timer module 707 is used to maintain the multicast group timer, and according to the maintained multicast group timer, or the maintained multicast group timer and the multicast group members received by the proxy forwarding module 703 The management protocol message updates the contents of the multicast group membership database module 702 . The multicast group timer module 707 may maintain more than one timer, such as the aforementioned group membership interval timer, query interval timer, active report interval timer, and query response interval timer.
查询消息发送模块708,用于在满足预先设置的触发条件的情况下,在下游流接口发送查询消息;所述触发条件包括:A query message sending module 708, configured to send a query message on a downstream stream interface when a preset trigger condition is met; the trigger condition includes:
组播组定时器707中维护的组播组定时器超时,具体地说,该组播定时器可以是查询间隔定时器或查询响应间隔定时器;The multicast group timer maintained in the multicast group timer 707 expires, specifically, the multicast timer can be a query interval timer or a query response interval timer;
和/或,在下游流接口收到离开组播组消息;And/or, a leave multicast group message is received on the downstream stream interface;
和/或,所述代理转发模块703根据上游流接口接收的查询消息对组播组成员数据库的内容进行查找,查找不到匹配的内容。And/or, the proxy forwarding module 703 searches the content of the multicast group member database according to the query message received by the upstream stream interface, but no matching content can be found.
根据上述方案二,本发明实施例的MGC包括:According to the above scheme two, the MGC in the embodiment of the present invention includes:
接收模块,用于接收MG上报的组播组成员管理协议消息;A receiving module, configured to receive a multicast group member management protocol message reported by the MG;
第二组播组数据库模块,用于维护所述MG的所有下游流接口总的组播订阅状况;根据所述接收模块接收的组播组成员管理协议消息,对所维护的组播订阅状况进行更新或搜索,并将更新或搜索的结果通知组播指令下发模块;The second multicast group database module is used to maintain the total multicast subscription status of all downstream stream interfaces of the MG; according to the multicast group member management protocol message received by the receiving module, the maintained multicast subscription status is carried out Update or search, and notify the multicast instruction issuing module of the update or search result;
下发模块,用于根据更新或搜索的结果,向MG下发相应指示。The issuing module is configured to issue corresponding instructions to the MG according to the update or search results.
其中,第二组播组数据库模块还可以包括策略决定单元,用于根据本地配置的策略、用户签约信息、资源状况或以上信息的任意组合更新所述第二组播组成员数据库模块中的组播订阅状况。Wherein, the second multicast group database module may also include a policy decision unit, which is used to update the group in the second multicast group member database module according to locally configured policies, user subscription information, resource status, or any combination of the above information. broadcast subscription status.
所述MGC还可以进一步包括地址映射模块,用于配置在上游网络和下游网络之间的组播组地址和/或组播数据流源地址的映射关系;并根据所配置的映射关系,将MG上报的下游流接口接收的组播组成员管理协议消息中的组播组地址和/或组播数据流源地址,修改为上游网络的组播组地址和/或组播数据流源地址,并将所述上游网络的组播组地址和/或组播数据流源地址通过所述下发模块发送至MG。The MGC may further include an address mapping module configured to configure the mapping relationship between the multicast group address and/or the source address of the multicast data flow between the upstream network and the downstream network; and according to the configured mapping relationship, the MG The multicast group address and/or multicast data flow source address in the multicast group member management protocol message received by the reported downstream flow interface is modified to the multicast group address and/or multicast data flow source address of the upstream network, and Send the multicast group address and/or multicast data stream source address of the upstream network to the MG through the sending module.
MLD协议和IGMP协议类似,IGMP的报告消息,离开组消息和查询消息分别和MLD的组播侦听器报告(Multicast Listener Report)消息,组播侦听器完成(Multicast Listener Done)消息和组播侦听器查询(Multicast ListenerQuery)消息对应,消息的内容基本相同,主要差别在于组播组地址和源地址都是IPV6地址,这里就不赘述其实现细节了。The MLD protocol is similar to the IGMP protocol. IGMP report messages, leave group messages, and query messages are respectively related to MLD's Multicast Listener Report (Multicast Listener Report) message, Multicast Listener Done (Multicast Listener Done) message and multicast The listener query (Multicast ListenerQuery) message corresponds, and the content of the message is basically the same, the main difference is that the multicast group address and the source address are both IPV6 addresses, and the details of its implementation will not be described here.
本发明方案通过扩展H.248协议,使MG和MGC组成组播组成员管理协议代理系统,并配置上游流接口和下游流接口,以及组播组成员数据库,能够使MG转发组播消息以及组播数据流。The solution of the present invention expands the H.248 protocol to enable MG and MGC to form a multicast group member management protocol proxy system, configure upstream stream interfaces, downstream stream interfaces, and a multicast group member database, and enable MG to forward multicast messages and group members. broadcast data stream.
如果IGMP/MLD代理处于IPv4和IPv6网络之间,一边运行IGMP而另一边运行MLD,则无法正常工作。如果IGMP/MLD代理两侧的组播组地址和/或组播源地址的配置不一致,之间需要映射。例如,下游流接口上的对组播组G1的请求,其中携带的组播组地址为S1,S1为下游网络地址规划中的地址标识;在上游流接口上,组播组地址必须依照上游网络的地址规划,该组播组地址在上游网络的地址规划中表示为S2,因此需要将S1映射为S2。本发明方案引入了地址映射,使IGMP/MLD代理能够正确处理。If the IGMP/MLD proxy is between IPv4 and IPv6 networks, running IGMP on one side and MLD on the other side, it will not work properly. If the configurations of the multicast group address and/or multicast source address on both sides of the IGMP/MLD proxy are inconsistent, mapping is required. For example, the request for the multicast group G1 on the downstream stream interface carries the multicast group address S1, and S1 is the address identifier in the downstream network address planning; on the upstream stream interface, the multicast group address must follow the upstream network The address plan of the multicast group is represented as S2 in the address plan of the upstream network, so S1 needs to be mapped to S2. The solution of the invention introduces address mapping, so that the IGMP/MLD agent can handle it correctly.
另外,本发明方案还引入准入控制功能,根据用户权限对用户加入组播组的请求进行过滤,IGMP/MLD代理通过接收到的组播组成员管理协议消息来维护成员数据库,并为此来作为发送组播组成员管理协议消息的依据。In addition, the solution of the present invention also introduces the admission control function, which filters the user's request to join the multicast group according to the user's authority, and the IGMP/MLD agent maintains the member database through the received multicast group member management protocol message, and for this purpose As the basis for sending multicast group member management protocol messages.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention should be included in the protection of the present invention. within range.
Claims (37)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101405880A CN101369994A (en) | 2007-08-15 | 2007-08-15 | A method, device and system for implementing multicast group membership management protocol proxy |
PCT/CN2008/071941 WO2009024054A1 (en) | 2007-08-15 | 2008-08-11 | A method, device and system for realizing the management protocol agent for members in a multicast group |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101405880A CN101369994A (en) | 2007-08-15 | 2007-08-15 | A method, device and system for implementing multicast group membership management protocol proxy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101369994A true CN101369994A (en) | 2009-02-18 |
Family
ID=40377843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101405880A Pending CN101369994A (en) | 2007-08-15 | 2007-08-15 | A method, device and system for implementing multicast group membership management protocol proxy |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101369994A (en) |
WO (1) | WO2009024054A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521927B (en) * | 2009-04-03 | 2012-09-05 | 中兴通讯股份有限公司 | Method and system for restraining multicast transmitting path |
CN102984074A (en) * | 2012-11-29 | 2013-03-20 | 北京交通大学 | Multicast routing optimization method based on multiple-upstream-interface IGMP/MLD proxy |
CN104539544A (en) * | 2014-12-09 | 2015-04-22 | 上海斐讯数据通信技术有限公司 | Management method and system based on Internet group management protocol |
US9641649B2 (en) | 2012-02-21 | 2017-05-02 | Futurewei Technologies, Inc. | IGMP/MLD translation |
CN110674157A (en) * | 2019-09-29 | 2020-01-10 | 成都吉胜科技有限责任公司 | Data caching method based on local area network |
CN111835881A (en) * | 2020-06-24 | 2020-10-27 | 珠海中慧微电子有限公司 | Beacon signaling protocol design method for broadband carrier communication network |
CN113691462A (en) * | 2021-07-29 | 2021-11-23 | 杭州迪普科技股份有限公司 | Response method and device of Internet group management protocol |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118018341A (en) * | 2023-12-13 | 2024-05-10 | 天翼云科技有限公司 | A method for realizing intra-cloud and inter-cloud multicast function by virtual instances in a public cloud |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998048343A1 (en) * | 1997-04-23 | 1998-10-29 | Motorola Inc. | System, device, and method for managing multicast group memberships in a multicast network |
ATE415025T1 (en) * | 2003-12-23 | 2008-12-15 | Motorola Inc | ROUTE-OPTIMIZED MULTICAST TRAFFIC FOR A MOBILE NETWORK NODE |
CN100366032C (en) * | 2005-10-14 | 2008-01-30 | 清华大学 | Hierarchical Mobile Multicast Method Based on Fast Multicast Handover |
-
2007
- 2007-08-15 CN CNA2007101405880A patent/CN101369994A/en active Pending
-
2008
- 2008-08-11 WO PCT/CN2008/071941 patent/WO2009024054A1/en active Application Filing
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521927B (en) * | 2009-04-03 | 2012-09-05 | 中兴通讯股份有限公司 | Method and system for restraining multicast transmitting path |
US9641649B2 (en) | 2012-02-21 | 2017-05-02 | Futurewei Technologies, Inc. | IGMP/MLD translation |
CN104285413B (en) * | 2012-02-21 | 2018-02-16 | 华为技术有限公司 | A data packet conversion device and method |
CN102984074A (en) * | 2012-11-29 | 2013-03-20 | 北京交通大学 | Multicast routing optimization method based on multiple-upstream-interface IGMP/MLD proxy |
CN102984074B (en) * | 2012-11-29 | 2015-12-09 | 北京交通大学 | Based on the multicast routing optimization method that many Upstream Interface IGMP/MLD acts on behalf of |
CN104539544A (en) * | 2014-12-09 | 2015-04-22 | 上海斐讯数据通信技术有限公司 | Management method and system based on Internet group management protocol |
CN110674157A (en) * | 2019-09-29 | 2020-01-10 | 成都吉胜科技有限责任公司 | Data caching method based on local area network |
CN110674157B (en) * | 2019-09-29 | 2022-04-19 | 成都吉胜科技有限责任公司 | Data caching method based on local area network |
CN111835881A (en) * | 2020-06-24 | 2020-10-27 | 珠海中慧微电子有限公司 | Beacon signaling protocol design method for broadband carrier communication network |
CN111835881B (en) * | 2020-06-24 | 2022-07-12 | 珠海中慧微电子有限公司 | Beacon signaling protocol design method for broadband carrier communication network |
CN113691462A (en) * | 2021-07-29 | 2021-11-23 | 杭州迪普科技股份有限公司 | Response method and device of Internet group management protocol |
CN113691462B (en) * | 2021-07-29 | 2023-09-15 | 杭州迪普科技股份有限公司 | Response method and device of Internet group management protocol |
Also Published As
Publication number | Publication date |
---|---|
WO2009024054A1 (en) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8582572B2 (en) | Methods and apparatus for managing multicast traffic | |
US7623517B2 (en) | Multicast packet forwarding equipment | |
US9252963B2 (en) | Performing multicast communication in computer networks by using overlay routing | |
CN100442776C (en) | The Method of Realizing Multicast Forwarding on Layer 3 Switch | |
EP1715628B1 (en) | A method for realizing the multicast service | |
CN101369994A (en) | A method, device and system for implementing multicast group membership management protocol proxy | |
US7443851B2 (en) | Device and system for multicast communication | |
US8085770B2 (en) | Method of transporting a multipoint stream in a local area network and device for connection implementing the method | |
CN102057623B (en) | Method for obtaining terminal status | |
CN102215172B (en) | A kind of method and system for realizing cross-virtual private local area network multicast | |
WO2006081750A1 (en) | A process method for filtering multicast source | |
WO2009030143A1 (en) | Multicast routing method and system, media gateway and media gateway controller | |
JP5548696B2 (en) | Multicast quality of service module and method | |
CN101222425B (en) | Multicast forwarding method and multicast router | |
CN100477635C (en) | Inter-domain multicast transmission method and edge device | |
CN101155148B (en) | Method, system and device for publishing and receiving multicast data by media gateway | |
CN100440863C (en) | Implementation method of the specific source static group function of the extended routing function | |
CN101409629B (en) | Method, apparatus and system for establishing multicast transmission path and implementing multicast transmission | |
An | How IP Multicast Works | |
Koh et al. | Managing group operations in IP multicast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090218 |