WO2019029698A1 - 一种组播业务控制方法和装置、计算机可读存储介质 - Google Patents
一种组播业务控制方法和装置、计算机可读存储介质 Download PDFInfo
- Publication number
- WO2019029698A1 WO2019029698A1 PCT/CN2018/099946 CN2018099946W WO2019029698A1 WO 2019029698 A1 WO2019029698 A1 WO 2019029698A1 CN 2018099946 W CN2018099946 W CN 2018099946W WO 2019029698 A1 WO2019029698 A1 WO 2019029698A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bit
- multicast service
- path
- allocated
- forwarding table
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- 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
-
- 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/1845—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
Definitions
- the present invention relates to communication technologies, and more particularly to a multicast service control method and apparatus, and a computer readable storage medium.
- Bit Indexed Explicit Replication is a multicast data forwarding technology that divides a multicast network into BIER domains, including a Bit-Forwarding Ingress Router (BFIR) and an egress node (Bit). -Forwarding Egress Routers (BFER), which uses BitPosition (BP) to identify the destination node.
- the Bit-Forwarding Forwarding Router (BFR) generates a BIER forwarding table based on the routing table and BIER information (Bit Index).
- the Forwarding Table (BIFT) refers to the BFR forwarding and copying multicast packets according to the bit string (BitString, BST for short) and BIFT in the BIER header encapsulation carried in the multicast packet.
- the forwarding table in the BIER technology is generated based on the routing table.
- the forwarding table can only specify which BFERs need to receive packets, but cannot explicitly specify the forwarding path of the packets.
- Draft-eckert-bier-te-arch-04 proposes a BIER forwarding architecture based on traffic engineering, called BIER-TE technology, which introduces the BIER-TE controller layer, sends a forwarding table through the controller, and uses the path algorithm. Calculate the path and forward the packet in an explicit hop-by-hop mode.
- BIER-TE the link between each adjacent node and the set of links are collectively referred to as adjacency.
- BIER-TE no longer uses the BP in BitString to identify the destination node, but instead identifies one or more adjacencies and generates forwarding entries based on the BP.
- the existing BIER-TE solution does not clearly define the allocation principle of the adjacency BP in the network. If the allocation is full according to the existing network topology, not only the flexibility is poor, but the flexible adjustment and optimization of resources cannot be realized, and it is highly likely that the same path is caused.
- the packets are forwarded in different BitStrings, causing the multicast packet forwarding to be interrupted or failed.
- At least one embodiment of the present invention provides a multicast service control method and apparatus, and a computer readable storage medium to implement dynamic resource allocation.
- At least one embodiment of the present invention provides a multicast service control method, including: a controller acquiring an ingress node and each egress node information of a multicast service, and determining the ingress node to the egress a path set of the node; the controller allocates a bit for the contiguous passage of the path set; the controller generates a forwarding table according to the bit allocated for all the contiguous paths of the path set, and sends a forwarding table to a forwarding node that passes the path set; the controller determines bit bit string information corresponding to the multicast service, and sends the bit bit string information to an ingress node of the multicast service.
- the controller allocates a bit for the contiguous passage of the path set, including: each allocated bit in the same path when the bit is allocated for the contiguous path set.
- One bit exists in the same set consisting of a sub-domain identifier, a subset identifier, and a bit string length.
- the controller allocates a bit for the contiguous passage of the path set, including: if the contiguous bits of the K paths in the path set are unallocated bits, the K paths are Allocating M sets of sub-domain identifiers, subset identifiers, and bit string lengths, and assigning bits to each adjacency of the K-paths, assigning one sub-domain identifier to each neighbor of the same path And a subset of the set of bits and a length of the bit string, wherein the K is less than or equal to a total number of paths of the multicast service, and the M is less than or equal to K.
- the controller allocates a bit for the contiguous passage of the path set, including: a path that passes through a part of the path set that has been allocated a bit, and allocates the bit as follows. If the part through which the path passes adjacent to the allocated bit belongs to the same set consisting of the sub-domain identifier, the subset identifier, and the bit string length, and the sub-domain identifier, the subset identifier, and the bit to which the path passes are adjacent.
- the bits of the set consisting of the sub-domain identifier, the subset identifier, and the bit string length are allocated for other adjacencies through which the path passes, otherwise, the path is A new set of sub-domain identities, subset identities, and bit string lengths is allocated, and bits are allocated for all contiguous passes through the path.
- the controller allocates bits for the contiguous passage of the path set, including: allocating one or more bits for each adjacency, when allocating a plurality of bits, the multiple bits All belong to different sets of sub-domain identifiers, subset identifiers, and bit string lengths.
- the controller is all the adjacencies passing by the path set of the multicast service.
- the forwarding table is incrementally generated according to the bit added for the multicast service and the set of the sub-domain identifier, the subset identifier, and the bit string length.
- the forwarding table carries a forwarding table identifier, and each of the forwarding table identifiers uniquely corresponds to a set consisting of a sub-domain identifier, a subset identifier, and a bit string length, and the forwarding table identifier indication A set of sub-domain identifiers, subset identifiers, and bit string lengths to which the bits carried in the forwarding table belong.
- the forwarding table carries forwarding table type information, and the forwarding table type information indicates a forwarding technology type of the multicast service.
- the determining, by the controller, the bit bit string information corresponding to the multicast service includes: the controller according to the bit allocated for the multicast service, and the sub-domain identifier and the sub-domain to which the controller belongs A set consisting of a set identifier and a bit string length generates one or more bit bit strings, each bit bit string corresponding to a set consisting of a sub-domain identifier, a subset identifier, and a bit bit length; the bit string information includes All bit strings of the multicast service and a set of sub-domain identifiers, subset identifiers, and bit bit lengths corresponding to each bit string, or all bit strings and each bit of the multicast service A forwarding table identifier corresponding to the bit string, each of the forwarding table identifiers indicating a set consisting of a sub-domain identifier, a subset identifier, and a bit string length.
- the method further includes deleting a bit allocated to the multicast service and not used by another multicast service, deleting the forwarding table, and deleting the group when the multicast service is deleted.
- the bit string information corresponding to the broadcast service is delivered to the relevant node.
- the method further includes: deleting a bit allocated to the path and not used by another path when the topology of the multicast service changes or fails, acquiring the multicast
- the update path of the service allocates a bit for the contiguous traversal of the update path, updates the forwarding table, updates the bit string information corresponding to the multicast service, and delivers the bit string information to the relevant node.
- the method further includes: when there is a new multicast service, allocating bits for the neighboring path set of the new multicast service and the sub-domain identity and subset to which the sub-domain belongs a set of identifiers and bit lengths; generating an incremental forwarding table according to the newly allocated bits of the new multicast service and delivering the incremental forwarding table to the forwarding node; according to the bits allocated for the new multicast service and The forwarding table generates bit string information and sends it to the ingress node.
- An embodiment of the present invention provides a multicast service control apparatus, including: a path calculation module, configured to acquire an ingress node and each egress node of a multicast service, and determine a path set of the ingress node to each egress node;
- the policy control module is configured to allocate a bit for the adjacency of the path set
- the resource management module is configured to generate a forwarding table and deliver a forwarding table according to the allocated bits for all the adjacencies that the path set passes. Configuring a forwarding node to pass the path set, and determining bit bit information corresponding to the multicast service, and sending the bit string information to an ingress node of the multicast service.
- the policy control module allocates a bit for the contiguous passage of the path set, including: each allocated bit on the same path when the bit is allocated for the contiguous path set.
- One bit in the bit belongs to the same set consisting of the sub-domain identifier, the subset identifier, and the length of the bit string.
- the policy control module allocates a bit for the contiguous passage of the path set, including: if the contiguous bits of the K paths in the path set are not allocated bits,
- the path allocates M sets consisting of a sub-domain identifier, a subset identifier, and a bit string length.
- each bit of the K-path is allocated a bit, each neighbor of the same path is assigned a belong to the same sub-domain.
- a bit of a set formed by the identifier, the subset identifier, and the bit string length wherein the K is less than or equal to a total number of paths of the multicast service, and the M is less than or equal to K.
- the policy control module allocates a bit for the contiguous passage of the path set, including: a path that is adjacent to the path that has been allocated to the path set, and allocates a bit as follows. Bit: if the part through which the path passes adjacent to the allocated bit belongs to the same set consisting of the sub-domain identifier, the subset identifier and the bit string length, and the part of the path is adjacent to the sub-domain identifier, the subset identifier and If the set of bit string lengths has enough unoccupied bits, the bits of the set consisting of the sub-domain identifier, the subset identifier, and the bit string length are allocated for other adjacencies through which the path passes, otherwise, The path allocates a new set of sub-domain identities, subset identities, and bit string lengths, and allocates bits for all contiguous passes through the path.
- the resource management module generates a forwarding table according to the allocated bits for all the adjacencies that the path set passes: the resource management module passes the path set of the multicast service. After all the adjacent allocated bits, the forwarding table is incrementally generated according to the newly added bits for the multicast service and the set of the sub-domain identifier, the subset identifier, and the bit string length.
- the forwarding table carries a forwarding table identifier, and each of the forwarding table identifiers uniquely corresponds to a set consisting of a sub-domain identifier, a subset identifier, and a bit string length, and the forwarding table identifier indication A set of sub-domain identifiers, subset identifiers, and bit string lengths to which the bits carried in the forwarding table belong.
- the forwarding table carries forwarding table type information, and the forwarding table type information indicates a forwarding technology type of the multicast service.
- the determining, by the resource management module, the bit string information corresponding to the multicast service includes: the resource management module according to the bit allocated for the multicast service and the sub-domain identifier to which the resource is assigned a set of subset identifiers and bit string lengths to generate one or more bit strings, each bit string corresponding to a set consisting of a sub-domain identifier, a subset identifier, and a bit string length; the bit string information Include all bit strings of the multicast service and a set of sub-domain identifiers, subset identifiers, and bit bit lengths corresponding to each bit string, or all bit strings and each of the multicast services
- a forwarding table identifier corresponding to each bit string, and a forwarding table identifier corresponding to each bit string indicates a set consisting of a sub-domain identifier, a subset identifier, and a bit string length corresponding to the bit string.
- the policy control module is further configured to: when the multicast service is deleted, delete the bit allocated to the multicast service and is not used by other multicast services, and notify the resource management module to perform
- the resource management module is further configured to: after receiving the notification from the policy control module, update the forwarding table, delete the bit string information corresponding to the multicast service, and send the information to the relevant node.
- the policy control module is further configured to: when a topology change or a fault occurs in the path of the multicast service, deleting a bit allocated to the path and not used by another path, acquiring the location An update path of the multicast service, which allocates a bit for the adjacency of the update path, and notifies the resource management module to update; the resource management module is further configured to: after receiving the notification of the policy control module, The forwarding table is updated, and the bit string information corresponding to the multicast service is updated and sent to the relevant node.
- An embodiment of the present invention provides a multicast service control apparatus, including a memory and a processor, where the memory stores a program, and when the program is read and executed by the processor, implementing any one of the foregoing Multicast service control method.
- An embodiment of the present invention provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the foregoing A multicast service control method as described.
- the BP allocation and forwarding control is performed based on the multicast service requirement, so that all the adjacent allocated bits of the same path are carried in the same BitString packet, which ensures the correct forwarding of the packet.
- the dynamic and flexible on-demand allocation of BIER resources is realized to ensure efficient and reliable multicast services.
- Figure 1 is a BIER-TE hierarchical architecture diagram
- FIG. 2 is a block diagram of a multicast service control apparatus according to an embodiment of the present invention.
- FIG. 3 is a flowchart of a method for controlling a multicast service according to an embodiment of the present invention
- FIG. 4 is a flowchart of generating a BIER-TE BP allocation policy and a forwarding table according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of a BIER-TE networking according to an embodiment of the present invention.
- FIG. 6(a) is a flowchart of a method for controlling a multicast service according to an embodiment of the present invention
- FIG. 6(b) is a schematic diagram of BP allocation according to Embodiment 1 of the present invention.
- FIG. 7(a) is a flowchart of a method for controlling a multicast service according to an embodiment of the present invention.
- FIG. 7(b) is a schematic diagram of BP allocation according to Embodiment 1 of the present invention.
- FIG. 8(a) is a flowchart of a method for controlling a multicast service according to an embodiment of the present invention.
- FIG. 8(b) is a schematic diagram of BP allocation according to Embodiment 1 of the present invention.
- BIER-TE Unlike BIER, BIER-TE has a much larger adjacency than the destination node and needs to allocate a large amount of BP. Since the BitString length (BitStringLength, BSL) is limited, the BIER domain is further divided into sub-domains (Sub-Domains, SD for short), and the Set Identifier (SI) is used for layering. Therefore, BitString and The set of SD, SI, and BSL ⁇ SD:SI:BSL> jointly determines the adjacency set of packet forwarding, and ensures that traffic can be sent to all destination nodes according to the specified path.
- BitStringLength BSL
- SI Set Identifier
- the multicast service ingress node needs to pass multiple adjacency to each egress node. Therefore, all the adjacency allocated from BFIR to a BFER must be present in one ⁇ SD:SI:BSL>. To ensure that the message is forwarded to the BFER in a BitString.
- the allocation principle of the adjacency BP in the network is not clearly defined, and according to the flow in the architecture, it is necessary to allocate BP to all the adjacency in the network and then calculate the multicast flow path, resulting in waiting The amount of adjacency allocated is huge.
- BP allocation is no longer based on the network topology, but is based on the multicast service requirement; instead, the entire network is allocated to all adjacencies in the network, but only the adjacency of the path of the multicast stream is BP. distribution. Therefore, dynamic and flexible on-demand allocation of BIER resources is realized, and efficient and reliable multicast service forwarding is ensured.
- FIG. 1 is a hierarchical structure diagram of a BIER-TE according to an embodiment of the present invention.
- the functions of the Multicast Flow Overlay 101 and the Routing Underlay 104 are consistent with the BIER.
- the BIER-TE Controller (BIER-TE Controller) 102 serves as the control plane of the BIER-TE. It receives the multicast stream configuration through the Restconf protocol, discovers the network topology through the southbound protocol such as Netconf, allocates the BP, and configures the generated forwarding table to the BFR. .
- the BIER-TE Forwarding Layer (103) searches for the BP of the BitString in the BIFT and forwards the message to the corresponding adjacency.
- An embodiment of the present invention provides a multicast service control apparatus, as shown in FIG. 2, including: a topology management module 201, a protocol adaptation module 202, a path calculation module 203, a policy control module 204, and a resource management film 205, where:
- the topology management module 201 is configured to acquire network topology information.
- the network topology information is collected from the device side and sent to the resource management module 205.
- the device side includes each node in the network.
- the protocol adaptation module 202 is configured to perform an adaptation function of the southbound and northbound protocol communications
- the path calculation module 203 is configured to obtain an ingress node and each egress node of the multicast service, and determine a path set of the ingress node to each egress node; wherein the path set includes one or more paths;
- the policy control module 204 is configured to allocate a bit for the contiguous passage of the path set
- the resource management module 205 is configured to generate a forwarding table according to the allocated bits for all the adjacencies that the path set passes, and send a forwarding table configuration to the forwarding node through which the path set passes; and determine the multicast The bit string information corresponding to the service is sent to the ingress node of the multicast service.
- the policy control module 204 allocates bits such that one bit in each of the allocated bits on the same path belongs to the same ⁇ SD:SI:BSL>.
- the policy control module 204 allocates ⁇ SD:SI:BSL> and BP as follows:
- the K paths are allocated M sets of sub-domain identifiers, subset identifiers, and bit string lengths, for each of the K paths.
- Contiguous allocation bits each of the contiguous paths of the same path is assigned a bit belonging to the same set of sub-domain identities, subset identities, and bit string lengths, the K being less than or equal to the multicast service
- the total number of paths, the M is less than or equal to K.
- the portion of the path set that is contiguous with the path to which the bit has been allocated is allocated a bit for the path as follows:
- the part through which the path passes adjacent to the allocated bit belongs to the same set consisting of the sub-domain identifier, the subset identifier, and the bit string length, and the sub-domain identifier, the subset identifier, and the bit to which the path passes are adjacent. If the set of string lengths has enough unoccupied bits, the bits of the set consisting of the sub-domain identifier, the subset identifier, and the bit string length are allocated for other adjacencies through which the path passes. Otherwise, the path is allocated. A new set of sub-domain identities, subset identities, and bit string lengths, and all bits for which the path passes.
- K N
- N is the total number of paths of the multicast service.
- M ⁇ SD:SI:BSL> is allocated for the adjacency of all paths of the multicast service, and bits are allocated for each adjacency, and M is less than or equal to N.
- M ⁇ SD:SI:BSL> is allocated for the adjacency through which the K paths pass, and a bit is allocated for each adjacency, and M is less than or equal to K.
- the other adjacencies of the path are allocated.
- the other adjacencies of the path are allocated.
- the resource management module 205 generates a forwarding table according to the bits allocated for all the adjacencies passed by the path set, including:
- the controller After the resource management module 205 allocates bits for all the contiguous paths of the path set of the multicast service, the controller adds the bits added for the multicast service and the sub-domain identifiers and subsets to which the sub-domain belongs.
- the set of identifiers and bit string lengths is incrementally generated by the forwarding table.
- the forwarding table is dynamically generated and configured by the controller according to the multicast service requirement and its allocated resources to the relevant forwarding node, and can be flexibly adjusted according to the service requirement and the allocated resource.
- the southbound protocol data configured by the BIER-TE forwarding table may be extended, and a forwarding table identifier (BIFT-id) field is newly added in the forwarding table, and a sub-table is uniquely identified, and each forwarding table identifier uniquely corresponds to one ⁇ SD: BSL: SI> set, globally unique in the BIER domain.
- a forwarding table is composed of one or more sub-tables, and a forwarding table configuration of the same node may carry multiple forwarding table identifiers, that is, multiple forwarding table sub-tables are configured.
- the forwarding table carries a forwarding table identifier, where the forwarding table identifier indicates an ⁇ SD:BSL:SI> set to which the bit carried in the forwarding table belongs.
- the southward direction of the BIER-TE forwarding table configuration is extended.
- the protocol data, the new forwarding table type field carries the forwarding table type information, and is used to indicate the forwarding technology type of the multicast service.
- the BIFT-type in Table 1 below is used to distinguish whether the forwarding technology is BIER or BIER-TE type.
- other types of forwarding tables are extended in the future, they can also be indicated by the forwarding table type.
- Table 1 shows the BIER-TE forwarding table.
- the forwarding table is indexed by BIFT-id, the BIFT-type is BIER-TE, and the entries of the forwarding table are the relevant adjacency and BP of the node.
- the ID in ID: 1 is BIFT-id, and 1 is a BP value.
- the bit string is generated by the controller according to all the adjacent allocated bits of the ingress node of the multicast service and the path set passed by each egress node, and one multicast service corresponds to one or more bit strings, each The bit string uniquely corresponds to a ⁇ SD:BSL:SI> set. Since the bit allocation is based on the path set of the multicast service to allocate the ⁇ SD:BSL:SI> set redistribution bit, it can be ensured that the adjacency of the path from the ingress node to each egress node can be in an ⁇ SD:BSL:SI > Concentration.
- the southbound protocol data of the BIER-TE bit string configuration can be extended, and a forwarding table identifier (BIFT-id) field is added in the bit string configuration, and each forwarding table identifier uniquely corresponds to one ⁇ SD:BSL. :SI>Set, globally unique in the BIER domain.
- the forwarding table identifier is generated when the controller configures the forwarding table, is carried in the bit string information, and is sent to the ingress node.
- the forwarding table identifier is encapsulated in the packet header to find the forwarding table, and the multicast packet is copied and forwarded according to the forwarding table and the bit string.
- the resource management module 205 determines that the bit string information corresponding to the multicast service includes:
- the resource management module 205 generates one or more bit strings according to bits allocated for the multicast service and their associated ⁇ SD:BSL:SI> sets, and each bit string corresponds to one ⁇ SD:BSL:SI a set; the bit string information includes all bit strings of the multicast service and an ⁇ SD:BSL:SI> set corresponding to each bit string, or includes all bit strings of the multicast service And a forwarding table identifier corresponding to each bit bit string, and the forwarding table identifier corresponding to each bit bit string indicates a set consisting of a sub-domain identifier, a subset identifier, and a bit string length corresponding to the bit string.
- the policy control module is further configured to: when the multicast service is deleted, delete the bit allocated to the multicast service and is not used by other multicast services, and notify the resource management module to update;
- the resource management module is further configured to: after receiving the notification from the policy control module, update the forwarding table, delete the bit string information corresponding to the multicast service, and send the information to the relevant node.
- the policy control module is further configured to: when a topology change or a fault occurs in the path of the multicast service, deleting a bit allocated to the path and not used by another path, and acquiring an update path of the multicast service, Allocating a bit for the adjacency through which the update path passes, notifying the resource management module to update;
- the resource management module is further configured to: after receiving the notification from the policy control module, update the forwarding table, update the bit string information corresponding to the multicast service, and send the information to the relevant node.
- the above multicast service control device can be set in the controller.
- an embodiment of the present invention provides a multicast service control method, including:
- Step 301 The controller acquires an ingress node and each egress node of the multicast service.
- the controller determines the ingress node and the egress node by receiving the BFIR and BFER and related ingress and egress port information delivered by the multicast service.
- Step 302 The controller determines a path set of the ingress node to each egress node, and allocates a bit for adjacency of the path set;
- the path of the BFIR to each BFER can be calculated by the path calculation algorithm.
- the specific path calculation algorithm is not limited in this application.
- Step 303 The controller generates a forwarding table according to the BP allocated for the path set, and sends a forwarding table to the forwarding node where the path set passes;
- all the adjacencies of the path set are assigned ⁇ SD:SI:BSL>, and each neighbor of the path set is assigned a BP, and each adjacency on the same path has one bit, belonging to the same ⁇ SD:SI: BSL>.
- the forwarding table can be sent to the forwarding node through which the path set passes through the southbound interface Netconf.
- Step 304 The controller determines bit bit string information corresponding to the multicast service, and sends the bit bit string information to an ingress node of the multicast service.
- the method may further include, in step 300, the controller acquiring network topology information;
- the topology information is obtained from the device side through the southbound interface Netconf.
- the equipment side includes BFIR, BFER, and BFR.
- the network topology information can be obtained after the system is started, and then the update information of the network topology can be recorded.
- the method may further include: Step 305: The device side forwards and copies the multicast packet of the multicast service hop by hop according to the forwarding table.
- one or more bits are allocated for each adjacency, and the multiple bits belong to different ⁇ SD:SI:BSL>.
- step 302 The ⁇ SD:SI:BSL> and BP allocation methods in step 302 are further explained below.
- N paths are obtained and allocated as follows:
- BP allocation As shown in FIG. 4, a way to implement BP allocation is as follows, including:
- Step 401 obtain a path, determine whether all the adjacencies passed by the path have been assigned BP, if not, go to step 408, otherwise, go to step 402;
- Step 402 it is determined whether all the adjacencies passed by the path have been assigned BP, and if yes, go to step 403, otherwise, go to step 404;
- Step 403 it is determined whether all the adjacencies that the path passes belong to the same ⁇ SD:SI:BSL>, if yes, go to step 409, otherwise, go to step 405;
- Step 404 whether the BP allocated for the path part adjacency belongs to the same ⁇ SD:SI:BSL>, if yes, go to step 406, otherwise, go to step 405;
- Step 405 re-allocating an ⁇ SD:SI:BSL> for the path, and proceeding to step 409;
- Step 406 the part of the path is adjacent to the associated ⁇ SD:SI:BSL> whether there is enough unallocated BP, if yes, go to step 407, otherwise, go to step 405;
- Step 407 the adjacency of the unallocated BP of the path, the part of the path is adjacent to the remaining BP in the ⁇ SD:SI:BSL>, and the process proceeds to step 409;
- Step 408 allocating ⁇ SD:SI:BSL> for all the adjacencies passing through the path, and respectively assigning BP to each adjacency passing through the path;
- step 409 it is determined whether it is the last path. If yes, the process ends; otherwise, the next path is obtained, and the BP assignment of the next path is performed, and the process proceeds to step 401.
- the new forwarding entry is calculated based on the newly added BP resource and sent to the device side through the southbound interface.
- the controller generates a forwarding table according to the bits allocated for all the adjacencies passed by the path set, including:
- the controller After the controller allocates bits for all the adjacencies passing through the path set of the multicast service, the controller generates an increment according to the newly added bits of the multicast service and the ⁇ SD:SI:BSL> set to which the multicast service belongs.
- the forwarding table Because the current multicast service may use the bits allocated for the path set of other multicast services, and the previous bit related information has been sent to the forwarding node, only the forwarding table needs to be generated based on the newly added bits. And issued. Of course, the present application is not limited to this, and the forwarding table may be generated based on all the bits related to the path set of the multicast service and then sent to the forwarding node.
- the forwarding table carries a forwarding table identifier, and each of the forwarding table identifiers uniquely corresponds to one ⁇ SD:SI:BSL> set, where the forwarding table identifier indicates that the forwarding table carries The ⁇ SD:SI:BSL> set to which the bit belongs,
- the forwarding table carries forwarding table type information, and the forwarding table type information indicates a forwarding technology type of the multicast service.
- the forwarding table type information indicates a forwarding technology type of the multicast service.
- a certain multicast service is deleted, all the BPs used by the multicast service need to be deleted. If some BPs are used by other multicast services, only the BPs used by the multicast services need to be deleted. The BP used by the multicast service is unchanged. The deleted BP and the SI can continue to be allocated to other adjacencies.
- the deletion is assigned to the A bit that is not used by another path, acquires an update path of the multicast service, and reallocates a bit for the update path. After the bit update is completed, the forwarding table identifier and type are generated according to the change of the bit and its associated ⁇ SD:SI:BSL> set, and the forwarding table is updated.
- the method further includes:
- the bit allocated to the multicast service and not used by other multicast services is deleted, the forwarding table is updated, and the bit string information corresponding to the multicast service is deleted and sent to the relevant node.
- the method further includes:
- the bit allocated to the path and not used by the other path is deleted, and the update path of the multicast service is obtained, which is the adjacency of the update path.
- the bit is allocated, the forwarding table is updated, and the bit string information corresponding to the multicast service is updated and sent to the relevant node.
- the method further includes:
- the bit string information is generated and sent to the ingress node according to the bit and forwarding table allocated for the new multicast service.
- the generation of the forwarding table is no longer based on the network topology to calculate the forwarding table of the entire network, but based on the newly added BP, the forwarding table is generated incrementally.
- BIER-TE allocates BP according to business requirements, it calculates a new forwarding table based on the newly added BP allocation. Due to the BIER encapsulation format requirement, BitString corresponds to a ⁇ SD:SI:BSL> set, and the BIER header carries the BIFT-id.
- the BIFT-id is actually the BIFT sub-table number corresponding to ⁇ SD:SI:BSL>, and the BIFT-id has Globally unique.
- the BIFT-id can be a BIER label.
- the forwarding table corresponds to the ⁇ SD:SI:BSL> set through the BIFT-id.
- the BIFT-id is uniformly allocated by the controller globally and each node acquires the mapping information of the same BIFT-id and ⁇ SD:SI:BSL>. Therefore, when the controller generates the forwarding table, multiple sub-tables are generated according to the ⁇ SD:SI:BSL> index, and the BIFT-id is assigned to each sub-table, and the newly added sub-table is delivered to each BFR through the southbound protocol.
- the forwarding table is based on the mechanism delivered by the service increment.
- This embodiment is based on the BIER networking scenario shown in FIG. 5.
- the BIER-TE domain includes nodes BFIR1, BFIR2, BFR3, BFR4, BFR5, BFER1, and BFER2.
- the links and ports between the nodes are as shown in Figure 5.
- Each port is assigned an adjacency ID (adjacency identifier) in the BIER-TE, which is A1 to A14 respectively.
- multicast services there are two multicast services in the network, one for multicast service and two for multicast service.
- the multicast service specifies BFIR2 as the ingress node, and BFER1 and BFER2 are designated as the egress nodes interested in it.
- the path calculation algorithm is used to calculate the path from the first node to the two tail nodes respectively, and two BFIR2 to BFER1 and BFER2 are obtained.
- the path is shown in the dotted line in Figure 5.
- the adjacency of the two paths is as follows:
- the multicast service 2 specifies BFIR1 as the ingress node, and BFER1 and BFER2 are designated as the egress nodes interested in it.
- the path calculation algorithm is used to calculate the path from the first node to the two tail nodes respectively, and two paths of BFIR1 to BFER1 and BFER2 are obtained. , as shown by the dotted line in Figure 5.
- the adjacency of these two paths is as follows:
- BIFT-type is BIER-TE.
- step 601 the controller collects network topology information.
- Step 602 The specified ingress node and egress node of the multicast service are BFIR2 and BFER1, BFER2, respectively, and the controller performs path calculation to obtain a path of BFIR2 to BFER1 and BFER2:
- the corresponding ⁇ SI:BP> are:
- the ⁇ SD:SI:BSL> to which the adjacent A13 is allocated is ⁇ 0:0:16>
- the corresponding BIFT-id is 1
- the assigned BP is 13, in FIG. 6(b) Indicated at 1: p13.
- the schematic representations of the remaining abutments in FIG. 6(b) are similar and will not be described again here.
- Step 604 Deliver a forwarding table of each BFR according to the allocated ⁇ SD:SI:BSL> and BP. As shown in table 2.
- Table 2 is a summary of the forwarding table sent to each node.
- the forwarding table configuration sent to each node contains only the information related to the node in Table 2.
- the forwarding table sent to BFIR2 includes the following information:
- the controller combines the path and delivers a BitString according to the SI, and after the peer is contiguous, the path after the synthesis is: A2, A5, A7, A8, A10, A12, A11, that is, the SI sent to the BFIR2 is: Bitstring is 0:0000111011010010.
- each node on the device forwards the entry to generate a string in the form of a string, which is associated with the BitString.
- the device finds the bit that is not 0 and forwards and copies the multicast packet hop by hop.
- This embodiment is based on the networking shown in FIG. 5, and the detailed networking manner refers to the related description in Embodiment 1.
- BIFT-id 2 and 3
- BIFT-type is BIER-TE, as shown in Figure 7(a), including:
- step 701 the controller collects network topology information.
- step 702 the ingress node specified by the multicast service is BFIR2 and the egress node is BFER1 and BFER2, and the controller performs path calculation to obtain a path to BFER1 and BFER2:
- the corresponding ⁇ SI:BP> are:
- the ⁇ SD:SI:BSL> to which the adjacent A13 is allocated is ⁇ 0:0:8>, the corresponding BIFT-id is 2, the corresponding BP is 1, and A13 is also allocated ⁇ SD: SI: BSL> is ⁇ 0:1:16>, the corresponding BIFT-id is 3, the corresponding BP is 1, and FIG. 7(b) is indicated by 2:p1 and 3:p1.
- the schematic representations of ⁇ SD:SI:BSL> and BP allocated in the remaining adjacencies in FIG. 7(b) are similar, and are not described herein again.
- Step 704 Deliver a forwarding table of each BFR according to the allocated ⁇ SD:SI:BSL> and BP. as shown in Table 3.
- Table 3 is a summary of the forwarding table sent to each node.
- the forwarding table sent to each node contains only the information corresponding to the node in Table 3.
- the forwarding table sent to BFIR2 includes the following information:
- step 705 the controller is split into two BitStrings according to the SI.
- the Bitstring that is sent to BFIR2 retains the path of the peer adjacency: A2, A7, A11, and A2, A8, A5, A10, A12, and SI: Bitstring are 0:00110100 and 1:0000001101010100, respectively.
- each node on the device forwards the entry to generate a string in the form of a string, which is associated with the BitString.
- the device finds the bit that is not 0 and forwards and copies the multicast packet hop by hop.
- the multicast service 2 is established in the BIER domain in which the multicast service has been established and the BP has been allocated.
- the multicast service allocates the BP as shown in the second embodiment.
- step 801 the controller collects the network topology.
- step 802 the multicast service 2 specifies that the ingress node and the egress node are BFIR1 and BFER1, and BFER2, respectively.
- the controller performs path calculations and derives two paths:
- the corresponding ⁇ SI:BP> are:
- the corresponding ⁇ SI:BP> are:
- Step 804 Generate an incremental forwarding table according to the newly allocated BP, as shown in Table 4.
- the incremental forwarding table since only the BPs assigned by the neighbors of the nodes in Table 4 change, the incremental forwarding table only includes the above information. The remaining BP that has not changed does not need to be issued again. Different from the related technology, the forwarding table is sent in one time in the whole network. In the present application, when there is a new multicast service, the incremental forwarding table is delivered according to the newly added BP in the BP allocated for the multicast service, and the new forwarding table is carried. Increased BP information.
- step 805 the controller is split into two BitStrings according to the SI.
- the Bitstrings that are sent to BFIR1 are: A3, A7, A11, and A5, A10, A12, and SI: Bitstring are 2:00110100 and 1:0000001101000000, respectively.
- each node on the device forwards the entry to generate a string in the form of a string, which is associated with the BitString.
- the device finds the bit that is not 0 and forwards and copies the multicast packet hop by hop.
- An embodiment of the present invention provides a multicast service control apparatus, including a memory and a processor, where the memory stores a program, and when the program is read and executed by the processor, the multicast service control method is implemented.
- the specific operation performed by the program when being read and executed by the processor may refer to the foregoing multicast service control method embodiment.
- An embodiment of the invention provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the above group Broadcast service control method. Therefore, the specific operations performed by the program when being read and executed by the processor may refer to the foregoing multicast service control method embodiment.
- the computer readable storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like, which can store program codes. Medium.
- the multicast service control method and apparatus and the computer readable storage medium provided by the embodiments of the present invention have the following beneficial effects: performing bit allocation based on the multicast service, and implementing dynamic and flexible on-demand allocation of resources.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例中涉及一种组播业务控制方法、装置及计算机可读存储介质,该组播业务控制方法包括:控制器获取组播业务的入口节点和各出口节点信息,确定所述入口节点至所述各出口节点的路径集;所述控制器为所述路径集经过的邻接分配比特位;所述控制器根据为所述路径集经过的所有邻接所分配的比特位,生成转发表并下发转发表配置到所述路径集经过的转发节点;所述控制器确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。本申请基于组播业务进行比特位的分配,实现资源的动态灵活的按需分配。
Description
本发明涉及通信技术,尤指一种组播业务控制方法和装置、计算机可读存储介质。
位索引显式复制(Bit Indexed Explicit Replication,简称BIER)是一种组播数据转发技术,将组播网络划分为BIER域,包括入口节点(Bit-Forwarding Ingress Router,简称BFIR)和出口节点(Bit-Forwarding Egress Routers,简称BFER),该技术利用比特位(BitPosition,简称BP)来标识目的节点,转发节点(Bit-Forwarding Forwarding Router,简称BFR)根据路由表及BIER信息生成BIER转发表(Bit Index Forwarding Table,简称BIFT),BFR根据组播报文携带的BIER头封装中的比特位串(BitString,简称BST)和BIFT进行转发和复制组播报文。
BIER技术中转发表是基于路由表生成的,该转发表只能指定哪些BFER需要接收报文,但并不能显式的指定报文的转发路径。draft-eckert-bier-te-arch-04提出了基于流量工程的BIER转发架构,称为BIER-TE技术,该技术引入BIER-TE控制器层,通过控制器下发转发表,同时使用路径算法计算路径,通过显式的逐跳方式转发报文。在BIER-TE中,各相邻节点之间的链路以及链路集合,统一称为邻接(adjacency)。BIER-TE不再使用BitString中的BP来标识目的节点,而是用来标识一个或多个adjacency,并根据该BP生成转发表项。adjacency类型分为四种,分别为Forward Connected,Forward Routed,ECMP和Local Decap。现有的BIER-TE方案未明确定义网络中adjacency的BP的分配原则,如果按照已有的网络拓扑全量分配,不仅灵活性差,无法实现资源的灵活调整和优化,而且极有可能导致同一路径的报文在不同的BitString中转发,从而导致组播报文转发中断或失败。
发明内容
本发明至少一实施例中提供了一种组播业务控制方法和装置、计算机可读存储介质,以实现资源的动态分配。
为了达到本发明目的,本发明至少一实施例中提供了一种组播业务控制方法,包括:控制器获取组播业务的入口节点和各出口节点信息,确定所述入口节点至所述各出口节点的路径集;所述控制器为所述路径集经过的邻接分配比特位;所述控制器根据为所述路径集经过的所有邻接所分配的比特位,生成转发表并下发转发表到所述路径集经过的转发节点;所述控制器确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。
在一可选实施例中,所述控制器为所述路径集经过的邻接分配比特位包括:为所述路径集经过的邻接分配比特位时,同一路径上的每个邻接所分配的比特位中存在一个比特位属于同一由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,所述控制器为所述路径集经过的邻接分配比特位包括:如果所述路径集中的K条路径的所有邻接均未分配比特位,则为所述K条路径分配M个由子域标识、子集标识和比特位串长度构成的集,为该K条路径的每个邻接分配比特位时,为同一条路径的每个邻接分别分配一个属于同一个由子域标识、子集标识和比特位串长度构成的集的比特位,所述K小于等于所述组播业务的路径的总条数,所述M小于等于K。
在一可选实施例中,所述控制器为所述路径集经过的邻接分配比特位包括:对所述路径集中所经过的部分邻接已被分配过比特位的路径,按如下方式分配比特位:如果该路径经过的部分邻接所分配的比特位属于同一由子域标识、子集标识和比特位串长度构成的集,且该路径经过的部分邻接所属的该由子域标识、子集标识和比特位串长度构成的集还有足够的未占用的比特位,则为该路径经过的其他邻接分配该由子域标识、子集标识和比特位串长度构成的集的比特位,否则,为该路径分配新的由子域标识、 子集标识和比特位串长度构成的集,并为该路径经过的所有邻接分配比特位。
在一可选实施例中,所述控制器为所述路径集经过的邻接分配比特位包括:为每个邻接分配一个或多个比特位,当分配多个比特位时,该多个比特位均属于不同的由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,所述控制器根据为所述路径集经过的所有邻接所分配的比特位,生成转发表包括:所述控制器为所述组播业务的路径集经过的所有邻接分配比特位后,根据为所述组播业务新增的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集,增量生成所述转发表。
在一可选实施例中,所述转发表中携带转发表标识,每个所述转发表标识唯一对应一个由子域标识、子集标识和比特位串长度构成的集,所述转发表标识指示所述转发表中携带的比特位所属的由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,所述转发表中携带转发表类型信息,所述转发表类型信息指示所述组播业务的转发技术类型。
在一可选实施例中,所述控制器确定所述组播业务对应的比特位串信息包括:所述控制器根据为所述组播业务分配的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集生成一个或多个比特位串,每个比特位串对应一个由子域标识、子集标识和比特位串长度构成的集;所述比特位串信息包括所述组播业务的所有比特位串以及每个比特位串对应的由子域标识、子集标识和比特位串长度构成的集,或者,包括所述组播业务的所有比特位串和每个比特位串对应的转发表标识,每个所述转发表标识指示一个由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,所述方法还包括:当所述组播业务删除时,删除分配给该组播业务且未被其他组播业务使用的比特位,更新转发表,删除所述组播业务对应的比特位串信息,并下发到相关节点。
在一可选实施例中,所述方法还包括:当所述组播业务的路径发生拓 扑变化或故障时,删除分配给所述路径且未被其他路径使用的比特位,获取所述组播业务的更新路径,为所述更新路径所经过的邻接分配比特位,更新转发表,更新所述组播业务对应的比特位串信息,并下发到相关节点。
在一可选实施例中,所述方法还包括:当有新的组播业务时,为所述新的组播业务的路径集的所有邻接分配比特位及其所属的由子域标识、子集标识和比特位串长度构成的集;根据为所述新的组播业务新分配的比特位生成增量转发表并下发到转发节点;根据为所述新的组播业务分配的比特位及转发表,生成比特位串信息,并下发到入口节点。
本发明一实施例提供一种组播业务控制装置,包括:路径计算模块,设置为,获取组播业务的入口节点和各出口节点,确定所述入口节点至所述各出口节点的路径集;策略控制模块,设置为,为所述路径集经过的邻接分配比特位;资源管理模块,设置为,根据为所述路径集经过的所有邻接所分配的比特位,生成转发表并下发转发表配置到所述路径集经过的转发节点,以及,确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。
在一可选实施例中,所述策略控制模块为所述路径集经过的邻接分配比特位包括:为所述路径集经过的邻接分配比特位时,同一路径上的每个邻接所分配的比特位中存在一个比特位属于同一由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,所述策略控制模块为所述路径集经过的邻接分配比特位包括:如果所述路径集中的K条路径的所有邻接均未分配比特位,则为所述K条路径分配M个由子域标识、子集标识和比特位串长度构成的集,为该K条路径的每个邻接分配比特位时,为同一条路径的每个邻接分别分配一个属于同一个由子域标识、子集标识和比特位串长度构成的集的比特位,所述K小于等于所述组播业务的路径的总条数,所述M小于等于K。
在一可选实施例中,所述策略控制模块为所述路径集经过的邻接分配 比特位包括:对所述路径集中所经过的部分邻接已被分配过比特位的路径,按如下方式分配比特位:如果该路径经过的部分邻接所分配的比特位属于同一由子域标识、子集标识和比特位串长度构成的集,且该路径经过的部分邻接所属的该由子域标识、子集标识和比特位串长度构成的集还有足够的未占用的比特位,则为该路径经过的其他邻接分配该由子域标识、子集标识和比特位串长度构成的集的比特位,否则,为该路径分配新的由子域标识、子集标识和比特位串长度构成的集,并为该路径经过的所有邻接分配比特位。
在一可选实施例中,所述资源管理模块根据为所述路径集经过的所有邻接所分配的比特位,生成转发表包括:所述资源管理模块为所述组播业务的路径集经过的所有邻接分配比特位后,根据为所述组播业务新增的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集,增量生成所述转发表。
在一可选实施例中,所述转发表中携带转发表标识,每个所述转发表标识唯一对应一个由子域标识、子集标识和比特位串长度构成的集,所述转发表标识指示所述转发表中携带的比特位所属的由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,所述转发表中携带转发表类型信息,所述转发表类型信息指示所述组播业务的转发技术类型。
在一可选实施例中,所述资源管理模块确定所述组播业务对应的比特位串信息包括:所述资源管理模块根据为所述组播业务分配的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集生成一个或多个比特位串,每个比特位串对应一个由子域标识、子集标识和比特位串长度构成的集;所述比特位串信息包括所述组播业务的所有比特位串以及每个比特位串对应的由子域标识、子集标识和比特位串长度构成的集,或者,包括所述组播业务的所有比特位串和每个比特位串对应的转发表标识,每个比特位串对应的转发表标识指示该比特位串对应的由子域标识、子集标识 和比特位串长度构成的集。
在一可选实施例中,所述策略控制模块还设置为,当组播业务删除时,删除分配给该组播业务且未被其他组播业务使用的比特位,通知所述资源管理模块进行更新;所述资源管理模块还设置为,接收到所述策略控制模块的通知后,更新转发表,删除所述组播业务对应的比特位串信息,并下发到相关节点。
在一可选实施例中,所述策略控制模块还设置为,当所述组播业务的路径发生拓扑变化或故障时,删除分配给所述路径且未被其他路径使用的比特位,获取所述组播业务的更新路径,为所述更新路径所经过的邻接分配比特位,通知所述资源管理模块进行更新;所述资源管理模块还设置为,接收到所述策略控制模块的通知后,更新转发表,更新所述组播业务对应的比特位串信息,并下发到相关节点。
本发明一实施例中提供了一种组播业务控制装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现上述任一项所述的组播业务控制方法。
本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的组播业务控制方法。
与现有技术相比,本申请中,基于组播业务需求进行BP分配及转发控制,使得同一路径的所有邻接分配的比特位在同一个BitString报文中携带,保障了报文的正确转发,同时实现BIER资源的动态灵活的按需分配,保障高效可靠的组播业务。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为BIER-TE层次架构图;
图2为本发明一实施例提供的组播业务控制装置框图;
图3为本发明一实施例提供的组播业务控制方法流程图;
图4为本发明一实施例提供的BIER-TE BP分配策略及转发表生成流程图;
图5为本发明一实施例提供的BIER-TE组网示意图;
图6(a)为本发明一实施例提供的组播业务控制方法流程图;
图6(b)为本发明实施例一提供的BP分配示意图;
图7(a)为本发明一实施例提供的组播业务控制方法流程图;
图7(b)为本发明实施例一提供的BP分配示意图;
图8(a)为本发明一实施例提供的组播业务控制方法流程图;
图8(b)为本发明实施例一提供的BP分配示意图。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
与BIER不同,BIER-TE的adjacency数量远远大于目的节点,需要分配大量BP。由于BitString长度(BitStringLength,BSL)是受限的,BIER域进一步划分为子域(Sub-Domain,简称SD),同时利用子集标识(Set Identifier,简称SI)进行分层,因此,BitString和由SD、SI和BSL构成的集<SD:SI:BSL>共同决定报文转发的adjacency集合,保障流量能够按照指定路径发送到所有目的节点。
BIER-TE中组播业务入口节点到每个出口节点需要经过多个adjacency,因此从BFIR到某一个BFER途中经过的所有的adjacency所分配的BP,必须同时存在于一个<SD:SI:BSL>,才能保证报文在一个BitString中转发到该BFER。但draft-eckert-bier-te-arch-04中未明确定义网络中adjacency的BP的分配原则,并且按照架构中的流程,需要先给网络内所有adjacency分配BP再计算组播流路径,导致待分配的adjacency数量庞大,如果任意分配,极大可能BFIR到每个BFER的路径经过adjacency的BP分配到不同的<SD:SI:BSL>集,即无法在同一个BitString报文中携带,从而导致组播报文转发中断或失败,使BIER-TE无法完成组播报文转发。
本申请中,不再是基于网络拓扑进行BP分配,而是基于组播业务需求;不再是对网络内所有adjacency进行全网BP分配,而是只对组播流的路径经过的adjacency进行BP分配。从而实现BIER资源的动态灵活的按需分配,保障高效可靠的组播业务转发。
如图1所示为本发明一实施例提供的BIER-TE的层次结构图,Multicast Flow Overlay(组播业务层)101和Routing Underlay(路由层)104功能与BIER一致。BIER-TE Controller(BIER-TE控制器)102作为BIER-TE的控制平面,通过Restconf协议接收组播流配置,通过Netconf等南向协议发现网络拓扑,分配BP并将生成的转发表配置到BFR。BIER-TE Forwarding Layer(BIER-TE转发层)103查找BIFT中BitString的BP,转发报文到相应的adjacency。
本发明一实施例提供一种组播业务控制装置,如图2所示,包括:拓扑管理模块201、协议适配模块202、路径计算模块203、策略控制模块204和资源管理膜205,其中:
拓扑管理模块201,设置为,获取网络拓扑信息;可选地,从设备侧收集网络拓扑信息,发送给资源管理模块205;设备侧包括网络中各节点;
协议适配模块202,设置为,进行南向和北向协议通信的适配功能;
路径计算模块203,设置为,获取组播业务的入口节点和各出口节点,确定所述入口节点至各出口节点的路径集;其中,该路径集中包括一个或多个路径;
策略控制模块204,设置为,为所述路径集经过的邻接分配比特位;
资源管理模块205,设置为,根据为所述路径集经过的所有邻接所分配的比特位,生成转发表并下发转发表配置到所述路径集经过的转发节点;以及,确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。
在一可选实施例中,策略控制模块204分配比特位时,使得同一路径上的每个邻接所分配的比特位中存在一个比特位属于同一<SD:SI:BSL>。
在一可选实施例中,所述策略控制模块204根据如下方式分配<SD:SI:BSL>和BP:
如果所述路径集中的K条路径的所有邻接均未分配比特位,则为该K条路径分配M个由子域标识、子集标识和比特位串长度构成的集,为该K条路径的每个邻接分配比特位,为同一条路径的每个邻接分别分配一个属于同一个由子域标识、子集标识和比特位串长度构成的集的比特位,所述K小于等于所述组播业务的路径的总条数,所述M小于等于K。
对所述路径集中所经过的部分邻接已被分配过比特位的路径,按如下方式为该路径分配比特位:
如果该路径经过的部分邻接所分配的比特位属于同一由子域标识、子集标识和比特位串长度构成的集,且该路径经过的部分邻接所属的该由子域标识、子集标识和比特位串长度构成的集还有足够的未占用的比特位,则为该路径经过的其他邻接分配该由子域标识、子集标识和比特位串长度构成的集的比特位,否则,为该路径分配新的由子域标识、子集标识和比 特位串长度构成的集,并为该路径经过的所有邻接分配比特位。
可能出现以下多种情况:
情况一
K=N,N为所述组播业务的路径的总条数。此时为所述组播业务的所有路径所经过的邻接分配M个<SD:SI:BSL>,为每个邻接分配比特位,且M小于等于N。
情况二
K<N,此时:
为所述K条路径所经过的邻接分配M个<SD:SI:BSL>,为每个邻接分配比特位,M小于等于K。
对除该K条路径以外的其他任一路径:
如果该路径的部分邻接属于同一<SD:SI:BSL>,且该路径的部分邻接所属的该<SD:SI:BSL>还有足够的未占用的比特位,则为该路径的其他邻接分配该<SD:SI:BSL>的比特位;否则,为该路径分配新的<SD:SI:BSL>,为该路径的所有邻接分配该新的<SD:SI:BSL>的比特位。此处也包括两种情况:如果该路径的所有邻接不属于同一<SD:SI:BSL>,则为该路径分配新的<SD:SI:BSL>,为该路径的所有邻接分配比特位;如果该路径的部分邻接属于同一<SD:SI:BSL>,但该路径的部分邻接所属的该<SD:SI:BSL>没有足够的未占用的比特位,则为该路径分配新的<SD:SI:BSL>,为该路径的所有邻接分配该新的<SD:SI:BSL>的比特位。
情况三
K=0,此时对该路径集中的每条路径按如下方式分配BP:
如果该路径的部分邻接属于同一<SD:SI:BSL>,且该路径的部分邻接所属的该<SD:SI:BSL>还有足够的未占用的比特位,则为该路径的其他邻接分配该<SD:SI:BSL>的比特位;否则,为该路径分配新的<SD:SI:BSL>,为该路径的所有邻接分配该新的<SD:SI:BSL>的比特位。此处也包括两种 情况:如果该路径的所有邻接不属于同一<SD:SI:BSL>,则为该路径分配新的<SD:SI:BSL>,为该路径的所有邻接分配比特位;如果该路径的部分邻接属于同一<SD:SI:BSL>,但该路径的部分邻接所属的该<SD:SI:BSL>没有足够的未占用的比特位,则为该路径分配新的<SD:SI:BSL>,为该路径的所有邻接分配该新的<SD:SI:BSL>的比特位。
所述资源管理模块205根据为所述路径集经过的所有邻接所分配的比特位,生成转发表包括:
所述资源管理模块205所述控制器为所述组播业务的路径集经过的所有邻接分配比特位后,根据为所述组播业务新增的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集,增量生成所述转发表。
在申请中,转发表是控制器根据组播业务需求及其分配的资源动态生成并配置到相关转发节点,并可以根据业务需求及其分配资源灵活调整。
本申请中,可扩展BIER-TE转发表配置的南向协议数据,在转发表中新增转发表标识(BIFT-id)字段,唯一标识一张子表,每个转发表标识唯一对应一个<SD:BSL:SI>集,在BIER域中全局唯一。需要说明的是,一个转发表由一个或多个子表构成,对同一个节点的转发表配置中可携带多个转发表标识,即配置多个转发表子表。所述转发表中携带转发表标识,所述转发表标识指示所述转发表中携带的比特位所属的<SD:BSL:SI>集。
由于BIER和BIER-TE中BP位标识的意义不同,转发表中对应的表项及数据也不同,为了区分BIER和BIER-TE转发表,本申请中,扩展BIER-TE转发表配置的南向协议数据,新增转发表类型字段,携带转发表类型信息,用于指示所述组播业务的转发技术类型。比如,如下表1中的BIFT-type,用于区分转发技术为BIER还是BIER-TE类型。当然,如果未来扩展了其他类型的转发表,也可以用转发表类型进行指示。
表1所示为BIER-TE转发表,该转发表以BIFT-id为索引,BIFT-type为BIER-TE,转发表的表项为本节点相关adjacency及BP。
表1 BIER-TE转发表
表1中,以第二行为例,ID:1中ID是BIFT-id,1为BP值。
在本申请中,比特位串是控制器根据组播业务的入口节点和各出口节点经过的路径集的所有邻接分配的比特位生成的,一个组播业务对应一个或多个比特位串,每个比特位串唯一对应一个<SD:BSL:SI>集。由于比特位分配时是根据组播业务的路径集分配<SD:BSL:SI>集再分配比特位,能够保证入口节点到每个出口节点的路径经过的邻接可以在一个<SD:BSL:SI>集中。
在本申请中,可扩展BIER-TE比特位串配置的南向协议数据,在比特位串配置中新增转发表标识(BIFT-id)字段,每个转发表标识唯一对应一个<SD:BSL:SI>集,在BIER域中全局唯一。需要说明的是,该转发表标识在控制器配置转发表时生成,在比特位串信息中携带,下发到入口节点。在组播报文转发时,转发表标识封装在报文头中,用于查找转发表,并根据转发表和比特位串复制并转发组播报文。
在一可选实施例中,所述资源管理模块205确定所述组播业务对应的比特位串信息包括:
所述资源管理模块205根据为所述组播业务分配的比特位及其所属<SD:BSL:SI>集生成一个或多个比特位串,每个比特位串对应一个 <SD:BSL:SI>集;所述比特位串信息包括所述组播业务的所有比特位串以及每个比特位串对应的<SD:BSL:SI>集,或者,包括所述组播业务的所有比特位串和每个比特位串对应的转发表标识,每个比特位串对应的转发表标识指示该比特位串对应的由子域标识、子集标识和比特位串长度构成的集。
在一可选实施例中,
所述策略控制模块还设置为,当组播业务删除时,删除分配给该组播业务且未被其他组播业务使用的比特位,通知所述资源管理模块进行更新;
所述资源管理模块还设置为,接收到所述策略控制模块的通知后,更新转发表,删除所述组播业务对应的比特位串信息,并下发到相关节点。
在一可选实施例中,
所述策略控制模块还设置为,当所述组播业务的路径发生拓扑变化或故障时,删除分配给所述路径且未被其他路径使用的比特位,获取所述组播业务的更新路径,为所述更新路径所经过的邻接分配比特位,通知所述资源管理模块进行更新;
所述资源管理模块还设置为,接收到所述策略控制模块的通知后,更新转发表,更新所述组播业务对应的比特位串信息,并下发到相关节点。
上述组播业务控制装置可设置在控制器中。
如图3所示,本发明一实施例提供一种组播业务控制方法,包括:
步骤301,所述控制器获取组播业务的入口节点和各出口节点;
比如,所述控制器通过接收组播业务下发的BFIR和BFER和相关的出入端口信息,确定入口节点和出口节点。
步骤302,所述控制器确定所述入口节点至所述各出口节点的路径集,为所述路径集经过的邻接分配比特位;
其中,可以通过路径计算算法计算出BFIR到各个BFER的路径,具体路径计算算法本申请不作限定。
步骤303,所述控制器根据为所述路径集所分配的BP,生成转发表并下发转发表到所述路径集经过的转发节点;
比如,为所述路径集的所有邻接分配<SD:SI:BSL>,为该路径集的每个邻接分配BP,且同一路径上的每个邻接存在一个比特位,属于同一<SD:SI:BSL>。
例如,可以通过南向接口Netconf将转发表下发到所述路径集经过的转发节点。
步骤304,所述控制器确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。
在一可选实施例中,还可包括,步骤300,控制器获取网络拓扑信息;
比如,通过南向接口Netconf等从设备侧获取拓扑信息。设备侧包括BFIR、BFER和BFR等。需要说明的是,网络拓扑信息可以在系统启动后获取,然后记录网络拓扑的更新信息即可。
在其他实施例中,还可包括:步骤305,设备侧按照所述转发表逐跳转发和复制所述组播业务的组播报文。
在一可选实施例中,为每个邻接分配一个或多个比特位,且该多个比特位均属于不同的<SD:SI:BSL>。
下面进一步说明步骤302中的<SD:SI:BSL>和BP分配方式。
若入口节点为BFIR,出口节点为N个BFER,使用路径计算算法为BFIR到每个BFER计算路径后,得出N条路径,按如下方式分配:
若N条路径中的所有adjacency都未分配BP,则为N条路径经过的所有adjacency分配M个<SD:SI:BSL>,并分别分配BP,M<=N。
若N条路径中有部分路径已分配BP,则分离出未分配的K条路径,为K条路径经过的所有adjacency分配M个<SD:SI:BSL>,并分别分配BP,M<=K。
遍历每条已分配BP的路径,若该路径中经过的所有adjacency已分配 了相同的<SD:SI:BSL>,则不需要再另外分配BP;若该路径经过的adjacency分配了不同的<SD:SI:BSL>,则为该条路径重新分配<SD:SI:BSL>,并为经过的所有adjacency分配BP;若该路径经过的部分adjacency分配了相同<SD:SI:BSL>,且该<SD:SI:BSL>还有足够的BP位分配,则为该条路径的未分配BP的adjacency分配该<SD:SI:BSL>的BP。
如图4所示,一种实现BP分配的方式如下,包括:
步骤401,获取一条路径,判断该路径经过的所有邻接是否已分配BP,如果都没有,转步骤408,否则,转步骤402;
步骤402,判断该路径经过的所有邻接是否都已分配BP,如果是,转步骤403,否则,转步骤404;
步骤403,判断该路径经过的所有邻接是否属于同一<SD:SI:BSL>,如果是,转步骤409,否则,转步骤405;
步骤404,为路径部分邻接分配的BP是否属于同一<SD:SI:BSL>,如果是,转步骤406,否则,转步骤405;
步骤405,为该路径重新分配一个<SD:SI:BSL>,转步骤409;
步骤406,该路径的部分邻接所属的<SD:SI:BSL>是否存在足够未分配的BP,如果是,转步骤407,否则,转步骤405;
步骤407,该路径的未分配BP的邻接分配该路径的部分邻接所属的<SD:SI:BSL>中剩余的BP,转步骤409;
步骤408,为该路径经过的所有邻接分配<SD:SI:BSL>,并分别为该路径经过的每个邻接分配BP;
步骤409,判断是否是最后一条路径,如果是,结束;否则,获取下一条路径,进行下一条路径的BP分配,转步骤401。
BP分配完成后,根据新增的BP分配资源计算新增转发表项,通过南向接口下发到设备侧。
在一可选实施例中,所述控制器根据为所述路径集经过的所有邻接所 分配的比特位,生成转发表包括:
所述控制器为所述组播业务的路径集经过的所有邻接分配比特位后,根据为所述组播业务新增的比特位及其所属<SD:SI:BSL>集,增量生成所述转发表。因为当前的组播业务可能使用之前为其他组播业务的路径集分配的比特位,而之前的比特位相关信息已经下发到转发节点,所以此处只需要基于新增的比特位生成转发表并下发。当然,本申请不限于此,也可以基于该组播业务的路径集相关的全部比特位生成转发表然后下发到转发节点。
在一可选实施例中,所述转发表中携带转发表标识,每个所述转发表标识唯一对应一个<SD:SI:BSL>集,所述转发表标识指示所述转发表中携带的比特位所属的<SD:SI:BSL>集,
在一可选实施例中,所述转发表中携带转发表类型信息,所述转发表类型信息指示所述组播业务的转发技术类型。在一可选实施例中,若某组播业务删除,需要删除该组播业务使用的所有BP,若某些BP已被其他组播业务使用,则只需要删除其单独使用的BP,被其他组播业务使用的BP不变,被删除的BP和SI可以给其他adjacency继续分配;若某组播业务的路径集中的路径经过的链路发生拓扑变化或故障时,则删除分配给该所述路径且未被其他路径使用的比特位,获取该组播业务的更新路径,为更新路径重新分配比特位。比特位更新完成后,根据比特位及其所属的<SD:SI:BSL>集变化生成转发表标识及类型,更新转发表。
在一可选实施例中,所述方法还包括:
当所述组播业务删除时,删除分配给该组播业务且未被其他组播业务使用的比特位,更新转发表,删除所述组播业务对应的比特位串信息,并下发到相关节点。
在一可选实施例中,所述方法还包括:
当所述组播业务的路径发生拓扑变化或故障时,删除分配给所述路径且未被其他路径使用的比特位,获取所述组播业务的更新路径,为所述更 新路径所经过的邻接分配比特位,更新转发表,更新所述组播业务对应的比特位串信息,并下发到相关节点。
在一可选实施例中,所述方法还包括:
当有新的组播业务时,为所述新的组播业务的路径集的所有邻接分配比特位及其所属的由子域标识、子集标识和比特位串长度构成的集;
根据为所述新的组播业务新分配的比特位生成增量转发表并下发到转发节点;
根据为所述新的组播业务分配的比特位及转发表,生成比特位串信息,并下发到入口节点。
本申请中,转发表的生成不再是基于网络拓扑计算全网的转发表,而是基于新增BP,增量生成转发表。BIER-TE根据业务需求分配BP完成后,根据新增的BP分配计算新增转发表。由于BIER封装格式要求,BitString对应一个<SD:SI:BSL>集,BIER头中携带BIFT-id,BIFT-id实际上是<SD:SI:BSL>对应的BIFT子表号,BIFT-id具有全局唯一性。当报文为MPLS封装时,BIFT-id可以为BIER label。在BFR转发组播流时,通过BIFT-id查找转发表对应<SD:SI:BSL>集。BIFT-id由控制器全局统一分配并且每个节点都获取到同样的BIFT-id与<SD:SI:BSL>的映射信息。因此,在控制器生成转发表时按照<SD:SI:BSL>为索引生成多个子表,同时为每张子表分配BIFT-id,将新增的子表通过南向协议下发到各个BFR,实现转发表基于业务增量下发的机制。
下面通过具体实施例进一步说明本申请。
实施例一
本实施例基于图5所示的BIER组网场景。
如图5所示,BIER-TE域中包括节点BFIR1,BFIR2,BFR3,BFR4,BFR5,BFER1和BFER2。节点间的链路与端口如图5所示,每个端口在BIER-TE中分配一个adjacency ID(邻接标识),分别为A1~A14。
该网络中有两个组播业务,组播业务一和组播业务二。其中,组播业务一指定BFIR2为入节点,指定BFER1和BFER2为对其感兴趣的出口节点,使用路径计算算法,分别为首节点到两个尾节点分别计算路径,得到BFIR2到BFER1和BFER2的两条路径,如图5中虚线所示,这两条路径经过的adjacency分别如下:
BFIR2->BFER1:SRC->A13->A1->A2->A6->A7->A11->RCVs
BFIR2->BFER2:SRC->A13->A1->A2->A6->A8->A3->A5->A9->A10->A12->RCVs
组播业务二指定BFIR1为入节点,指定BFER1和BFER2为对其感兴趣的出口节点,使用路径计算算法,分别为首节点到两个尾节点分别计算路径,得到BFIR1到BFER1和BFER2的两条路径,如图5中点线所示。这两条路径经过的adjacency分别如下:
BFIR1->BFER1:SRC->A14->A4->A3->A8->A7->A11->RCVs
BFIR1->BFER2:SRC->A14->A4->A5->A9->A10->A12->RCVs
本实施例中,为组播业务一的两条路径分配相同的<SD:SI:BSL>,如<0:0:16>,分配全局唯一的BIFT-id为1,该BIFT-id与<0:0:16>对应,BIFT-type为BIER-TE。
如图6(a)所示,包括:
步骤601,控制器收集网络拓扑信息。
步骤602,组播业务一指定的入口节点和出口节点分别为BFIR2和BFER1,BFER2,控制器进行路径计算,得出BFIR2通往BFER1和BFER2的路径:
BFIR2->BFER1:SRC->A13->A1->A2->A6->A7->A11->RCVs
BFIR2->BFER2:SRC->A13->A1->A2->A6->A8->A3->A5->A9->A10->A12->RCVs
步骤603,控制器为BFIR2->BFER1所经过的所有adjacency分配SD=0, SI=0,BSL=16,对应的BIFT-id为1。对应的<SI:BP>分别为:
A13->0:13;A1->0:1;A2->0:2;A6->0:6;A7->0:7;A11->0:11。
为BFIR2->BFER2所经过所有adjacency分配<SD:SI:BSL>为SD=0,SI=0,BSL=16。对应的<SI:BP>分别为:
A8->0:8;A3->0:3;A5->0:5;A9->0:9;A10->0:10;A12->0:12。
如图6(b)所示,邻接A13被分配的<SD:SI:BSL>为<0:0:16>,对应的BIFT-id为1,分配的BP为13,图6(b)中以1:p13示意。图6(b)中其余各邻接上的示意类似,此处不再赘述。
步骤604,根据已分配的<SD:SI:BSL>以及BP,下发每个BFR的转发表。如表2所示。
表2 转发表<SD=0,SI=0,BSL=16>,BIFT-id=1
需要说明的是,表2为下发给各节点的转发表的汇总。下发给各节点的转发表配置仅包含表2中的该节点相关的信息。比如,下发给BFIR2的转发表中包括如下信息:
1:p13:local_decap()
1:p2:forward_connected(BFR3)
步骤605,控制器根据SI将路径合成一个BitString下发,保留对端邻接后,合成后经过路径为:A2,A5,A7,A8,A10,A12,A11,即下发到BFIR2的SI为:Bitstring为0:0000111011010010。
组播报文转发时,设备侧各个节点将转发表项生成Bit的String形式,与BitString相与,查找不为0的bit位,逐跳转发和复制组播报文。
实施例二
本实施例基于图5所示组网,详细组网方式参考实施例一中的相关描述。
本实施例中,根据BP分配策略,为两条路径的adjacency分配不同的<SD:SI:BSL>集,分别为<0:0:8>和<0:1:16>,分别分配全局唯一的BIFT-id:2和3,BIFT-type为BIER-TE,如图7(a)所示,包括:
步骤701,控制器收集网络拓扑信息。
步骤702,组播业务指定的入口节点为BFIR2和出口节点为BFER1和BFER2,控制器进行路径计算,得出通往BFER1和BFER2的路径:
BFIR2->BFER1:SRC->A13->A1->A2->A6->A7->A11->RCVs
BFIR2->BFER2:SRC->A13->A1->A2->A6->A8->A3->A5->A9->A10->A12->RCVs
步骤703,根据策略为BFIR2->BFER1所经过的所有adjacency分配<SD:SI:BSL>为SD=0,SI=0,BSL=8。对应的<SI:BP>分别为:
A13->0:1;A1->0:2;A2->0:3;A6->0:4;A7->0:5;A11->0:6。
根据策略为BFIR2->BFER2所经过所有adjacency分配<SD:SI:BSL>为SD=0,SI=1,BSL=16。对应的<SI:BP>分别为:
A13->1:1;A1->1:2;A2->1:3;A6->1:4;A8->1:5;A3->1:6;A5->1:7;A9->1:8;A10->1:9;A12->1:10。
如图7(b)所示,邻接A13被分配的<SD:SI:BSL>为<0:0:8>,对应的BIFT-id为2,相应的BP为1,A13还被分配的<SD:SI:BSL>为<0:1:16>,对应的BIFT-id为3,相应的BP为1,图7(b)中以2:p1和3:p1示意。图7(b)中其余各邻接上被分配的<SD:SI:BSL>和BP的示意类似,此处不再赘述。
步骤704,根据已分配的<SD:SI:BSL>和BP,下发每个BFR的转发表。如表3所示。
表3 <SD=0,SI=0,BSL=8>,BIFT-id=2<SD=0,SI=1,BSL=16>,BIFT-id=3
需要说明的是,表3为下发给各节点的转发表的汇总。下发给各节点的转发表仅包含表3中的该节点对应的信息。比如,下发给BFIR2的转发 表中包括如下信息:
2:p1:local_decap()
2:p3:forward_connected(BFR3)
3:p1:local_decap()
3:p3:forward_connected(BFR3)
下发给BFIR2的转发表中包括两个子表,一个是BIFT-id=2对应的子表如下:
2:p1:local_decap()
2:p3:forward_connected(BFR3)
一个是BIFT-id=3对应的子表如下:
3:p1:local_decap()
3:p3:forward_connected(BFR3)
步骤705,控制器根据SI分成两个BitString下发。下发到BFIR2的Bitstring,保留对端邻接后的路径分别为:A2,A7,A11和A2,A8,A5,A10,A12,SI:Bitstring分别为0:00110100和1:0000001101010100。
组播报文转发时,设备侧各个节点将转发表项生成Bit的String形式,与BitString相与,查找不为0的bit位,逐跳转发和复制组播报文。
实施例三
本实施例中,在已建立组播业务一且已分配BP的BIER域中建立组播业务二,其中,组播业务一按实施例二中所示分配BP。本实施例中,根据BP分配策略,分别为两条路径分配BP。其中,路径BFIR1->BFER1经过的adjacency中,A3和A8已分配到SI=1,A7和A11已分配到S1=0,在不同的SI(即不属于同一<SD:SI:BSL>,因此为该路径重新分配SI=2, BSL=8,分配全局唯一的BIFT-id为4。BFIR1->BFER2经过的adjacency A14,A4未分配,其他邻接分配到SI=1,BSL=16,而SD=0,SI=1,BSL=16中还有足够的未占用的BP,因此为A14,A4分配SD=0,SI=1,BSL=16中的BP。
如图8(a)所示,包括:
步骤801,控制器收集网络拓扑。
步骤802,组播业务二指定入口节点和出口节点分别为BFIR1和BFER1,BFER2。控制器进行路径计算,得出两条路径:
BFIR1->BFER1:SRC->A14->A4->A3->A8->A7->A11->RCVs
BFIR1->BFER2:SRC->A14->A4->A5->A9->A10->A12->RCVs
步骤803,根据策略为BFIR1->BFER1所经过所有adjacency分配<SD:SI:BSL>为SD=0,SI=2,BSL=8。对应的<SI:BP>分别为:
A14->2:1;A4->2:2;A3->2:3;A8->2:4;A7->2:5;A11->2:6。
根据策略为BFIR1->BFER2待分配的adjacency继续分配<SD:SI:BSL>为SD=0,SI=1,BSL=16。对应的<SI:BP>分别为:
A14->1:11;A4->1:12。
各邻接被分配的<SD:SI:BSL>和BP如图8(b)所示,可以看到,相比图7(b),图8(b)中,A7被分配的<SD:SI:BSL>和BP为2:p5,4:p5,相比图7(b)增加了4:p5。
步骤804,根据新增分配的BP,生成增量转发表,如表4所示。
表4<SD=0,SI=1,BSL=16>,BIFT-id=3以及<SD=0,SI=2,BSL=8>,BIFT-id=4的转发表
需要说明的是,由于只有表4中几个节点的邻接所分配的BP发生变化,因此,增量转发表只包括上述信息。其余未发生变化的BP无需再次下发。不同于相关技术中全网一次性下发转发表,本申请中,当有新组播业务时,根据为该组播业务分配的BP中新增的BP,下发增量转发表,携带新增的BP信息。
步骤805,控制器根据SI分成两个BitString下发。下发到BFIR1的Bitstring,保留对端邻接后的路径分别为:A3,A7,A11和A5,A10,A12,SI:Bitstring分别为2:00110100和1:0000001101000000。
组播报文转发时,设备侧各个节点将转发表项生成Bit的String形式,与BitString相与,查找不为0的bit位,逐跳转发和复制组播报文。
需要说明的是,上述实施例中所述的SI,BP,BSL的具体取值为简单示例,实际数据按照网络设备要求而定。
本发明一实施例提供一种组播业务控制装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现上述组播业务控制方法,因此,所述程序在被所述处理器读取执行时,执行的具体操作可参考上述组播业务控制方法实施例。
本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述组播业务控制方法。因此,所述程序在被所述处理器读取执行时,执行的具体操作可参考上述组播业务控制方法实施例。
所述计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发 明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
如上所述,本发明实施例提供的一种组播业务控制方法、装置及计算机可读存储介质具有以下有益效果:基于组播业务进行比特位的分配,实现资源的动态灵活的按需分配。
Claims (24)
- 一种组播业务控制方法,包括:控制器获取组播业务的入口节点和各出口节点信息,确定所述入口节点至所述各出口节点的路径集;所述控制器为所述路径集经过的邻接分配比特位;所述控制器根据为所述路径集经过的所有邻接所分配的比特位,生成转发表并下发转发表到所述路径集经过的转发节点;所述控制器确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。
- 如权利要求1所述的组播业务控制方法,其中,所述控制器为所述路径集经过的邻接分配比特位包括:为所述路径集经过的邻接分配比特位时,同一路径上的每个邻接所分配的比特位中存在一个比特位属于同一由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求2所述的组播业务控制方法,其中,所述控制器为所述路径集经过的邻接分配比特位包括:如果所述路径集中的K条路径的所有邻接均未分配比特位,则为所述K条路径分配M个由子域标识、子集标识和比特位串长度构成的集,为该K条路径的每个邻接分配比特位时,为同一条路径的每个邻接分别分配一个属于同一个由子域标识、子集标识和比特位串长度构成的集的比特位,所述K小于等于所述组播业务的路径的总条数,所述M小于等于K。
- 如权利要求2所述的组播业务控制方法,其中,所述控制器为所述路径集经过的邻接分配比特位包括:对所述路径集中所经过的部分邻接已被分配过比特位的路径,按如下方式分配比特位:如果该路径经过的部分邻接所分配的比特位属于同一由子域标识、 子集标识和比特位串长度构成的集,且该路径经过的部分邻接所属的该由子域标识、子集标识和比特位串长度构成的集还有足够的未占用的比特位,则为该路径经过的其他邻接分配该由子域标识、子集标识和比特位串长度构成的集的比特位,否则,为该路径分配新的由子域标识、子集标识和比特位串长度构成的集,并为该路径经过的所有邻接分配比特位。
- 如权利要求2所述的组播业务控制方法,其中,所述控制器为所述路径集经过的邻接分配比特位包括:为每个邻接分配一个或多个比特位,当分配多个比特位时,该多个比特位均属于不同的由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求2所述的组播业务控制方法,其中,所述控制器根据为所述路径集经过的所有邻接所分配的比特位,生成转发表包括:所述控制器为所述组播业务的路径集经过的所有邻接分配比特位后,根据为所述组播业务新增的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集,增量生成所述转发表。
- 如权利要求2所述的组播业务控制方法,其中,所述转发表中携带转发表标识,每个所述转发表标识唯一对应一个由子域标识、子集标识和比特位串长度构成的集,所述转发表标识指示所述转发表中携带的比特位所属的由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求2所述的组播业务控制方法,其中,所述转发表中携带转发表类型信息,所述转发表类型信息指示所述组播业务的转发技术类型。
- 如权利要求2所述的组播业务控制方法,其中,所述控制器确定所述组播业务对应的比特位串信息包括:所述控制器根据为所述组播业务分配的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集生成一个或多个比特位串, 每个比特位串对应一个由子域标识、子集标识和比特位串长度构成的集;所述比特位串信息包括所述组播业务的所有比特位串以及每个比特位串对应的由子域标识、子集标识和比特位串长度构成的集,或者,包括所述组播业务的所有比特位串和每个比特位串对应的转发表标识,每个所述转发表标识指示一个由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求1至9任一所述的组播业务控制方法,其中,所述方法还包括:当所述组播业务删除时,删除分配给该组播业务且未被其他组播业务使用的比特位,更新转发表,删除所述组播业务对应的比特位串信息,并下发到相关节点。
- 如权利要求1至9任一所述的组播业务控制方法,其中,所述方法还包括:当所述组播业务的路径发生拓扑变化或故障时,删除分配给所述路径且未被其他路径使用的比特位,获取所述组播业务的更新路径,为所述更新路径所经过的邻接分配比特位,更新转发表,更新所述组播业务对应的比特位串信息,并下发到相关节点。
- 如权利要求1至9任一所述的组播业务控制方法,其中,所述方法还包括:当有新的组播业务时,为所述新的组播业务的路径集的所有邻接分配比特位及其所属的由子域标识、子集标识和比特位串长度构成的集;根据为所述新的组播业务新分配的比特位生成增量转发表并下发到转发节点;根据为所述新的组播业务分配的比特位及转发表,生成比特位串信息,并下发到入口节点。
- 一种组播业务控制装置,包括:路径计算模块,设置为,获取组播业务的入口节点和各出口节点,确定所述入口节点至所述各出口节点的路径集;策略控制模块,设置为,为所述路径集经过的邻接分配比特位;资源管理模块,设置为,根据为所述路径集经过的所有邻接所分配的比特位,生成转发表并下发转发表配置到所述路径集经过的转发节点,以及,确定所述组播业务对应的比特位串信息,将所述比特位串信息下发到所述组播业务的入口节点。
- 如权利要求13所述的组播业务控制装置,其中,所述策略控制模块为所述路径集经过的邻接分配比特位包括:为所述路径集经过的邻接分配比特位时,同一路径上的每个邻接所分配的比特位中存在一个比特位属于同一由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求14所述的组播业务控制装置,其中,所述策略控制模块为所述路径集经过的邻接分配比特位包括:如果所述路径集中的K条路径的所有邻接均未分配比特位,则为所述K条路径分配M个由子域标识、子集标识和比特位串长度构成的集,为该K条路径的每个邻接分配比特位时,为同一条路径的每个邻接分别分配一个属于同一个由子域标识、子集标识和比特位串长度构成的集的比特位,所述K小于等于所述组播业务的路径的总条数,所述M小于等于K。
- 如权利要求14所述的组播业务控制装置,其中,所述策略控制模块为所述路径集经过的邻接分配比特位包括:对所述路径集中所经过的部分邻接已被分配过比特位的路径,按如下方式分配比特位:如果该路径经过的部分邻接所分配的比特位属于同一由子域标识、 子集标识和比特位串长度构成的集,且该路径经过的部分邻接所属的该由子域标识、子集标识和比特位串长度构成的集还有足够的未占用的比特位,则为该路径经过的其他邻接分配该由子域标识、子集标识和比特位串长度构成的集的比特位,否则,为该路径分配新的由子域标识、子集标识和比特位串长度构成的集,并为该路径经过的所有邻接分配比特位。
- 如权利要求14所述的组播业务控制装置,其中,所述资源管理模块根据为所述路径集经过的所有邻接所分配的比特位,生成转发表包括:所述资源管理模块为所述组播业务的路径集经过的所有邻接分配比特位后,根据为所述组播业务新增的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集,增量生成所述转发表。
- 如权利要求14所述的组播业务控制装置,其中,所述转发表中携带转发表标识,每个所述转发表标识唯一对应一个由子域标识、子集标识和比特位串长度构成的集,所述转发表标识指示所述转发表中携带的比特位所属的由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求14所述的组播业务控制装置,其中,所述转发表中携带转发表类型信息,所述转发表类型信息指示所述组播业务的转发技术类型。
- 如权利要求14所述的组播业务控制装置,其中,所述资源管理模块确定所述组播业务对应的比特位串信息包括:所述资源管理模块根据为所述组播业务分配的比特位及其所属的由子域标识、子集标识和比特位串长度构成的集生成一个或多个比特位串,每个比特位串对应一个由子域标识、子集标识和比特位串长度构成的集;所述比特位串信息包括所述组播业务的所有比特位串以及每个比 特位串对应的由子域标识、子集标识和比特位串长度构成的集,或者,包括所述组播业务的所有比特位串和每个比特位串对应的转发表标识,每个比特位串对应的转发表标识指示该比特位串对应的由子域标识、子集标识和比特位串长度构成的集。
- 如权利要求13至20任一所述的组播业务控制装置,其中,所述策略控制模块还设置为,当组播业务删除时,删除分配给该组播业务且未被其他组播业务使用的比特位,通知所述资源管理模块进行更新;所述资源管理模块还设置为,接收到所述策略控制模块的通知后,更新转发表,删除所述组播业务对应的比特位串信息,并下发到相关节点。
- 如权利要求13至20任一所述的组播业务控制装置,其中,所述策略控制模块还设置为,当所述组播业务的路径发生拓扑变化或故障时,删除分配给所述路径且未被其他路径使用的比特位,获取所述组播业务的更新路径,为所述更新路径所经过的邻接分配比特位,通知所述资源管理模块进行更新;所述资源管理模块还设置为,接收到所述策略控制模块的通知后,更新转发表,更新所述组播业务对应的比特位串信息,并下发到相关节点。
- 一种组播业务控制装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现如权利要求1至12任一所述的组播业务控制方法。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至12任一所述的组播业务控制方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710680526.2 | 2017-08-10 | ||
CN201710680526.2A CN109391478B (zh) | 2017-08-10 | 2017-08-10 | 一种组播业务控制方法和装置、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019029698A1 true WO2019029698A1 (zh) | 2019-02-14 |
Family
ID=65273318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/099946 WO2019029698A1 (zh) | 2017-08-10 | 2018-08-10 | 一种组播业务控制方法和装置、计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109391478B (zh) |
WO (1) | WO2019029698A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095374A (zh) * | 2021-11-11 | 2022-02-25 | 北京金山云网络技术有限公司 | 网络拓扑的确定方法、装置和电子设备 |
WO2022053122A1 (en) * | 2020-09-08 | 2022-03-17 | Huawei Technologies Co., Ltd. | Terminal-based internet services over converged ethernet |
JP7050177B2 (ja) | 2018-03-30 | 2022-04-07 | 華為技術有限公司 | マルチキャストパケットを伝送する方法、デバイス、及びシステム |
CN115022241A (zh) * | 2022-05-31 | 2022-09-06 | 烽火通信科技股份有限公司 | 一种bier自动配置及管理bsl的方法和装置 |
CN115225566A (zh) * | 2022-07-22 | 2022-10-21 | 中国人民解放军空军工程大学 | 不确定性视角下航空集群机载网络Group-Oblivious组播路由方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511988B (zh) * | 2020-03-06 | 2024-04-19 | 中兴通讯股份有限公司 | 报文转发方法、设备、系统、网络设备和存储介质 |
CN114531392A (zh) * | 2020-11-03 | 2022-05-24 | 南京中兴软件有限责任公司 | 组播业务设计方法、服务器及存储介质 |
CN117834591A (zh) * | 2022-09-29 | 2024-04-05 | 中兴通讯股份有限公司 | 组播流量报文转发方法、系统、计算机设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3018869A1 (en) * | 2014-11-06 | 2016-05-11 | Juniper Networks, Inc. | Deterministic and optimized bit index explicit replication (bier) forwarding |
US20160191372A1 (en) * | 2014-12-31 | 2016-06-30 | Juniper Networks, Inc. | Bit index explicit replication (bier)forwarding for network device components |
CN106603413A (zh) * | 2015-10-14 | 2017-04-26 | 中兴通讯股份有限公司 | 通过指定路径传输流量的方法和装置 |
CN106656794A (zh) * | 2015-10-30 | 2017-05-10 | 中兴通讯股份有限公司 | 一种报文传输方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106572023B (zh) * | 2015-10-12 | 2020-08-11 | 中兴通讯股份有限公司 | 一种实现比特位索引显示复制的方法及比特位转发路由器 |
-
2017
- 2017-08-10 CN CN201710680526.2A patent/CN109391478B/zh not_active Expired - Fee Related
-
2018
- 2018-08-10 WO PCT/CN2018/099946 patent/WO2019029698A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3018869A1 (en) * | 2014-11-06 | 2016-05-11 | Juniper Networks, Inc. | Deterministic and optimized bit index explicit replication (bier) forwarding |
US20160191372A1 (en) * | 2014-12-31 | 2016-06-30 | Juniper Networks, Inc. | Bit index explicit replication (bier)forwarding for network device components |
CN106603413A (zh) * | 2015-10-14 | 2017-04-26 | 中兴通讯股份有限公司 | 通过指定路径传输流量的方法和装置 |
CN106656794A (zh) * | 2015-10-30 | 2017-05-10 | 中兴通讯股份有限公司 | 一种报文传输方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7050177B2 (ja) | 2018-03-30 | 2022-04-07 | 華為技術有限公司 | マルチキャストパケットを伝送する方法、デバイス、及びシステム |
US11736411B2 (en) | 2018-03-30 | 2023-08-22 | Huawei Technologies Co., Ltd. | Method, device, and system for transmitting multicast packet |
WO2022053122A1 (en) * | 2020-09-08 | 2022-03-17 | Huawei Technologies Co., Ltd. | Terminal-based internet services over converged ethernet |
CN114095374A (zh) * | 2021-11-11 | 2022-02-25 | 北京金山云网络技术有限公司 | 网络拓扑的确定方法、装置和电子设备 |
CN115022241A (zh) * | 2022-05-31 | 2022-09-06 | 烽火通信科技股份有限公司 | 一种bier自动配置及管理bsl的方法和装置 |
CN115022241B (zh) * | 2022-05-31 | 2023-06-09 | 烽火通信科技股份有限公司 | 一种bier自动配置及管理bsl的方法和装置 |
CN115225566A (zh) * | 2022-07-22 | 2022-10-21 | 中国人民解放军空军工程大学 | 不确定性视角下航空集群机载网络Group-Oblivious组播路由方法 |
CN115225566B (zh) * | 2022-07-22 | 2023-05-23 | 中国人民解放军空军工程大学 | 不确定性视角下航空集群机载网络Group-Oblivious组播路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109391478B (zh) | 2021-09-10 |
CN109391478A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019029698A1 (zh) | 一种组播业务控制方法和装置、计算机可读存储介质 | |
EP3817446B1 (en) | Method and apparatus for creating network slices | |
US10985942B2 (en) | Multicast traffic steering using tree identity in bit indexed explicit replication (BIER) | |
US11362941B2 (en) | Stateless multicast in label switched packet networks | |
US9998368B2 (en) | Zone routing system | |
EP2224649B1 (en) | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering | |
US11792044B2 (en) | Offset label for aggregating multicasts from multiple virtual private networks on a single multicast distribution tree | |
US20210176168A1 (en) | Advanced Preferred Path Route Graph Features in a Network | |
US7570649B2 (en) | Forwarding state sharing between multiple traffic paths in a communication network | |
US12040965B2 (en) | Supporting multicast communications | |
CN115004656B (zh) | 一种报文发送方法、设备及系统 | |
US10623302B2 (en) | X channel to zone in zone routing | |
US20150103844A1 (en) | Using PCE as SDN Controller | |
US11695688B2 (en) | Computing segment identifier lists for multipaths in a segment routing-enabled network | |
US11706136B2 (en) | Stateless multicasting over traffic engineered unicast tunnels | |
EP3890256A1 (en) | Stateless multicast based on local label spaces | |
US10200280B2 (en) | Software-defined network for temporal label switched path tunnels | |
WO2024055633A1 (zh) | 位索引路由表建立方法、网络设备及存储介质 | |
US11233748B1 (en) | Bandwidth management for resource reservation label switched path of a ring network | |
US11343120B2 (en) | ACTN virtual network augmentation for resource sharing | |
US11483236B2 (en) | Stateless multicast based on network label space | |
WO2009052720A1 (fr) | Procédé, dispositif et système d'allocation d'étiquette de nœud en amont pour un tunnel point à multipoint | |
WO2018107955A1 (zh) | 一种位索引显式复制信息传递方法及装置 | |
WO2016177196A1 (zh) | 一种负荷分担方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18843657 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18843657 Country of ref document: EP Kind code of ref document: A1 |