+ All Categories
Home > Documents > Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht...

Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht...

Date post: 27-Mar-2018
Category:
Upload: nguyenkien
View: 217 times
Download: 2 times
Share this document with a friend
20
Experiments with ECN Stuart Cheshire & Dave Täht TSVAREA WG, 89 th IETF, London, England, March 2014
Transcript
Page 1: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECNStuart Cheshire & Dave Täht

TSVAREA WG, 89th IETF, London, England, March 2014

Page 2: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Disclaimer• Opinions of a relative newcomer to ECN (Stuart)

• Generously assisted by Dave Täht

!2

Page 3: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Apparent State of ECN• Implemented in Mac OS X, Windows, Linux, etc.

• Turned off — present but not actually used

• Turning on has no effect • Routers on Internet not doing ECN marking

• Reducing lost packets is nice • But who cares? • Loss rates are modest and TCP handles it fine

!3

Page 4: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

TCP for Streaming Video• TCP handles packet loss extremely well

• But… causes irregular data delivery to client

• No problem for file transfer (e.g. sending an email)

• Big problem for streaming video over TCP • Netflix • YouTube • etc.

!4

Page 5: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Test Setup• Linux web server

• 3.8.0-19-generic #30-Ubuntu (TCP CUBIC)

• CeroWRT gateway • 3.10.18-1

• Mac OS X client using “curl” • 10.8.5

!5

Page 6: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Test: 10Mb/s downstream

!6

256kB FIFO queue vs.

FQ_CODEL with ECN

(< 1 ms intrinsic delay, plus queueing delay)

(Results for FQ_CODEL non-ECN, PIE, etc., also available)

Page 7: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

tcptrace• White lines are packets

• Green line is ack line

• Yellow line is window ceiling

• Red lines are retransmissions

• Purple lines are SACK indications

!7

Page 8: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 !8

Page 9: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 !9

Page 10: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 !10

Page 11: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 !11

Page 12: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 !12

Page 13: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Conclusions• CODEL (or similar AQM) helps

• ECN helps

• AQM+ECN really helps a lot

!13

Page 14: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Why don’t we have ECN?• Clients

• Routers aren’t doing marking (so, no reward) • Some routers might drop the packets (so, risk) • All risk; no reward

• Routers • What clients are requesting ECN? (none) • Enabling ECN might expose code bugs (risk) • All risk; no reward

!14

Page 15: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Where can we turn on ECN?• Staged Deployment

1. Data Centre 2. Residential Cable/DSL ISP network 3. Entire Internet

• Not advocating for more walled gardens, but… • ISP’s want ECN for their own video services • CMTS and DSLAM start to support ECN marking • ECN-capable equipment becomes widely available • ECN deployment in public Internet becomes attractive

!15

Page 16: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Enable ECN on Mac OS X

!16

sudo sysctl -w net.inet.tcp.ecn_initiate_out=1sudo sysctl -w net.inet.tcp.ecn_negotiate_in=1

!

To make the settings persistent, put following lines in /etc/sysctl.conf:

net.inet.tcp.ecn_initiate_out=1 net.inet.tcp.ecn_negotiate_in=1

Page 17: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Enable ECN on Windows

!17

netsh interface tcp set global ecncapability=enabled

Page 18: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Enable ECN on Linux

!18

sudo sysctl -w net.ipv4.tcp_ecn=1!

Like Mac OS X, to make setting persistent, add line in /etc/sysctl.conf

http://en.wikipedia.org/wiki/Explicit_Congestion_Notification

Page 19: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

ECN Queueing on Linux

!19

To enable an ECN-enabled AQM in Linux:tc add dev your_device root fq_codel ecn

(Linux 3.13 makes swapping the default qdisc a sysctl also)

Page 20: Experiments with ECN - Internet Engineering Task Force with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014 Enable ECN on Mac OS X!16 sudo sysctl

Experiments with ECN, Stuart Cheshire & Dave Täht TSVAREA, 89th IETF, London, England, March 2014

Fix the Bufferbloat please! (It’s not just for Skype any more)

!20


Recommended