Background technology
Along with the continuous increase of server and switch quantity, data center network more and more tends to the network architecture of flattening, so that maintenance management, and these two layers of (Layer 2, L2) networks just requiring structure one large-scale.Traditional double layer network carrys out cancellation loop by Spanning-Tree Protocol (Spanning Tree Protocol, STP), but intrinsic some defects of Spanning-Tree Protocol itself make it no longer be applicable to data center network, such as:
(1) Spanning-Tree Protocol carrys out cancellation loop by blocking redundant link, but data center network is difficult to bear this bandwidth waste;
(2) Spanning-Tree Protocol requires that all data must forward via root bridge, can affect forward efficiency like this;
(3) Spanning-Tree Protocol cannot carry TTL(Time To Live, life span) parameter, like this, once there is double-layer loop, can cause whole net to paralyse;
(3) Spanning-Tree Protocol convergence rate is comparatively slow, again restrains and has larger impact to data flow.
In order to solve the problems referred to above of Spanning-Tree Protocol, IETF(Internet Engineering Task Force, Internet Engineering Task group) by formulating TRILL(TRansparent Interconnection of Lots of Links, multilink transparent interconnection) agreement is by three layers of route technology IS-IS(Intermediate System-to-Intermediate System, Intermediate System-to-Intermediate System) mentality of designing introduce double layer network, and necessary transformation has been carried out to it.Thus stable, the easily extensible of simple, the flexibility of two layers and three layers and high-performance are organically merged.
Fig. 1 and Fig. 2 is the configuration diagram of typical TRILL network.TRILL network is by RB(RoutingBridge, routing bridge) double layer network that forms.The Bridge equipment running TRILL protocol is called RB, also writes RBridge.According to the position in TRILL network, RB can be divided into again Ingress RB, Transit RB and EgressRB tri-kinds, represent respectively message enter TRILL network ingress, in TRILL network process intermediate node and leave the egress of TRILL network, as shown in Figure 1.The address of RB in TRILL network is by the NickName(pet name) represent, NickName is the unique identification of RB in TRILL network.Nickname is distributed automatically by system, without the need to configuration.
In TRILL network, there are two class forwarding-table items: unicast forwarding list item and multicast forwarding list item.Wherein, unicast forwarding list item is used to guide the forwarding of the known unicast message of target MAC (Media Access Control) address, and multicast forwarding list item is used to guide the forwarding of many objects message, and many objects message comprises: the unicast message of target MAC (Media Access Control) address the unknown, broadcasting packet and multicast message.Each RB equipment in TRILL network can according to LSDB(Link State Database, LSD) in information calculate and select the tree root of multicast tree.
In order to improve the forward efficiency of data flow, can according to each VLAN(VirtualLocal Area Network in each multicast tree, VLAN) or each multicast MAC(Media Access Control, media interviews control) address sets up multicast forwarding list item, and realize many objects message and forward according to the beta pruning of root RB+VLAN or root RB+VLAN+MAC.Therefore, according to key(keyword) difference, multicast forwarding list item is divided into: category-A multicast forwarding list item, category-B multicast forwarding list item and C class multicast forwarding list item, wherein, category-A multicast forwarding list item is the tree root being multicast tree based on root RB() multicast forwarding list item, category-B multicast forwarding list item is the tree root being multicast tree based on root RB() and the multicast forwarding list item of VLAN, C class multicast forwarding list item is the tree root being multicast tree based on root RB(), VLAN and MAC(multicast MAC) multicast forwarding list item.Like this, in message repeating process, after RB receives many objects message, can according to the multicast forwarding list item of the sequential search coupling of tabling look-up of C->B->A, namely, first search in C class is transmitted, if search less than, then continue to search in category-B is transmitted, also search less than, then search in category-A is transmitted, after finding the multicast forwarding list item of coupling, according to the content in the multicast forwarding list item mated or hit, the many objects message received is forwarded.
In a large-scale TRILL network, multiple multicast tree may be there is, each multicast tree exists multiple VLAN, in each VLAN, there is multiple multicast mac address.Like this, the number comprising the multicast forwarding list item of category-A, category-B and C class multicast forwarding list item in RB equipment is just very many.When the network topology of TRILL network changes, need the quantity upgrading the multicast forwarding list item issued a lot of with regard to possibility, issue these a large amount of times required for multicast forwarding list item just long, the efficiency that multicast forwarding list item issues is lower, further, also can be long to the time on correct link by data flow handoff.
Embodiment
In order to solve exist in prior art when network topology changes, the time issued required for multicast forwarding list item is longer, the efficiency that multicast forwarding list item issues is lower, and, by data flow handoff to the also longer problem of the time on correct link, following examples of the application provide the multicast forwarding list item in a kind of TRILL network delivery method and can RB to apply the method.
For this three classes multicast forwarding list item of category-A multicast forwarding list item, category-B multicast forwarding list item and C class multicast forwarding list item, its contents in table mainly comprises two parts: the mark that whether there is multicast receivers in local network, this mark needs to forward carrying out this locality after the TRILL data message decapsulation received for judging whether, and, a port list for TRILL data message forwarding.Wherein, one or more port (supporting 255 ports at most at present) may be included in port list, the information such as each port ports having index.
The port number that the RB of Access Layer accesses in TRILL network is quite limited, and therefore, the content of a large amount of multicast forwarding list item may be identical.So, when category-B identical with the contents in table of category-A multicast forwarding list item (mark that whether there is multicast receivers in local network is identical, and port list is identical) based on identical root RB, no longer need to issue this category-B multicast forwarding list item; Equally, when C class identical with the contents in table of category-B multicast forwarding list item (mark that whether there is multicast receivers in local network is identical, and port list is identical) based on identical root RB with VLAN, no longer need to issue this C class multicast forwarding list item.Thus, multiplexing by multicast forwarding list item, namely, category-B multicast forwarding list item and the category-A multicast forwarding list item identical with its root RB multiplexing, C class multicast forwarding list item and the category-B multicast forwarding list item identical with its root RB, VLAN multiplexing, effectively can reduce the number of the multicast forwarding list item issued, shorten the time issued required for multicast forwarding list item, when improve network topology change, multicast forwarding list item issues efficiency, and, effectively shorten by data flow handoff to the time on correct link, also do not cause the multiple of multicast traffic stream simultaneously.
Embodiment one
The delivery method of the multicast forwarding list item of the embodiment one of the application can be performed by any one RB in TRILL network.As shown in Figure 3, the method comprises the following steps:
Step S301, calculates multicast forwarding list item, and wherein, the multicast forwarding list item calculated comprises: category-A multicast forwarding list item and category-B multicast forwarding list item; Wherein, the form of category-A multicast forwarding list item can be as shown in table 1, and the form of category-B multicast forwarding list item can be as shown in table 2:
Table 1
The NickName of root RB |
The mark of multicast receivers whether is there is in local network |
Port list |
Table 2
When network topology changes, the CPU(in RB and control plane) multicast forwarding list item can be calculated according to the link-state information after the change of the whole network.
Wherein, category-A multicast forwarding list item is the multicast forwarding list item of the root RB based on multicast tree, and category-B multicast forwarding list item is the multicast forwarding list item of root RB and VLAN based on multicast tree.
Step S302, issues (issue and namely configure) to datum plane by the category-A multicast forwarding list item calculated;
When issuing, conventionally carry out issuing.Issue in process actual, the category-A multicast forwarding list item calculated all directly can be issued to datum plane, also only can issue the category-A multicast forwarding list item that contents in table there occurs change.
Step S303, for each the category-B multicast forwarding list item calculated, only when the contents in table of this category-B multicast forwarding list item is different from the contents in table of the first category-A multicast forwarding list item, just this category-B multicast forwarding list item is issued to datum plane, wherein, the first category-A multicast forwarding list item is multicast forwarding list item identical with the root RB of this category-B multicast forwarding list item in the category-A multicast forwarding list item calculated.
That is, when the contents in table of this category-B multicast forwarding list item is identical with the contents in table of the first category-A multicast forwarding list item, just no longer this category-B multicast forwarding list item is issued to datum plane.
Concrete, contents in table comprises: the mark that whether there is multicast receivers in port list and local network, and therefore, contents in table is identical, that is, port list is identical, and the mark that whether there is multicast receivers in local network is also identical; Contents in table is different, that is, whether there is at least one difference in the mark of multicast receivers in port list and local network.
Such as, the category-B multicast forwarding list item calculated is as shown in table 3:
Table 3
Now, if multicast forwarding list item identical with the root RB of this category-B multicast forwarding list item in the category-A multicast forwarding list item calculated, namely the first category-A multicast forwarding list item is as shown in table 4, then, because the mark that whether there is multicast receivers in the local network in these two forwarding-table items is identical, be 0; Further, port list is also identical, is Port1, Port3 and Port12, and therefore, category-B multicast forwarding list item as shown in table 3 does not need to be issued to datum plane.
Table 4
The NickName of root RB |
The mark of multicast receivers whether is there is in local network |
Port list |
0x0100 |
0 |
Port1,Port3,Port12 |
But, if multicast forwarding list item identical with the root RB of this category-B multicast forwarding list item in the category-A multicast forwarding list item calculated, namely the first category-A multicast forwarding list item is as in table 5-7 shown in any one, then, because the mark that whether there is multicast receivers in the local network in these two forwarding-table items is not identical, and/or port list is not identical, therefore, category-B multicast forwarding list item as shown in table 3 needs to be issued to datum plane.
Table 5
The NickName of root RB |
The mark of multicast receivers whether is there is in local network |
Port list |
0x0100 |
1(represents in local network to there is multicast receivers) |
Port1,Port3,Port12 |
Table 6
The NickName of root RB |
The mark of multicast receivers whether is there is in local network |
Port list |
0x0100 |
0 |
Port5,Port8 |
Table 7
In the technical scheme of the present embodiment, when based on the category-B of identical root RB, identical with the contents in table of category-A multicast forwarding list item (mark that whether there is multicast receivers in local network is identical, and port list is identical) time, no longer issue this category-B multicast forwarding list item, only when difference, just issue this category-B multicast forwarding list item, thus, multiplexing by category-B multicast forwarding list item and the category-A multicast forwarding list item identical with its root RB, effectively can reduce the number of the multicast forwarding list item issued, shorten the time issued required for multicast forwarding list item, when improve network topology change, multicast forwarding list item issues efficiency, and, effectively shorten data flow handoff to the time on correct link, do not cause the multiple of multicast traffic stream simultaneously yet.
Embodiment two
Equally, also can be undertaken multiplexing by C class multicast forwarding list item and the category-B multicast forwarding list item identical with its root RB, VLAN, like this, the delivery method of the multicast forwarding list item of the embodiment two of the application, as shown in Figure 4, comprises the following steps:
Step S401, calculates multicast forwarding list item, and wherein, the multicast forwarding list item calculated comprises: category-A multicast forwarding list item, category-B multicast forwarding list item and C class multicast forwarding list item; Wherein, C class multicast forwarding list item is the multicast forwarding list item of root RB, VLAN based on multicast tree and multicast mac address.
When realizing, first can calculate category-A multicast forwarding list item, then calculate category-B multicast forwarding list item, finally calculate C class multicast forwarding list item.
Wherein, the form of category-A multicast forwarding list item can be as shown in table 1, and the form of category-B multicast forwarding list item can be as shown in table 2, and the form of C class multicast forwarding list item can be as shown in table 8:
Table 8
Step S402, is issued to datum plane by the category-A multicast forwarding list item calculated;
Step S403, for each the category-B multicast forwarding list item calculated, only when the contents in table of this category-B multicast forwarding list item is different from the contents in table of the first category-A multicast forwarding list item, just this category-B multicast forwarding list item is issued to datum plane, wherein, the first category-A multicast forwarding list item is multicast forwarding list item identical with the root RB of this category-B multicast forwarding list item in the category-A multicast forwarding list item calculated;
When a category-B multicast forwarding list item needs to issue, check that whether the contents in table of its contents in table and the category-A multicast forwarding list item identical with the root RB of this category-B forwarding multicasting list item (the category-A multicast forwarding list item identical with the root RB of this category-B multicast forwarding list item is called the first category-A multicast forwarding list item) is identical, if content is identical, then no longer issue this category-B multicast forwarding list item, corresponding many objects message forwards according to the first category-A multicast forwarding list item.If contents in table is different, then issue this category-B multicast forwarding list item, corresponding many objects message forwards according to this category-B multicast forwarding list item.
Step S404, for each the C class multicast forwarding list item calculated, only when the contents in table of this C class multicast forwarding list item is different from the contents in table of the first category-B multicast forwarding list item, just this C class multicast forwarding list item is issued to datum plane, wherein, the first category-B multicast forwarding list item is multicast forwarding list item identical with root RB with VLAN of this C class multicast forwarding list item in the category-B multicast forwarding list item calculated.
That is, when the contents in table of this C class multicast forwarding list item is identical with the contents in table of the first category-B multicast forwarding list item, just no longer this C class multicast forwarding list item is issued to datum plane.
Such as, the C class multicast forwarding list item calculated is as shown in table 9:
Table 9
Now, if multicast forwarding list item identical with root RB with VLAN of this C class multicast forwarding list item in the category-B multicast forwarding list item calculated, namely the first category-B multicast forwarding list item is as shown in table 10, then, because the mark that whether there is multicast receivers in the local network in these two forwarding-table items is identical, be 1; Further, port list is also identical, is Port2, Port10, Port14, Port17 and Port29, and therefore, C class multicast forwarding list item as shown in table 9 does not just need to be issued to datum plane.
Table 10
But, if multicast forwarding list item identical with root RB with VLAN of this C class multicast forwarding list item in the category-B multicast forwarding list item calculated, namely the first category-B multicast forwarding list item is as in table 11-13 shown in any one, then, because the mark that whether there is multicast receivers in the local network in these two forwarding-table items is not identical, and/or port list is not identical, therefore, C class multicast forwarding list item as shown in table 9 needs to be issued to datum plane.
Table 11
Table 12
Table 13
By upper, when a C class multicast forwarding list item needs to issue, check that whether the contents in table of its contents in table and the category-B multicast forwarding list item identical with root RB, VLAN of this C class multicast forwarding list item (the category-B multicast forwarding list item all identical with root RB with VLAN of this C class multicast forwarding list item is called the first category-B multicast forwarding list item) is identical.If contents in table is identical, then no longer issue this C class multicast forwarding list item, corresponding many objects message forwards according to the first category-B multicast forwarding list item.If contents in table is different, then issue this C class multicast forwarding list item, corresponding many objects message forwards according to this C class multicast forwarding list item.
When identical with the contents in table of category-A multicast forwarding list item based on the category-B of identical root RB, no longer issue this category-B multicast forwarding list item, only when difference, just issue this category-B multicast forwarding list item; Equally, when identical with the contents in table of category-B multicast forwarding list item based on the C class of identical root RB with VLAN, no longer issue this C class multicast forwarding list item, only when difference, just issue this C class multicast forwarding list item.Thus, multiplexing by multicast forwarding list item, namely, category-B multicast forwarding list item and the category-A multicast forwarding list item identical with its root RB multiplexing, C class multicast forwarding list item and the category-B multicast forwarding list item identical with its root RB, VLAN multiplexing, effectively can reduce the number of the multicast forwarding list item issued, shorten the time issued required for multicast forwarding list item, during raising network topology change, multicast forwarding list item issues efficiency, and, data flow handoff to the time on correct link, is not caused the multiple of multicast traffic stream by effective shortening simultaneously yet.
Method in above-described embodiment one and embodiment two, in the specific implementation, can by the CPU(in RB and control plane) perform.Processing speed due to CPU is very fast, and therefore, CPU calculates multicast forwarding list item and the speed of carrying out comparing is quickly, and required time is very short.And when issuing multicast forwarding list item, owing to being the process of carrying out between CPU with forward process chip (i.e. datum plane or forwarding engine) communicating, downloading speed is decided by the processing speed of CPU and forward process chip, and the processing speed of forward process chip is relatively slow, therefore, although the application adds the time performed needed for comparison step, but, owing to considerably reducing the quantity needing the multicast forwarding list item issued, and, relatively required time ratio issues required time and wants much shorter, therefore, when the application still improves network topology change effectively, multicast forwarding list item issues efficiency, and, effective shortening by data flow handoff to the time on correct link.
Embodiment three
For the method in above-described embodiment one and two, the embodiment three of the application provides the RB in a kind of TRILL network, and as shown in Figure 5, this RB comprises with lower module: computing module 10, comparison module 20 and issue module 30, wherein:
Computing module 10, for calculating multicast forwarding list item, wherein, multicast forwarding list item comprises: category-A multicast forwarding list item and category-B multicast forwarding list item;
Comparison module 20, for each the category-B multicast forwarding list item calculated for computing module 10, relatively whether the contents in table of this category-B multicast forwarding list item is identical with the contents in table of the first category-A multicast forwarding list item, wherein, the first category-A multicast forwarding list item is multicast forwarding list item identical with the root RB of this category-B multicast forwarding list item in the category-A multicast forwarding list item calculated;
Issue module 30, be issued to datum plane for the category-A multicast forwarding list item calculated by computing module 10; Each category-B multicast forwarding list item also for calculating for computing module 10, only the comparative result of comparison module 20 be the contents in table of this category-B multicast forwarding list item different from the contents in table of the first category-A multicast forwarding list item time, this category-B multicast forwarding list item is issued to datum plane.
In addition, also comprise in the multicast forwarding list item that computing module 10 calculates: C class multicast forwarding list item; Then, comparison module 20, each C class multicast forwarding list item also for calculating for computing module 10, relatively whether the contents in table of this C class multicast forwarding list item is identical with the contents in table of the first category-B multicast forwarding list item, wherein, the first category-B multicast forwarding list item is multicast forwarding list item identical with virtual LAN VLAN with the root RB of this C class multicast forwarding list item in the category-B multicast forwarding list item calculated; Issue module 30, each C class multicast forwarding list item also for calculating for computing module 10, only the comparative result of comparison module 20 be the contents in table of this C class multicast forwarding list item different from the contents in table of the first category-B multicast forwarding list item time, this C class multicast forwarding list item is issued to datum plane.
Wherein, category-A multicast forwarding list item is the multicast forwarding list item of the root RB based on multicast tree, category-B multicast forwarding list item is the multicast forwarding list item of root RB and VLAN based on multicast tree, and C class multicast forwarding list item is the multicast forwarding list item of root RB, VLAN based on multicast tree and multicast mac address.Contents in table comprises: the mark that whether there is multicast receivers in port list and local network.
To sum up, the above embodiment of the application can reach following technique effect:
When identical with the contents in table of category-A multicast forwarding list item based on the category-B of identical root RB, no longer issue this category-B multicast forwarding list item, only when difference, just issue this category-B multicast forwarding list item; Equally, when identical with the contents in table of category-B multicast forwarding list item based on the C class of identical root RB with VLAN, no longer issue this C class multicast forwarding list item, only when difference, just issue this C class multicast forwarding list item.Thus, multiplexing by multicast forwarding list item, namely, category-B multicast forwarding list item and the category-A multicast forwarding list item identical with its root RB multiplexing, C class multicast forwarding list item and the category-B multicast forwarding list item identical with its root RB, VLAN multiplexing, effectively can reduce the number of the multicast forwarding list item issued, shorten the time issued required for multicast forwarding list item, during raising network topology change, multicast forwarding list item issues efficiency, and, data flow handoff to the time on correct link, is not caused the multiple of multicast traffic stream by effective shortening simultaneously yet.
The foregoing is only the preferred embodiment of the application, not in order to limit the application, within all spirit in the application and principle, any amendment made, equivalent replacements, improvement etc., all should be included within scope that the application protects.