540 likes | 768 Views
Crash Course in XCP. TeXCP is TE with an XCP-Like Protocol . Problem Addressed by XCP:. TCP has trouble providing a few Gb/s per-flow throughput. . . . Gigabit Links. Need to increase faster. . . . Kb/s Link. How much faster?. Need to increase faster. . ? Need Explicit Feedback. . . . . Need to increase faster.
E N D
1. Talk about TeXCP, a protocol for protecting provider networks from failures and unexpected traffic spikes.Talk about TeXCP, a protocol for protecting provider networks from failures and unexpected traffic spikes.
2. Crash Course in XCP TeXCP stands for tarffic engineering with XCP like protocol.
is inspired by my work on XCP, which is now developed further by the network group at ISI.TeXCP stands for tarffic engineering with XCP like protocol.
is inspired by my work on XCP, which is now developed further by the network group at ISI.
3. Problem Addressed by XCP: XCP addresses the following problem:
XCP addresses the following problem:
7. XCP
8. How does XCP Work? + Each sender tells the router its current state using a congestion header. The sender tells the router its round trip delay, and its congestion window. For people who haven’t heard of the term congestion window before : it is the number of packets that you can send in an a round trip time. Thus it define your sending rate.
The last field is the feedback field. It is used by the routers to tell the sender how much it should increase or decrease its congestion window (which means its rate).
+ Router compute the feedback
+ a they can only decrease the feedback so eventually the feedback that reach the receiver is the one from the bottleneck along the path.
+ the receiver attach the feedback to ack.
+ once the feedback reaches the sender it change its congestion window accordingly.
+ Note no per-flow state in routers and high scalability.
+ Each sender tells the router its current state using a congestion header. The sender tells the router its round trip delay, and its congestion window. For people who haven’t heard of the term congestion window before : it is the number of packets that you can send in an a round trip time. Thus it define your sending rate.
The last field is the feedback field. It is used by the routers to tell the sender how much it should increase or decrease its congestion window (which means its rate).
+ Router compute the feedback
+ a they can only decrease the feedback so eventually the feedback that reach the receiver is the one from the bottleneck along the path.
+ the receiver attach the feedback to ack.
+ once the feedback reaches the sender it change its congestion window accordingly.
+ Note no per-flow state in routers and high scalability.
9. How does XCP Work?
10. How does XCP Work? (refer to distributed computation)(refer to distributed computation)
11. How Does an XCP Router Compute the Feedback?
12. How Does an XCP Router Compute the Feedback? How does the router compute the feedback that it returns in the packet?
It has a congestion controller and a fairness controller.
(Compute Number of sources)How does the router compute the feedback that it returns in the packet?
It has a congestion controller and a fairness controller.
(Compute Number of sources)
13. Getting the devil out of the details … How does the router compute the feedback that it returns in the packet?
It has a congestion controller and a fairness controller.
(Compute Number of sources)How does the router compute the feedback that it returns in the packet?
It has a congestion controller and a fairness controller.
(Compute Number of sources)
14. XCP Remains Efficient as Bandwidth or Delay Increases
15. TeXCP: Intra-Domain Traffic Engineering with XCP So, what’s next with XCP.
Want to emphasize that XCP is not only a congestion control protocol it is also a framework for resource management. So now we are using the XCP framework to do intra-domain traffic engineering. Using a protocol that we call TeXCP.So, what’s next with XCP.
Want to emphasize that XCP is not only a congestion control protocol it is also a framework for resource management. So now we are using the XCP framework to do intra-domain traffic engineering. Using a protocol that we call TeXCP.
16. What is the problem? You have an ISP network. There are traffic demands from each ingress to each egress. You have an ISP network. There are traffic demands from each ingress to each egress.
17. What is the problem? You have an ISP network. There are traffic demands from each ingress to each egress. You have an ISP network. There are traffic demands from each ingress to each egress.
18. Good performance means: Network is robust to unexpected events:
Link failures
Traffic Spikes
Support as much demands as possible given capacities
19. To minimize Max U ? Multi paths You have an ISP network. There are traffic demands from each ingress to each egress. You have an ISP network. There are traffic demands from each ingress to each egress.
20. How much traffic to put on each path? Repeatedly
Measure the utilization of all paths between L.A. and Boston
Move some traffic from the highly utilized path to the underutilized path
21. How to divide traffic between available paths to minimize max U? Simplistic solution: give all information to a centralized computer and solve it as a linear programming problem
But that wouldn’t be realtime and wouldn’t react to failures and attack traffic
22. Feedback Delays
23. Feedback Delays
24. Coordination Without Global Knowledge
25. Coordination Without Global Knowledge
26. Coordination Without Global Knowledge
27. Use experience from congestion control Congestion control & TE are close
CC: single path; want 100% utilization
TE: multi-paths; want balanced utilization
XCP tells us how fast each path can change its utilization so that system is stable despite delay
XCP tells us how to coordinate multiple senders who share the same path
28. TeXCP TeXCP agent knows the paths between IE, which are computed offline
Paths are pinned
29. TeXCP Agent TeXCP divides the IE traffic between available paths to Minimize the Max U?
A TeXCP agent 3 components
Probe path utilization
Load balancer
Per-path XCP controller
30. Periodically, send probes on each path to learn Max utilization along the path
31. Objective: Balance utilization across IE paths
How? move traffic from overutilized paths to under-utilized paths
Continuously estimate demands L(t)
Assume xp is fraction of traffic that should be sent on path p
Periodically, update xp
Where rp is the sending rate on path p and up is its utilization
32. Load Balancer tells us how much to change utilization, but
Can’t increase/decrease immediately because of delays
Need to coordinate the increase/decrease from all ingress nodes
Run a lightweight XCP on each path
Replace congestion header with probes along the slow path
Change the slow path in core routers to answer probes
33. TeXCP Performance
34. Simple Topology
35. TeXCP balances the load across available paths, and reacts to demands change in realtime
36. TeXCP is More Accurate than Previous Approaches
37. Real Traffic and Provider Topology
38. TeXCP Improves Robustness Against Link Failures
39. TeXCP Improves Robustness Against Link Failures
40. When multiple solutions results in the same Max U, TeXCP prefers solutions with shorter paths
41. TeXCP Prefers Shorter Paths
42. How about TCP? Multi-paths must NOT reorder TCP packets Desirable splitting changes over timeDesirable splitting changes over time
43. Simplistic Solution Assign TCP flows to each path proportionally to the desirable split
Flows are not all equal: Elephants & Mice
So, estimate the rate of each TCP
But rates change over with time
Too complex
44. Our Approach If pkt enters network after the previous pkt from the flow has left ? We can reassign the flow to a different path
Use UDP traffic to correct for errors
45. Our Approach Each TeXCP agent keeps a Hash Table
If (now-last_seen) > Max delay, we can change the assigned path
Assign a TCP flow to a new path with a probability equals to the fraction of traffic you want on this path
46. OC12 traffic
Split it between 2 paths, with desirable splitting changing with time as a sinusoidal wave
47. OC12 traffic
Split it between 2 paths, with desirable splitting changing with time as a sinusoidal wave
48. Very, Very Cheap. Edge routers maintain a hash table of 210 entries (10KB).
49. Conclusion
50. More Information at:http://nms.lcs.mit.edu/~dina/texcp.html
51. TeXCP Reacts in Real-Time to Traffic Spikes
52. Comparison with MATE Mate
Minimize delay
Conservative increase
53. Comparison with MATE