5. Design and Implementation
5.4. Optical Protection Modules and Mechanism
5.4.2. The Design of Management and Protection Layer
I. The main function of our protection management protocol is doing protection with virtual-ring architecture. We need to assign protection virtual rings manually and we have to follow certain rules [3].
II. Each switch has a module named “opmanage” which manages the work of protection and the ring structure. If no ring is assigned or the working port is normal, the module is only a bridge module to the upper modules and the lower modules. If we assign several rings as the protection rings, the GUI generates a file that contains information of protection rings. The opmanage module of each node reads the file and selects the needed information of the ring as a node. Assuming that we assign a ring
“2-3-1-2”, node1 is in ring number 1 and so do node2 and node3. The upper neighbor of node1 is node3, and the lower neighbor of node1 is node2. Now we take a look at the opmanage module in node1. The opmanage module will select the data “3” and “2” as its upper neighbor and lower neighbor on the ring “2-3-1-2”. Because the ring is
unidirectional, the opmanage module has to know its upper and lower neighbor. Only optical switches with the same type can be assigned to be a ring.
III. Now we show how the protection ring is assigned and how it works.
Figure g illustrates a network topology.
Figure 5.8: An example of protection ring
NodeA, nodeB, nodeC, nodeD, nodeE, and nodeF are assigned as a virtual ring “A-B-C-D-E-F-A”, and nodeA, nodeB, nodeE, and nodeF are assigned as a virtual ring “A-B-E-F-A”. Assuming that we assign the two rings “A-B-C-D-E-F-A” and “A-B-E-F-A“ in this case and the opmanage module creates a protection table in the opmanage module. We now take a look at the opmanage module at node B. The opmanage module at node B has these table entries: {working BÆE, protection BÆA, ring 1},
{working BÆC, protection BÆA, ring2}. These entries contain the information of the ring as a ring member. Taking entry1 for example,
“{working BÆE, protection BÆA, ring 1}” means that it is the information of ring1, the direction of working path is B to E, and the direction of protection path is B to A. Because node B joins two virtual rings, the ring table of node B has 2 entries.
When the working port is failed, the opmanage module checks the
B C
A
F E
D
protection path. Each packet has packet information that represents which ring and which path the packet goes on. Switching now is no more handled by the osw module, but handled by the opmanage module. The switching table in osw module is replaced temporarily by the protection table until the link failure is recovered, or the packets arrive at another node which is not in the ring that suffers working path failure.
IV. Light path is unidirectional, and therefore the direction of the light path must not be against the direction of the protection ring. For example, light path “DÆCÆBÆA” is not allowed to be assigned if the ring
“A-B-E-F-A” exists. The step of virtual ring setup by the GUI is clicking the ring member sequentially. For example, if we want to assign ring
“1-2-3-1”, we have to click the node by following the sequence “node1 Æ node2 Æ node3 Æ node1”. Different sequence represents different ring.
V. Because there are some limitations in the topology drawer, we support only one bi-directional optical link between two adjacent nodes. Because one bi-directional optical link can be assigned to at most two rings, the direction of one ring on this link must be opposite to another. Taking figure 5.8 as an example, we can assign ring “A-B-C-D-E-F-A” and
“A-F-E-B-A”. The two rings “A-B-C-D-E-F-A” and “A-B-E-F-A” can’t be assigned at the same time. We must follow the double cycle rules [3].
What problems will happen if we don’t follow such rules? If the ring
“A-B-C-D-E-F-A” and the ring “A-B-E-F-A” are assigned at the same time and the network status are normal, the node B will not know which is the right working path, B-C, B-E, or both? The protection switching may
suffer the link overloading problem.
Assuming that the “BÆC” and “BÆE” are full-utilized and the 2 links break down. Their protection path “BÆA” can’t afford the data flow that is double to its bandwidth limit. The overflowed packets will be dropped, and therefore the protection is meaningless. IF the ring “A-F-E-D-C-B-A”
and the ring “A-F-E-B-A” are assigned at the same time and the link
“AÆB” crashes, the opmanage module will not know which protection path is valid, B-C, B-E, or both? When user set up the protection ring, they should follow these rules to avoid these problems.
The graph below represents the working flow chart of the opmanage module.
Figure 5.9: The illustration of the work of the protection module
VI. For supporting mesh protection, we design a smart way to select the path.
The picture below ilustrates a hive-structured mesh topology. We will take the picture as our explanation.
Get a packet
Figure 5.10: The illustration of the work of the protection module
The yellow line is the light path that we assigned manually, and the
protection rings are assigned for each hive cell. For example, “1-2-4-5-17-3-1”
is assigned as a ring and “4-6-7-9-8-5-4” is assigned a ring. There are total five clockwise rings and each optical link joins at most two rings whose directions are different. This assignment satisfies our rule. We assume that the link “6Æ7” is broken. When the packet reaches node6, the packet is marked as
“from working port” and “taking the ring “4-6-7-9-8-5-4””. After the
opmanage module tags the information on the packet, the packet is sent back to node4 and the packet will follow the protection direction until it arrives at node7.
When the packet reaches node7, we know that if the packet went back to
call node7 “the last station of the protection travel of ring “4-6-7-9-8-5-4””. At node7, the packet is marked as “going on the working port” and the opmanage module chooses a working path of another ring that node7 joins. For example, we choose the ring “7-16-10-12-11-9-7”. This is because the link “7Æ16” is on the light path that the packet takes. Because the node is on the light path or no traffic passes the node, we can always find another ring which the node joins in that its working path overlaps with the light path. Taking the
hive-structured topology as an example, node7 is the node on the light path. If node7 is not on the light path, we even don’t take the link “6Æ7” to the destination. The rules of our working and protection path switching are:
I. If the working path is broken, the opmanage module adds a tag “protection, ring1” on the packets, which represents that the packets will travel on the protection path of ring1.
II. When the packets arrive at the last station of the protection travel, the opmanage module changes the tag to “working, ring3”on the packets, which means that the working path of ring3 is the next working path that the packets will take. Of course, the working path of ring3 in this node overlaps with light path of the packet.
III. If the working path is normal, the traffic follows the path that the osw module decides according to the switching table.
5.5. Traditional All-optical Networks
In this section we descript the design and implementation of traditional all-optical networks. This subsystem is composed of edge routers, optical traditional switches, and other types of networks. Most functions of the
subsystem are handled by the rwa modules and the wa modules. Figure 5.11 shows a topology of traditional all-optical networks, and we take it as the example of our description.
Figure 5.11: Traditional all-optical networks