## 4 Related Work  
Current network requirements have changed, and even more after the introduction of SDNs, which support and facilitate network updates. As SDNs have facilitated the updating of the networks, the problems related to them have been studied intensively. This scope has many axes that are relevant, including updating techniques and performance goals/objectives. That is why there is more than one classification of works that have addressed the problem, such as the proposal of [11]. The work consists of a profound review of the consistent updating approaches in SDNs. This overview generalizes the network updating problem and proposes a taxonomy of consistent network updating problems in which they are classified by the type of consistency network update (connectivity, policy, and capacity consistency) and by objectives (when link-based, to make a new links available as soon as possible; when round-based, to minimize the number of makespan; and when cross-flow, to minimize the number of interactions between network entities during updates). Indeed, this taxonomy provides an orthogonal view in terms of the attacked network update problems and the works' objectives. However, in this section, we focus on classifying works that attack the forwarding loop problem by these techniques. These techniques contribute to the prevention of the mentioned problem while measuring their impact on the network performance. For more details about this, please refer to Section 9. In the literature, works that have been proposed to tackle the problem fall into one of the following approaches: either the ordered update [12; 13; 14; 15], the n-phase commit update [4; 16; 17; 18; 15], the timed update [19; 20], or the causal update [21] approach. On the other hand, another set of works focuses on studying optimization problems [22; 23; 24; 25; 26; 27] of consistent updates in SDNs. These two kinds of works are briefly discussed in this section. Ordered updating approaches [12; 13; 14; 15] use a sequence of steps to execute reconfigurations (controller commands) on switches, where the order of execution ensures that no inconsistent behavior appears throughout the transition from one configuration to another. During the transition at each step, the controller should wait until all the underlying switches finish their updates (referred to as rule replacements) and then inform it (through acknowledgment messages) in order to be able to initiate the next step of the updating sequence. An update finishes after the achievement of all the updating steps. As for the n-phase commit update approaches, we distinguish between the two-phase commit and the one-commit update approaches. Works like [4; 16], which were based on the two-phase commit, provided a strong per-packet consistency guarantee: packets are forwarded to their destinations based on the initial or the final configuration and not both, covering a wide range of consistent updating properties that include connectivity and policy consistencies. These works are based on a packet tag-match mechanism. Initially, all in-fly packets are tagged by switches with the current forwarding configuration \(k\). The controller starts by disseminating all updating commands of configuration \(k+1\) and then waits for acknowledgments from the underlying switches. Once all switches acknowledge the execution of commands (adding forwarding rules) of configuration \(k+1\), then the controller instructs them to tag all incoming packets with \(k+1\) to the match forwarding rules of the new configuration. During the update transition phase, all switches should maintain the forwarding rules of both configurations (referred by rule additions) until all packets tagged with \(k\) leave the network. When they leave, the controller instructs the switches to remove commands of version \(k\). On the other hand, ez-Segway [17] guarantees the following network properties: loop-freedom, black hole-freedom, and congestion-freedom.