Abstract:
A system, method, and Ethernet bridge utilizing forced MAC learning to set up a path from an originating node, PON ( 23 ) to one or more terminating nodes, PTN ( 12 ) through intermediate bridge nodes ( 14, 21 ). In the point-to-point case, a Previous Hop Bridge (PHB) list defines the links in the path. Each link includes a destination address, source address, port number, and VID. A path learning frame ( 13, 19, 22 ) containing the list is sent in reverse order from the PTN through the intermediate bridge nodes to the PON. Each node in the path saves the received frame&#39;s header information as learned path information using standard MAC learning functionality, removes the node&#39;s own information from the list, and forwards the frame with the remainder of the list to the next node using the port specified by the port number for that link. When the frame arrives at the PON, all nodes have saved the learned path information.

Description:
TECHNICAL FIELD OF THE INVENTION 
     The present invention relates generally to communications networks, and in particular, to a method and system for forced MAC learning in bridged Ethernet networks. 
     DESCRIPTION OF RELATED ART 
     The operation of bridged Ethernet networks is based on techniques such as broadcast, spanning tree, virtual local area networks (VLANs), and MAC learning. These techniques are described in detail in IEEE 802.1D-2004 dated Jun. 9, 2004 and in IEEE 802.1ad/D6.0 dated Aug. 17, 2005. A Spanning Tree Protocol (STP) is used to create loop-free virtual topology(s). Variants of spanning tree protocols include, for example, Multiple Spanning Tree (MSTP), Rapid Spanning Tree (RSTP), or the IEEE Shortest Path Bridging (SPB) protocol. As used herein, STP refers in general to any spanning tree protocol realization. Once STP has been run for an Ethernet bridge, some ports of the bridge are deactivated and only those ports that form the selected loop-free tree are activated. Multiple STP topologies can be used in parallel by disjunctive VLAN sets. Note that loop-free topologies can be created without using STP, buy configuring, for example, VLANs in a way such that loops cannot be formed, while all bridge ports can be in enabled forwarding state. 
     The Ethernet frame header includes a destination address (DA) field, a source address (SA) field, and a VLAN Identification (VID) field. When a frame is received by a bridge, it executes MAC learning by binding the incoming port to the SA (and optionally the VID) of the received frame and storing this information in a filtering database that maintains Forwarding Information (FI). Then, the bridge determines whether it has an FI entry associated with the DA of the received frame. If yes, the bridge forwards the frame over the specified port only. If there is no associated entry yet, the bridge broadcasts the frame over all of its enabled ports (constrained also by the VID) except the incoming port where the frame was received. From this operation, it follows that bridges only learn the port binding of a specific address if the bridge has already received a frame from that address. This is called backward address learning. There is also an aging timer that clears learned addresses. If no frame is received from an address for a predefined time period, the FI entry is removed. 
     There are problems trying to apply such address learning in transport networks. In transport networks, efficient and manageable path and capacity provisioning is needed for network operators and service providers. To fulfill operators&#39; requirements, traditional transport technologies such as Asynchronous Transfer Mode (ATM), Synchronous Digital Hierarchy (SDH), and Multi-Protocol Label Switching (MPLS), rely on a connection-oriented feature set. That is, a connection is established between service endpoints in advance of data communication. This connection establishment must be performed on demand using a management system and/or an appropriate protocol. 
     It is desirable to reduce the cost of transport network equipment as well as operational expenses, and Ethernet technology is viewed as a cost efficient solution for next generation transport networks. However, Ethernet is inherently connection-less, therefore traditional path provisioning techniques cannot be applied. 
     To extend Ethernet with connection oriented features, standardization activities have been started in IETF to specify a Generalized MPLS (GMPLS) controlled Ethernet Label Switching (GELS) architecture. Details of such activities may be reviewed in IETF drafts, D. Papadimitriou, et al., “A Framework for GMPLS-controlled Ethernet Label Switching,” February 2006; Don Fedyk, et al., “GMPLS control of Ethernet IVL Switches,” December 2005; N. Sprecher, et al., “GMPLS Control of Ethernet VLAN Cross Connect Switches,” April 2006; and Daegun Kim, et al., “Label Switched Ethernet (LSE) Architecture,” December 2005. The proposed work is also presented in ITU and IEEE. These drafts propose utilizing the Resource Reservation Protocol-Traffic Extension (RSVP-TE) and Label Distribution Protocol (LDP) protocols to set up point-to-point (p2p) Ethernet connections. However, the use of these protocols requires adding complex protocol stacks to Ethernet bridges. 
     It would be desirable to have an improved method and system for extending Ethernet with path provisioning features for use in transport networks. The present invention provides such a method and system utilizing forced MAC learning. 
     SUMMARY OF THE INVENTION 
     In one aspect, the present invention applies a constrained-based source-routing concept to bridged Ethernet networks. The invention provides a simpler and less costly solution to extending Ethernet with connection oriented features. The invention utilizes Ethernet MAC learning functionality in a new application while introducing only a lightweight protocol stack for path provisioning in Ethernet networks. This enables the cost-effective deployment of bridged Ethernet networks in Metro and Core networks. In such environments, the basic building blocks designed with Ethernet&#39;s LAN application in mind (such as STP) are enhanced. 
     In another aspect, the invention is directed to a method of setting up a path from a first node, through an intermediate bridge node having a plurality of input/output ports for data communication, to a second node in a communications network. The method includes the steps of constructing a list of links in the path, each link including a destination address, source address, port number, and VID; and sending a path learning frame containing the list to each node in the path. The path learning frame is sent in reverse order from the second node to the intermediate bridge node and from the intermediate bridge node to the first node. Upon receiving the frame in the intermediate bridge node, the node saves the frame&#39;s header information as learned path information, removes the node&#39;s own information from the list, and forwards the frame with the remainder of the list to the next node using the port specified by the port number for that link. When the path learning frame arrives at the first node, all nodes have saved the learned path information. 
     In another aspect, the invention is directed to an Ethernet bridge for setting up a path from a first node to a second node in a communications network. The bridge includes a plurality of input/output ports for data communication. A first port receives from the second node, a first path learning frame which includes path learning information defining a hop of the path from the bridge to the first node. The bridge includes means for extracting a source address of the second node and a VID from a header of the path learning frame; and a database of learned path information for storing the source address as a destination address for a return frame, the VID, and an identification of the first port. The bridge also includes means for constructing a second path learning frame which includes path learning information defining a hop of the path from the first node to a further node on the path, if one exists, and if a further node does not exist, having no path learning information. The bridge also includes means for sending the second path learning frame to the first node through a port specified in the path learning information received in the first path learning frame. 
     In another aspect, the invention is directed to a system for setting up a path from a first node to a second node in a communications network. The path passes through at least one intermediate bridge node having a plurality of input/output ports for data communication. The system includes a path construction unit for constructing a list of links in the path, each link including a destination address, source address, port number, and VID and for sending a first frame containing the list to the second node. The second node includes means for receiving the frame containing the list, saving the frame&#39;s header information as learned path information, removing the second node&#39;s own information from the list, and sending a path learning frame containing the remainder of the list to a first intermediate bridge node, wherein the path learning frame is sent using the port specified by the port number for that link. Each of the at least one intermediate bridge nodes includes means for receiving the path learning frame from the second node or a subsequent path learning frame from a previous intermediate bridge node containing the list, saving the received frame&#39;s header information as learned path information, removing the intermediate bridge node&#39;s own information from the list, and sending a subsequent frame containing the remainder of the list to the next intermediate bridge node, wherein the subsequent frame is sent using the port specified by the port number for that link. When the frame arrives at the first node, all nodes have saved the learned path information. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a simplified block diagram of a transport network modified in accordance with an embodiment of the system of the present invention; 
         FIG. 2  is a simplified block diagram of an Ethernet bridge utilized in the embodiment of  FIG. 1 ; and 
         FIG. 3  is a flow chart illustrating the steps of an embodiment of the method of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     The IETF Generalized MPLS (GMPLS) controlled Ethernet Label Switching (GELS) architecture proposes the setup of controlled point-to-point (p2p) and point-to-multipoint (p2mp) paths. Currently, the LDP and/or RSVP-TE signaling protocols of the GMPLS control plane are proposed for path setup signaling. However, this implies adding complex protocol stacks to simple Ethernet bridges. This additional overhead decreases the cost-per-port benefit of Ethernet equipment. 
     In order to maintain the cost advantage of Ethernet transport, an embodiment of the present invention utilizes a lightweight protocol and a slim protocol stack for path setup signaling. The invention makes use of the standard MAC learning functionality extended for use in transport networks. 
     Network edge nodes (or a centralized resource manager) maintain network topology information and, optionally, resource usage information. This information is dynamic, meaning that any change to the network topology or resources due, for example, to failures must be accounted for by the automatic resource manager(s). 
       FIG. 1  is a simplified block diagram of a transport network modified in accordance with an embodiment of the system of the present invention. When a path setup request arrives in the communication network from a Network Management System (NMS) or through an appropriate signaling protocol (for example, GMPLS or MPLS) from outside the network domain, a path setup process is initiated. A Path Calculation Unit  11  first constructs a list of linked bridges (referred to herein as a Previous Hop Bridge (PHB) list) which specifies the entire path (p2p or p2mp) to be configured. The Path Calculation Unit may be located, for example, in a network edge node configured with network topology information or in a centralized management node such as the PCE  27 , so long as the entity constructing the list has knowledge of the network topology. 
     It should be noted that the specified path may not follow an STP-defined loop-free topology. Therefore, instead of STP, the invention may utilize VLANs to realize loop-free forwarding. For path calculations, the topology and resource information and/or path constraints received through the NMS or external signaling protocol are considered. Since MAC learning must be initiated in backward fashion, the path setup must also be started from the terminating endpoint in the p2p case and from all the terminating endpoints in the p2mp case. Thus, if needed, a signaling session may be established between path endpoints and/or a central path computation element. 
     Since MAC learning must be initiated from the far end of the path, next hops are in reverse order. The constructed PHB list contains in reverse order each hop, or link, of the path. Each object in the PHB list corresponds to forwarding information needed for one bridge in the network. The objects have the following fields: one port ID, one MAC SA, one MAC DA, and one VID. Optionally other fields may be included, such as path identifier (domain wide label), path endpoint addresses, multiple port identification, next hop identifier (local label), p2p and p2mp identification, additional VID for VLAN translation, and so on. 
       FIG. 2  is a simplified block diagram of an Ethernet bridge utilized in the embodiment of  FIG. 1 . With reference to  FIGS. 1 and 2 , an embodiment of the method of the present invention will be described. In the p2p case, the Path Terminator Node (PTN)  12  picks the first element of the PHB list, and the Path Learning Protocol (PLP) instance at the PTN constructs a PLP signaling frame  13  with its own PTN MAC SA (or if different, the end node address of the path to be configured) and the MAC DA of the previous hop bridge (Bridge-B) deduced from the PHB list. In order to restrict the forwarding of the newly created frame at the previous hop bridge (Bridge-B) all bridges should have their own MAC address configured in the local filtering table not to be forwarded. As an alternative to using the bridge MAC address, a special group MAC address (the Group Bridge Address) can be used as the packet MAC DA that is always filtered by all bridges. Additionally, the VID of the frame is set in accordance with the VID specified in the PHB list for the selected previous hop bridge (in this example VID: 5 ). The so-created frame is filled with p2p Path Learning Information (PLI). The PLI includes the remaining PHB list, which is the result of omitting the information for the bridge that created the frame (in this case the PTN). The PTN then sends this frame through the port specified by the port ID in the selected PHB object (in this example, Port  1 ). 
     With further reference to  FIG. 2 , the targeted previous hop bridge, Bridge-B  14 , receives the PLP frame, and the Ethernet MAC learning mechanism  15  adds the SA of the frame (the address of the PTN) and the local port from which it received the frame (Port  2 ) to the local Forwarding Information (FI) in the filtering table  16 . Thus the MAC learned information  17  for Bridge-B is SA:PTN, VID: 5 , and output port: 2 . 
     Bridge-B hands the frame up to processing. An appropriate mechanism identifies the frame as a PLP frame and calls the local PLP instance  18 . The PLP instance repeats the same steps as the PLP at the PTN and creates a new PLP frame  19  with the remaining PLI. A forwarding process  20  forwards the new PLP frame to the specified next previous hop bridge (in this example, Bridge-A  21 ) through the specified port (Port  1 ). Bridge-A repeats these steps and sends another PLP frame  22  to the Path Originating Node (PON)  23 . The MAC learned information  24  for Bridge-A is SA:PTN, VID: 5 , and output port: 1 . The PLP frame  22  includes a PLI containing no hop objects. This signals the PON that the path has been successfully established in the PON-PTN direction. The MAC learned information  25  for the PON is SA:PTN, VID: 5 , and output port: 1 . 
     It should be noted that the MAC learned information sets up a path in the PON-PTN direction. To set up a bidirectional path (and for Operations, Administration, and Management, OAM, purposes), the path in the PTN-PON direction is also set up using the same intermediate nodes. This may be accomplished, for example, by sending a Path Monitoring (PM) signaling message  26  from the PON  22  to the PTN  12 , with DA=PTN, SA=PON, and VID=same as for the PON-PTN path. Since the PON-PTN path is already established, the PM message takes the constrained path. By passing through the nodes of the path (Bridge-A, Bridge-B, and PTN), the path&#39;s reverse direction is learned as the PTN-PON path. This learning is accomplished through standard Ethernet bridging, without the need for further processing. In this manner, a bidirectional path is established. Both directions can be used for data forwarding. 
     To maintain the path, the PTN  12  and PON  23  may exchange PM messages periodically. The PM messages may be used to check connectivity and path integrity. Moreover, additional signaling information may also be carried in PM frames. Note that instead of defining a new PM message format and processing functions, one embodiment of the present invention may utilize the Connectivity Fault Management (CFM—IEEE standard 802.1ag) architecture and protocol for path monitoring and maintenance as well. 
     Once the path is established, if needed, the PON  23  and/or PTN  12  may notify additional nodes (external or internal to the domain) using appropriate protocols such as GMPLS. 
     In the case of a network failure (i.e., a node or link problem), the established path may become unavailable. The PM monitoring messages notify the PON of a possible connectivity problem. Until the Path Computation Element (PCE)  27  recalculates and reestablishes a new path, the forwarding of data traffic may be suspended or a backup loop-free topology (for example, configured VLANs or STP instance) may be utilized. Alternatively, the described path provisioning process may be used to set up multiple PON-PTN paths in advance. One of the paths may be used as the active path while the other(s) are used as backup paths. If the active path fails, the traffic is switched to a protection (backup) path which is still intact. In order to distinguish different PON-PTN paths, different VIDs may be associated with each path, or different virtual MAC addresses can be used. That is, the operator-defined MAC address space is used in the network, and the operator configures multiple MAC addresses for PTNs and/or PTN ports. 
       FIG. 3  is a flow chart illustrating the steps of an embodiment of the method of the present invention covering the point-to-point (p2p) case. At step  30 , an NMS sends a path setup request through an appropriate signaling protocol (for example, GMPLS or MPLS) from outside the network domain, and includes any path constraints. At step  31  the Path Calculation Unit  11  constructs a list of linked previous hop bridges (PHB list). The PHB list specifies the entire p2p path to be configured, with each hop of the path in reverse order. Each object in the PHB list provides the FI needed for one bridge in the network. At step  32 , the PTN  12  picks the first element of the PHB list, and the PTN&#39;s PLP instance constructs the PLP frame  13 , which includes PLI. The PLI includes the PHB list with the PTN bridge information removed. At step  33 , the PTN sends the PLP frame through the specified port to the previous hop bridge, Bridge-B  14 . 
     At step  34 , the previous hop bridge, Bridge-B  14 , receives the PLP frame  13 , and the Ethernet MAC learning mechanism  15  adds the SA (the address of the PTN) and the local port from which it received the frame (Port  2 ) to the local FI in the filtering database  16 . At step  35 , the PLP instance in Bridge-B repeats the same steps as the PLP at the PTN and constructs a new PLP frame  19  with the remaining PLI (omitting the Bridge-B information). At step  36 , Bridge-B forwards the new PLP frame to the specified next previous hop bridge (in this example, Bridge-A  21 ). At step  37 , it is determined whether or not the receiving bridge is the PON  23 . If not, the process loops and repeats steps  34 - 36  until all bridges in the p2p path have learned the path information. In this example, since Bridge-A is not the PON, Bridge-A repeats these steps and sends another PLP frame  22  to the PON  23 . 
     At step  38 , the PON receives the PLP frame  22 . At step  39 , the PON determines that the path has been successfully established in the PON-PTN direction because the PLP frame  22  includes a PLI containing no hop objects. At step  40 , a bidirectional path is set up in the PTN-PON direction by sending the PM signaling message  26  from the PON  23  to the PTN  12 . At step  41 , the PTN and PON optionally exchange PM messages periodically in order to maintain the p2p path. At step  42 , the path provisioning process may optionally be used to set up multiple PON-PTN paths in case the established path becomes unavailable due to a link or node failure. 
     The present invention may of course, be carried out in other specific ways than those herein set forth without departing from the essential characteristics of the invention. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.