Patent Publication Number: US-2009232152-A1

Title: Method and apparatus for aggregating ports

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of International Patent Application No. PCT/CN2007/003727, filed Dec. 21, 2007, which claims the benefit of Chinese Patent Application No. 200610168025.8, filed Dec. 22, 2006, both of which are hereby incorporated by reference in their entireties. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to network technologies, and in particular, to a method and apparatus for aggregating ports. 
     BACKGROUND OF THE INVENTION 
     Port aggregation is a technology for binding multiple physical ports into a logical port. This technology can process multiple physical connections as a single logical connection, and allow parallel connection and data transmission between two network devices through multiple ports to provide higher bandwidth and larger throughput. Normally, the maximum bandwidth for the connection between two common network devices depends on the connection speed of a medium (taking a 100BAST-TX twisted pair as an example, the connection speed is 200 Mbps). If the port aggregation technology is used to bind four 200 Mbps ports, the connection speed may reach as high as 800 Mbps. This technology increases the bandwidth by binding multiple ports, with additional costs on common Category 5 network cables and occupied ports only. When this technology is used, aggregation ports of devices at both ends should work in the full-duplex state. 
     Port aggregation may be categorized into manual port aggregation, static port aggregation and dynamic port aggregation. A method for aggregating ports is as follows: Aggregation ports of devices at both ends are configured by a user; the Link Aggregation Control Protocol (LACP) transmits packets between the devices at both ends to communicate, negotiate and report errors and failures; and the LACP determines whether to aggregate or de-aggregate a port. 
       FIG. 1  shows the connection diagram of two network devices. The network devices include a network device  11  and a network device  12 , where port  1  and port  2  of the network device  11  are connected to port  1  and port  2  of the network device  12  respectively. When static port aggregation is performed, a static link aggregation group (LAG) needs to be configured on the network device  11  and the network device  12 . 
     Currently, static port aggregation may be performed in two modes. One mode is as follows: When a port joins an aggregation group initially, the receiving state machine of the LACP sets the port to the UNSELECTED state; when the port receives packets, the receiving state machine of the LACP sets the port to the SELECTED state or STANDBY state according to the selection logic of the LACP; when the port fails to receive packets within six seconds, the port enters the DEFAULTED timeout state, and the receiving state machine of the LACP sets the port to the UNSELECTED state and notifies the port of not carrying services. 
     However, through in-depth study and analysis, the inventor finds that the preceding mode has certain weaknesses. 
     When this mode is used, a static LAG on devices of both ends needs to be configured by the user to use the aggregation function. Because the standard LACP protocol is used, when a static LAG is created by the user, a static LAG or a member port thereof is deleted by the user, service interruption may occur. The duration of service interruption is related to the interval of operations performed by the user on the devices at both ends. The longer the interval is, the longer the duration of service interruption is. 
     As shown in  FIG. 1 , supposing port  1  of the network device  11  and port  2  of the network device  12  have a service A when a static LAG is created by the user on the network device  11  and the network device  12 , if the a static LAG  1  is created by the user on the network device  11 , the static LAG  1  includes port  1  and port  2  of the network device  11 , and a static LAG  2  is not created on the network device  12 . According to the receiving state machine of the LACP, if port  1  and port  2  cannot receive LACP packets from the opposite end, it is assumed that port  1  and port  2  fail, and the service A may be interrupted. The service A may be recovered only after the static LAG  2  is created on the network device  12 . 
     Supposing the static LAG  1  is created on the network device  11 , the static LAG  1  includes port  1  and port  2  of the network device  11 ; supposing the static LAG  2  is created on the network device  12 , the static LAG  2  includes port  1  and port  2  of the network device  11 , and both the static LAG  1  and the static LAG  2  transmit data services. When the user deletes the static LAG  1 , ports of the network device  12  cannot receive packets and fail to work upon expiry of six seconds, and the original services are interrupted. The services may be recovered only after the user deletes the static LAG  2 . 
     Supposing the static LAG  1  is created on the network device  11 , the static LAG  1  includes port  1  and port  2  of the network device  11 ; supposing the static LAG  2  is created on the network device  12 , the static LAG  2  includes port  1  and port  2  of the network device  11 , and port  1  of the network device  11  and port  1  of the network device  12  have services. When the user deletes port  1  of the network device  11  from the static LAG  1 , port  1  of the network device  12  cannot receive packets and fails to work upon expiry of six seconds, and the original services are interrupted. The services may be recovered only after the user deletes port  1  of the network device  12  from the LAG  2 . 
     With increasing requirements of various network applications for the network availability, it is expected by the user that services, especially transmission of voice services, should not be interrupted for a long time. If the service interruption lasts more than 50 ms, applications may fail. 
     The other static aggregation mode is as follows: When changes happen to a link that participates in the aggregation, other links in the LAG send a packet including the failure information of the link, thus implementing protection. As shown in  FIG. 1 , when port  2  of the network device  11  fails or cannot participate in the aggregation for other reasons, the failure information of port  2  is transmitted to ports of the network device  12  through port  1  of the network device  11 . 
     However, this mode is only applicable to a scenario where devices at both ends have LAGs and changes happen to LAG members. 
     SUMMARY OF THE INVENTION 
     An embodiment of the present invention provides a method and apparatus for aggregating ports to overcome the weakness of the prior art that the service interruption lasts a long time due to changes of a link participating in the aggregation. 
     The technical solution provided in an embodiment of the present invention provides a method for aggregating ports. The method includes: when creating a static LAG at the local end, judging whether a port receives an aggregation packet sent from the opposite end; if yes, determining the state of the port according to the LACP; otherwise, maintaining the state of the port carrying services. 
     The technical solution provided in an embodiment of the present invention provides an apparatus for aggregating ports. The apparatus includes a static port aggregation processing unit, an opposite state detecting unit, and a port state setting unit. The static port aggregation processing unit is connected to the opposite state detecting unit, and adapted to create a static LAG The opposite state detecting unit is adapted to detect whether a port receives an aggregation packet from the opposite end when the static LAG is created. If no port receives an aggregation packet from the opposite end, the state of the port carrying services remains unchanged; otherwise, the port state setting unit sets the state of the port according to the LACP. 
     The technical solution provided in an embodiment of the present invention has at least following merits: 
     The method provided in an embodiment of the present invention detects whether a static LAG is created on the opposite device when creating a static LAG and keeps the original state of the port unchanged after determining that no static LAG is created on the opposite device. Thus, a static LAG can be created without any impact on original services. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows the connection diagram of two network devices in the prior art; 
         FIG. 2  shows a structure of an apparatus for aggregating ports in an embodiment of the present invention; 
         FIG. 3  shows the process of creating a static LAG in a first embodiment of the present invention; 
         FIG. 4  shows the process of deleting a static LAG in a second embodiment of the present invention; and 
         FIG. 5  shows the process of deleting a member port in a third embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention is hereinafter described in detail with reference to the accompanying drawings and preferred embodiments. 
       FIG. 2  shows an apparatus for aggregating ports in an embodiment of the present invention. The apparatus includes: a static port aggregation processing unit  21 , an opposite state detecting unit  22 , a port state setting unit  22 , a working state detecting unit  24 , a packet sending unit  25 , and an information setting unit  26 , where the static port aggregation processing unit  21  is connected to the opposite state detecting unit  22 , the working state detecting unit  24  and the packet sending unit  25 ; the port state setting unit is connected to the opposite state detecting unit  22 ; and the information setting unit  26  is connected to the packet sending unit  25 . 
     The static port aggregation processing unit  21  is adapted to create a static LAG, delete a static LAG or delete a member port thereof. The opposite state detecting unit  22  is adapted to detect whether a static LAG is created on the opposite device; the detecting process is as follows: The opposite state detecting unit  22  detects whether a port receives an aggregation packet that may be an LACP packet from the opposite end; if an aggregation packet is received by a port, it is indicated that a static LAG is created on the opposite end; otherwise, it is indicated no static LAG is created on the opposite end. If the opposite state detecting unit  22  detects that no port receives an aggregation packet sent from the opposite end, the state of the port carrying services remains unchanged; otherwise, the port state setting unit  23  sets the state of the port according to the LACP. The working state detecting unit  24  is adapted to detect whether a port to be deleted is working. The packet sending unit  25  is adapted to send a packet indicating that the port cannot be aggregated to the opposite end, where the packet is sent from the opposite end or is an LACP packet carrying the port aggregation information. The information setting unit  26  is adapted to set the port aggregation information to FALSE. For example, a Reserved field of the local information in the LACP packet has three bytes, one of which is used by an embodiment of the present invention to store the port aggregation information and control whether the local port can be aggregated; if the byte is set to TRUE, the aggregation is enabled; if the byte is set to FALSE, the aggregation is disabled. 
     The method for aggregating ports provided in an embodiment of the present invention includes: when creating a static LAG, detecting whether a static LAG is created on the device at the opposite end; if no static LAG is created at the opposite end, maintaining the state of the port carrying services; if a static LAG is created at the opposite end, determining the state of the port according to the LACP. The detecting process is as follows: judging whether a port in the local static LAG receives an aggregation packet from the opposite end, where the aggregation packet may be an LACP packet; if an aggregation packet is received by a port, it is indicated that the static LAG is created at the opposite end; otherwise it is indicated that no static LAG is created at the opposite end. When a static LAG or a member port thereof is deleted, the port sends a packet indicating that the port cannot be aggregated to the opposite end before being deleted so as to speed up changing the state of the opposite port. For ports that formerly carry services, this may speed up changing the state of the opposite end and ensure that the duration of the impact on services is within 50 ms. 
     When the connection diagram of network devices shown in  FIG. 1  and the apparatus for aggregating ports shown in  FIG. 2  are used, the process of creating a static LAG in the first embodiment is shown in  FIG. 3 . As shown in  FIG. 3 , supposing no static LAG is created on the network device  11  and the network device  12 , the first embodiment includes the following steps: 
     Step s 301 : The static port aggregation processing unit  21  of the network device  11  creates a static LAG  1 . The static LAG  1  includes port  1  and port  2  of the network device  11 . 
     Step s 302 : The opposite state detecting unit  22  of the network device  11  judges whether the static LAG  1  has ports that are in the connection and full-duplex state. If yes, the process goes to step s 303 ; otherwise, the process skips to step s 305 . Because port  1  and port  2  of the network device  11  in the first embodiment are in the connection and full-duplex state, the process goes to step s 303 . 
     Step s 303 : The opposite state detecting unit  22  of the network device  11  judges whether a port receives an LACP packet sent from the opposite end. If yes, the process skips to step s 305 ; otherwise, the process goes to step s 304 . Because no static LAG is created on the network device  12  in the first embodiment, no LACP packet can be sent to the network device  11 , and the process goes to step s 304 . 
     Step s 304 : Maintain the state of the port carrying services and go back to step s 303 . 
     Step s 305 : The port state setting unit  23  of the network device  11  determines the state of the port according to the LACP. 
     When the connection diagram of network devices shown in  FIG. 1  and the apparatus for aggregating ports shown in  FIG. 2  are used, the process of deleting a static LAG in the second embodiment is shown in  FIG. 4 . In the second embodiment, supposing a static LAG  1  is created on the network device  11 , the static LAG  1  includes port  1  and port  2  of the network device  11 ; supposing a static LAG  2  is created on the network device  12 , the static LAG  2  includes port  1  and port  2  of the network device  12 . As shown in  FIG. 4 , the process of deleting the static LAG  1  in the second embodiment includes the following steps: 
     Step s 401 : The working state detecting unit  24  of the network device  11  judges whether port  1  and port  2  of the network device  11  are working. If yes, the process goes to step s 402 ; otherwise, the process skips to step s 404 . In the second embodiment, port  1  of the network device  11  is working, and port  2  of the network device  11  is idle. Taking the processing on port  1  as an example, because port  1  is working, the process goes to step s 402 . 
     Step s 402 : Port  1  of the network device  11  receives a packet sent from port  1  of the network device  12 . 
     Step s 403 : The packet sending unit  25  of the network device  11  sends a packet indicating that the port cannot be aggregated to port  1  of the network device  12  through port  1  of the network device  11 . The packet indicating that the port cannot be aggregated is the packet sent from port  1  of the network device  12  in step s 402 . After receiving the packet, port  1  of the network device  12  believes that the received packet is the packet sent from the port of the network device  12 , that is, the port is self-looped. Thus, the local port is set to the UNSELECTED state, and cannot carry services. 
     Step s 404 : The static port aggregation processing unit  21  of the network device  11  deletes port  1 . 
     After step s 401  is complete, because port  2  is idle, the process skips to step s 404 , that is, the static port aggregation processing unit  21  of the network device deletes port  2  directly. After port  1  and port  2  are deleted, the process of deleting the static LAG  1  ends. 
     When the connection diagram of network devices shown in  FIG. 1  and the apparatus for aggregating ports shown in  FIG. 2  are used, the process of deleting a member port in the third embodiment is shown in  FIG. 5 . In the third embodiment, supposing a static LAG  1  is created on the network device  11 , the static LAG  1  includes port  1  and port  2  of the network device  11 ; supposing a static LAG  2  is created on the network device  12 , the static LAG  2  includes port  1  and port  2  of the network device  12 . As shown in  FIG. 5 , the process of deleting port  1  of the network device  11  in the third embodiment includes the following steps: 
     Step s 501 : The working state detecting unit  24  of the network device  11  judges whether port  1  of the network device  11  is working. If yes, the process goes to step s 502 ; otherwise, the process skips to step s 504 . Because port  1  of the network device  11  in the third embodiment is working, the process goes to step s 502 . 
     Step s 502 : The information setting unit  26  of the network device  11  sets the port aggregation information to FALSE. An Reserved field of the local information in the LACP packet has three bytes, one of which is used by the third embodiment of the present invention to store the port aggregation information and control whether the local port can be aggregated; if the byte is set to TRUE, the aggregation is enabled; if the byte is set to FALSE, the aggregation is disabled. The information setting unit  26  of the network device  11  in the third embodiment sets the port aggregation information of port  1  to FALSE. 
     Step s 503 : The packet sending unit  25  of the network device  11  sends a packet indicating that the port cannot be aggregated to port  1  of the network device  12  through port  1  of the network device  11 . The packet indicating that the port cannot be aggregated is the LACP packet carrying the port aggregation information. Because the port aggregation information of the packet is FALSE, after receiving the LACP packet, port  1  of the network device  12  judges that port  1  of the network device  11  cannot be aggregated according to the port aggregation information, and sets its own state to UNSELECTED, that is, port  1  of the network device  12  cannot carry services. 
     Step s 504 : The static port aggregation processing unit  21  of the network device  11  deletes port  1 . 
     In step s 501 , if port  1  of the network device  11  is idle, the process skips to step s 504  to delete port  1  directly. 
     In the third embodiment, before the static LAG or member port is deleted, the port sends a packet indicating the port cannot be aggregated to the opposite end. This method can speed up changing the state of the opposite end and shorten the duration of the impact on services. 
     Although the invention has been described through exemplary embodiments, the invention is not limited to such embodiments. It is apparent that those skilled in the art can make various modifications and variations to the invention without departing from the spirit and scope of the invention. The invention is intended to cover the modifications and variations provided that they fall in the scope of protection defined by the claims or their equivalents.