![Page 1: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/1.jpg)
CSE 222A: Computer Communication NetworksAlex C. Snoeren
Lecture 13:Traffic Engineering
Thanks: Mike Freedman, Nick Feamster, and Ming Zhang
![Page 2: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/2.jpg)
Lecture 13 Overview
● Dealing with multiple paths
● Multihoming
● Entact discussion
● Intro to congestion control
2CSE 222A – Lecture 13: Traffic Engineering
![Page 3: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/3.jpg)
Multiple Paths● Establish multiple paths in advance
u Good use of bandwidth, withstand failures● Disseminate link-congestion information
u Flood thru network, piggyback on data, direct to controller
3CSE 222A – Lecture 13: Traffic Engineering
![Page 4: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/4.jpg)
Adjust Traffic Splitting● Source router adjusts the traffic
u Changing traffic fraction, e.g. based on congestion
u Often use hash-based splitting to prevent packet reordering within a flow
35%
65%
4CSE 222A – Lecture 13: Traffic Engineering
![Page 5: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/5.jpg)
Multi-Homing● Reliability
u Reduced fate sharingu Survive ISP failure
● Performanceu Multiple pathsu Select the best
● Financialu Leverage through competitionu Game 95th-percentile billing model
Provider 1 Provider 2
Stub: an Autonomous System that does not provide transit
5CSE 222A – Lecture 13: Traffic Engineering
![Page 6: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/6.jpg)
Outbound Traffic: Pick a BGP Route● Easier to control than inbound traffic
u IP routing is destination basedu Sender determines where the packets go
● Control only by selecting the next hopu Border router can pick the next-hop ASu Cannot control selection of the entire path
Provider 1 Provider 2
�(2, 7, 8, 4)��(1, 3, 4)�
6CSE 222A – Lecture 13: Traffic Engineering
![Page 7: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/7.jpg)
Inbound Traffic: Influencing Others● Harder to control than outbound traffic
u Sender determines where the packets go● Control only by influencing others’ decisions
u Static configuration of the providersu BGP route attributes sent by the stubu Selective advertising of destination prefixes
Provider 1 Provider 2
7CSE 222A – Lecture 13: Traffic Engineering
![Page 8: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/8.jpg)
Inbound Traffic: Multiple Addresses● Multiple external addresses for a service
u One IP address for each entry point● Use DNS to adjust mapping of name to address
u Give different answers to different clientsu Adjust over time to performance, cost, traffic, etc.
Provider 1 Provider 2
5.6.7.0/2412.34.1.0/24
5.6.7.812.34.1.28CSE 222A – Lecture 13: Traffic Engineering
![Page 9: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/9.jpg)
Online Service Providers
9CSE 222A – Lecture 13: Traffic Engineering
![Page 10: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/10.jpg)
Route Injection
10CSE 222A – Lecture 13: Traffic Engineering
![Page 11: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/11.jpg)
Entact
11CSE 222A – Lecture 13: Traffic Engineering
![Page 12: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/12.jpg)
Entact Benefits
12CSE 222A – Lecture 13: Traffic Engineering
![Page 13: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/13.jpg)
Congestion Control Overview● Challenge: how do we efficiently share network
resources among billions of hosts?u Today: TCP
Hosts adjust rate based on packet lossesu Alternative solutions
Fair queuing, RED (router support) Vegas, packet pair (add functionality to TCP)Rate control, credits
13CSE 222A – Lecture 13: Traffic Engineering
![Page 14: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/14.jpg)
Queuing Disciplines● How to distribute buffers among users/flows
u When buffer overflows, which packet to drop?
● Simple solution: FIFOu First in, first outu If packet comes along with no available buffer space, drop it
14CSE 222A – Lecture 13: Traffic Engineering
![Page 15: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/15.jpg)
Fair Queuing● Goals:
u Allocate resources equally among all users/flowsu Low delay for interactive usersu Protection against misbehaving users
● Approach: simulate general processor sharing (from OS world)u Bitwise round robinu Need to compute number of competing flows at each instant
15CSE 222A – Lecture 13: Traffic Engineering
![Page 16: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/16.jpg)
TCP Congestion Problems● Original TCP sent full window of data
● When links become loaded, queues fill up, leading to:u Congestion collapse: when round-trip time exceeds retransmit
interval this can create a stable condition in which every packet is being retransmitted many times
u Synchronized behavior: network oscillates between loaded and unloaded
» Feedback loop
16CSE 222A – Lecture 13: Traffic Engineering
![Page 17: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/17.jpg)
Jacobson’s Solution● Transport protocols should obey conservation of
packetsu Use ACKs to clock injection of new packets
● Modify retransmission timer to adapt to variations in delay
● Infer network bandwidth from packet lossu Drops è congestion è reduce rateu No drops è no congestion è increase rate
● Limit send rate based on minimum of congestion window and advertised window
17CSE 222A – Lecture 13: Traffic Engineering
![Page 18: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/18.jpg)
Tracking Bottleneck Bandwidth● Throughput = window size/RTT
● Multiplicative decreaseu Timeout è dropped packet è cut window size in half
● Additive increaseu ACK arrives è no drop è increase window size by one
packet/window
18CSE 222A – Lecture 13: Traffic Engineering
![Page 19: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/19.jpg)
TCP “Sawtooth”● Oscillates around bottleneck bandwidth
u Adjusts to changes in competing traffic
0
2
4
6
8
10
12
14
16
18
0 3 6 9 12 15 18 21 24 27
window (in segs)
round-trip times
Additive Increase/Multiplicative Decrease
19CSE 222A – Lecture 13: Traffic Engineering
![Page 20: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/20.jpg)
Slow Start● How do we find bottleneck bandwidth?● Cannot use ACKs to clock without reaching
equilibriumu Start by sending a single packet
Start slow to avoid overwhelming networku Multiplicative increase until get packet loss
Quickly find bottleneckCut rate by half
u Shift into linear increase/multiplicative decrease
20CSE 222A – Lecture 13: Traffic Engineering
![Page 21: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/21.jpg)
Slow Start● Quickly find the bottleneck bandwidth
0
50
100
150
200
250
300
0 1 2 3 4 5 6 7 8
window (in segs)
round-trip times
Slow Start
21CSE 222A – Lecture 13: Traffic Engineering
![Page 22: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/22.jpg)
Slow Start Problems● Slow start usually overshoots bottleneck
u Leading to many lost packets in windowu Can lose up to half of window size
● Bursty traffic sourceu Will cause bursty losses for other flows
● Short flowsu Can spend entire time in slow start
Especially for large bottleneck bandwidth● Consider repeated connections to the same server
u E.g., for web connections
22CSE 222A – Lecture 13: Traffic Engineering
![Page 23: Lecture 13: Traffic Engineeringcseweb.ucsd.edu/classes/wi18/cse222A-a/lectures/222A-wi... · 2018-02-21 · Intro to congestion control ... Easier to control than inbound traffic](https://reader030.vdocuments.us/reader030/viewer/2022040601/5e8ec89fa423095a9031d8a5/html5/thumbnails/23.jpg)
For Next Class…
● Read XCP paper
● Project checkpoint due TONIGHTu Email 1-2 page summary to me
2323CSE 222A – Lecture 13: Traffic Engineering