320 likes | 401 Views
Explore the robustness and performance of soft-state protocols in network communication. Understand the differences between hard-state and soft-state signaling approaches and the implications for network performance under varying conditions, such as DoS attacks, lossy channels, and broadcast environments. Delve into the cost analysis of maintaining state consistency and recovery processes in soft-state protocols. Discover the optimal parameters for minimizing total cost and maximizing performance in signaling protocols.
E N D
On the Robustness of Soft-State Protocols John Lui, CUHK Vishal Misra, Columbia U. Dan Rubenstein, Columbia U.
State • To operate correctly, network protocols require that communicating nodes share state, e.g., • Connection is “active” • The largest sequence # received was … • Q: In networks with a lossy/unpredictable control channel, how is state information kept consistent across nodes?
Keeping State Consistent • Two very different approaches / philosophies / mantras to how the signaling is performed: • Hard-state: The “Telephony Philosophy”? • Soft-state: The “Internet Philosophy” [Clark’89] • The difference: • Easy to describe philosophically • Hard to define precisely
Soft-state signaling Sender Receiver Signaling plane Communication plane • Best effort signaling • Refresh timer: state needs periodic refresh • State only removed by time-out • Failure to communicate go to safe (default) state
Soft-state signaling Sender Receiver Signaling plane Communication plane • Best effort signaling • Refresh timer: state needs periodic refresh • State only removed by time-out • Failure to communicate go to safe (default) state
Install removal ack error Hard-state signaling Sender Receiver X Signaling plane Communication plane • State is explicitly added and removed • Assumes very reliable communication channel • Failure to communicate special recovery procedure
So Why is Soft State Design “Better”? Some common responses: • It’s more robust • To what? Packet loss? High delays? • It’s better at handling really bizarre network conditions • Like what? Really high loss rates? Really high delays? • Recovery is part of soft state’s normal operating process (no separate recovery operations needed) • So what?
Prior work examining Soft State • [Raman,McCanne ’99] • Queueing model of SS signaling system • Showed SS/HS hybrid improves protocol performance • [Ji et al ’03] • Performance comparison between SS, HS, and SS/HS hybrids • Conclusion: Hard State beats Soft State, but hybrid SS/HS protocols are best So Why is Soft State Design “Better”?
1 1 1 1 1 2 2 2 2 2 8 8 8 8 8 7 7 7 7 7 3 3 3 3 3 1 1 1 1 1 6 6 6 6 6 4 4 4 4 4 5 5 5 5 5 What’s Wrong with Traditional Performance Evaluations • Tradition: “Given some network conditions, design the best protocol.” Input: Conditions Protocol Parameters
1 1 1 1 1 2 2 2 2 2 8 8 8 8 8 7 7 7 7 7 3 3 3 3 3 1 1 1 1 1 6 6 6 6 6 4 4 4 4 4 5 5 5 5 5 What’s Wrong with Traditional Performance Evaluations • Tradition: “Given some network conditions, design the best protocol.” Input: Conditions Output: Best Solution Protocol Parameters
The “Traditional” Conclusion • For any network condition, hard state protocols can be configured for that condition to out-perform their soft state counterparts
1 1 1 1 1 2 2 2 2 2 8 8 8 8 8 7 7 7 7 7 3 3 3 3 3 1 1 1 1 1 6 6 6 6 6 4 4 4 4 4 5 5 5 5 5 A more “practical” performance evaluation • Don’t really know what the conditions will be when configuring the protocol Input: Conditions Output: (Best?) Solution Protocol Parameters Is Hard State best in this setting?
Suppose protocols are “tuned” to operate most efficiently under “normal” conditions Claim: HS performance worsens more rapidly than SS as conditions vary from norm Performance-Oriented View of Protocol Designer Intuition Hard State Protocol bad Normal Operating Regime Soft State Protocol Performance good Network Condition
Our Comparison Study • We choose 3 network scenarios • DoS Attack • Correlated, Lossy Feedback Channel • Broadcast Communication Environment • For each scenario: • Pick a HS and SS protocol used in the scenario • Choose protocol parameters (timeout lengths, # attempts) to work well for “expected network conditions” • Vary the network conditions • Watch how the protocol performs (w/o rechoosing protocol parameters!!)
A Generic Signaling Protocol Model • L = Lifetime that a “state” should exist • R = Refresh interval • T = Timeout interval (e.g., 3R for SS many protocols) • p = Channel loss probability • K1 , K2 , etc. = Various Costs (described later)
Cost= 3K1 Cost = 2K1 Cost= K1 Total Cost ~ L/RK1 Refresh Cost Sender Receiver Signaling plane Communication plane Cost to keep state consistent
p (Re)Initialization Cost Sender Receiver Signaling plane Communication plane Cost to recover from accidental timeout # of drops ~ pL/R, Cost = K2 pL/R
p State Removal Signal Stale state cost Sender Receiver Signaling plane Communication plane Cost of enacting an actual timeout Stale state lifetime ~ R, Cost = K3 pR
K2 K1 >> K3 , R K2 K1 << K3 , R Total Cost C(R) = K2 p L/R+ K1 L/R + K3 p R E[C(R)] = K2 p E[L]/R+ K1 E[L]/R + K3 p R What is the optimal R to minimize total cost?
Optimal R implications • K2 ,K1 large Performance emphasis • Fewer refresh pings, bad to tear down state accidentally • K3 large Robustness emphasis • Bad to miss tearing down state • Higher R, “Harder” the protocol, Lower R, “Softer” the protocol
Cost Comparison Results match previous robustness intuition
Resource Blocking (DoS) Attacks • Good Traffic: uses and releases resource • Attacker: doesn’t release resource until timeout Hard state more susceptible to attacks
Correlated, Lossy Feedback Channel • Client connects to a server • If loss rate from server too high, client chooses to disconnect • Soft State: receiver stops sending refresh messages • Hard State: receiver tries to push a “disconnect” message through the lossy channel • Channel losses (in both directions) are equal
The Hard-State Dilemma STOP! STOP! STOP! Feedback loop: Inability to terminate induces greater losses, making it more difficult to terminate
Results of Markov Model Formulation As session expected lifetime (1/μ) decreases, HS zombie sessions grow large Soft State has many fewer zombie sessions
Robust Multicast Feedback • Scenario: sender broadcasts transmission as long as some receiver listening • Q: How does sender know if a receiver is listening?
I’m interested I’m interested I’m interested I’m no longer interested Hard State Approach • Each “interested” receiver explicitly notifies sender of join and leave R R S R
X X X X X Soft State Approach • Some receiver must ping sender about interest within time period T or broadcast stops • receiver pings randomly delayed and broadcast so other receivers can suppress their pings • propagation delays can induce multiple pings per interval R R S R T T T T
Optimized Versions • Prefix-matching methods [Bolot’93] can be used to reduce receiver communication costs • Hard-state: used to choose a leader • Soft-sate: used to reduce feedback rate
Heavy Arrival Rate Comparison = arrival rate of interested clients Soft State designs exhibit better scalability with large for both versions of polling protocols
Heavy Departure Rate Comparison μ = departure rate of interested clients Soft State designs exhibit better scalability with large μ for both versions of polling protocols
Conclusions • Hard state protocols can often outperform soft state protocols when network conditions are known • What makes soft state “better” design is its ability to provide “acceptable” performance over a larger variety of network conditions