The present disclosure relates to the multicast technology field, and, to a method, system and apparatus for distributing labels.
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
Multicast, which helps to improve the bandwidth utilization and save network resources, is a technology used to transfer messages between a sender and more than one receiver. When a unicast service needs to pass through an operator's network, the usual practice is to put the service in a tunnel for transmission. Therefore, a multicast service may be carried over a point-to-multi-point (P2MP) tunnel. For example, a multicast service may be carried over a Resource ReSerVation Protocol-Traffic Engineering (RSVP-TE) P2MP Label Switched Path (LSP) or over the Label Distribution Protocol (LDP) P2MP LSP. During multicast, one multicast packet is transferred, and is replicated by using multicast bearer technology and sent to all multicast receivers. Based on features of multicast services, the Label Switching Routers (LSRs) of all next hops process the same label, which may result in label conflict.
When the label conflict shown in
The various embodiments provide a method, system and apparatus for distributing labels so as to effectively avoid the conflicts between multicast services and between multicast services and unicast services.
For this purpose, various embodiments provide the following technical solution:
A method for distributing labels includes:
A method for distributing labels includes:
A system for distributing labels includes a multicast service source and a multicast member, the system further comprising a primary controller, configured to maintain and manage a label information table, distribute a label upon obtaining a request for applying a label from the multicast service source based on the label information table, and/or query the label information table upon obtaining a request for querying a label from the multicast member.
An apparatus for distributing labels, configured to maintain and manage a label information table, distribute a label from the label information table for a multicast service based on a request for applying a label from a multicast service source, includes:
Various embodiments n manage the label space on a centralized basis. They maintain and manage label information by using the label information table and ensures that unicast and multicast services use different labels by using the primary controller to distribute labels. In addition, the primary controller may query labels for multicast members, avoiding conflicts between unicast labels and multicast labels and between multicast labels.
Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.
Various embodiments manage the label space on a centralized basis by deploying a primary controller in the network, maintain and manage label information by using the label information table. A method is to make the labels in the label information table distributable for unicast and multicast services and ensure that unicast and multicast services use different labels by management; in other words, the label distributed for a unicast service cannot be used by multicast services and the label distributed for a multicast service cannot be used by unicast services. Another method is to use the labels in the label information table for multicast services, but not for unicast services; for example, a range of labels may be specified and the labels in the range may be recorded, managed and maintained by using the label information table. The labels described here refer to global labels, that is, the labels in the whole network.
According to various methods, the label information table may record the usage states of all labels in the whole label space. When Flag is 1, the label is in use; when Flag is 0, the label is not in use. For a label whose Flag is 1, if the Multicast Service ID entry of the label has a value, for example, ID 1 in Table 1, the label is distributed for a multicast service; otherwise, if the Multicast Service ID entry of the label does not have a value, for example, Null in Table 1, the label has been used for a unicast service.
According to various methods, the labels in the label information table are used for multicast services only. For example, a range of labels may be specified to differentiate multicast labels from unicast labels. For example, the multicast label space (with labels 100-500) is configured in the primary controller. The labels are in use if their Flag is 1; the labels are not in use if their Flag is 0. Table 2 describes the label information.
Various embodiments also provide a method for distributing labels: The multicast service source requests a label from the primary controller, and the primary controller distributes a label for the multicast service based on the information in the label information table; after the label is distributed, the primary controller sends the label to the forwarding controller; the primary controller may also send the label to the multicast service source before the multicast service source sends the label to the forwarding controller. When a user is to join the multicast group, a query message is sent to the primary controller. If the multicast group exists, the primary controller directly notifies the forwarding controller of the label, or the user notifies the forwarding controller based on the prior distribution mechanism such as downstream distribution after learning the label to be forwarded, or the multicast service source notifies the forwarding controller based on the prior distribution mechanism such as upstream distribution. The primary controller manages labels based on the whole network. In other words, the labels used by multicast services are unique in the whole network, which ensures that no conflict occurs between labels.
The following describes the method based on the system shown in
110: The multicast service source sends a request (containing a multicast service ID) for applying a label.
After being online, the multicast service source may register with the primary controller to request a multicast label.
120: Upon obtaining the request, the primary controller distributes a label for the multicast service and updates the label information table. Specifically:
It queries the label information table, selects an unused label and distributes it to the multicast service;
It updates the label information table, that is, adds a multicast service ID to the entry of the label and modifies the usage state flag of the label.
130: The primary controller sends a notification to the multicast service source to notify it of the distributed label.
Besides, the procedure also includes:
140: The multicast service source sends the label to the forwarding controller.
The preceding request for a label may be realized by extending the LDP signaling or other methods. The following describes the LDP signaling as an example in detail.
The type of the LDP request is Label Request, which is indicated by 0×0401;
Message Length (16 bits) indicates the length of the message;
Message ID (32 bits) is used to identify the message;
FEC TLV indicates the FEC of the multicast service for which a label is requested;
Optional Parameters: The length of optional parameters is variable, and optional parameters include 0 or more TLVs.
To obtain the preceding request for a label, the invention extends the format of an LDP request shown in
(1) The FEC refers to multicast FEC, including a multicast service ID, as shown in
(2) The label request TLV is added to Optional Parameters, as shown in
The preceding label notification may adopt the format shown in
The type of the message is Label Notification and its value is to be determined;
Message Length (16 bits) indicates the length of the message;
Message ID (32 bits) is used to identify the message;
FEC TLV indicates the FEC of the multicast service for which a label is requested, including a multicast service ID, in the same format as the one shown in
Label TLV indicates a label value distributed on a centralized basis, corresponding to the FEC, as shown in
Optional Parameters: The length of optional parameters is variable, and optional parameters include 0 or more TLVs, of which Label Request Message ID TLV must be included.
210-220: Same as steps 110-120 in the embodiment shown in
230: The primary controller sends the label to the forwarding controller.
When all members of a multicast service leave the multicast service and the multicast service source expects to remove the multicast service, the procedure for releasing the label is as follows, as shown in
310: The multicast service source sends a request (containing a multicast service ID) for releasing the label.
320: The primary controller releases the label and updates the label information table.
330: The primary controller sends a message indicating that the label is released to the multicast service source.
The preceding request for releasing a label may be realized by extending the LDP signaling or other methods. The following describes the LDP signaling as an example in detail based on
410: The multicast member sends a request (containing a multicast service ID) for querying a label to the primary controller.
420: Upon obtaining the request, the primary controller queries the label information table based on the multicast service ID contained in the request.
If there is a corresponding entry in the label information table, the primary controller executes step 440; if there is no corresponding entry in the label information table, it executes step 430.
430: The primary controller distributes a label for the multicast service, updates the label information table and executes step 440.
440: The primary controller sends a notification to the multicast member, notifying it of label distribution, and executes step 450.
450: The multicast member sends the label to the forwarding controller.
In the preceding procedure, the request for querying a label shown in
510-520: Same as steps 410-420 shown in
If there is a corresponding entry in the label information table, the primary controller executes step 540; if there is no corresponding entry in the label information table, it executes step 530.
530: The primary controller distributes a label for the multicast service, updates the label information table and executes step 540.
540: The primary controller sends the label to the forwarding controller.
610: The multicast member sends a request for querying a label to the primary controller.
620: The primary controller checks whether the multicast service exists. If not, it executes step 630; otherwise, it executes step 650.
630: The primary controller distributes a label for the multicast service and updates the label information table.
640: The primary controller notifies the multicast service source of the distributed label and executes step 660.
650: The primary controller notifies the multicast service source of sending the label.
660: The multicast service source sends the label to the forwarding controller.
In the preceding procedure, if the result of the query performed by the primary controller shows that the multicast service does not exist, and the primary controller is required to distribute a label for the multicast service, the primary controller may also directly send the label to the forwarding controller upon distributing a label for the multicast service.
The mapping between labels and multicast services may also be configured manually on the primary controller. For example, this configuration may be done through the NMS. Specifically, different labels are distributed for different multicast services on the primary controller and the label information table described in Table 3 is maintained in the primary controller, which also supports query of multicast services. If the information of multicast members is known, the primary controller may also directly send the label used by the multicast service to the forwarding controller.
To effectively avoid label conflicts during distribution of labels for multicast services, various embodiments also provide an apparatus for distributing labels in multicast services. The apparatus is configured to maintain the label information table and distribute labels for multicast services as required by the multicast service source. The apparatus provided in various embodiments may serve as the primary controller shown in
As shown in
To enable new multicast members to obtain the label of a multicast service, label query unit 152 is also deployed in the apparatus. It is configured to query the label information table when message interaction unit 151 obtains a request for querying a label from a multicast member. If the label corresponding to the multicast service ID in the request is found, label query unit 152 delivers the label to message interaction unit 151 for sending; if the label is not found, label query unit 152 notifies label distribution unit 154 of distributing a label for the multicast service.
The apparatus provided in the various embodiments also includes label release unit 155, which is configured to release the label corresponding to the multicast service ID and notify information maintenance unit 153 of updating the label information table when message interaction unit 151 obtains a request for releasing a label from the multicast service source.
Although the teachings have been described through various exemplary embodiments, the teachings are not limited to such embodiments. It is apparent that those skilled in the art can make various modifications and variations without departing from the scope of the teachings. The disclosure is intended to cover the modifications and variations provided that they fall in the scope of protection defined by the following claims or their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
200610061050.6 | Jun 2006 | CN | national |
This application is a continuation of International Application No. PCT/CN2007/001814, filed Jun. 8, 2007. This application claims the benefit of Chinese Application No. 200610061050.6, filed Jun. 9, 2006. The disclosures of the above applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2007/001814 | Jun 2007 | US |
Child | 12098115 | US |