Abstract:
A system and method of distributing a Multiple Spanning Tree Protocol (MSTP) configuration to at least one Ethernet switch. The method comprises assigning an Ethernet switch as a server switch. Based upon a configurable operation mode of the server switch and a configurable operational mode of at least one Ethernet switch configured as a client switch, the server switch is operable to transmit a MSTP configuration to the at least one client switch.

Description:
BACKGROUND  
       [0001]    A particular communication standard, i.e., IEEE Std 802.1Q, specifies the operation of virtual local area network (VLAN) bridges, which support VLAN operation within an IEEE 802 bridged LAN. 
         [0002]    Multiple active paths between stations cause loops in the network. If a loop exists in the network topology, the potential exists for duplication of messages. When loops occur, some switches see stations appear on both sides of the switch. This condition confuses the forwarding algorithm and allows duplicate frames to be forwarded. 
         [0003]    A Spanning-Tree Protocol (STP) prevents loops from being formed when switches or bridges are interconnected via multiple paths. 
         [0004]    STP is a link management protocol that provides path redundancy while preventing undesirable loops in the network. For an Ethernet network to function properly, only one active path can exist between two stations. 
         [0005]    To provide path redundancy, STP defines a tree that spans all switches in an extended network. STP forces certain redundant data paths into a standby (blocked) state. If one network segment in the STP becomes unreachable, or if STP costs change, the spanning-tree algorithm reconfigures the spanning-tree topology and reestablishes the link by activating the standby path. 
         [0006]    Multiple Spanning Tree Protocol (MSTP) is a protocol that allows groups of VLANs to have different spanning tree topologies within an Ethernet Network. MSTP was introduced in IEEE 802.1s as amendment to 802.1Q, 1998 edition and adds the facility for VLAN bridges to use multiple spanning trees, providing for traffic belonging to different VLANs to flow over potentially different paths within the virtual bridged LAN. This allows for better load balancing and more efficient use of available resources. 
         [0007]    In order to operate properly, the configurations must be identical on all switches. However, configuring MSTP on Ethernet switches can be a cumbersome and complex task, relying on a command-line interface (CLI) present on each individual switch. 
         [0008]    The CLI is the primary user interface used for configuring, monitoring, and maintaining switch products. This user interface provides execution of entered commands, whether using a router console or terminal, or using remote access methods. It does, however, permit modification of only one switch at a time. Once an initial deployment of switches is performed, each time VLANs are added, moved, or deleted from an instance, each switch must again be accessed. 
         [0009]    Accordingly, one of the large inhibitors of deploying MSTP is the complexity and tediousness of the deployment, plus the necessity to touch all devices in order to add a VLAN or instance of MSTP. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0010]    The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings wherein elements having the same reference numeral designations represent like elements throughout and wherein: 
           [0011]      FIG. 1  is a system block diagram of a network topology incorporating MSTP and a method of distributing an MSTP configuration according to an embodiment of the present invention. 
           [0012]      FIG. 2  is a flow chart illustrating a method of configuring an MSTP configuration server according to an embodiment of the present invention; and 
           [0013]      FIGS. 3-4  are flowcharts illustrating an embodiment of a method whereby an Ethernet switch is configured as an MSTP client switch and receives an MSTP configuration from an MSTP configuration server switch according to an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    The methods described herein allow MSTP information to be managed from one location and automatically propagated to remaining switches in a network, thereby, in some embodiments, eliminating misconfiguration and wasted time and energy caused by a typographical error. Furthermore, the disclosed method permits a network administrator to know exactly how switches in the network are configured, and be assured that the MSTP topology is properly and optimally configured. 
         [0015]    The block diagram of  FIG. 1  illustrates a multiple VLAN network  100  comprising Ethernet switches SW 1 -SW 3  with interconnecting 802.1q tagged links ( 3 ), ( 1 ,  2 ), and ( 3 ), on switches SW 1 -SW 3 , respectively. In  FIG. 1 , switch SW 1  has assigned access port  1  with VLAN  10  connecting station B 1  and switch SW 3  has access port  2  with VLAN  20  connecting station B 2 . Stations B 1  and B 2  are computing systems, e.g., application-specific integrated circuit-based and/or processor-based systems. 
         [0016]    Level 2 (L2) Ethernet switching allows packets to be switched in the network based on their Media Access Control (MAC) address. When a packet arrives at the switch, the switch checks the packet&#39;s destination MAC address and, if known by the switch, sends the packet to the output port from which the switch learned the destination MAC. 
         [0017]    The two fundamental elements in Ethernet L2 switching are the MAC address and the virtual LAN (VLAN). In the same way that IP routing references stations on the networks via a Level 3 (L3) IP address, Ethernet L2 switching references end stations via the MAC address. 
         [0018]    Ethernet is a broadcast medium. Without the concept of VLANs, a broadcast sent by a station on the LAN of  FIG. 1  is sent to all physical segments of the switched LAN. The VLAN concept allows the segmentation of the LAN into logical entities, and traffic is localized within those logical entities. For example, a university campus can be allocated multiple VLANs—one dedicated for faculty, one dedicated for students, and the third dedicated for visitors. In  FIG. 1 , stations B 1  and B 2  are in different VLANs and accordingly are isolated from each other. Broadcast traffic within each of these VLANs is isolated to that VLAN. 
         [0019]    Broadcast is used to enable clients to discover resources that are advertised by servers. When a server advertises its services to its clients, it sends broadcast messages to MAC address FFFF FFFF FFFF, which indicates a transmission to “all stations.” End clients listen to the broadcast and pick up only the broadcasts they are interested in, to minimize their CPU usage. With multicast, a subset of broadcast, a station sends traffic only to a group of stations and not to all stations. Broadcast and multicast addresses are treated as unknown destinations and are flooded over all ports within a VLAN. 
         [0020]    Although Ethernet switch SW 1  is illustrated in greater detail, Ethernet switches SW 1 -SW 3  are essentially the same. Each switch SW 1 -SW 3  comprises a processor  106 , a memory  108 , and a port controller  122 . 
         [0021]    L2 switching is accomplished in switches SW 1 -SW 3  using MSTP and accordingly, each switch comprises an identical MSTP configuration  120 . Furthermore, network  100  is operable to distribute an MSTP configuration from a single server switch to multiple client switches. 
         [0022]    Although each switch SW 1 -SW 3  comprises MSTP server software, i.e., MSTP server module  110 , and MSTP client software, module  116 , a first function is to designate a switch, i.e., switch SW 1 , within the network  100  to be the master, i.e., the MSTP configuration server. Configuring SW 1  may be accomplished by using station B 1  and a command line interface (CLI) included by default within SW 1 . 
         [0023]    Once selected, the MSTP configuration server must be configured with the MSTP configuration  120  that is intended to be used by switches, SW 1 -SW 3  on network  100 . MSTP configuration  120  includes revision and name, both required fields for a MSTP configuration, as well as instance configurations and root priorities, which may be specified using switch MAC addresses. The server switch SW 1  periodically publishes to the network  100  that the switch is running, and which MSTP configuration  120  is current. Each time the MSTP configuration  120  changes, the revision number is incremented automatically. 
         [0024]    Remaining switches, SW 2 -SW 3 , in network  100  are configured as client switches by issuing commands via a CLI. The commands further identify the MSTP configuration server, e.g., by MAC address, and configure security parameters, e.g., authentication information, for subsequent server/client communication. 
         [0025]    The communication mechanism between server SW 1  and clients SW 2 -SW 3  is L2 based, is configurable by the user and in some embodiments are broadcast. In other embodiments, the mechanism may be unicast or multicast. Through periodic announcement packets that contain a change in revision number, the server SW 1  announces that a new configuration  120  is available. Client switches then request MSTP configuration  120  which is then sent by the server SW 1 . 
         [0026]    Once an MSTP configuration  120  is loaded, a client switch, e.g., SW 2 , publishes an announcement, e.g., via a broadcast, multicast, or unicast message, that the update was completed or failed, and if failed, includes an error message or code. 
         [0027]    The flowcharts of  FIGS. 2-4  illustrate one embodiment of a method whereby Ethernet switches in a network topology are configured to comprise a single MSTP configuration server, the remaining switches being configured as client switches.  FIGS. 2-3B  further illustrate wherein an MSTP configuration is generated by the designated MSTP server, i.e., SW 1 , and is propagated to all client switches, i.e., SW 2 -SW 3 , in network topology  100 . 
         [0028]      FIG. 2  illustrates wherein a first function  202 , performed by software residing in an Ethernet switch, e.g., SW 1 , determines, based upon input from a user, whether to configure the switch as the network&#39;s MSTP configuration server or as a client switch. If the switch is selected as the server switch, the switch software executes MSTP server module  110 , permitting the user, at function  204 , to configure an MSTP configuration  120  using MSTP configuration generator module  112 . Alternatively, if the switch is to be a client switch, control is passed to MSTP client module  118  at function  302  in  FIG. 3 . 
         [0029]    An MSTP configuration server comprises a function  206  of being user configured to operate in either an active mode or a passive mode. An MSTP configuration server configured for active mode comprises the function  210  of announcing the availably of a new/revised MSTP configuration to the client switches on the network. Depending upon a user configurable function  212 , the MSTP configuration server either executes function  214  that broadcasts advertisements periodically to switches in the network, or executes multicast function  216  to selected groups of switches. Alternatively, an MSTP configuration server configured for passive mode performs a function  208 , waiting for a unicast transmission from a client server switch maintaining, at function  218 , a list of client requests. 
         [0030]    Broadcasting, multicasting, and unicast transmissions are known techniques in the field of networking. Unicast is the term used to describe communication where a piece of information is sent from one networked device to another networked device. In this case, there is one sender, and one receiver. IP multicast provides dynamic many-to-many connectivity between a set of senders (one sender, SW 1 , in this embodiment) and a group of receivers, e.g., SW 2 -SW 3 . The format of IP multicast packets is identical to that of unicast packets and is distinguished only by the use of a special class of destination address (class D IP address) which denotes a specific multicast group. 
         [0031]    Regardless of whether the MSTP server SW 1  switch is configured for active or passive operation, the MSTP server switch includes a function  220  that waits for the clients, SW 2 -SW 3 , to initiate authentication with the server SW 1 . 
         [0032]      FIGS. 3 and 4  illustrate the functions performed by Ethernet switches, SW 2 -SW 3 , which are designated by a user, at function  302 , as MSTP client switches. Once designated as an MSTP client, the Ethernet switch, e.g., SW 2 -SW 3 , executes MSTP client module  116 , and at function  304  is configured by the user to operate in either a “Listener” or “Unicast” mode. In Listener mode, function  306  of client module  116  places the client switch in a state whereby the switch waits for receipt of an announcement of a new/revised MSTP configuration  120  (generated by an active mode MSTP configuration server, i.e., SW 1 , at functions  214  and  216 ). Alternatively, a client switch, e.g., SW 2 -SW 3 , configured for unicast mode has stored therein the MSTP configuration server&#39;s MAC address and unlike Listener mode, initiates communication with the server switch SW 1 . 
         [0033]    In some embodiments, an Ethernet switch may be assigned a default client switch configuration. Such a default configuration may automatically put the client switch in Listener mode without requiring a user to login in and configure the switch to accept broadcast or multicast advertisements from a server switch. 
         [0034]    At function  310 , client switches SW 2 -SW 3  authenticate with the server switch SW 1 . In some embodiments, authentication is based upon the IEEE 802.1x Port Authentication standard. At function  312 , the MSTP server switch SW 1  maintains the MAC address and state of the client switch, SW 2 -SW 3 , in the configuration server state table  114 . 
         [0035]    After authentication, at  FIG. 4  function  316 , a client switch, e.g. SW 2 , SW 3 , receives MSTP configuration  120  from the server switch SW 1  in response to a request, function  314 , from the client switch. 
         [0036]    At function  318 , a client switch saves and implements the MSTP configuration  120 . Propagation delays may occur when protocol information is passed through a switched LAN. As a result, topology changes can take place at different times and at different places in a switched network. Ports must wait for new topology information to propagate through the switched LAN before starting to forward frames. They must also allow the frame lifetime to expire for frames that have been forwarded using the old topology. 
         [0037]    At function  322 , the client switch transmits a message to the MSTP configuration server switch SW 1  causing the server switch to update the configuration server state table  114  with the latest MSTP revision for each client switch SW 2 -SW 3 . 
         [0038]    Based upon the above description, a network administrator can manage the L2 environment of a high number of Ethernet switches from a single switch, without depending upon a vendor specific tool to connect to, and update, the MSPT configuration in each switch. 
         [0039]    The functions of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, PROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.