Effekterna av bufferbloat och latency på internet

Post on 01-Nov-2014

1.184 views 1 download

Tags:

description

Stefan Holmer, Google Var uppkommer latency på internet och vilka effekter leder det till? Hur kan framtidens internet lösa problemet? Vad kan man som applikationsutvecklare göra för att förbättra situationen?

Transcript of Effekterna av bufferbloat och latency på internet

Are you feeling buffer bloated?Stefan Holmer

Google Confidential and Proprietary

App performs poorly for some users

● Simple tasks are taking seconds to perform:○ Downloading a web page○ Sending a message○ DNS queries are timing out

● Interactivity is completely broken:○ Calling doesn't work due to talking over

each other○ Gaming gets frustrating

Google Confidential and Proprietary

Turns out...

● ...someone is streaming a movie or downloading a big file.

● ...not necessarily in your home.

● ...it's not necessarily lack of bandwidth.

Google Confidential and Proprietary

Taking a Step Back - TCP

Loss based○ Wants to keep increasing the bitrate (cwnd) until a packet is lost.○ Typically happens when a packet buffer is full.

(from Ilya Grigorik's High Performance Browser Networking)

Google Confidential and Proprietary

TCP - Roughly Fair

Google Confidential and Proprietary

Effects of a Long TCP Transfer

(Jim Gettys' measurements)

Google Confidential and Proprietary

Effects of a Long TCP Transfer

(Jim Gettys' measurements)

Google Confidential and Proprietary

Bufferbloat

● In the early days, buffers were reasonably sized.● TCP got feedback early when the link was over-used.● Packet loss = bad connection...

Queue length

Google Confidential and Proprietary

Bufferbloat

● Memory cheaper and cheaper.● Bigger buffers are added to avoid losing packets.● TCP needs those losses!

Google Confidential and Proprietary

Slow-start will really be slow

(from, Ilya Grigorik's blog, igvita.com)

Google Confidential and Proprietary

What can we do?

● In applications, mostly nothing.This is something others do to you!○ Avoid big TCP transfers when

interaction is needed.○ Limit background traffic.

● Must be solved:○ in the network.○ or in every endpoint.

● Notify people when possible.

Google Confidential and Proprietary

Check your home connection

● Try Netalyzr.

● Measures the quality of your connection in terms of:○ Blocked ports○ Throughput○ Queue sizes/bufferbloat

Google Confidential and Proprietary

What is being done?

● Improving the networks.○ Lots of research on new Active Queue Management techniques

■ CoDel, PIE○ Drop packets earlier when possible to keep the bloat low.○ Being built into home routers and Linux.

● Improving endpoints.○ Better delay-sensing congestion control.○ uTorrent - LEDBAT○ VoIP services, such as Hangouts - RMCAT