Abstract 1 Introduction and Related Work 2 Models and Preliminaries 3 Limitations of Previous Approaches and Lower Bounds 4 𝟐-Resilient Routing Against Dynamic Failures on Planar Graphs 5 Conclusions and Future Work References Appendix A Deferred Proofs of Theorems and Lemmas in Section 3 Appendix B Deferred Proofs of Theorems and Lemmas in Section 4

Fast Rerouting Against Dynamic Failures: 2-Resilience via Ear-Decomposition and Planarity

Wenkai Dai ORCID Faculty of Computer Science, TU Berlin, Germany
UniVie Doctoral School Computer Science DoCS, University of Vienna, Austria
Klaus-Tycho Foerster ORCID Department of Computer Science, Technical University of Dortmund, Germany Stefan Schmid ORCID TU Berlin, Germany
Fraunhofer SIT, Darmstadt, Germany
Abstract

Modern communication networks employ local fast failover mechanisms in the data plane, swiftly reacting to link failures through pre-installed rerouting rules. This paper investigates resilient routing schemes that guarantee packet delivery under up to k link failures, provided the source and destination remain connected in the degraded network. While prior theoretical studies have mainly addressed static failures, where multiple links fail simultaneously and permanently, real networks often experience dynamic failures, such as transient link flapping caused by short-lived faults.

We study the limits of basic and source-matched failover routing with packet-header rewriting against dynamic failures in general graphs. In basic routing, forwarding depends only on active links, incoming ports, and the destination, whereas source-matched routing additionally incorporates the source, requiring more memory (and logic) at the router. The 2-resilient source-matched routing for static failures is shown to fail under permanent but non-simultaneous failures. Moreover, even with source matching, we prove that in planar graphs k2 resilience is impossible without bit rewriting, and in general graphs, perfect k-resilience is unachievable by only rewriting O(logk) bits.

For planar graphs, we introduce ear-decomposition into basic routing and develop novel local rerouting mechanisms that tolerate dynamic failures. These yield tight 2-resilient basic routing by rewriting only one or two bits, closing the gap between lower bounds and practical routing scheme.

Keywords and phrases:
Resilience, Local Failover, Routing, Dynamic Link Failures, Link Flapping
Copyright and License:
[Uncaptioned image] © Wenkai Dai, Klaus-Tycho Foerster, and Stefan Schmid; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Networks Routing protocols
; Computer systems organization Dependable and fault-tolerant systems and networks
Related Version:
Preliminary Version: https://arxiv.org/abs/2410.02021 [9]
Funding:
German Research Foundation (DFG) project ReNO, Schwerpunktprogramm: Resilienz in Vernetzten Welten – Beherrschen von Fehlern, Überlast, Angriffen und dem Unbekannten (SPP 2378), 2023–2027.
Editors:
Andrei Arusoaie, Emanuel Onica, Michael Spear, and Sara Tucci-Piergiovanni
Table 1: Summary of related work and our contributions: prior results appear in white–gray (static failures) and green (dynamic failures) rows, while our new results are highlighted in blue.
Failure Rewriting Routing information Graph Resilience results for
Type Bits # Per-source Per-dest. Classes static & deterministic routing
static no (k1)-resilience for k5, open for k6 [5]
static no (k/2)-resilience for any k [5]
static no (k1)-resilience for any k [14]
static 3 (k1)-resilience [5]
static no 1-resilience [13], no 2-resilience () [5]
static no arbitrary k-resilience impossible [17]
static no 2-resilience possible, 3-resilience impossible [8]
dynamic no (k1)-resilience possible for k5 [10]
dynamic no (k/2)-resilience possible for any k [10]
dynamic logk (k1)-resilience possible for any k [10]
semi-dynamic 3 (k1)-resilience possible for any k [10]
dynamic 3 HDR-3-Bits in [5, Algorithm 2] inapplicable [10]
dynamic no (k1)-resilience imposs. for k2 (link-circular) [10]
dynamic no 1-resilience possible [10], no 2-resilience () [5, 10]
dynamic no 2-resilience is impossible [Thm. 3]
dynamic logk arbitrary k-resilience impossible [Thm. 4]
semi-dynamic no 2-resilient algo. (static failures) in [8] inapplicable [Thm. 2]
dynamic 1 or 2 2-resilient basic routing on planar graphs [Thms. 18 & 16]

Legend: indicates that this parameter is included in forwarding function. Graph classes are denoted as k-edge-connected,  planar, and  general.

1 Introduction and Related Work

Communication networks are a critical infrastructure of the digital society. Since link failures – inevitable and increasingly frequent in large-scale systems [18] – can severely degrade service [1, 30, 35], modern networks deploy local fast failover in the data plane to respond faster to failures. These mechanisms rapidly reroute packets along preinstalled backup paths, avoiding global recomputation and enabling recovery times orders of magnitude faster [22, 13].

The core challenge of devising efficient data-plane failover mechanisms is to precompute local rerouting rules ensuring reachability under link failures, without knowledge of downstream link states. This reduces to the following fundamental question:

  • Can we devise a failover routing scheme capable of tolerating any k link failures as long as the underlying topology remains connected?

Resilient failover mechanisms have attracted significant attention [13, 7, 5, 16, 8, 31]. Randomized approaches [3, 6], resembling random walks for graph exploration, can offer resilience but are impractical due to packet reordering and limited router support [14]. Similarly, packet duplication techniques such as flooding impose prohibitive overhead.

Standard routers implement basic failover routing by deterministically forwarding packets using only local information such as active links, in-ports, and destinations. Feigenbaum et al. [13] introduced DAG-based failover resilient to a single failure, but perfect resilience – tolerance to arbitrarily many failures – is impossible even in small graphs [15]. Chiesa et al. [5] further proved that basic routing cannot achieve 2-resilience even in planar graphs. Consequently, research has explored heuristics, extra local inputs [8, 10], header rewriting [4, 5], or dense connectivity [3, 5, 7, 17, 34]. In particular, header rewriting allows routers to modify reserved header bits to guide subsequent forwarding decisions.

For k-edge-connected graphs, Chiesa et al. [5] showed that (k1)-resilient basic routing can be efficiently computed for k5, while the case k>5 remains open; with header-rewriting, they devised schemes that achieve (k1)-resilience in arbitrary k-edge-connected graphs using either logk or 3 header bits.

However, real networks are often sparse with locally dense subregions [11, 16], necessitating the study of general topologies. Dai et al. [8] showed that 2-resilient routing is feasible in general graphs when forwarding depends on both source and destination (source-matched routing), but 3-resilience is impossible. Source-matched routing, however, incurs up to n-fold overhead in computing and storing per-pair routing tables compared to basic routing.

Most theoretical work assumes simultaneous fail-stop failures, where links fail once and remain unavailable, i.e., static graphs. In practice, however, failures are often asynchronous, with links recovering or flapping [27, 32, 24, 29]. Gill et al. [18] further classify datacenter link failures as long-lived or sporadic short-lived, the latter typically caused by software or transient errors.

As such dynamics turn the network into a time-varying graph, invalidating conventional failover routing schemes, Dai et al. [10] model link failures into three types: dynamic, where unstable links arbitrarily switch between up and down states; semi-dynamic, where fail-stop links may fail during packet traversal; and static, where all fail-stop links fail simultaneously. They revisit the ideal resilience results of [5] under dynamic settings and show that certain established results, e.g., the 3-bit rewriting, may become ineffective (see Tab. 1 for details).

Hence, this paper investigates deterministic worst-case k-resilience on general graphs under the dynamic link failure models of [10], focusing on basic routing augmented with packet-header rewriting. Our work is closely related to Dai et al. [8, 10] and Chiesa et al. [5], as we extend the results of [8] to dynamic failures only on basic routing functions.

We show that in dynamic settings, the power of source-matched routing collapses to that of basic routing.

For instance, although 2-resilient source-matched routing is always achievable under static failures in general graphs [8], it becomes impossible even for planar graphs (see the counterexample in Fig. 4), as backtracking to the original source may be infeasible.

At the same time, we resolve the open question of [5] by providing the first 2-resilient basic routing on planar graphs by rewriting one- or two-bit in the packet header, even under dynamic failures. An overview of related results and our contributions is given in Table 1.

1.1 Contributions

This paper initiates the study of perfect resilience of fast rerouting under dynamic, non-simultaneous link failures. A summary of our results is given in Table 1. We prove that the 2-resilient source-matched routing of Dai et al. [8] already fails under semi-dynamic failures, and that 2-resilience via source-matched routing is impossible in planar graphs without packet-header rewriting. This impossibility extends to k-resilience in general graphs, even with O(logk) rewritable bits. In contrast, we present the first algorithms achieving 2-resilience against dynamic failures in planar graphs using basic routing by rewriting only one or two header bits. This is tight with respect to our dynamic lower bounds stated in Theorem 3 and the static lower bound of [5], thereby resolving the open problem of [5]. We can compute the routing scheme in O(n+m) time per destination on planar graphs, whereas source-matched routing [8] needs O(nm) per source–destination pair, i.e., Ω(n2) times slower.

Technical Novelty.

We introduce ear-decomposition into basic routing to design ear-based schemes that mimic source-matched routing, where each ear serves as a local source without interfering with others. Unlike existing approaches [5, 8, 17], which detour along induced cycles containing the failure (and thus risk looping under dynamic failures), our method selects landmark nodes to terminate such detours independently of the failure. Our algorithms leverage structural properties of planar embeddings, and we believe these techniques may be of independent interest for future studies on resilience against dynamic failures.

1.2 Organization

The remainder of this paper is organized as follows. We introduce our formal model in §2, then discuss the limitations of prior methods [5, 8] and present impossibility results for k-resilient routing by rewriting bits under dynamic failures in §3. Next, we develop algorithms for computing 2-resilient basic routing schemes on planar graphs via one- or two-bit rewriting in §4, and conclude in §5 with open questions. We defer lengthy proofs to Appendix AB.

2 Models and Preliminaries

We model the network as an undirected simple G=(V,E), where vertices in V represent routers and undirected edges {u,v}E represent bi-directed links. For EE, let GE=(V,EE); for VV, GV denotes the graph obtained by removing V and all incident edges. For a subgraph GG, we write NG(v), EG(v), and ΔG(v) for the neighbors, incident edges, and degree of v in G, respectively, omitting the subscript G when clear from context. Each undirected edge {u,v}E corresponds to two directed arcs (u,v) and (v,u). For EE and vV, we slightly abuse notation to let Ev denote the subset of edges in E that are incident to v. For multigraphs, we extend the graph definition appropriately by allowing multiple distinguishable edges between any two vertices in V.

Failure Models.

Let FE denote a set of link failures in G, where each eF may fail to transfer packets in both directions when its state is down (failed). A link is fail-stop if its down state is permanent. We classify F as:

  • Static – all links in F are fail-stop and fail simultaneously;

  • Semi-dynamic – all links in F are fail-stop but may fail at different times;

  • Dynamic – links in F may alternate arbitrarily between up and down states over time.

Failover Routing Functions.

In failover routing, each node vV stores a predefined, static forwarding (interchangeably, routing) function to deterministically select an outgoing link (out-port) for each incoming packet based solely on local information at v. Formally, given a graph G, a general routing function at vV is

πG,v:V×(V{})×(NG(v){})×2EG(v)EG(v),

where V is the destination tV of the incoming packet; V{} gives the source of the incoming packet, with meaning “no source information”; NG(v){} is the incoming link (in-port) at v, with indicating packet origination at v; and 2EG(v) is the set of currently active (non-failed) links incident to v. For multigraphs, πG,v extends naturally.

The routing function πG,v is basic if the source is always , and source-matched otherwise. Unless stated, we consider basic routing. Fixing a destination tV (basic) or a pair of source-destination (s,t)V×V (source-matched), we write πG,vt and πG,v(s,t), omitting G when clear. A routing scheme is the collection of routing functions on V, e.g., Πt=vV{t}πvt.

It is worth noting that Feigenbaum et al. [13] showed that 1-resilience against static failures is impossible when using fewer parameters than those available in basic routing.

Header-Rewriting Routing.

Header-rewriting augments a routing scheme by reserving k rewritable bits in each packet’s header. A routing function π at vV can interpret and modify these bits to influence the current and subsequent forwarding decisions:

HDR-k-π:dom(π)×{0,1}kEG(v)×{0,1}k.

In practice, k is limited by competing fields (e.g., TTL, checksums, QoS). Bit-rewriting adds processing overhead, latency, and potential packet loss, so minimizing k improves transmission efficiency.

Further Concepts in Failover Routing.

We introduce several commonly used notions in failover routing. A packet is said to get stuck if it halts at a node other than its destination. For deterministic routing without header bit rewriting, a forwarding loop occurs when a packet traverses the same directed link (arc) twice; both directions of an undirected link may each be traversed once without forming a loop. Any loop possible under static failures can also occur under semi-dynamic or dynamic failures. A packet fails to reach its destination t if it either gets stuck or enters a forwarding loop. A routing function at node v is link-circular if v forwards packets through an ordered circular sequence u1,,u of neighbors, forwarding from ui to ui+1 (indices taken modulo ). If link {v,ui+1} fails, the packet is sent to ui+2, and so forth, cycling back to u1 after u [5].

Definition 1 (k-Resilient Failover Routing Problem).

Let G=(V,E) be a graph and let tV be a designated destination. The k-resilient failover routing problem is to compute a k-resilient routing scheme for t in G under the static, semi-dynamic, or dynamic failure models. A forwarding scheme for t is k-resilient if, for every source sV and every set of link failures FE with |F|k, the scheme delivers a packet from s to t in the given failure model whenever s and t remain connected in GF. Here, GF denotes the subgraph obtained by removing all edges in F, independent of the failure model.

Note on Definition 1.

The subgraph GF may have multiple connected components. We assume that dynamic or semi-dynamic failures in F do not cause the routing functions to forward packets between distinct components of GF; such cases are beyond the scope of our resilient routing model. Static failures are a subset of semi-dynamic failures, which in turn are a subset of dynamic failures; a resilient routing algorithm for one failure type applies to its subsets, while impossibility results extend to its supersets. Since resilient routing may require packets to retrace paths in reverse, dynamic and semi-dynamic failures can introduce inconsistencies in the set of active links perceived by deterministic routing functions, thereby increasing the likelihood of forwarding loops.

We focus on computing a k-resilient routing scheme for a fixed destination t, as the same algorithm applies to any uV. For source-matched routing, it suffices to consider a fixed pair (s,t), since the algorithm generalizes to any s,tV.

Further Notations and Graph Theory Concepts.

We first introduce the graph-theoretic concepts and notations used in this chapter. A path P from u to v in G is called a uv path. Two paths are edge-disjoint if they share no edges (but may share vertices), and two edge-disjoint uv paths P1 and P2 are node-disjoint if V(P1)V(P2){u,v}=.

We focus on edge-connectivity, referred to simply as connectivity. For u,vV, two nodes u and v are (interchangeably, uv is) k-edge-connected (or k-connected) if there exist k edge-disjoint uv paths in G. The graph G is k-edge-connected (or k-connected) if any two distinct nodes are k-connected. Nodes u and v are exactly k-connected if they are k-connected but not (k+1)-connected.

Given a path P=(x0,x1,,xk), with xiV(P) for 0ik, the notation xiPxjP denotes the subpath of P from xi to xj for 0i<jk. For VV, the induced subgraph G[V] contains all edges {u,v}E with u,vV.

A graph G=(V,E) is planar if it can be drawn on the Euclidean plane 2 without two edges intersecting except possibly at a common endpoint; such a drawing is a plane embedding of G. Given a plane embedding, a face is a connected component of 2G whose boundary consists of vertices and edges of G. The unique unbounded face is the outer face (or unbounded face), and all other faces are inner (interior) faces (or bounded faces).

(a)
(b)
Figure 1: The main idea of 2-resilient source-matched routing scheme [8] computes a special planar subgraph 𝒢G in which both s and t lie on the outer face, and every inner face shares at least one edge with the outer face. The routing rules are simple: packets traverse the outer face counterclockwise (red dashed arrows in Fig. 1(a)) and, upon encountering a failure, detour clockwise around the corresponding inner face (blue dotted arrows). As illustrated in Fig. 1(b), a packet starting at s first follows the directed st path along the outer face. If an arc (u,v) fails, the packet is rerouted along the directed path that includes the reverse (failed) arc (v,u). This approach successfully tolerates two static failures. However, under dynamic failures, the detour may revisit a previously failed edge after it has recovered, leading to routing loops.

3 Limitations of Previous Approaches and Lower Bounds

In this section, we first highlight the limitations of previous failover approaches under dynamic failures, then show that 2-resilient source-matched routing is infeasible even for planar graphs, and finally prove that perfect k-resilience is impossible with only rewriting O(logk) bits.

3.1 Limitations of Prior Work

Without utilizing rewritable bits in packet headers, Chiesa et al. [5] proved that 2-edge-connected (planar) graphs do not admit 2-resilient routing against static failures. In contrast, Dai et al. [8] developed a 2-resilient routing algorithm for static failures in general graphs by additionally incorporating source matching. However, achieving 3-resilience under static failures is already impossible [8].

The 2-resilient routing algorithm of Dai et al. [8] computes, for each source–destination pair (s,t) in a general graph G, a planar kernel graph 𝒢G that preserves st connectivity under any two edge failures. In this kernel graph, s and t lie on the boundary of the outer face f, and every inner face shares an edge with f (see Fig. 1(a)). Routing then proceeds counterclockwise along f from s to t, switching to a clockwise traversal of an inner face upon encountering a failure (Fig. 1(b)).

Compared to basic routing, source-matched routing incurs higher computational and memory costs, as it requires computing and storing routing tables for every pair of nodes, i.e., Θ(n2) tables, whereas basic (only destination-based) routing needs only Θ(n) tables.

Dynamic failures transform the overlay graph from a static to a dynamic structure, rendering some classical failover routing rules ineffective.

As a common technique, the bouncing reroute rule, illustrated in Fig. 1(b), upon a failed arc, bounces a packet back via its reverse, detours around the induced cycle, and reencounters the failed edge in reverse to terminate the detour. This technique is widely used [5, 8, 17].

However, as shown in Fig. 1(b), if the dynamic failure becomes recovered on the second visit, the packet falls into a routing loop within the current induced cycle. A similar issue has also been observed in (k1)-resilient routing against dynamic failures on k-edge-connected graphs using three-bit rewriting [10].

Moreover, in Theorem 2, we show that the 2-resilient source-matched routing by Dai et al. [8, Algorithm 1] no longer functions correctly even for two semi-dynamic failures. Due to space limitations, we present in Fig. 2 a counterexample that sketches the proof of Theorem 2.

Figure 2: Example of applying the 2-resilient source-matched routing algorithm proposed by Dai et al. [8, Algorithm 1] to a graph G=(V,E) shown as bold lines without arrows in Fig. 2 ([8, Fig. 1]) for the source-destination pair (s,t) to obtain its kernel graph 𝒢 by excluding these four red bold lines: {{v1,v4},{v2,v3},{u1,u4},{u2,u3}} as shown in [8, Fig. 2], where a kernel graph 𝒢 is a subgraph of G, s.t., for any two failures FE, if st is connected in GF then st is also connected in 𝒢F. By [8, Definition 6.2], a forwarding scheme Π(s,t) defines a link-circular forwarding function at each node of 𝒢, and we can easily verify that Π(s,t) is 2-resilient against static failures. In this figure, Π(s,t) is illustrated by solid (red) arcs, dotted (green) arcs, and dashed (blue) arcs respectively, s.t., at a node v, a packet from an incoming arc (u,v) is forwarded to an outgoing arc (v,w) that has the same dash pattern (color) as (u,v). If an outgoing arc (v,w) is failed, then the arc (w,v) is treated as an incoming arc to continue forwarding on the dash pattern (color) of (w,v), while a packet originated at s can select either the solid (red) arc (s,v10) or the dashed (blue) arc (s,u10) arbitrarily to start. However, this forwarding scheme Π(s,t) is not 2-resilient against semi-dynamic failures. For semi-dynamic failures F={{v1,v2},{v7,v9}}, by starting at s and following forwarding rules (red arcs), the packet goes through (s,v10,v0,v5,v1,v2,v7) to meet the first failure (v7,v9), and then it is rerouted by the dashed forwarding rules (green arcs) to traverse (v7,v2) to hit the second failure (v2,v1). Now, Π(s,t) makes the packet stuck in the connected component on {v2,v7}, but in the graph GF, there is still a path from v7 to t, e.g., (v7,v2,v3,v4,v8,v9,v11,t), implying that Π(s,t) is not 2-resilient against semi-dynamic failures. Moreover, after adapting Π(s,t) by additionally enforcing clockwise link-circular routing at v1 and v2 to include {{v1,v4},{v2,v3}}, we can easily verify that it becomes a 2-resilient source-matched routing against semi-dynamic failures.
Figure 3: Counter-example topology G for 2-resilient source-matched routing scheme against dynamic failures, where s is the source and t is the destination. Let V={v0,,v5} and U={u0,,u5}. By symmetry, w.l.o.g., we can assume πs()=v0 when Fs=. Then, we can show that each node vV{s} must use a link-circular routing function, which has only two possible orderings for its neighbors, i.e., clockwise and counter-clockwise for the shown drawing. For instance, the clockwise and counter-clockwise orderings for v1 are v0,v2,v4 and v0,v4,v2, respectively. We can further show that v1 and v3 must have the same type of orderings (clockwise or counter-clockwise), otherwise a routing loop can occur, e.g., if v1 and v3 select clockwise and counter-clockwise orderings respective, then a loop (s,v0,v1,v2,v3,v4,v1,v0,s) occurs for a static failure F={s,u0}. When v1 and v3 both use the clockwise (resp., counter-clockwise) ordering, for a dynamic failure {v2,v3}F (resp., {v3,v4}F) , let (v2,v3) (resp., (v4,v3)) be down and (v3,v2) (resp., (v3,v4)) be up. Then, a routing loop: (s,v0,v1,v2,v1,v4,v3,v2,v1) (resp., (s,v0,v1,v4,v1,v2,v3,v4,v1)) appears and the packet originated at s cannot reach t even there is an st a path containing no dynamic failure. A similar proof can be given when πs()=u0 for Fs=.
Theorem 2.

There exists a graph G where the 2-resilient source-matched routing of Dai et al. [8, Algorithm 1], designed for static failures, fails under two semi-dynamic failures, even though G admits such a routing scheme.

3.2 Impossibility of Handling Dynamic Failures in General Graphs

After discussing the limitations of existing failover approaches under dynamic failures, we show in Theorem 3 that no source-matched routing scheme can tolerate two dynamic failures. The proof idea is illustrated in Fig. 3, while the formal proof is deferred to Appendix A.

Theorem 3.

There exists a 2-edge-connected planar graph G as shown in Fig. 3, where it is impossible to have a 2-resilient source-matched routing scheme against dynamic failures without rewriting bits in packet headers.

For the counter-example graph G as shown in Fig. 3, fixing πs()=v0 when Fs=, the routing functions at v1 and v3 cannot know whether an incoming packet currently should either continue searching a path towards t in G[V{s,t}] or finding a path back to s in G[V{s,t}] to try paths in G[U{s,t}]. Simply, by rewriting one bit in packet headers, the source-matched routing functions can resolve this weakness to achieve 2-resilience against dynamic failures again in G. Now, a fundamental question arises: Can we achieve k-resilience against dynamic failures in a general graph by only rewriting O(logk) bits in packet headers?

In light of Theorem 4, we demonstrate that achieving perfect resilience through the modification of O(logk) bits is impossible and defer its formal proof to Appendix A.

Theorem 4.

There exists graphs for which any resilient source-matched routing that can tolerate 2k dynamic failures needs rewriting of at least k bits in packet headers for k.

4 𝟐-Resilient Routing Against Dynamic Failures on Planar Graphs

In contrast to our impossibility result, we now present algorithms achieving 2-resilience against dynamic failures on planar graphs. We first reduce the general problem, then introduce the elementary routing rules based on ear-decomposition and faces, and finally describe our 2-resilient basic routing scheme via one- or two-bit rewriting.

4.1 Problem Reductions and Basic Observations

By Claim 5, we reduce the problem to the case where G is a simple 2-edge-connected plane graph, and in Lemma 6 we highlight an important observation on this simplified structure.

Claim 5 (Problem Reduction).

The problem of devising a 2-resilient routing algorithm against dynamic failures in a general planar graph G=(V,E) can be reduced to the case of 2-edge-connected planar graphs. Throughout, we can assume that G is a simple (plane) graph, i.e., it contains no parallel edges and has a plane embedding already.

Proof.

For a 3-edge-connected graph G, Dai et al. [10] showed that a 2-resilient routing scheme against dynamic failures can be devised using three arc-disjoint arborescences, building on the original idea of [5]. Alternatively, we can obtain a 2-edge-connected graph G of by replacing any edge {u,v} in G with two edges {u,νu,v} and {νu,v,v}, s.t., any 2-resilient routing scheme for G can also work for G.

Let G=(V,E) be a 1-edge-connected graph. Define the set of bridges as E:={eEG{e} is disconnected}. Removing all bridges yields a collection 𝒞 of connected components of GE. By contracting each component Ci𝒞 to a single node vCi, we obtain an abstract tree 𝒯(G):=({vCi:CiGE},E), where every edge eE connects the two components in GE that e originally joined.

Since 𝒯(G) is a tree, one can directly construct a 2-resilient routing on 𝒯(G). Moreover, for each component Ci, which is itself a subgraph of G with edge-connectivity at least 2, if we can compute a 2-resilient routing within Ci that reaches the endpoint corresponding to the bridge edge in E, then combining these local routings with the tree routing on 𝒯(G) yields a global 2-resilient routing for G.

If G contains parallel edges between two nodes u,vV, each such edge {u,v}i can be replaced by a path of length two, namely {u,μuvi} and {μuvi,v}, where μuvi is a newly introduced auxiliary node.

Lemma 6.

If G=(V,E) is a 2-edge-connected plane (embedded planar) graph, then each edge eE is shared by two distinct faces, i.e., eE(fi) and eE(fj), where fi,fj ( including the outer face) and ij.

Proof.

If G is 2-edge-connected, then every edge eE lies on a cycle. By [12, Lema 4.2.2], each edge eE on a cycle of G must be shared by two distinct faces.

 Remark 7.

Even in the reduced setting, the problem remains challenging. Basic routing based solely on faces is already non-trivial: two failures on a face fi may require traversing its boundary in both clockwise and counterclockwise directions. This necessitates at least one rewritable bit to indicate the current direction, since an arc may be used in opposite directions by two adjacent faces sharing the same edge. This observation motivates us to design routing schemes that exploit not only faces but also additional structural information.

4.2 Routing on Ear Decomposition and Faces

Our 2-resilient routing algorithms combine ear-based routing with face detours. We begin by introducing the basic routing based on ear-decomposition and faces in the following.

4.2.1 Routing Rules Based on Ear Decomposition

Several variants of ear-decomposition appear in the literature (e.g., [19, 23, 21, 26]). In this work, we adopt the definition provided in the textbook [33].

Ear Decomposition.

An ear decomposition 𝒫(G) (abbreviately, 𝒫) of a graph G is a sequence of subgraphs G=P0P1Pκ, where P0 is a cycle in G, and for each i0, Pi+1 is a path whose endpoints lie in P0P1Pi, while all internal vertices of Pi+1 are disjoint from P0P1Pi. The cycle P0 is called the initial ear, and each Pi+1 (for i0) is called an ear. If the two endpoints of Pi+1 coincide (so that Pi+1 forms a cycle), it is referred to as a closed ear; otherwise, it is an open ear [33, 19, 23, 25]. In particular, the family {E(Pi)}i=0κ forms a partition of E(G); that is, every edge eE(G) lies in exactly one ear Pi𝒫. Robbins (1939) [25, 33] showed that a graph G is 2-edge-connected if and only if it admits an ear-decomposition, in which each Pi for i1 is either an open ear or a closed ear, and every cycle in a 2-edge-connected graph G can be the initial ear P0 in some such decomposition. More specifically, one can compute an ear decomposition such that a specified vertex vV is contained in the initial ear [28, 21, 19, 23, 26]. In the following, we assume that the destination tV is implicitly contained in the initial ear.

Definition 8 (Routing Rules on Ears).

For a closed ear Pi𝒫 (including the initial ear), Pi itself is a cycle. For an open ear Pi𝒫 with endpoints uPi,vPiV(Pi) and i1, we form the auxiliary cycle Pi{uPi,vPi} by adding the edge {uPi,vPi}.

For each (either open or closed) ear Pi𝒫, we define the left (resp., right) routing on Pi (excluding the added edge {uPi,vPi} if Pi is open) as the traversal of Pi in the direction such that the interior of the corresponding cycle – Pi itself if closed, or Pi{uPi,vPi} if open – lies on the left-hand (resp., right-hand) side during your traversing. In the case of an open ear, the endpoint visited last under the left (resp., right) routing is called the left (resp., right) endpoint. For a closed ear, the left and right endpoints coincide, yielding a unique endpoint.

Finally, for each ear Pi𝒫, we define Pi (resp., Pi) as the directed cycle (resp., path, if Pi is open) obtained by traversing Pi in the right (resp., left) direction, from its left (resp., right) endpoint to its right (resp., left) endpoint.

Since each edge {u,v}E uniquely belongs to some ear Pi𝒫, each oriented arc of {u,v} is uniquely contained in either Pi or Pi, even if Pi is closed.

By Definition 9, we define a function that maps each node to an ear to start routing.

Definition 9.

Since a node vV may appear in multiple ears of 𝒫, we define the function 𝒫min(v) that returns the earliest ear Pi𝒫 (in terms of index i) containing vV{t} as an internal node in the subgraph P0P1PiG. In particular, let 𝒫min(t)=P0.

4.2.2 Routing Rules on Faces of Plane Graph

After defining the ear-based routing rules, Definition 10 presents the face-based routing rules.

Definition 10 (Routing Rules on Faces).

Given a plane embedding of a planar graph G, for each inner face fi of G, which is bounded by a cycle C(fi)G, we define the left (resp., right) routing on fi as the traversal on the boundary (cycle) C(fi) of fi in the direction such that the bounded region of C(fi) lies on the left-hand side (resp., right-hand side) during your traversing. Analogously, for the outer face f of G, the left (resp., right) routing on f is defined as the traversal of the cycle C(f) in the direction such that the unbounded region of C(f) lies to the left-hand side (resp., right-hand side) of the traverser.

Henceforth, for each face fi (including f), let fi (resp., fi) denote the directed cycle obtained by traversing the boundary C(fi) of fi according to the left (resp., right) routing of fi. And we define a collection of directed cycles :=fifi, (resp., :=fifi).

By Lemma 11, the face-based routing defined in Definition 10 yields consistent routing rules.

Lemma 11.

Given a set of faces of a plane graph G, fix a routing direction (either left or right) for all faces. Then no two directed cycles in (resp., ) share an arc. Moreover, once the routing direction is fixed (either or ), each orientation of an edge {u,v}E, i.e., an arc (u,v) or (v,u), uniquely determines the corresponding face fi. In particular, for any edge {u,v}E, if (u,v)fi and (v,u)fj with fi and fj, then fi=fj.

Proof.

We present the argument for right routing; the case of left routing follows analogously. By Lemma 6, every edge eE is incident with exactly two distinct faces, say fi,fj.

Consider an embedding of G on the Euclidean plane, and let {u,v}E be an edge shared by fi and fj. The infinite line by expanding {u,v} separates the plane into two half-planes, with fi lying entirely on one side and fj entirely on the other. Now, when traversing an arc (u,v) (resp., (v,u)), exactly one of these half-planes (and thus exactly one of the two faces) lies to the right of the traversal. Consequently, in a right routing, the directed cycles fi and fj cannot share the same directed arc of {u,v}. Therefore, once the routing direction is fixed, each arc (u,v) of an edge {u,v}E is contained in exactly one directed cycle fi, which uniquely determines the corresponding face fi.

By definition, for any edge {u,v} and any face fi, if the arc (u,v) belongs to fi, then the reverse arc (v,u) belongs to fi. In Definition 12, we define the rightmost and leftmost nodes on each face respectively, which serve as checkpoints to terminate face-based routing.

Definition 12 (Associated Ear and Leftmost/Rightmost Node of a Face).

Given a 2-edge-connected plane graph G=(V,E), for each face fi (including the outer face f), the associated ear 𝒫ass(fi) of fi is the first ear Pj𝒫 (with minimum index j) such that E(fi)E(Pj). Given the associated ear Pj of fi, let eE(Pj)E(fi) be the edge traversed last along the right (resp., left) routing Pj (resp., Pj) in terms of the edges in E(Pj)E(fi). The endpoint vV(e) visited later in Pj (resp., Pj) is called the rightmost node (resp., leftmost node) of fi, denoted by vr(fi) (resp., vl(fi)). The leftmost or rightmost node of a face fi is uniquely determined and independent of the traversal direction on faces. We have vl(fi)=vr(fi) if they coincide as the unique endpoint of a closed ear Pj.

Lemma 13 shows that our face-based routing can visit all nodes of a face fi, including the leftmost and rightmost nodes of fi, provided there is at most one failure in fi.

Lemma 13.

Given (resp., ), for a dynamic failure {u,v}F, if one of its arcs, say (v,u), lies on a directed cycle fi (resp., fi). Then, starting at u and traversing along fi (resp., fi), one can visit all nodes of V(fi) and eventually reach v, provided that the face fi contains at most one failed edge, i.e., |FE(fi)|1.

Proof.

Our proof is carried out for the right routing ; the case of the left routing follows analogously. Suppose (v,u)fi is failed. Starting from u, the outgoing link (arc) along fi is not failed, and hence there exists a directed sub-path from u to any node tV(fi) that is entirely contained in fi{(v,u)} that is a directed path from u to v along fi.

Algorithm 1 A 2-resilient basic routing scheme in 2-edge-connected planar graphs against dynamic failures, achieved by rewriting one or two bits in packet headers.
Algorithm 2 Two-Bit Rewriting Subroutine of Algorithm 1.
Figure 4: An illustration of executing Algorithm 1 with one- or two-bit rewriting subroutines. On the shown plane graph, right (resp., left) routing on faces fi with i follows the counterclockwise (resp., clockwise) direction. For each face fi with i0,, the rightmost (resp., leftmost) node denoted by vir (resp., vil) is marked in red (resp., yellow), while the rightmost/leftmost node of fi with i=0, is t. Starting from s, the packet first traverses P1 to reach P0 (containing t) via v1l, and continues along P0 upon the first failed edge e1 at b, and then switches to P0, hitting the second failed arc e2=(c,v2r) and setting α=1. Using Algorithm 2 (two-bit rewriting), the packet starts with the bit-string (α,β)=(1,0). Taking the failed arc (v2r,c) as the incoming link, it is routed along f2 through (c,v1r,s,v1l,b), where it revisits the failure e1. The bits (α,β) then updates from (1,0) to (0,1), causing the routing on ear P0 to be repeated and the packet to meet e2 again to set α=1. Since (α,β)=(1,1) with incoming arc (v2r,c), the algorithm enforces left routing on f4, following f4 via (c,v1r,v4l,v4r). The packet halts at the rightmost node v4r of f4 and finally reaches t along P0. Note that Algorithm 2 considers only the rightmost nodes. However, for Algorithm 3 (one-bit rewriting), which enforces only right routing on faces, the behavior differs. After traversing f2 via (c,v1r,s,v1l,b) and encountering the failed arc (b,v2l)f2, the value α=1 is not updated. The packet then uses (v2l,b)f3 as an incoming link to continue along f3, but does not stop at the rightmost node v3r of f3 because its incoming link (v1l,v3r)P0. Instead, it halts at the leftmost node v3l of f3, since the incoming link (v3r,v3l)P0, and then resumes routing along P0 to reach t.

4.3 Dynamic 𝟐-Resilient Basic Routing with One- or Two-Bit Rewriting

Now, we formally present dynamic 2-resilient routing schemes on planar graphs using one- or two-bit rewriting. We first describe the two-bit rewriting algorithm and then show how to refine it to a one-bit algorithm. Finally, we provide the runtime analysis of these algorithms.

4.3.1 𝟐-Resilient Basic Routing Algorithm by Rewriting Two Bits

We first present our 2-resilient routing scheme on plane graphs by rewriting two bits, implemented in Algorithm 1 and Algorithm 2, with an illustrative example in Fig. 4.

The core idea of the two-bit rewriting algorithm is to route packets through ears P𝒫 in a waterfall manner towards P1 when α=0: a packet first follows P and, upon encountering a failure, switches to P. If every ear contains at most one failure, the packet eventually reaches t without invoking face-based routing (This case is proved by Lemma 14).

If a second failure (u,v)P occurs on the same ear P, routing switches to face-based mode (α=1) on the adjacent faces fi and fj, with (v,u)fi and (v,u)fj.

The algorithm first attempts fi with β=0, and if unsuccessful, retries fj with β=1. Since at least one of {fi,fj} contains a failure, the packet is guaranteed to reach the rightmost node of either vr(fi) or vr(fj) to exit P, thereby resuming ear-based routing on some P with < to finally reach t. Note that P need not coincide with 𝒫min(fi) for i{i,j}.

Lemma 14.

If every ear in 𝒫 contains at most one failure in F, then Algorithm 1 routes a packet to the destination t under two dynamic failures by only traversing along ears.

Proof.

In Algorithm 1, when a packet begins at an internal node in an (including the initial) ear Pcurr𝒫, it is first routed along the left direction Pcurr of Pcurr. Upon encountering a failure, the traversal switches to the right direction Pcurr. If each ear satisfies |E(Pcurrent)F|1, then one of the two routings, i.e., Pcurr or Pcurr, always leads to an endpoint of Pcurrent. From there, the packet proceeds into an earlier ear Pi𝒫 with i<curr, and ultimately reaches P0 to arrive at t. Since ear indices strictly decrease, no ear is revisited, and thus routing loops cannot occur.

By Lemma 15, if two failures F={e1,e2} are only shared by distinct faces fi,fj, then this scenario can be excluded from the resilient routing design, as the node, where a packet is currently staying, and destination t lie in separate connected components of GF.

Lemma 15.

Let G=(V,E) be a 2-edge-connected plane graph with face set . If two distinct faces fi,fj share two distinct edges e1,e2E, i.e., e1,e2E(fi)E(fj), then G{e1,e2} is disconnected.

Proof.

Consider the plane dual graph G=(U,X) of G=(V,E), where each vertex uiU corresponds to a face fi of G, and each edge eE shared by two faces fi,fj corresponds to an edge {ui,uj}X. Note that G may contain multi-edges even if G is simple. Since e1,e2 are common to fi and fj, their duals e1,e2 are parallel edges between ui and uj; thus, {e1,e2} forms a simple cycle of length two in G.

By the cut–cycle duality for plane graphs [12], a set JE is a minimal edge cut (bond) in G iff the dual set X(J):={eX:eJ} is a simple cycle in G. Applying this to J={e1,e2} shows that {e1,e2} is a bond of G. Thus, deleting e1 and e2 disconnects G. Now, we formally prove the correctness of the 2-bits rewriting algorithm in Theorem 16.

Theorem 16.

By combining Algorithm 1 with Algorithm 2, a packet can be successfully routed to its destination t under two dynamic failures by rewriting two bits in its header.

Proof.

By Lemma 14, we may assume that both failures e1,e2F lie on the same ear Pcurr𝒫, and that the packet is currently located at a node vcursor between e1 and e2 on Pcurr; otherwise, t can be reached solely via ear-based routing.

Let e2=(u,v) be the second failure, with (u,v)Pcurr. By Lemma 11, there exist two distinct faces fi,fj (with one possibly being the outer face), such that (v,u)fi and (v,u)fj. By Lemma 15, at least one of fi,fj contains only e2 but not e1.

We first traverse fi starting at u due to β=0. If no further failure occurs, then by Lemma 13, we reach the rightmost node vr(fi) of fi, closer to the right endpoint of Pcurr than (u,v) along Pcurr. Note that the directed subpath of Pcurr from vr(fi) cannot include either e1 or e2 by Definition 12. From vr(fi), either routing continues along Pcurr to reach the endpoint of Pcurr, or vr(fi) is already an internal node of an ear Pj with j<curr, from which t is reachable by ear-based routing alone. Note that Pcurr may not be 𝒫min(fi).

If instead traversal of fi encounters e1, switching back to ear-based routing either leads to the endpoint of Pcurr along Pcurr or to revisiting (u,v) along Pcurr. In this case, face-based routing resumes via fj (since β=1 and (v,u)fj), eventually reaching the rightmost vr(fj) of fj. Although vr(fj) may differ from vr(fi), the directed subpath of Pcurr from vr(fj) onward avoids both e1 and e2. From vr(fj), the above ear-based procedure applies.

4.3.2 Improved 𝟐-Resilient Routing Algorithm by Rewriting One Bit

After presenting the 2-bit rewriting approach, we refine the analysis of structural properties of the plane embedding and reduce the rewriting requirement from two bits to one. This is achieved by traversing all faces exclusively in the rightward direction, i.e., only along .

The key idea of 1-bit rewriting is as follows: upon hitting a second failed arc (u2,v2)Pcurr (Pcurr is the current ear), routing switches to fi with (v2,u2)fi. If |E(fi)F|=1, packet halts at vr(fi) and resumes along Pcurr to leave Pcurr. Otherwise, revisiting the first failed arc (u1,v1)fi (also in Pcurr), rerouting proceeds via fj with (v1,u1)fj and {u2,v2}E(fj).

In this case, packet halts at vl(fj) and continues along Pcurr to exit Pcurr. Lemma 17 states that all arcs of fi belonging to a common ear Pj are oriented consistently, either entirely as Pj or entirely as Pj. This property is used to prove the correctness of detour termination in Algorithm 3. The proof of Lemma 17 is deferred to Appendix B.

Algorithm 3 One-Bit Rewriting Subroutine of Algorithm 1.
Lemma 17.

Given , for each face fi and an ear Pj with |E(fi)E(Pj)|2, there cannot exist arcs (a,b),(c,d)fi such that {a,b},{c,d}E(fi)E(Pj) with (a,b)Pj and (c,d)Pj. Hence, fi must be consistent with either Pj or Pj if |E(fi)E(Pj)|1.

Next, we introduce a 2-resilient basic routing scheme with one-bit rewriting for plane graphs (Algorithms 1 and 3) and establish its correctness in Theorem 18.

Theorem 18.

Algorithm 1, in conjunction with Algorithm 3, can route a packet to the destination t under two dynamic failures by rewriting one bit in the packet header.

Proof.

It remains to consider the case where a packet gets stuck on an ear Pcurr𝒫 containing two failures, where first hitting (u1,v1)Pcurr and then encountering (u2,v2)Pcurr.

Let fi with associated ear P:=𝒫ass(fi) and (v2,u2)fi. Then fi is consistent with Pcurr (Lemma 17), while its consistency with P depends on whether Pcurr=P.

If fi contains only one failure, we will show a traversal along fi from u2 terminates at either the rightmost node vr(fi), the leftmost node vl(fi), or an endpoint of P (Algorithm 3, Lines 1–3;), from which ear-based routing resumes to reach t. By Lemma 13, all nodes of V(fi) are eventually visited. If the current node vcursor is an endpoint of P, the traversal along fi terminates and routing leaves P through this endpoint. We now assume vr(fi)vl(fi); otherwise, vr(fi)=vl(fi) is itself an endpoint of P (Definition 12).

If Pcurr=P, then fi is consistent with P. In this case, we can show the traversal must halt at the rightmost node vr(fi) (not at vl(fi)). Let (u,vr(fi))fi be the arc preceding vr(fi) along fi (we may have u2=vr(fi) with v2=u). Suppose {u,vr(fi)}E(P). Then, by (u,vr(fi))fi and Lemma 17, it follows that (u,vr(fi))P. By Definition 10, this would imply (vr(fi),u)P, contradicting that vr(fi) is the rightmost node of fi. Hence, it implies {u,vr(fi)}E(P) and the traversal along fi halts at vr(fi). To show that the traversal cannot halt at vl(fi), assume there exists an arc (μ,vl(fi))fi. If (μ,vl(fi))P, then by Lemma 17, we have {μ,vl(fi)}E(P). By Definition 12, vl(fi) must have a neighbor ν with (vl(fi),ν)fi and (vl(fi),ν)P. This implies ν is visited after vl(fi) along P, contradicting that vl(fi) is the leftmost node. Hence, (μ,vl(fi))fi implies (μ,vl(fi))P, indicating that the traversal cannot stop at vl(fi). Consequently, from vr(fi) the ear-based traversal along Pcurr leaves Pcurr without further failures and finally reaches t.

If PcurrP, then fi can be consistent with either P or P. Starting at u2V(P), if fi consistent with P (resp., P), the traversal along fi stops at vr(fi) (resp., vl(fi)) since the incoming link (arc) (w,vcursor)P (resp., (w,vcursor)P). As P contains no failure (<curr), the ear-based routing from vr(fi) (resp., vl(fi)) along P (resp., P) always leaves P and continue traversing on the ears Po with o<curr to reach t.

If there are two failures on Pcurr, upon hitting (u1,v1)Pcurr (stopping at u1), by Lemma 17, we know (v2,u2)fi and (u1,v1)fi since fi is consistent with Pcurr. In this case there exists a face fj with associated ear P:=𝒫ass(fj) such that (v1,u1)fj (By Lemma 15, only one failure on fj), because fj is consistent with Pcurr. If Pcurr=P, then traversing fj from u1 halts at either an endpoint of P or at vl(fj). Then, following P from vl(fj) (resp., the endpoint of P) by ear-based routing can leave P to eventually reach t. However, if PcurrP, we can argue similarly as above, since no failures on P.

Complexity Analysis.

We compute the routing rules of Algorithm 1 in a centralized model. The one- and two-bit rewriting approaches have identical time costs. For a graph G with n nodes and m edges, a planar embedding can be computed in O(n) [2, 20], an ear-decomposition in O(n+m) [26], and ear-/face-based routing rules in O(m). In the worst case, recomputing ear-decompositions per destination yields O(n2+mn) total time. By comparison, source-matched routing [8] needs O(nm) per source–destination pair, i.e., at least n2 times slower. Memory usage is reduced from n2 tables (source–destination) to only n (per destination). Moreover, our reliance on ear-decomposition and planar embeddings – well studied in parallel and distributed computing – underscores the practical feasibility of our routing schemes.

5 Conclusions and Future Work

In this paper, we investigated the resilience achievable by basic routing augmented with packet-header rewriting under dynamic failures. We proved that k2 resilience without any rewriting is impossible in planar graphs, and that, in general graphs, the perfect k-resilience is unfeasible by only rewriting logk bits. For planar graphs, we presented tight 2-resilient basic routing algorithms that require rewriting only one or two bits. Future work includes designing 2-resilient basic routing algorithms for general graphs with limited bit rewriting.

References

  • [1] Mohammad Alizadeh et al. Data center TCP (DCTCP). In SIGCOMM. ACM, 2010. doi:10.1145/1851182.1851192.
  • [2] John Boyer and Wendy Myrvold. On the cutting edge: Simplified o(n) planarity by edge addition. Journal of Graph Algorithms and Applications, 8(3):241–273, January 2004. doi:10.7155/jgaa.00091.
  • [3] Marco Chiesa et al. On the resiliency of randomized routing against multiple edge failures. In ICALP, 2016. doi:10.4230/LIPIcs.ICALP.2016.134.
  • [4] Marco Chiesa et al. The quest for resilient (static) forwarding tables. In INFOCOM. IEEE, 2016. doi:10.1109/INFOCOM.2016.7524552.
  • [5] Marco Chiesa et al. On the resiliency of static forwarding tables. IEEE/ACM Trans. Netw., 25(2):1133–1146, 2017. doi:10.1109/TNET.2016.2619398.
  • [6] Marco Chiesa et al. Fast reroute on programmable switches. IEEE/ACM Trans. Netw., 29(2):637–650, 2021. doi:10.1109/TNET.2020.3045293.
  • [7] Marco Chiesa et al. A survey of fast-recovery mechanisms in packet-switched networks. IEEE Commun. Surv. Tutorials, 23(2):1253–1301, 2021. doi:10.1109/COMST.2021.3063980.
  • [8] Wenkai Dai et al. A tight characterization of fast failover routing: Resiliency to two link failures is possible. In SPAA, pages 153–163. ACM, 2023. doi:10.1145/3558481.3591080.
  • [9] Wenkai Dai et al. On the resilience of fast failover routing against dynamic link failures, 2024. doi:10.48550/arXiv.2410.02021.
  • [10] Wenkai Dai et al. On the resilience of fast failover routing against dynamic link failures. In IFIP Networking, 2025.
  • [11] Fabien de Montgolfier et al. Treewidth and hyperbolicity of the internet. In NCA, pages 25–32. IEEE Computer Society, 2011. doi:10.1109/NCA.2011.11.
  • [12] Reinhard Diestel. Graph Theory, 4th Edition, volume 173 of Graduate texts in mathematics. Springer, 2012.
  • [13] Joan Feigenbaum et al. Brief announcement: On the resilience of routing tables. In PODC. ACM, 2012. doi:10.1145/2332432.2332478.
  • [14] Klaus-Tycho Foerster et al. CASA: congestion and stretch aware static fast rerouting. In INFOCOM. IEEE, 2019. doi:10.1109/INFOCOM.2019.8737438.
  • [15] Klaus-Tycho Foerster et al. Brief announcement: What can(not) be perfectly rerouted locally. In DISC, pages 46:1–46:3, 2020. doi:10.4230/LIPIcs.DISC.2020.46.
  • [16] Klaus-Tycho Foerster et al. Grafting arborescences for extra resilience of fast rerouting schemes. In INFOCOM, pages 1–10. IEEE, 2021. doi:10.1109/INFOCOM42981.2021.9488782.
  • [17] Klaus-Tycho Foerster et al. On the feasibility of perfect resilience with local fast failover. In Symposium on Algorithmic Principles of Computer Systems (APOCS), 2021. doi:10.1137/1.9781611976489.5.
  • [18] Phillipa Gill et al. Understanding network failures in data centers: measurement, analysis, and implications. In SIGCOMM. ACM, 2011. doi:10.1145/2018436.2018477.
  • [19] S. Hannenhalli et al. A distributed algorithm for ear decomposition. In Proceedings of ICCI’93: 5th International Conference on Computing and Information, pages 180–184, 1993. doi:10.1109/ICCI.1993.315382.
  • [20] John Hopcroft and Robert Tarjan. Efficient planarity testing. J. ACM, 21(4):549–568, October 1974. doi:10.1145/321850.321852.
  • [21] Louis Ibarra and Dana Richards. Efficient parallel graph algorithms based on open ear decomposition. Parallel Computing, 19(8):873–886, 1993. doi:10.1016/0167-8191(93)90071-R.
  • [22] Junda Liu et al. Ensuring connectivity via data plane mechanisms. In NSDI, 2013. URL: https://www.usenix.org/conference/nsdi13/technical-sessions/presentation/liu_junda.
  • [23] L. Lovasz. Computing ears and branchings in parallel. In 26th Annual Symposium on Foundations of Computer Science (sfcs 1985), pages 464–467, 1985. doi:10.1109/SFCS.1985.16.
  • [24] Athina Markopoulou et al. Characterization of failures in an operational ip backbone network. IEEE/ACM transactions on Networking, 16(4):749–762, 2008. doi:10.1145/1453698.1453699.
  • [25] H. E. Robbins. A theorem on graphs, with an application to a problem of traffic control. The American Mathematical Monthly, 46(5):281–283, 1939. doi:10.2307/2303897.
  • [26] Jens M. Schmidt. A simple test on 2-vertex- and 2-edge-connectivity. Information Processing Letters, 113(7):241–244, 2013. doi:10.1016/j.ipl.2013.01.016.
  • [27] Aman Shaikh et al. A case study of ospf behavior in a large enterprise network. In Proceedings of the 2nd ACM SIGCOMM Workshop on Internet Measurment, IMW ’02, pages 217–230. ACM, 2002. doi:10.1145/637201.637236.
  • [28] Y. H. Tsin. On finding an ear decomposition of an undirected graph distributively. Information Processing Letters, 91(3):147–153, 2004. doi:10.1016/j.ipl.2004.04.004.
  • [29] Daniel Turner et al. California fault lines: understanding the causes and impact of network failures. In SIGCOMM. ACM, 2010. doi:10.1145/1851182.1851220.
  • [30] Balajee Vamanan et al. Deadline-aware datacenter tcp (D2TCP). In SIGCOMM. ACM, 2012. doi:10.1145/2342356.2342388.
  • [31] Erik van den Akker and Klaus-Tycho Foerster. Short paper: Towards 2-resilient local failover in destination-based routing. In ALGOCLOUD. Springer, 2024. doi:10.1007/978-3-031-94677-6_2.
  • [32] David Watson et al. Experiences with monitoring ospf on a regional service provider network. In Proceedings of the 23rd International Conference on Distributed Computing Systems, ICDCS ’03, page 204, USA, 2003. IEEE Computer Society. doi:10.1109/ICDCS.2003.1203467.
  • [33] Douglas B. West. Introduction to Graph Theory. Prentice Hall, 2 edition, September 2000.
  • [34] Baohua Yang et al. Keep forwarding: Towards k-link failure resilient routing. In INFOCOM. IEEE, 2014. doi:10.1109/INFOCOM.2014.6848098.
  • [35] David Zats et al. Detail: reducing the flow completion time tail in datacenter networks. In SIGCOMM. ACM, 2012. doi:10.1145/2342356.2342390.

Appendix A Deferred Proofs of Theorems and Lemmas in Section 3

We restate the theorems and lemmas before the proofs for ease of readability. See 3

Proof of Theorem 3.

We first assume that a 2-resilient source-matched forwarding scheme Π(s,t) exists in the graph G as shown in Fig. 3. Then, for contradiction, we show that a packet originated at s cannot be routed to the destination t anymore, but is forwarded in a loop when there are two dynamic failures F in G, even if there exists an st path in the graph GF.

Let V={v0,,v5} and U={u0,,u5}. For each node vV(G), we define a forwarding function πv(u,Fv) at v, where FvF denotes a subset of dynamic failures F that incidents on v and the source-destination (s,t) is used implicitly in this proof. Clearly, the induced graphs G[U] and G[V] are symmetric. By symmetry, when Fs=, an arbitrary node in {v0,u0} can be chosen as the outgoing port for the packet originated at s. W.l.o.g., we assume that v0 is chosen, i.e., πs()=v0 for Fs=.

Let dynamic failures FE(G) be a set of arbitrary links, s.t., |F|2 and F can be empty. Next, we claim that, given πs()=v0 with Fs=, for each node vV{s}, its routing function must be link-circular even when F are static failures. If vV{s} has ΔGF(v)=1, then πv(u,Fv)=u, where πvΠ(s,t) and uEGF(v) denotes its unique neighbor in GF, otherwise packets get stuck at v. This case can be thought as a special case of the link-circular forwarding. If vV{s} has ΔGF(v)=3, i.e., ΔG(v)=ΔGF(v) and Fv=, a non-link-circular forwarding function at v must imply x,yNGF(v):πv(x)=y and πv(y)=x, where NGF(v)={x,y,z} are neighbors of v in GF. However, a non-link-circular forwarding function cannot be 2-resilient if the only st path remained in GF has to go through the link {v,z}. For example, when F={{s,u0},{v2,v3}} and ΔGF(v1)=3, if a non-link-circular forwarding function has πv1(v0)=v2 and πv1(v2)=v0, then a packet starting at s cannot approach t anymore even if st is connected via {v1,v4}. A similar argument can be established if πv1(v0)=v4 and πv1(v4)=v0, and F={{s,u0},{v4,v3}}. Moreover, for each vV{s} having ΔGF(v)=2, a non-link-circular forwarding function at v must imply xNGF(v):πv(x)=x for NGF(v)={x,y}, which can make v become a dead-end node, i.e., a packet cannot traverse from one neighbor of v to the other neighbor to approach t anymore. Therefore, each vV{s} must have a link-circular forwarding function.

If vV{s} has ΔGF(v)=2, then its link-circular forwarding function is unique, i.e., from one neighbor to the other neighbor. If vV{s} has ΔGF(v)=3, where Fv=, then there are two possible circular orderings for its neighbors NGF(v), i.e., one clockwise and the other counter-clockwise based on their geometric locations in Fig. 3. For example, at v1, the clockwise ordering of NG(v1) is v0,v2,v4 and the counter-clockwise ordering of NG(v0) is v0,v4,v2. Thus, for each vV{s} that has ΔGF(v)=3, its link-circular forwarding function can choose one of two options: clockwise and counter-clockwise, arbitrarily.

Fixing {s,u0}F, let {v2,v3}F (resp., {v4,v3}F) be a dynamic failure in G[V{s,t}] if v0 and v9 both have the clockwise (resp., counter-clockwise) of link-circular forwarding functions. In this case, even if s,t are connected in G[V{s,t}], a packet originated at s will enter a forwarding loop: (v0,v1,v2,v1,v4,v3,v2,v1) (resp., (v0,v1,v4,v1,v2,v3,v4,v1)), where the dynamic failure {v2,v3} (resp., {v4,v3}) is down only for the first hitting but always up since then, but never traverses the link {v3,v5} to arrive at t. When v1 and v3 have the different type, by fixing {s,u0}F, even if there is no dynamic failure in G[V{s,t}], a forwarding loop: (s,v0,v1,v2,v3,v4,v1,v0,s) occurs if v1 and v3 take forwarding functions of clockwise and counter-clockwise orderings respectively, otherwise another forwarding loop: (s,v0,v1,v4,v3,v2,v1,v0,s) exists. Moreover, a similar discussion can be applied when πs()=u0 for Fs=.

Thus, no 2-resilient source-matched forwarding scheme against dynamic failures for (s,t) exists in Fig. 3.

Theorem 4. [Restated, see original statement.]

There exists graphs for which any resilient source-matched routing that can tolerate 2k dynamic failures needs rewriting of at least k bits in packet headers for k.

Proof of Theorem 4.

We prove Theorem 4 by induction on k. Theorem 3 implies that there is a graph G=(V,E) as shown in Fig. 3, where any 2-resilient source-matched routing for (vs,vt) needs rewriting at least one bit, proving the initial case of k=1. We assume that there is a general graph H=(U,EU), where a 2k-resilient source-matched routing against dynamic failures for a source-destination pair (us,ut) (resp., (ut,us)) with us,utU needs rewriting at least k2 bits.

Now, as illustrated in Fig. 5, we can construct another graph G=(V,E) by replacing each edge {vi,vj}E in G with a graph Gi,j=Hi,j{{vi,usi,j},{uti,j,vj}}, where Hi,j=(Ui,j,EUi,j) is isomorphic to H, i.e., Ui,j={ui,j:uU} and EUi,j={{ui,j,uoi,j}:{u,uo}EU}, and nodes usi,j,uti,jUi,j. We note that we use vs and s (resp., vt and t) interchangeably in this proof.

Next, we claim that any (2k+2)-resilient source-matched routing for (vs,vt) in G needs rewriting at least k+1 bits. Let F=Fi,jF be any 2k+2 dynamic failures in E, where Fi,jEUi,j for {vi,vj}E has |Fi,j|=2k and F{{{vi,usi,j},{uti,j,vj}}:{vi,vj}E} has |F|=2.

In the graph G as shown in Fig. 3, we always assume πs()=v0 for Fs=. Let F={e1,e2} denote two dynamic failures in G. For example, when e1={v5,t} and e2={v1,v4}, the packet starting at s meets the first failure (v5,t), and it has to go through (v2,v1) back to v1 since {v1,v4} failed. Clearly, one bit in the packet header must be rewritten to inform v1 whether the packet has already visited v3, s.t., v1 can decide forwarding it to s or v4 provided that {v1,v4} is recovered. Similarly, for F in G, we set {ut5,t,vt},{ut1,4,v4}F and Fi,j=F1,2, we still need one bit at v1 to indicate whether the packet has already visited v3. Still, to go through H1,2 to arrive at v1, we need rewriting of additional k bits under failures Fi,j. Thus, we need rewriting k+1 bits for 2k+2 dynamic failures in G. For other failure cases in G, we can similarly map them to scenarios in G.

Figure 5: An illustration of constructing the graph G in the proof of Theorem 4, where we replace each edge {vi,vj} in the graph G as shown in Fig. 3 with another graph Gi,j=Hi,j{{vi,usi,j},{uti,j,vj}}.

Appendix B Deferred Proofs of Theorems and Lemmas in Section 4

We restate the theorems and lemmas before the proofs for ease of readability. See 17

Proof.

We assume that there is a face fi and an ear Pj such that |E(fi)E(Pj)|2, s.t., there are two distinct arcs (a,b),(c,d)fi that satisfies {a,b},{c,d}E(fi)E(Pj), (a,b)Pj and (c,d)Pj, and then we prove the theorem by a contradiction.

For a plane graph G, removing any edge preserves planarity [33, 12]. Let Gi:=iP,iκ, denote the plane subgraph after inserting the ear Pi. By the definition of ear-decomposition, only the endpoints of Pi+1 lie in Gi, so adding Pi+1 is equivalent to inserting an edge into Gi (this edge can be a self-loop on the endpoint of Pi+1 if Pi+1 is a closed ear). Moreover, after inserting Pi+1, the graph Gi+1 is 2-edge-connected, and by Lemma 6, at least one new face is created in Gi+1 compared to Gi.

Since both GiGi+1 and Gi+1 are plane, adding Pi+1 (treated as an edge) can only split a face of Gi (including outer face) into two faces in Gi+1, otherwise, Gi+1 would not be plane. It implies that the region of any face of Gi+1 must be only contained in a face of Gi.

Consider Gj:=jP with an edge Pj𝒫 that satisfies |E(fi)E(Pj)|2. Hence, Pj must divide some face of Gj1 into two faces fij,fjj(Gj), sharing Pj as common boundary. Right-routing along fij and fjj induces the directed paths Pj and Pj, respectively. As further ears are added, faces fij and fjj may be further subdivided.

Now suppose there exist arcs (a,b),(c,d)fi with {a,b},{c,d}E(fi)E(Pj), where (a,b)Pj, (c,d)Pj and fi(G). Then the region of fi (unbounded if fi=f) would intersect both regions of fij and fjj in Gj, contradicting the planarity of G.

Hence, fi must be consistent with either Pj or Pj. Specifically, if E(fj,Pj), then either |E(fj,Pj)|=|E(fi)E(Pj)| or |E(fj,Pj)|=|E(fi)E(Pj)|, where E(fj,Pj):=E(fi)E(Pj), E(fi)E(Pj) (resp., E(fi)E(Pj)) implies the common arcs of fi and Pj (resp., Pj).