any instructions on how to forward new flows and becomes practically offline. In the following, we illustrate the reliability of SDN in an example in Figure 4.11, which consists of seven OpenFlow switches and two con- trollers. For simplicity of illustration, we assume fixed binding between controller and switches, which is the shortest path between the switch and its closest controller. Another assumption is the static binding between controller and the switch, for example, C1 is the assigned con- troller for S3. S3 can only be controlled by C1 even if it is also reachable by C2. In this example, we assume that there is a separate link between two controllers C1 and C2 to exchange the network states between them. Each controller uses the same infrastructure (network) to reach the OpenFlow switches. For instance, S7 goes through S3 and S1 to reach the controller C1, marked as dotted line. We also assume fixed 4 Software-Defined Networks Principles and Applications Controller Switch IP1 HTTP Forward to Port 1 S5 Figure 4.11 Example of controller and switch connection. routing has been set up. The subscripts denote the flow entries in each switch. An entry on S4 is programmed by C1 to match any HTTP flow from IP1 and forward to port 1 connected to S7. If the link between S4 and S5 fails, connections between any of the switches S1, S3, or S4 to any of the switches S2, S5, S6, or S7 would be interrupted. If the link between S1 and controller C1 fails, then until a backup path is built and used, S1 will lose its connection to its controller. Assuming that in this case the switch invalidates all its entries, and then S1 cannot reach any other switch in the network, until it reconnects to its controller. This is like S1 itself is failed for a period of time. The types of failures in SDN can be categorized into three types: Link failure: A link failure indicates that traffic traversing the link can no longer be transferred over the link. The failure can be either of a link between two switches or of a link between one co