Stations in a Resilient Packet Ring (RPR) network can bridge non-RPR traffic, such as Ethernet traffic, received on a non-RPR port of an RPR station. An RPR station keeps a table that includes addresses of each station on the RPR ring, and may learn addresses using typical leaning techniques. If the station receives a traffic signal with a destination address, or source address, that does not exist in the table, the station sends that traffic over the entire ring, which is known as “flooding the traffic.” Flooding the traffic allows the station to deliver the traffic to its destination and to make sure bridges and switches attached to the RPR stations can learn the address and record it in their tables. The drawback of flooding the traffic on the RPR ring network is that it consumes network resources that otherwise would not have been used if the station had already learned to which port to send the packet, therefore, limiting reuse of bandwidth in different spans of the RPR ring network (i.e., spatial reuse).
According to one example embodiment of the present invention, a station in a ring network includes a comparison module that compares a destination address in a packet traffic signal with known addresses. The known addresses correspond to identifiers of tunnels in the ring network that have been previously associated with the known addresses. The station also includes an association module that associates an identifier of a tunnel in the ring network with the packet traffic signal based on a comparison made by the comparison module. The association module also associates an identifier of a destination station in the ring network with the packet traffic signal. This destination station identifier corresponds to the tunnel identifier that is associated with the traffic packet signal. The station also includes a forwarding module that forwards the packet traffic signal to the destination station via the tunnel.
In another example embodiment, a station in a ring network includes a learning module that learns a correspondence between addresses and identifiers of tunnels in the ring network. The station also includes an association module that associates an identifier of a tunnel in the ring network with an identifier of another station in the ring network. The association is based on a table that has a correspondence between identifiers of tunnels and identifiers of other stations in the ring network.
In yet another example embodiment, a station in a ring network includes a table that has a correspondence between identifiers of tunnels in the ring network and identifiers of other stations in the ring network.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of example embodiments of the invention follows.
A Resilient Packet Ring (RPR) protocol refers to a ring-based network protocol that supports bridging to other network protocols, such as Ethernet. Today's RPR ring networks use 48-bit source and destination Media Access Control (MAC) addresses in the same format as Ethernet. When Ethernet traffic is bridged onto an RPR ring, an RPR station on the ring encapsulates the Ethernet traffic with an RPR header in an RPR frame. Likewise, when a station removes an RPR frame from the ring, the station removes the RPR header from the RPR frame in the Ethernet traffic.
To transmit a frame from one RPR station to another on the RPR ring, RPR processing in the RPR station encapsulates the frame with an RPR header and adds the newly formed RPR frame to the ring. A station may flood the RPR frame to all other stations on the ring by setting information in the RPR header to indicate that the frame is to be flooded. While the RPR frame traverses the ring, it encounters other RPR stations.
At a given station, the destination address of the RPR header is examined. If the destination address of the frame's RPR header is the same as the station's address and the frame is not indicated as being flooded, then the frame is copied without being forwarded to the next station on the ring. On the other hand, if the destination address of the RPR header is different than the station's address and the frame is not indicated as being flooded, then the frame is forwarded to the next station on the ring. However, if the frame is indicated as being flooded, then the frame is copied before being forwarded to the next station on the ring. To prevent a flooded frame from endlessly traveling around the ring, the station will also examine the source address of the RPR header. If the source address is the same as the station's address, then the frame will be dropped, thus, preventing an infinite loop.
When an RPR station receives a non-flooded RPR frame and recognizes the destination address, it removes the RPR frame completely from the ring, unlike in the case of flooded frames, in which it simply copies the contents of the frame and lets the frame traverse the rest of the ring. When the receiving station removes the RPR frame from the ring, the bandwidth otherwise consumed by the RPR frame is available for use by other RPR stations. This is known as spatial reuse.
A station in an RPR ring network has a table that contains the address of each RPR station in the RPR ring network. If the station receives a traffic signal with a destination address that does not exist in the table, the station floods the traffic on the ring and, therefore, limits reuse of the bandwidth in different spans of the ring network. For example, if a packet is to be sent from a source node 120a to a destination node 120c, current RPR ring network technology receives the packet at RPR Station A 105a on a non-RPR port, and floods the packet on the ring. RPR Station C then copies the packet and sends the packet to destination node 120c via a non-RPR port. Since the packet is flooded on the RPR ring, other RPR stations, such as Station B 105b and Station D 105d, also copy the packet.
An example embodiment of the present method and apparatus allows an RPR station in a ring network to forward a traffic packet with an unknown destination address to another station on the ring network without flooding the traffic on the ring. For a traffic packet that is to be sent from source node 120a to destination node 120c, RPR Station A 105a receives the packet on a non-RPR port from source node 120a and sends the packet to Tunnel 2125-2 based on a forwarding table (not shown). The packet is then sent to RPR Station C 105c via Tunnel 2125-2 based on a mapping table (also not shown), without flooding the packet on the ring network. It should be noted that Station B 105b is not involved with traffic between Station A 105a and Station C 105c, and that the packet is not sent to Station D 105d.
According to an embodiment of the present invention, a destination address in a packet traffic signal is compared with known addresses. The known addresses correspond to identifiers of tunnels in the ring network that have been previously associated with the known addresses. An identifier of a tunnel in the ring network is then associated with the packet traffic signal based on the comparison, and an identifier of a destination station in the ring network is associated with the packet traffic signal. This identifier of the destination station corresponds to the identifier of the tunnel associated with the traffic packet signal. The packet traffic signal is then forwarded to the destination station via the tunnel.
The destination address in the packet traffic signal may be a Media Access Control (MAC) address or may be an unknown address. For unknown addresses, a correspondence between the unknown addresses and the identifiers of tunnels may be learned using standard learning techniques. A forwarding table may be provided that has correspondence between the known addresses and the identifiers of tunnels, and an identifier of a tunnel may be determined from the forwarding table based on the destination address. The identifier of the tunnel may be added to the packet traffic signal. A mapping table providing a correspondence between the identifiers of tunnels and identifiers of destination stations in the ring network may provisioned or signaled, and the identifier of the destination station may be determined from the table based on the identifier of the tunnel. The identifier of the destination station may be a Resilient Packet Ring (RPR) MAC address, and may be added to the packet traffic signal.
According to another embodiment, a correspondence between addresses and identifiers of tunnels in the ring network may be learned. An identifier of a tunnel in the ring network may be associated with an identifier of a station in the ring network based on a table having a correspondence between the identifiers of tunnels and identifiers of stations in the ring network. The table may be provisioned and may be updated through signaling techniques.
According to yet another embodiment, a table may be provided that has a correspondence between identifiers of tunnels in the ring network and identifiers of other stations in the ring network. The identifiers of tunnels correspond to multiple logical ports of the station, which are associated with a single ring port of the station.
The tunnels of the example embodiments are used to connect RPR stations in an RPR ring network, may be configured based on the demands of the traffic on the ring network, and may include Virtual Local Area Network (VLAN), Multi Protocol Label Switching (MPLS), or MAC in MAC tunnels. These tunnels can be manually or automatically created and managed. Each tunnel connects two RPR stations and has a unique identifier. For example, a VLAN tunnel uses the VLAN identifier as the identifier, an MPLS tunnel uses the MPLS tunnel label as the identifier, and a MAC in MAC tunnel uses the outer MAC address as the identifier. The MAC addresses of the source and destination RPR stations (RPR-SMAC and RPR-DMAC) are associated with the tunnel identifier in the following triplet: (identifier, RPR-DMAC, RPR-SMAC). The association can be either manually provisioned or automatically signaled using a tunnel control plane. It should be noted that virtual circuits may be implemented within the tunnels.
According to embodiments of the present invention, the tunnels are treated as Layer 2 bridging ports; thus, instead of simply forwarding traffic to an RPR port, the station forwards the traffic to logical tunnel ports based on a forwarding table. The station also keeps a mapping table providing a correspondence between tunnel identifiers and RPR station identifiers. This mapping table may be manually or automatically provisioned, and may be updated using signaling.
An RPR station may apply standard learning techniques to associate traffic having unknown destination addresses with an identifier of a tunnel connecting to the RPR station. Once the traffic is associated with a tunnel identifier, it is no longer necessary to flood the traffic on the RPR ring, since the tunnel is associated with a destination RPR station based on the mapping table. The station may then forward the traffic to the destination RPR station via the tunnel.
The RPR station 205a includes a forwarding table 230a used in learning a correspondence between addresses and port identifiers. If a given port identifier corresponds to an RPR port, then the table 230a also keeps track of which tunnel identifier, if any, is to be associated with the address. The RPR station 205a also includes a mapping table 235a that has a correspondence between tunnel identifiers and RPR station identifiers. The mapping table 235a may be manually or automatically provisioned through signaling.
The second traffic packet 270 has an source address of “20” and a destination address of “5”; thus, the station 205a adds an entry to the forwarding table 230a that includes the address of “20,” the identifier of Port Z 250, and an identifier of Tunnel 3225-3. Since the destination address of the second packet 270 (“5”) exists in the forwarding table 230a, the station 205a associates the identifier of Port X 240 with the traffic packet 270. Since there is no tunnel identifier that has been associated with the packet 270, the station 205a forwards the packet 270 to Port X 240 without reference to the mapping table 235a.
The second traffic packet 280 has an source address of “30” and a destination address of “20”; thus, the station 205a adds an entry to the forwarding table 230a that includes the address of “30,” the identifier of Port Z 250, and the identifier of Tunnel 2225-2. Since the destination address of the second packet 270 (“20”) exists in the forwarding table 230a, the station 205a associates the identifier of Port Z 250 and the identifier of Tunnel 3225-3 with the traffic packet 280. Since a tunnel identifier is associated with the packet 280, the station 205a associates an RPR station identifier with the traffic packet 280 based on the mapping table 235a and the tunnel identifier. In this example, the station 205a associates the identifier of Station D 105d (
The modified traffic 505d is then sent to the RPR block 520 (515) and received (517) as a tunnel frame, as illustrated in
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
It should be understood that the flow diagrams of
The invention is applicable to any network topology as long as a ring network, such as a Synchronous Optical Network (SONET) ring network or a Dense Wavelength Division Multiplexing (DWDM) ring, is established.