23
CSE 222A: Computer Communication Networks Alex C. Snoeren Lecture 13: Traffic Engineering Thanks: Mike Freedman, Nick Feamster, and Ming Zhang

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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

For Next Class…

● Read XCP paper

● Project checkpoint due TONIGHTu Email 1-2 page summary to me

2323CSE 222A – Lecture 13: Traffic Engineering