The present disclosure relates to the field of communications, in particular to a method and device for traffic path negotiation in a link aggregation group.
With the rapid development of broadband services, interconnection between networks are more and more used, and the volume of carried services is also significantly increased. Within a network, multiple methods may be adopted to achieve protection of a link and nodes on the link according to the technology used in the network. At the same time, with the stronger requirement on protection of the network traffic, some operators propose the requirement of protecting network interconnection. The protection mentioned herein may be achieved by adopting a port aggregation manner, and a commonly used manner is port aggregation or loop protection. Currently, a standard commonly applied in the link aggregation supports port aggregation on one node, and thus can only be used in link protection; however, the node at a network edge interface can not be protected by the current link aggregation technology.
Therefore, in order to realize the diversification of networking manners at the interconnection area between networks, and to achieve the protection of both a link and an edge node, Institute of Electrical and Electronics Engineers (IEEE) Standard Organization of the United States proposes a technical solution of extending the link aggregation, to meet the requirement of dual redundant network interconnection protection for both the link and the node via a distributed link aggregation group distributed resilient network interconnect (DRNI), that is, each portal of the aggregation group is composed of multiple nodes, and aggregation links of the above-mentioned multiple nodes constitute one aggregation link group.
Currently, the DRNI performs protection and load sharing based on the distinguishing of message services, but since the two ends respectively distribute traffic, the traffic of the same service cannot be ensured to be transmitted on the same aggregation link. This is in conflict with the application of the DRNI in protection of a network interface, and does not meet the requirement of a metropolitan area Ethernet forum (MEF) on protection of a network interface.
The embodiments of the present disclosure provide a method and device for traffic path negotiation in a link aggregation group, so as to at least solve the problem in the related art that traffic of the same service cannot be ensured to be transmitted on the same aggregation link when being transmitted on a DRNI.
According to one embodiment of the present disclosure, a method for traffic path negotiation in a link aggregation group is provided.
The method for traffic path negotiation in a link aggregation group in the present disclosure includes: acquiring, by an aggregation port, indication information, and determining one or more services or sessions currently carried by the aggregation port, wherein the indication information carries the one or more services or sessions currently carried by the aggregation port; and distributing, by an aggregation group portal to which the aggregation port belongs, traffic according to one or more services or sessions currently carried by each aggregation port.
In an example embodiment, determining the one or more services or sessions currently carried by the aggregation port includes: modifying or setting the one or more services or sessions currently carried by the aggregation port according to a predefined policy.
In an example embodiment, in the aggregation group portal, each service or session corresponds to one aggregation port sequence.
In an example embodiment, according to the aggregation port sequence corresponding to each service or session in the aggregation group portal, one or more services or sessions to be carried by the aggregation port, and/or, the one or more services or sessions currently carried by the aggregation port are generated.
In an example embodiment, the aggregation port sequence is obtained by sorting according to a priority of carrying the service or session.
In an example embodiment, the one or more services or sessions to be carried by the aggregation port are formed by collecting, based on all aggregation port sequences, each service or session whose aggregation port sequence takes this aggregation port as an aggregation port having a highest priority of distributing the service or session.
In an example embodiment, modifying, by the aggregation port, the one or more services or sessions currently carried by the aggregation port according to the predefined policy includes: in a case where the one or more services or sessions currently carried are inconsistent with the one or more services or sessions in the indication information, making a comparison, by the aggregation port, with a priority of an aggregation group portal to which an aggregation port of an opposite end belongs, based on a priority relationship of an aggregation group portal to which the aggregation port belongs to determine whether the one or more services or sessions currently carried by the aggregation port need to be modified; or, judging, by the aggregation port, whether the one or more services or sessions currently carried by the aggregation port need to be modified according to the received indication information, based on a master/slave relationship of the aggregation group portal to which the aggregation port belongs.
In an example embodiment, judging, by the aggregation port, whether the one or more services or sessions currently carried by the aggregation port need to be modified according to the received indication information based on the priority relationship of the aggregation group portal to which the aggregation port belongs, or, based on a master/slave relationship of the aggregation group portal to which the aggregation port belongs includes: when the priority of the aggregation group portal to which the aggregation port belongs is lower than that of the aggregation group portal to which the aggregation port of the opposite end belongs, or the aggregation group portal to which the aggregation port belongs is slave to the aggregation group portal to which the aggregation port of the opposite end belongs, then modifying, by the aggregation port, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, setting, by the aggregation port, the one or more services or sessions currently carried by the aggregation port according to the predefined policy includes: when the aggregation port does not form the one or more services or sessions currently carried by the aggregation port or content of the currently carried service or session is null, then setting, by the aggregation port, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, the above-mentioned method further includes: when an aggregation link corresponding to the aggregation port has a fault or is unavailable, or, is separated from an aggregation link group, triggering one or more other aggregation ports apart from the aggregation port in the link aggregation group to modify its/their currently carried services or sessions.
In an example embodiment, traffic of the one or more services or sessions originally carried by the aggregation port is carried by one or more other available aggregation ports apart from the aggregation port.
In an example embodiment, the aggregation group portal to which the aggregation port belongs searches for an aggregation port having a second highest priority in each aggregation port sequence corresponding to the one or more services or sessions currently carried by the aggregation port, and triggers one or more found aggregation ports having the second highest priority to modify its/their currently carried services or sessions.
In an example embodiment, the aggregation port having the second highest priority is an available or a master aggregation port in the aggregation group portal.
In an example embodiment, the aggregation group portal to which the aggregation port belongs searching for the aggregation port having the second highest priority in each aggregation port sequence corresponding to the one or more services or sessions currently carried by the aggregation port, and triggering the one or more found aggregation ports having the second highest priority to modify its/their currently carried services or sessions includes: sending, by the aggregation port having the second highest priority, modified indication information, wherein the aggregation port of the opposite end modifies or sets, according to the modified indication information, one or more services or sessions currently carried by the aggregation port of the opposite end according to the predefined policy; and receiving, by the aggregation port having the second highest priority, indication information re-sent from the aggregation port of the opposite end to perform renegotiation.
In an example embodiment, the above-mentioned method further includes: when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, then triggering each aggregation port in the aggregation group portal to adjust their respective one or more services or sessions carried.
In an example embodiment, after triggering each aggregation port in the aggregation group portal to adjust their respective one or more services or sessions carried, the method further includes: sending, by the aggregation port, indication information carrying one or more carried service or session after adjustment.
In an example embodiment, the above-mentioned method further includes: when an aggregation link corresponding to the aggregation port has a fault or is unavailable, or, is separated from the aggregation link group, triggering an aggregation group portal to which the aggregation port belongs to adjust the aggregation port sequence corresponding to each service or session; and re-acquiring, by the aggregation group portal to which the aggregation port belongs, one or more services or sessions carried by respective aggregation ports according to the adjusted aggregation port sequence corresponding to each service or session.
In an example embodiment, the above-mentioned method further includes: sending, by an aggregation port which carries a service or session of the aggregation port, modified indication information, wherein an aggregation port of the opposite end modifies or sets, according to the modified indication information, one or more services or sessions currently carried by the aggregation port of the opposite end according to the predefined policy; and receiving, by an aggregation port which carries a service or session of the aggregation port, indication information re-sent from the aggregation port of the opposite end to perform renegotiation.
In an example embodiment, the above-mentioned method further includes: when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, then triggering the aggregation group portal to re-adjust the aggregation port sequence.
In an example embodiment, triggering the aggregation group portal to adjust the aggregation port sequence includes: triggering adjustment of the one or more services or sessions currently carried by the aggregation port.
In an example embodiment, the above-mentioned method further includes: when an aggregation link corresponding to one or more aggregation ports joins the aggregation link group, triggering modification of a service aggregation port sequence.
In an example embodiment, a failed aggregation link is detected via connectivity fault management (CFM) mechanism and the aggregation port sequence corresponding to each service or session sent on this aggregation link is searched, and an aggregation port sending the each service or session is re-determined.
In an example embodiment, the indication information is a type length value (TLV) field.
In an example embodiment, the indication information is carried in a link aggregation control protocol (LACP) message.
According to another embodiment of the present disclosure, a device for traffic path negotiation in a link aggregation group is provided.
The device for traffic path negotiation in a link aggregation group in the present disclosure includes: a processing component, configured to acquire indication information, and determine one or more services or sessions currently carried by an aggregation port, wherein the indication information carries one or more services or sessions currently carried by an aggregation port; and traffic distribution component, configured to distribute traffic according to one or more services or sessions currently carried by each aggregation port.
In an example embodiment, the processing component is configured to modify or set the one or more services or sessions currently carried by the aggregation port according to a predefined policy.
In an example embodiment, in an aggregation group portal, each service or session corresponds to one aggregation port sequence.
In an example embodiment, the processing component is configured to generate, according to the aggregation port sequence corresponding to each service or session in the aggregation group portal, one or more services or sessions to be carried by the aggregation port, and/or, the one or more services or sessions currently carried by the aggregation port.
In an example embodiment, the aggregation port sequence is obtained by sorting according to a priority of carrying the service or session.
In an example embodiment, the one or more services or sessions to be carried by the aggregation port are formed by collecting, based on all aggregation port sequences, each service or session whose aggregation port sequence takes this aggregation port as an aggregation port having a highest priority of distributing the service or session.
In an example embodiment, the processing component includes one of the following: a first processing element, configured to, in a case where the one or more services or sessions currently carried are inconsistent with the one or more services or sessions in the indication information, make a comparison with a priority of an aggregation group portal to which an aggregation port of an opposite end belongs based on a priority relationship of the aggregation group portal to which the aggregation port belongs to determine whether the one or more services or sessions currently carried by the aggregation port need to be modified; or, a second processing element, configured to judge whether the one or more services or sessions currently carried by the aggregation port need to be modified according to the received indication information, based on a master/slave relationship of the aggregation group portal to which the aggregation port belongs.
In an example embodiment, the first processing element is configured to modify, when the priority of the aggregation group portal to which the aggregation port belongs is lower than that of the aggregation group portal to which the aggregation port of the opposite end belongs, the one or more services or sessions currently carried by the aggregation port according to the received indication information, or, the second processing element is configured to modify, when the aggregation group portal to which the aggregation port belongs is slave to the aggregation group portal to which the aggregation port of the opposite end belongs, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, the processing component further includes: a third processing element, configured to set, when the aggregation port does not form the one or more services or sessions currently carried by the aggregation port or content of the currently carried service or session is null, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, the above-mentioned device further includes: a first triggering component, configured to trigger, when an aggregation link corresponding to the aggregation port has a fault or is unavailable, or, is separated from an aggregation link group, one or more other aggregation ports apart from the aggregation port in a link aggregation group to modify its/their currently carried services or sessions.
In an example embodiment, traffic of the one or more services or sessions originally carried by the aggregation port is carried by one or more other available aggregation ports apart from the aggregation port.
In an example embodiment, the first triggering component is configured to search for an aggregation port having a second highest priority in each aggregation port sequence corresponding to the one or more services or sessions currently carried by the aggregation port, and trigger one or more found aggregation ports having the second highest priority to modify its/their currently carried services or sessions.
In an example embodiment, the aggregation port having the second highest priority is an available or a master aggregation port in the aggregation group portal.
In an example embodiment, the first triggering component includes: a sending element, configured to send the modified indication information, wherein the aggregation port of the opposite end modifies or sets, according to the modified indication information, one or more services or sessions currently carried by the aggregation port of the opposite end according to the predefined policy; and a receiving element, configured to receive the indication information re-sent from the aggregation port of the opposite end to perform renegotiation.
In an example embodiment, the first triggering component is further configured to trigger, when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, each aggregation port in the aggregation group portal to adjust their respective one or more services or sessions carried.
In an example embodiment, the above-mentioned device further includes: a first sending component, configured to send indication information carrying one or more carried service or session after adjustment.
In an example embodiment, the above-mentioned device further includes: a second triggering component, configured to trigger, when an aggregation link corresponding to the aggregation port has a fault or is unavailable, or, is separated from the aggregation link group, an aggregation group portal to which the aggregation port belongs to adjust an aggregation port sequence corresponding to each service or session; and an acquisition component, configured to re-acquire one or more services or sessions carried by respective aggregation ports according to the adjusted aggregation port sequence corresponding to each service or session.
In an example embodiment, the above-mentioned device further includes: a second sending component, configured to send the modified indication information, wherein an aggregation port of the opposite end modifies or sets, according to the modified indication information, one or more services or sessions currently carried by the aggregation port of the opposite end according to the predefined policy; and a receiving component, configured to receive the indication information re-sent from the aggregation port of the opposite end to perform renegotiation.
In an example embodiment, the second triggering component is further configured to trigger, when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, the aggregation group portal to re-adjust the aggregation port sequence.
In an example embodiment, the above-mentioned device further includes: a third triggering component, configured to trigger, when an aggregation link corresponding to one or more aggregation ports joins the aggregation link group, modification of a service aggregation port sequence.
In an example embodiment, a failed aggregation link is detected via connectivity fault management (CFM) mechanism, the aggregation port sequence corresponding to each service or session sent on this aggregation link is searched, and an aggregation port sending the each service or session is re-determined.
In an example embodiment, the indication information is a type length value (TLV) field.
In an example embodiment, the indication information is carried in a link aggregation control protocol (LACP) message.
According to the embodiments of the present disclosure, an aggregation port acquires indication information, and determines one or more services or sessions currently carried by the aggregation port, wherein the indication information carries one or more services or sessions currently carried by an aggregation port; and an aggregation group portal to which the aggregation port belongs distributes traffic according to one or more services or sessions currently carried by each aggregation port. The technical solution solves the problem in the related art that traffic of the same service cannot be ensured to be transmitted on the same aggregation link when being transmitted on a DRNI, thus effectively ensuring that the same aggregation link can be selected at both ends of the aggregation group for the same service, achieving protection at an interconnect interface.
Drawings, provided for further understanding of the present disclosure and forming a part of the specification, are used to explain the present disclosure together with embodiments of the present disclosure rather than to limit the present disclosure. In the accompanying drawings:
The present disclosure is described below with reference to the drawings and embodiments in detail. It should be noted that the embodiments of the present application and the characteristics of the embodiments may be combined with each other if there is no conflict.
step S202: acquiring, by an aggregation port, indication information, and determining one or more services or sessions currently carried by the aggregation port, wherein the indication information carries one or more services or sessions currently carried by an aggregation port; and
step S204: distributing, by an aggregation group portal to which the aggregation port belongs, traffic according to one or more services or sessions currently carried by each aggregation port.
In the related art, traffic of the same service cannot be ensured to be transmitted on the same aggregation link when being transmitted on a DRNI. By adopting the method as shown in
During an example implementation process, the above-mentioned indication information may be but is not limited to: a TLV field. The above-mentioned indication information may be carried in an LACP message.
In an example embodiment, with regard to protection, a packet switching network is needed to be able to simulate time division multiplexing (TDM) to achieve point-to-point service protection; and with regard to failover, it is desired to reduce services affected thereby as far as possible. Therefore, the embodiment of the present disclosure provides a practical and effective manner based on a link aggregation control protocol (LACP) to ensure that the same service can be carried in the same path in both directions when being transmitted on the DRNI. In order to achieve protection of a network interconnection area, the technical solution provided by the embodiment of the present disclosure can provide, based on an LACP protocol specified in 802.1AX standard, a method for two ends of an aggregation group to perform service distribution negotiation so as to ensure that the same service is transmitted in the same path of the aggregation link group in both directions, that is, the same aggregation link is selected for the traffic of the same service, thus achieving the requirements of protection.
In an example embodiment, a new service negotiation TLV field is defined in an extension LACP protocol, and the service negotiation TLV field carries one or more services carried by each aggregation port, i.e. a service carrying table.
In an example embodiment, in step S202, determining the one or more services or sessions currently carried by the aggregation port may include the following processing: modifying or setting the one or more services or sessions currently carried by the aggregation port according to a predefined policy.
During an example implementation process, in an aggregation group portal, each service or session corresponds to one aggregation port sequence.
In an example embodiment, according to the aggregation port sequence corresponding to each service or session in the aggregation group portal, at least one of the following is generated:
(1) one or more services or sessions to be carried by the aggregation port; and
(2) one or more service or sessions currently carried by the aggregation port.
In an example embodiment, the above-mentioned aggregation port sequence may be obtained by sorting according to a priority of carrying the service or session.
In an example embodiment, two ends or one end of the aggregation group have/has a service allocation port table of its own; and different services may correspond to multiple aggregation links, and the multiple aggregation links may be sorted according to a priority of service distribution.
In an example embodiment, the one or more services or sessions to be carried by the aggregation port are formed by collecting, based on all aggregation port sequences, each service or session whose aggregation port sequence takes this aggregation port as an aggregation port having a highest priority of distributing the service or session.
In an example embodiment, the service carrying table of each port is acquired according to the service allocation port table. The service carrying table is acquired according to the first priority port (i.e. a port having the highest priority) in the service allocation port table.
In an example embodiment, modifying, by the above-mentioned aggregation port, the one or more services or sessions currently carried by the aggregation port according to the predefined policy may include one of the following steps:
step S1: in a case where the one or more services or sessions currently carried are inconsistent with the one or more services or sessions in the indication information, making a comparison, by the aggregation port, with a priority of an aggregation group portal to which an aggregation port of an opposite end belongs, based on a priority relationship of an aggregation group portal to which the aggregation port belongs to determine whether the one or more services or sessions currently carried by the aggregation port need to be modified; and
step S2: judging, by the aggregation port, whether the one or more services or sessions currently carried by the aggregation port need to be modified according to the received indication information, based on a master/slave relationship of the aggregation group portal to which the aggregation port belongs.
In an example embodiment, judging, by the aggregation port, whether the one or more services or sessions currently carried by the aggregation port need to be modified according to the received indication information based on the priority relationship of the aggregation group portal to which the aggregation port belongs in the above-mentioned step S1, or in step S2, based on a master/slave relationship of the aggregation group portal to which the aggregation port belongs may include the following step: when the priority of the aggregation group portal to which the aggregation port belongs is lower than that of the aggregation group portal to which the aggregation port of the opposite end belongs, or the aggregation group portal to which the aggregation port belongs is slave to the aggregation group portal to which the aggregation port of the opposite end belongs, then modifying, by the aggregation port, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, after receiving an LACP message carrying a service negotiation TLV, if the local end also has a service carrying table, then the aggregation port compares the received service carrying table with the service carrying table of the local end. According to a predefined policy, such as a priority of a system or a master/slave relationship of the system, whether to modify the service carrying table of the local end according to information of the service negotiation TLV is determined so that two ends of the same aggregation link can acquire the same service carrying table by negotiation.
In an example embodiment, setting, by the above-mentioned aggregation port, the one or more services or sessions currently carried by the aggregation port according to the predefined policy may include the following processing: when the aggregation port does not form the one or more services or sessions currently carried by the aggregation port or content of the currently carried service or session is null, then setting, by the aggregation port, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, if the local end does not have a service carrying table, then a service carrying table of the local end is constructed according to the received service negotiation TLV field
In an example embodiment, the above-mentioned method may further include: when an aggregation link corresponding to the aggregation port has a fault or is unavailable, or, is separated from an aggregation link group, triggering one or more other aggregation ports apart from the aggregation port in the link aggregation group to modify its/their currently carried services or sessions.
In an example embodiment, traffic of the one or more services or sessions originally carried by the aggregation port is carried by one or more other available aggregation ports apart from the aggregation port.
During an example implementation process, the aggregation group portal to which the aggregation port belongs searches for an aggregation port having a second highest priority in each aggregation port sequence corresponding to the one or more services or sessions currently carried by the aggregation port, and triggers one or more found aggregation ports having the second highest priority to modify its/their currently carried services or sessions.
During an example implementation process, the aggregation port having the second highest priority is an available or a master aggregation port in the aggregation group portal.
In an example embodiment, the aggregation group portal to which the aggregation port belongs searching for the aggregation port having the second highest priority in each aggregation port sequence corresponding to the one or more services or sessions currently carried by the aggregation port, and triggering the one or more found aggregation ports having the second highest priority to modify its/their currently carried services or sessions may include operations as follows:
step S3: sending, by the aggregation port having the second highest priority, modified indication information, wherein the aggregation port of the opposite end modifies or sets, according to the modified indication information, the one or more services or sessions currently carried by the aggregation port of the opposite end according to the predefined policy; and
step S4: receiving, by the aggregation port having the second highest priority, indication information re-sent from the aggregation port of the opposite end to perform renegotiation.
In an example embodiment, when a certain aggregation link is unavailable, for example, the aggregation link has a fault or the aggregation link is separated from the aggregation link group, one or more services carried by the aggregation link need to switch from the aggregation link to other aggregation links. The service allocation port table is searched again according to the one or more services carried by the unavailable aggregation link to obtain one or more ports having the second priority, a change of the service carrying table is triggered on the port and negotiation of the services on the one or more ports having the second priority is performed again via the service negotiation TLV of the LACP protocol, and the corresponding one or more services are switched to their respective second priority ports for transmission after the negotiation is successful.
In an example embodiment, the above-mentioned method may further include: when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, then triggering each aggregation port in the aggregation group portal to adjust their respective one or more services or sessions carried.
In an example embodiment, after triggering each aggregation port in the aggregation group portal to adjust their respective one or more services or sessions carried, the method may further include the following processing: sending, by the aggregation port, indication information carrying one or more carried service or session after adjustment.
In an example embodiment, when the aggregation link restores or when the aggregation link re-joins the aggregation link group, if the protection mode is a Revertive mode, then the service carrying table on the affected aggregation port is triggered to change, so as to perform negotiation again via the service negotiation TLV field of the LACP protocol, and switch the one or more services to the restored link after the negotiation is successful. If the protection mode is a Non-revertive mode, then the service carrying table on the aggregation port may not be triggered to change.
In an example embodiment, the above-mentioned method further includes: when an aggregation link corresponding to the aggregation port has a fault or is unavailable, or, is separated from the aggregation link group, triggering the aggregation group portal to which the aggregation port belongs to adjust the aggregation port sequence corresponding to each service or session; and re-acquiring, by the aggregation group portal to which the aggregation port belongs, one or more services or sessions carried by respective aggregation ports according to the adjusted aggregation port sequence corresponding to each service or session.
In an example embodiment, the above-mentioned method may further include the following operations:
step S5: sending, by an aggregation port which carries a service or session of the aggregation port, the modified indication information, wherein the aggregation port of the opposite end modifies or sets, according to the modified indication information, the one or more services or sessions currently carried by the aggregation port of the opposite end according to the predefined policy; and
step S6: receiving, by an aggregation port which carries a service or session of the aggregation port, the indication information re-sent from the aggregation port of the opposite end to perform renegotiation.
In an example embodiment, when a certain aggregation link is unavailable, for example, the aggregation link has a fault or the aggregation link is separated from the aggregation link group, the service allocation port table is triggered to be modified, and a port sequence of the corresponding service allocation port table is adjusted according to the change of the aggregation port. The change of the service allocation port table triggers the change of the service carrying table of each port, and once the service carrying table changes, contents carrying the service negotiation TLV field in the LACP protocol need to be adjusted to perform negotiation again.
In an example embodiment, the above-mentioned method may further include the following processing: when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, then triggering the aggregation group portal to re-adjust the aggregation port sequence.
In an example embodiment, triggering the aggregation group portal to adjust the aggregation port sequence may include the following processing: triggering the adjustment of the one or more services or sessions currently carried by the aggregation port.
In an example embodiment, the above-mentioned method may include: when an aggregation link corresponding to one or more aggregation ports joins the aggregation link group, triggering modification of a service aggregation port sequence.
In an example embodiment, when the aggregation link restores or when the aggregation link re-joins the aggregation link group, if the protection mode is a Revertive mode, then the port sequence regarding the aggregation link re-joins the service allocation port table, and since the change of the service allocation port table triggers the change of the service carrying table of the aggregation port, negotiation is performed again via including the contents of the service negotiation TLV field in the LACP protocol. If the protection mode is a Non-revertive mode, then the service carrying table on the aggregation port may not be triggered to change.
During an example implementation process, a failed aggregation link may be detected via connectivity fault management (referred to as CFM) mechanism, and the aggregation port sequence corresponding to each service or session sent on this aggregation link is searched, and an aggregation port sending the each service or session is re-determined.
In an example embodiment, if it is detected via the CFM mechanism that certain service traffic is blocked, and the service has a fault, then a second priority port may be acquired by searching in a service allocation port table corresponding to the service, and an affected port sends an LACP carrying the service negotiation TLV field to negotiate the changed service.
It should be noted that the negotiation involved in the technical solution provided in the embodiments of the present disclosure not only may be negotiation of a service in a message, such as a custom virtual local area network identification (referred to as C-VID), a service virtual local area network identification (referred to as S-VID), a backbone virtual local area network identification (referred to as B-VID) and a backbone service instance identification (referred to as I-SID); but also may be negotiation of a stream identification or a session identification predefined by two ends, wherein the stream identification or session identification is a definition of one type of data streams, and the type of data streams may be a group of media access control (MAC) pairs in which destination MACs are the same as source MACs, and may also be a group of Internet protocol (IP) pairs in which destination IPs are the same as source IPs, and may also be the C-VID, the S-VID, the B-VID and the I-SID in the above-mentioned service negotiation.
The above-mentioned example implementation process is further described below with reference to several example embodiments.
System C and system D in port 2 obtain a service allocation port table after negotiation. Table 2 is the service allocation port table of port 2, as shown in table 2,
Each entry in the above-mentioned service allocation port table may be represented by a group of variable identifications:
Aggregator_Vlan_XXXXXX_Admin_Port.
By parsing the variable identification Aggregator_Vlan_XXXXXX_Admin_Port, each port may acquire services to be carried by the port itself and put same in the variable Port_Admin_Vlan_List. Each aggregation port has its own service carrying table, the service carrying table may be identified by a port variable Port_Oper_Vlan_List, and an extended service negotiation TLV field in an LACP message carries the value in the Port_Oper_Vlan_List. An initial value of the Port_Oper_Vlan_List is the Port_Admin_Vlan_List.
Port a and port w are taken as an example below, and table 3 is a service carrying table of the aggregation port a, as shown in table 3,
Table 4 is a service carrying table of the aggregation port w, as shown in table 4,
A service negotiation TLV field in an LACP protocol message carries service carrying table information corresponding to the aggregation port sending the message. Therefore, the LACP protocol messages sent from port a and port w respectively carries a service negotiation TLV, and formats of the TLV are respectively as shown in table 5 and table 6. Table 5 is information carried in the service negotiation TLV field in the LACP message sent by port a, as shown in table 5,
Table 6 is information carried in the service negotiation TLV field in the LACP message sent by port w, as shown in table 6,
It can be seen from table 5 and table 6, services originally carried by port a and port w at two ends of the aggregation link are different, and at this moment, negotiation of the two parties is needed, which can be based on a predefined policy, for example, based on a system priority, system ID and a master/slave relationship of the two ends of an aggregation group. In the example embodiment, it is assumed that a system priority of portal 1 is higher than a system priority of portal 2, or portal 1 is a master device end and portal 2 is a slave device end, and therefore port w of portal 2 is subject to services carried by port a of portal 1 and thus modifies its own service carrying table Port_Oper_Vlan_List. After negotiation via the LACP, the service carrying table of port w is changed into table 7.
Table 7 is a service carrying table of the port w after negotiation, as shown in table 7,
At this moment, the information carried in the service negotiation TLV field in the LACP message sent by port w is table 8.
Table 8 is information carried in the service negotiation TLV field in the LACP message sent by port w after negotiation, as shown in Table 8,
When information carried in the service negotiation TLV field in the LACP message received by an aggregation port is consistent with contents of its own service carrying table, it means that the two aggregation ports reach an agreement via negotiation, the service starts to be transmitted via the aggregation link (the state of the aggregator enters a distributing state). In this way, the bidirectional traffic of the same service is ensured to be transmitted in the same path in both directions.
When one of the aggregation links therein has a fault or is separated from the aggregation group, for example, in the example embodiment,
When the aggregation link 1 restores or the link re-joins the aggregation group, the service carrying table of the aggregation port a and the aggregation port w is re-established according to the service allocation port table. If the protection is in a Revertive mode, then a newly established service carrying table may trigger the service carrying table on other affected aggregation ports to change, so that negotiation is performed again via the service negotiation TLV field of the LACP protocol, and the services are switched back to the restored link after the negotiation is successful. For example, because of the restoration of the aggregation link 1, service 001 needs to return to the aggregation link 1 for transmission, then the aggregation port b and aggregation port y may also change, and service 001 is deleted in the service carrying tables of the aggregation port b and aggregation port y. If the protection mode is a Non-revertive mode, then the service carrying table on the aggregation port may not be triggered to change; or, whether to modify carried services of other aggregation ports is determined according to other policies, such as a port priority, and a new aggregation link carries service traffic listed in the service carrying table thereof.
In the example embodiment, the networking and the service negotiation process are the same as those in the example embodiment I, which is not described again here.
When one of the aggregation links therein has a fault or is separated from the aggregation group, for example, in the example embodiment, it is assumed that the aggregation link 1 has a fault, as shown in
The change of the service allocation port table triggers the change of the service carrying table of other ports. For example, with regard to port b, service 001 needs to be added in the service carrying table thereof. Similarly, the change of the service carrying table needs to trigger the change of information carried in the service negotiation TLV field sent by port b, and at this moment, information of service 001 may be added in the service negotiation TLV field sent by port b. Table 10 is information sent by port b and carried in the service negotiation TLV field which is added with a new service, as shown in table 10,
According to a predefined policy, after receiving information carried in the TLV field as shown in table 10, the other port y of an aggregation link 2 is subject to the added service of port b, and therefore services 001 and 002 are also added in the service carrying table of port y. After port b and port y are consistent via negotiation (it is assumed that the service carrying tables of port b and port y are both as shown in table 11), traffic of services 001 and 002 may be switched to the aggregation link 2 for subsequent transmission, so as to achieve switching protection, and ensure that the same service is transmitted in the same path in both directions. Table 11 is a service carrying table after port b and port y are consistent via negotiation, as shown in table 11,
In addition, in the example embodiment, a certain example manner may also be adopted. When a service carrying table changes, it is unnecessary to re-transmit a new service carrying table thereof again, and it is only needed to transmit a service to be added or a service to be deleted once. For example, service 001 is added in port b. Table 12 is information carried in an optimized service negotiation TLV field, as shown in table 12:
Herein, if the Indication=1, it means that this TLV is a TLV indicating the service to be added; and if the Indication=2, then it means that service information received is a service to be removed from the port.
When this fault of link 1 is restored, the link 1 re-joins the above-mentioned aggregation group. According to a predefined algorithm of the system, traffic may be re-allocated. If the protection mode is a Revertive mode, after re-computing, the service allocation port table of portal 1 may be restored to a state before this fault, i.e. as shown in table 1. At this moment, the service allocation table has changed, which may trigger service carrying tables of other ports to change. For example, port a re-establishes a service carrying table of its own according to the service allocation table, at this moment, the service carrying table of port a is restored to a state before this fault, as shown in table 3. Port b may also be restored to a state before this fault, at this moment, port b needs to delete the originally carried service 001 from the service carrying table of its own. At this moment, service negotiation TLV formats in an LACP protocol message sent by port a are as shown in table 5. Table 13 is optimized service negotiation TLV formats in an LACP protocol message sent by the port b, as shown in table 13:
If the protection mode is a Non-revertive mode, then a newly added link only serves as a standby link and is added in a current service allocation port table (as shown in table 9), and does not affect forwarding of any traffic currently. For example, with regard to portal 1, table 14 is a new service allocation port table of port 1 after this fault is restored, as shown in table 14:
At this moment, no effect may be introduced to the service carrying table of the port, unless a fault occurs again or there is a link being removed from the aggregation group.
In the example embodiment, the networking and service negotiation process are the same as those in the example embodiment I, which is not described again here.
When a device starts a CFM to perform fault detection on a service, if it is detected that a certain service/certain services has a fault, then a service allocation port table corresponding to the service is searched to find a second priority port, and the LACP carries the service negotiation TLV field on one or more affected ports to negotiate the changed service. For example, with regard to service 001, it is detected that a fault occurs thereon via the CFM, portal 1 searches service allocation port table (as described in table 1) thereof to find a second priority port b and modify the service carrying table of port b to add service 001 in the table; then service negotiation TLV formats in the LACP protocol message sent by port b are as shown in table 12.
According to a negotiation policy, port y on the portal 2 is subject to port b, and thus also adds service 001 in the service carrying table thereof. In this way, port y and port b are consistent via negotiation, so as to successfully switch service 001 to the aggregation link 2 for transmission.
When the CFM corresponding to service 001 is restored on the aggregation link 1, if the protection mode is a Revertive mode, then the service carrying tables of port a and port b are triggered to re-negotiate the services to be transmitted on the aggregation link 1. If the protection mode is a Non-revertive mode, then the modification of service carrying tables of port a and port b is not triggered, and the transmission path of the services remains unchanged.
The example embodiment is similar to the above-mentioned example embodiment I, and the differences lie in that port 1 and port 2 in the above-mentioned example embodiment I have their own service port allocation table, and can generate service carrying table of each aggregation port of their own, so as to send a service negotiation TLV field according to the generated service carrying table to finally reach an agreement via the negotiation of two ends.
In the present example embodiment, only one end is configured with its own service port allocation table. It is assumed that only portal 1 has its own service port allocation table, as shown in table 1. Therefore, each aggregation port of portal 1 may generate its own service carrying table according the service port allocation table. For example, it is assumed that the service carrying table of port a is as shown in table 3, information carried in the service negotiation TLV field in the LACP message sent by port a is as shown in table 5.
After receiving the service negotiation TLV field sent from port a, since the port w in portal 2 connected to port a does not have a service carrying table of its own, and thus a service carrying table of the port w may be constructed according to the received service negotiation TLV field of the opposite end. The service carrying table of port w may keep consistent with the service carrying table of port a. When all the aggregation ports of portal 2, such as port w, port x, port y and port z, establish their own service carrying tables, the portal 2 constructs its own service port allocation table according to the service carrying table of each port. Once each port constructs its own service carrying table, information about its own service carrying table also starts to be transmitted via the service negotiation TLV field, so that two ends can always keep consistency of service transmission, and keep the same service being transmitted in the same path in both directions.
The example embodiment differs from the above-mentioned various example embodiments in that the present example embodiment is based on the identification of a stream, which is identified as stream id herein. It is assumed that certain data streams are pre-defined and identified, and table 15 shows definitions of stream identifications or session identifications, as shown in table 15:
Herein, the steam identification or session identification need to be defined via negotiation by two parties of the aggregation group, i.e. the same type of data streams have the same stream identification (Stream ID) or session identification. At this moment, a TLV field of stream identification or session identification is interacted between aggregation ports instead of the service negotiation TLV field. It is assumed that at portal 1, table 16 is a stream port correspondence table of portal 1, and a relationship between the aggregation port and the stream is as shown in table 16:
Table 17 is a stream port correspondence table of portal 2 at portal 2, and a relationship between the aggregation port and the stream is as shown in table 17:
In the example embodiment, each entry in the corresponding table of the traffic port may be identified by a group of variables:
Aggregator_Stream_XXXXXX_Admin_Port.
By parsing the above-mentioned variable identifier Aggregator_Stream_XXXXXX_Admin_Port, each port acquires data streams to be carried by the port itself and put same in the variable Port_Admin_Stream_List.
Each aggregation port has a data stream carrying table of its own, the data stream carrying table may be identified by a port variable Port_Oper_Stream_List, and an extended TLV field of the stream identification or session identification in an LACP message carries the value in the Port_Oper_Stream_List. An initial value of the Port_Oper_Stream_List is equal to the Port_Admin_Stream_List.
Herein, port a and port w are taken as an example below, and table 18 is a data stream carrying table of the aggregation port a, as shown in table 18:
Table 19 is a service carrying table of the aggregation port w, as shown in table 19:
A TLV field of the stream identification or session identification in an LACP protocol message carries data stream carrying table information corresponding to the aggregation port sending the message. Therefore, the LACP protocol messages sent by port a and port w respectively carries a TLV of the stream identification or session identification, formats of the TLV are as shown in table 20 and table 21 respectively. Table 20 is information carried in the TLV field of the stream identification or session identification in the LACP message sent by port a, as shown in table 20:
Table 21 is information carried in the TLV field of the stream identification or session identification in the LACP message sent by port w, as shown in table 21:
It can be seen from table 20 and table 21, data streams originally carried by port a and port w at two ends of the aggregation link are different, and at this moment, negotiation of the two parties is needed. According to a predefined policy, for example, according to a system priority, it is assumed herein that a system priority of portal 1 is higher than a system priority of portal 2, and therefore port w needs to be subject to data streams carried by port a to modify its own data stream carrying table Port_Oper_Stream_List. After the negotiation via the LACP, the data stream carrying table of port w is changed as shown in table 22. Table 22 is a service carrying table of the port w after negotiation, as shown in table 22:
At this moment, table 23 is information carried in the TLV field of the stream identification or session identification in the LACP message sent by port w after negotiation, as shown in table 23:
When information carried in the TLV field of the stream identification or session identification in the LACP message received by an aggregation port is consistent with contents of its own stream port correspondence table (Port_Oper_Stream_List), it means that the two aggregation ports reach an agreement via negotiation, the service starts to be transmitted via the aggregation link (the state of the aggregator enters a distributing state). In this way, the bidirectional traffic of the same service is ensured to be transmitted in the same path in both directions.
When an aggregation link has a fault or is separated from an aggregation group, the operation process thereof is similar to that of the above-mentioned various example embodiments, with the service identification merely being changed into a stream identification or a session identification, which is not described again here.
It should be noted that using a stream identification or a session identification to perform distribution of messages and negotiation of the same path may be used for identifying traffic of the same session, so as to reduce a granularity of identifying different traffics, and to make the aggregation group more even in a load balancing aspect.
By adopting the device as shown in
During an example implementation process, the above-mentioned indication information may be but is not limited to: a TLV field. The above-mentioned indication information may be carried in an LACP message.
In an example embodiment, the above-mentioned processing component 10 is configured to modify or set the one or more services or sessions currently carried by the aggregation port according to a predefined policy.
In an example embodiment, in an aggregation group portal, each service or session corresponds to one aggregation port sequence.
In an example embodiment, the above-mentioned processing component 10 is configured to generate, according to the aggregation port sequence corresponding to each service or session in the aggregation group portal, one or more services or sessions to be carried by the aggregation port, and/or, the one or more services or sessions currently carried by the aggregation port.
In an example embodiment, the aggregation port sequence may be sorted according to a priority of carrying the service or session.
In an example embodiment, the one or more services or sessions to be carried by the aggregation port are formed by collecting, based on all aggregation port sequences, each service or session whose aggregation port sequence takes this aggregation port as an aggregation port having a highest priority of distributing the service or session.
In an example embodiment, as shown in
In an example embodiment, the above-mentioned first processing element 100 is configured to modify, when the priority of the aggregation group portal to which the aggregation port belongs is lower than that of the aggregation group portal to which the aggregation port of the opposite end belongs, the one or more services or sessions currently carried by the aggregation port according to the received indication information, or, the second processing element 102 is configured to the first processing element is configured to modify, when the aggregation group portal to which the aggregation port belongs is slave to the aggregation group portal to which the aggregation port of the opposite end belongs, the one or more services or sessions currently carried by the aggregation port according to the received indication information.
In an example embodiment, as shown in
In an example embodiment, as shown in
In an example embodiment, traffic of the one or more services or sessions originally carried by the aggregation port is carried by one or more other available aggregation ports apart from the aggregation port.
In an example embodiment, the above-mentioned first triggering component 30 is configured to search for an aggregation port having a second highest priority in each aggregation port sequence corresponding to the one or more services or sessions currently carried by the aggregation port, and trigger one or more found aggregation ports having the second highest priority to modify its/their currently carried services or sessions.
In an example embodiment, the aggregation port having the second highest priority is an available or a master aggregation port in the aggregation group portal.
In an example embodiment, as shown in
In an example embodiment, the above-mentioned first triggering component 30 is further configured to trigger, when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, each aggregation port in the aggregation group portal to adjust their respective one or more services or sessions carried.
In an example embodiment, as shown in
In an example embodiment, as shown in
In an example embodiment, as shown in
In an example embodiment, the above-mentioned second triggering component 50 is further configured to trigger, when the aggregation link corresponding to one or more aggregation ports returns to service or re-joins the aggregation link group, if a protection mode of the aggregation group portal is a Revertive mode, the aggregation group portal to re-adjust the aggregation port sequence.
In an example embodiment, as shown in
In an example embodiment, a failed aggregation link is detected via connectivity fault management (CFM) mechanism, and the aggregation port sequence corresponding to each service or session sent on this aggregation link is searched, and an aggregation port sending the each service or session is re-determined.
It should be noted that the example interacting and working manner of all the components and all the elements shown in
As stated above, a method and device for traffic path negotiation in a link aggregation group provided in the embodiments of the present disclosure has the following beneficial effects: being able to effectively ensure that the same aggregation link is selected for the same service on two ends of an aggregation group, achieving protection at an interconnect interface.
Obviously, those skilled in the art should know that each of the mentioned components or steps of the present application can be realized by universal computing devices; the components or steps can be focused on single computing device, or distributed on the network formed by multiple computing devices; selectively, they can be realized by the program codes which can be executed by the computing device; thereby, the components or steps can be stored in the storage device and executed by the computing device; and under some circumstances, the shown or described steps can be executed in different orders, or can be independently manufactured as each integrated circuit component, or multiple components or steps thereof can be manufactured to be single integrated circuit component, thus to be realized. In this way, the present disclosure is not restricted to any particular hardware and software combination.
The above description is only example embodiments of the present disclosure and is not intended to limit the present disclosure, and the present disclosure can have a variety of changes and modifications for those skilled in the art. Any modification, equivalent replacement, or improvement made within the principle of the present disclosure shall all fall within the protection scope defined by the claims of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201210401316.2 | Oct 2012 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/084353 | 9/26/2013 | WO | 00 |