SlideShare a Scribd company logo
TCP and BBR
Geoff Huston
APNIC
Networking is all about moving
Data
• The way in which data movement is controlled is a key characteristic of
the network architecture
• The Internet Protocol architecture passed all controls to the end
systems, and treated the network as a passive switching environment
– But that was many years ago, and since then we have seen the deployment of
active middleware in networks and control traffic flows
• All this is changing again as we see a what could well be a new
generation of flow control algorithms being adopted in the Internet
• Lets look at one of the more interesting initiatives: Bottleneck
Bandwidth and Round-Trip Time (BBR)
2
Let’s talk about speed
• How fast can we push a single session to move data
through the network?
• Session speed is the result of a combination of:
• available transmission speeds,
• transmission bit error rate,
• end-to-end latency,
• host buffer size and
• protocol efficiency
– All of these factors are critical
3
The Evolution of Speed
1980’s
– TCP rates of Kilobits per second
1990’s
– TCP rates of Megabits per second
2000’s
– TCP rates of Gigabits per second
2010’s
– TCP rates of Gigabits per second
4
80’s 90’s 00’s 10’s
K
M
G
Today
• Optical transmission speeds are approaching Terrabit
capacity
• But peak TCP session speeds are not keeping up
• What’s going on?
5
80’s 90’s 00’s 10’s
K
M
G
T
optical
transport
TCP speed
TCP
• The Transmission Control Protocol is an end-to-end
protocol that creates a reliable stream protocol from the
underlying IP datagram device
• TCP operates as an adaptive rate control protocol that
attempts to operate fairly and efficiently
TCP Design Objectives
To maintain an average flow which is Efficient and Fair
• Efficient:
– Minimise packet loss
– Minimise packet re-ordering
– Do not leave unused path bandwidth on the table!
• Fair:
– Do not crowd out other TCP sessions
– Over time, take an average 1/N of the path capacity when there are N
other TCP sessions sharing the same path
It’s a Flow Control process
• Think of this as a multi-
flow fluid dynamics
problem
• Each flow has to gently
exert pressure on the
other flows to signal
them to provide a fair
share of the network,
and be responsive to
the pressure from all
other flows
TCP Control
TCP is an ACK Pacing protocol
Data sending rate is matched to the
ACK arrival rate
TCP Control
ACK pacing protocols relate to a past network state, not
necessarily the current network state
– The ACK signal shows the rate of data that left the network at the
receiver that occurred at ½ RTT back in time
– So if there is data loss in the forward path, the ACK signal of that loss
is already at least ½ RTT old!
• So TCP should react quickly to ‘bad’ news
– If there is no data loss, that is also old news
• So TCP should react conservatively to ‘good’ news
“Classic TCP” – TCP Reno
• Additive Increase Multiplicative Decrease (AIMD)
– While there is no packet loss, increase the sending rate by one
segment (MSS) each RTT interval
– If there is packet loss decrease the sending rate by 50% over the
next RTT Interval
• Start Up
– Each RTT interval, double the sending rate
– We call this “slow start” – probably because its anything but slow!!!
Idealised TCP Reno
Time
Slow Start
Rate Doubles
each RTT
Interval
Congestion Avoidance
Rate increases by 1 MSS per RTT
Rate halves on Packet Loss
Notification of Packet Loss
via Duplicate ACKs causes
RENO to halve its sending
rate
TCP RENO and Idealized Queue
Behaviour
Total Queue Capacity
(Onset of Packet Loss)
Link Capacity Capacity
(Onset of Queuing)
Network Buffers Fill
Network Buffers Drain
Reno is too slow
• TCP Reno tries to oscillate between sending rates R and 2R that
span the actual link capacity
• It increases its sending rate slowly so it’s really lousy when trying
to run at very high speed over long delay networks
• It over-corrects on loss and leaves available path capacity idle
– 10Gbps rates over 100ms RTT demands a packet loss rate of less than
0.000003%
– An average 1% loss rate over a 100ms RTT can’t operate faster than
3Mbps
Faster than Reno?
• Can we make TCP faster and more efficient by changing
the way in which the sending rate is inflated?
• Of course!
Refinements to RENO
• There have been many efforts to alter RENO’s flow control
algorithm
• In a loss-based AIMD control system the essential parameters
are the manner of rate increase and the manner of loss-based
decrease
– For example:
MulTCP behaves as it it were N simultaneous TCP sessions: i.e. increase by N segments
each RTT and rate drop by 1/N upon packet loss
• What about varying the manner of rate increase away from AI?
Enter CUBIC
• CUBIC is designed to be useful for high speed sessions while still
being ‘fair’ to other sessions and also efficient even at lower speeds
• Rather than probe in a linear manner for the sending rate that triggers
packet loss, CUBIC uses a non-linear (cubic) search algorithm
CUBIC and Queue formation
Total Queue Capacity
(Onset of Packet Loss)
Link Capacity Capacity
(Onset of Queuing)
Network Buffers Fill
Network Buffers Drain
CUBIC assessment
• Can react quickly to available capacity in the network
• Tends to sit for extended periods in the phase of queue
formation
• Can react efficiently to long fat pipes and rapidly scale up
the sending rate
• Operates in a manner that tends to exacerbate ‘buffer bloat’
conditions
Can we do even better?
• Lets look at the model of the network once more, and observe that there
are three ‘states’ of flow management in this network:
– Under-Utilised – where the flow rate is below the link capacity and no queues form
– Over-Utilised – where the flow rate is greater that the link capacity and queues form
– Saturated – where the queue is filled and packet loss occurs
• Loss-based control systems probe upward to the Saturated point, and back
off quickly to what they guess is the Under-Utilised state in order to the let
the queues drain
• But the optimal operational point for any flow is at the point of state change
from Under to Over-utilised, not at the Saturated point
RTT and Delivery Rate with Queuing
Under-Utilised Over-Utilised Saturated
How to detect the onset of
queuing?
• By carefully measuring the Round Trip Time!
BBR Design Principles
• Probe the path capacity only intermittently
• Probe the path capacity by increasing the sending rate for a short
interval and then drop the rate to drain the queue:
– If the RTT of the probe equals the RTT of the previous state then there is
available path bandwidth that could be utilised
– If the RTT of the probe rises then the path is likely to be at the onset of
queuing and no further path bandwidth is available
• Do not alter the path bandwidth estimate in response to packet loss
• Pace the sending packets to avoid the need for network buffer rate
adaptation
Idealised BBR profile
sending rate
network queues
BBR Politeness?
• BBR will probably not constantly pull back when
simultaneous loss-based protocols exert pressure on the
path’s queues
• BBR tries to make minimal demands on the queue size,
and does not rely on a large dynamic range of queue
occupancy during a flow
From Theory to Practice
• Lets use BBR in the wild
• I’m using iperf3 on Linux platforms (Linode)
– The platforms are dedicated to these tests
• It’s the Internet
– The networks paths vary between tests
– The cross traffic is highly variable
– No measurement is repeatable to a fine level of detail
Cubic vs BBR over a 12ms RTT 10G
circuit
Wow!
• That was BRUTAL!
• As soon as BBR started up it collided with CUBIC, and BBR
startup placed pressure on CUBIC such that CUBIC’s
congestion window was reduced close to zero
• At this stage CUBIC’s efforts to restart its congestion
window appear to collide with BBR’s congestion control
model, so CUBIC remains suppressed
– The inference is that BBR appears to be operating in steady state
with an ability to crowd out CUBIC
BBR vs Cubic – second attempt
Same two endpoints, same
network path across the public
Internet
Using a long delay path AU to
Germany via the US
BBR vs Cubic
BBR(1)starts
Cubicstarts
BBR(2)starts
Cubicends
BBR(2)ends
The Internet is capable of
offering a 400Mbps capacity
path on demand!
In this case BBR is apparently
operating with filled queues,
and this crowds out CUBIC
BBR does not compete well
with itself, and the two sessions
oscillate in getting the majority
share of available path capacity
BBR and Loss
Recovery
31
Packet loss causes
retransmission that
appears to occur in
addition to the stable link
capacity model used by
BBR.
Once loss is reduced, BBR
maintains a more
consistent sending model
Parallel
BBR
Streams
32
We used 50 parallel BBR
streams between the
same two endpoints
(200ms RTT)
In this larger setup the
majority of sessions
managed to equilibrate
between each other and
evenly share the path
bandwidth
So what can we say about BBR?
It’s “interesting” in so many ways:
– It’s a move away from the more common loss-based flow control
protocols
– It looks like it will operate very efficiently in a high-speed small-buffer
world
• High speed small buffer switching chips are far cheaper, but loss-based TCP
reacts really badly to small buffers by capping its flow rate
– It will operate efficiently over ECMP paths, as it is relatively impervious to
packet re-ordering
– It also looks as if it will operate efficiently in rate policed environments
– Unlike AIMD systems, it will scale from Kbps to Gbps over long delay
paths very efficiently
– It resists the conventional network-based traffic control mechanisms
Why use BBR?
• Because it achieves
• Its incredibly efficient
• It makes minimal demands on network buffer capacity
• It’s fast!
Why not use BBR?
• Because it over achieves!
• The classic question for many Internet technologies is scaling
– “what if everyone does it?”
– BBR is not a scalable approach in competition with loss-based flows
– It works so well while it is used by just a few users, some of the time
– But when it is active, BBR has the ability to slaughter concurrent
loss-based flows
– Which sends all the wrong signals to the TCP ecosystem
• The loss-based flows convert to BBR to compete on equal terms
• The network is then a BBR vs BBR environment, which is unstable
Is this BBR experiment a failure?
Is it just too ‘greedy’ and too ‘insensitive’ to other flows to be
allowed out on the Internet to play?
– Many networks have been provisioned as a response to the
aggregate behaviours of loss-based TCP congestion control
– BBR changes all those assumptions, and could potentially push
many networks into sustained instability
– We cannot use the conventional network control mechanisms to
regulate BBR flows
• Selective packet drop just won’t create back pressure on the flow
Is BBR an outstanding success?
• We can’t achieve speed if we need also large high speed buffers
in network routers
– Loss-based flow-control systems have a sloppy control loop that is
always ½ RTT late
– Small buffers in the switches exacerbate this problem
• We can use small buffers in switches if we use flow control
systems that are sensitive to the onset of queue formation (rather
than being sensitive to packet loss resulting from a full queue)
• BBR points to an approach that does not require large buffer
pools in switches
37
Where now?
BBR 2.0
– Alter BBR’s ‘sensitivity’ to loss rates, so that it does not persist with an
internal bandwidth delay product (BDP) that exceeds the uncongested BDP
This measure would moderate BBR 1.0’s ability to operate for extended periods with
very high loss levels
– Improve the dynamic sharing fairness by moderating the Bandwidth Delay
Product by using an estimated ‘fair’ proportion of the path BDP
– Accommodate the signal distortion caused by ACK stretching middleware
– Place an upper bound on the volume of in-flight data
– Alter the +/- 25% probe factors dynamically (i.e. allow this to be less than
25% overload)
The new Network Architecture
• We are seeing a shift in end systems to assert edge-centric
control and hide from network-level active middleware in
the Internet
• QUIC and BBR are instances of a recent push back from
the network-level QoS bandwidth control mechanisms, and
result in greater levels of autonomous control being passed
back to the end hosts
• For better or worse!
39
What is all this telling us?
• The Internet still contains a large set of important unsolved
problems
• Moving large data sets over high speed networks requires a
different approach to what we are doing today
• BBR seems to be a step in an interesting direction,
particularly for very high speed networking
• But it still calls for more research and more testing at scale
40
That’s it!
Questions?

More Related Content

What's hot

5G Network Architecture Options
5G Network Architecture Options5G Network Architecture Options
5G Network Architecture Options
3G4G
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of Things
University of Pretoria
 
5G- System Network Architecture
5G- System Network Architecture5G- System Network Architecture
5G- System Network Architecture
Taiz Telecom
 
Intermediate: Bandwidth Parts (BWP)
Intermediate: Bandwidth Parts (BWP)Intermediate: Bandwidth Parts (BWP)
Intermediate: Bandwidth Parts (BWP)
3G4G
 
SOMEIP-protocol.pptx
SOMEIP-protocol.pptxSOMEIP-protocol.pptx
SOMEIP-protocol.pptx
PushkarBaheti1
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
Daniel Stenberg
 
Network Attack Counter
Network Attack CounterNetwork Attack Counter
Network Attack Counter
KHNOG
 
Designing the 5G Unified Air Interface
Designing the 5G Unified Air InterfaceDesigning the 5G Unified Air Interface
Designing the 5G Unified Air Interface
Qualcomm Research
 
Proxy Server
Proxy ServerProxy Server
Proxy Server
Netwax Lab
 
BGP on RouterOS7 -Part 1
BGP on RouterOS7 -Part 1BGP on RouterOS7 -Part 1
BGP on RouterOS7 -Part 1
GLC Networks
 
5GC Registration Failure Codes
5GC Registration Failure Codes5GC Registration Failure Codes
5GC Registration Failure Codes
Koorosh Hoveyda
 
Attacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchangeAttacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchange
P1Security
 
MikroTik MTCNA
MikroTik MTCNAMikroTik MTCNA
MikroTik MTCNA
Ali Layth
 
Philippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elementsPhilippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elements
P1Security
 
Telecom security from ss7 to all ip all-open-v3-zeronights
Telecom security from ss7 to all ip all-open-v3-zeronightsTelecom security from ss7 to all ip all-open-v3-zeronights
Telecom security from ss7 to all ip all-open-v3-zeronights
P1Security
 
スイッチ・ルータのしくみ
スイッチ・ルータのしくみスイッチ・ルータのしくみ
スイッチ・ルータのしくみ
ogatay
 
Packet Sniffer
Packet Sniffer Packet Sniffer
Packet Sniffer
vilss
 
MikroTik Firewall : Securing your Router with Port Knocking
MikroTik Firewall : Securing your Router with Port KnockingMikroTik Firewall : Securing your Router with Port Knocking
MikroTik Firewall : Securing your Router with Port Knocking
Akbar Azwir, MM, PMP, PMI-SP, PSM I, CISSP
 
TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門
雅也 山本
 

What's hot (20)

5G Network Architecture Options
5G Network Architecture Options5G Network Architecture Options
5G Network Architecture Options
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of Things
 
5G- System Network Architecture
5G- System Network Architecture5G- System Network Architecture
5G- System Network Architecture
 
Intermediate: Bandwidth Parts (BWP)
Intermediate: Bandwidth Parts (BWP)Intermediate: Bandwidth Parts (BWP)
Intermediate: Bandwidth Parts (BWP)
 
SOMEIP-protocol.pptx
SOMEIP-protocol.pptxSOMEIP-protocol.pptx
SOMEIP-protocol.pptx
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
Network Attack Counter
Network Attack CounterNetwork Attack Counter
Network Attack Counter
 
Designing the 5G Unified Air Interface
Designing the 5G Unified Air InterfaceDesigning the 5G Unified Air Interface
Designing the 5G Unified Air Interface
 
Proxy Server
Proxy ServerProxy Server
Proxy Server
 
BGP on RouterOS7 -Part 1
BGP on RouterOS7 -Part 1BGP on RouterOS7 -Part 1
BGP on RouterOS7 -Part 1
 
5GC Registration Failure Codes
5GC Registration Failure Codes5GC Registration Failure Codes
5GC Registration Failure Codes
 
Attacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchangeAttacking GRX - GPRS Roaming eXchange
Attacking GRX - GPRS Roaming eXchange
 
Mikro tik advanced training
Mikro tik advanced trainingMikro tik advanced training
Mikro tik advanced training
 
MikroTik MTCNA
MikroTik MTCNAMikroTik MTCNA
MikroTik MTCNA
 
Philippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elementsPhilippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elements
 
Telecom security from ss7 to all ip all-open-v3-zeronights
Telecom security from ss7 to all ip all-open-v3-zeronightsTelecom security from ss7 to all ip all-open-v3-zeronights
Telecom security from ss7 to all ip all-open-v3-zeronights
 
スイッチ・ルータのしくみ
スイッチ・ルータのしくみスイッチ・ルータのしくみ
スイッチ・ルータのしくみ
 
Packet Sniffer
Packet Sniffer Packet Sniffer
Packet Sniffer
 
MikroTik Firewall : Securing your Router with Port Knocking
MikroTik Firewall : Securing your Router with Port KnockingMikroTik Firewall : Securing your Router with Port Knocking
MikroTik Firewall : Securing your Router with Port Knocking
 
TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門
 

Similar to AusNOG 2019: TCP and BBR

RIPE 76: TCP and BBR
RIPE 76: TCP and BBRRIPE 76: TCP and BBR
RIPE 76: TCP and BBR
APNIC
 
NZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBRNZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBR
APNIC
 
RIPE 80: Buffers and Protocols
RIPE 80: Buffers and ProtocolsRIPE 80: Buffers and Protocols
RIPE 80: Buffers and Protocols
APNIC
 
QoSintro.PPT
QoSintro.PPTQoSintro.PPT
QoSintro.PPT
payal445263
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
Seung-Bum Lee
 
lect10_interconnect.ppt
lect10_interconnect.pptlect10_interconnect.ppt
lect10_interconnect.ppt
p096309MuhammadIshaq
 
Quality of service
Quality of serviceQuality of service
Quality of service
Ismail Mukiibi
 
Congestion control
Congestion controlCongestion control
Congestion control
Nithin Raj
 
Routing Protocols
Routing ProtocolsRouting Protocols
Congestion control
Congestion controlCongestion control
Congestion control
Aman Jaiswal
 
integrated and diffrentiated services
 integrated and diffrentiated services integrated and diffrentiated services
integrated and diffrentiated services
Rishabh Gupta
 
Congestion control 1
Congestion control 1Congestion control 1
Congestion control 1
Aman Jaiswal
 
CN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdfCN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdf
MayankRaj687571
 
9_Network.ppt
9_Network.ppt9_Network.ppt
9_Network.ppt
SushmaShivani
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
Olivier Bonaventure
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
VaishnaviVaishnavi17
 
Congestion control and quality of service
Congestion control and quality of serviceCongestion control and quality of service
Congestion control and quality of service
JUW Jinnah University for Women
 

Similar to AusNOG 2019: TCP and BBR (20)

RIPE 76: TCP and BBR
RIPE 76: TCP and BBRRIPE 76: TCP and BBR
RIPE 76: TCP and BBR
 
NZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBRNZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBR
 
RIPE 80: Buffers and Protocols
RIPE 80: Buffers and ProtocolsRIPE 80: Buffers and Protocols
RIPE 80: Buffers and Protocols
 
QoSintro.PPT
QoSintro.PPTQoSintro.PPT
QoSintro.PPT
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
 
lect10_interconnect.ppt
lect10_interconnect.pptlect10_interconnect.ppt
lect10_interconnect.ppt
 
Quality of service
Quality of serviceQuality of service
Quality of service
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Routing Protocols
Routing ProtocolsRouting Protocols
Routing Protocols
 
Congestion control
Congestion controlCongestion control
Congestion control
 
integrated and diffrentiated services
 integrated and diffrentiated services integrated and diffrentiated services
integrated and diffrentiated services
 
Qo s 09-integrated and red
Qo s 09-integrated and redQo s 09-integrated and red
Qo s 09-integrated and red
 
Congestion control 1
Congestion control 1Congestion control 1
Congestion control 1
 
Lecture set 1
Lecture set 1Lecture set 1
Lecture set 1
 
CN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdfCN Module 5 part 2 2022.pdf
CN Module 5 part 2 2022.pdf
 
9_Network.ppt
9_Network.ppt9_Network.ppt
9_Network.ppt
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
 
Lecture05
Lecture05Lecture05
Lecture05
 
Congestion control and quality of service
Congestion control and quality of serviceCongestion control and quality of service
Congestion control and quality of service
 

More from APNIC

APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
APNIC
 
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC Updates presented by Paul Wilson at  CaribNOG 27APNIC Updates presented by Paul Wilson at  CaribNOG 27
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC
 
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
APNIC
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
APNIC
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
APNIC
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
APNIC
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
APNIC
 
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
APNIC
 
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
APNIC
 
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
APNIC
 
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
APNIC
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
APNIC
 
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC
 
NANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff HustonNANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff Huston
APNIC
 
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff HustonDNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
APNIC
 
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APNIC
 

More from APNIC (20)

APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
 
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC Updates presented by Paul Wilson at  CaribNOG 27APNIC Updates presented by Paul Wilson at  CaribNOG 27
APNIC Updates presented by Paul Wilson at CaribNOG 27
 
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119draft-harrison-sidrops-manifest-number-01, presented at IETF 119
draft-harrison-sidrops-manifest-number-01, presented at IETF 119
 
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
Making an RFC in Today's IETF, presented by Geoff Huston at IETF 119
 
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
IPv6 Operational Issues (with DNS), presented by Geoff Huston at IETF 119
 
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
Is DNS ready for IPv6, presented by Geoff Huston at IETF 119
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
 
NANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff HustonNANOG 90: 'BGP in 2023' presented by Geoff Huston
NANOG 90: 'BGP in 2023' presented by Geoff Huston
 
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff HustonDNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
DNS-OARC 42: Is the DNS ready for IPv6? presentation by Geoff Huston
 
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
 

Recently uploaded

Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
nhiyenphan2005
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
JeyaPerumal1
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 

Recently uploaded (20)

Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 

AusNOG 2019: TCP and BBR

  • 1. TCP and BBR Geoff Huston APNIC
  • 2. Networking is all about moving Data • The way in which data movement is controlled is a key characteristic of the network architecture • The Internet Protocol architecture passed all controls to the end systems, and treated the network as a passive switching environment – But that was many years ago, and since then we have seen the deployment of active middleware in networks and control traffic flows • All this is changing again as we see a what could well be a new generation of flow control algorithms being adopted in the Internet • Lets look at one of the more interesting initiatives: Bottleneck Bandwidth and Round-Trip Time (BBR) 2
  • 3. Let’s talk about speed • How fast can we push a single session to move data through the network? • Session speed is the result of a combination of: • available transmission speeds, • transmission bit error rate, • end-to-end latency, • host buffer size and • protocol efficiency – All of these factors are critical 3
  • 4. The Evolution of Speed 1980’s – TCP rates of Kilobits per second 1990’s – TCP rates of Megabits per second 2000’s – TCP rates of Gigabits per second 2010’s – TCP rates of Gigabits per second 4 80’s 90’s 00’s 10’s K M G
  • 5. Today • Optical transmission speeds are approaching Terrabit capacity • But peak TCP session speeds are not keeping up • What’s going on? 5 80’s 90’s 00’s 10’s K M G T optical transport TCP speed
  • 6. TCP • The Transmission Control Protocol is an end-to-end protocol that creates a reliable stream protocol from the underlying IP datagram device • TCP operates as an adaptive rate control protocol that attempts to operate fairly and efficiently
  • 7. TCP Design Objectives To maintain an average flow which is Efficient and Fair • Efficient: – Minimise packet loss – Minimise packet re-ordering – Do not leave unused path bandwidth on the table! • Fair: – Do not crowd out other TCP sessions – Over time, take an average 1/N of the path capacity when there are N other TCP sessions sharing the same path
  • 8. It’s a Flow Control process • Think of this as a multi- flow fluid dynamics problem • Each flow has to gently exert pressure on the other flows to signal them to provide a fair share of the network, and be responsive to the pressure from all other flows
  • 9. TCP Control TCP is an ACK Pacing protocol Data sending rate is matched to the ACK arrival rate
  • 10. TCP Control ACK pacing protocols relate to a past network state, not necessarily the current network state – The ACK signal shows the rate of data that left the network at the receiver that occurred at ½ RTT back in time – So if there is data loss in the forward path, the ACK signal of that loss is already at least ½ RTT old! • So TCP should react quickly to ‘bad’ news – If there is no data loss, that is also old news • So TCP should react conservatively to ‘good’ news
  • 11. “Classic TCP” – TCP Reno • Additive Increase Multiplicative Decrease (AIMD) – While there is no packet loss, increase the sending rate by one segment (MSS) each RTT interval – If there is packet loss decrease the sending rate by 50% over the next RTT Interval • Start Up – Each RTT interval, double the sending rate – We call this “slow start” – probably because its anything but slow!!!
  • 12. Idealised TCP Reno Time Slow Start Rate Doubles each RTT Interval Congestion Avoidance Rate increases by 1 MSS per RTT Rate halves on Packet Loss Notification of Packet Loss via Duplicate ACKs causes RENO to halve its sending rate
  • 13. TCP RENO and Idealized Queue Behaviour Total Queue Capacity (Onset of Packet Loss) Link Capacity Capacity (Onset of Queuing) Network Buffers Fill Network Buffers Drain
  • 14. Reno is too slow • TCP Reno tries to oscillate between sending rates R and 2R that span the actual link capacity • It increases its sending rate slowly so it’s really lousy when trying to run at very high speed over long delay networks • It over-corrects on loss and leaves available path capacity idle – 10Gbps rates over 100ms RTT demands a packet loss rate of less than 0.000003% – An average 1% loss rate over a 100ms RTT can’t operate faster than 3Mbps
  • 15. Faster than Reno? • Can we make TCP faster and more efficient by changing the way in which the sending rate is inflated? • Of course!
  • 16. Refinements to RENO • There have been many efforts to alter RENO’s flow control algorithm • In a loss-based AIMD control system the essential parameters are the manner of rate increase and the manner of loss-based decrease – For example: MulTCP behaves as it it were N simultaneous TCP sessions: i.e. increase by N segments each RTT and rate drop by 1/N upon packet loss • What about varying the manner of rate increase away from AI?
  • 17. Enter CUBIC • CUBIC is designed to be useful for high speed sessions while still being ‘fair’ to other sessions and also efficient even at lower speeds • Rather than probe in a linear manner for the sending rate that triggers packet loss, CUBIC uses a non-linear (cubic) search algorithm
  • 18. CUBIC and Queue formation Total Queue Capacity (Onset of Packet Loss) Link Capacity Capacity (Onset of Queuing) Network Buffers Fill Network Buffers Drain
  • 19. CUBIC assessment • Can react quickly to available capacity in the network • Tends to sit for extended periods in the phase of queue formation • Can react efficiently to long fat pipes and rapidly scale up the sending rate • Operates in a manner that tends to exacerbate ‘buffer bloat’ conditions
  • 20. Can we do even better? • Lets look at the model of the network once more, and observe that there are three ‘states’ of flow management in this network: – Under-Utilised – where the flow rate is below the link capacity and no queues form – Over-Utilised – where the flow rate is greater that the link capacity and queues form – Saturated – where the queue is filled and packet loss occurs • Loss-based control systems probe upward to the Saturated point, and back off quickly to what they guess is the Under-Utilised state in order to the let the queues drain • But the optimal operational point for any flow is at the point of state change from Under to Over-utilised, not at the Saturated point
  • 21. RTT and Delivery Rate with Queuing Under-Utilised Over-Utilised Saturated
  • 22. How to detect the onset of queuing? • By carefully measuring the Round Trip Time!
  • 23. BBR Design Principles • Probe the path capacity only intermittently • Probe the path capacity by increasing the sending rate for a short interval and then drop the rate to drain the queue: – If the RTT of the probe equals the RTT of the previous state then there is available path bandwidth that could be utilised – If the RTT of the probe rises then the path is likely to be at the onset of queuing and no further path bandwidth is available • Do not alter the path bandwidth estimate in response to packet loss • Pace the sending packets to avoid the need for network buffer rate adaptation
  • 24. Idealised BBR profile sending rate network queues
  • 25. BBR Politeness? • BBR will probably not constantly pull back when simultaneous loss-based protocols exert pressure on the path’s queues • BBR tries to make minimal demands on the queue size, and does not rely on a large dynamic range of queue occupancy during a flow
  • 26. From Theory to Practice • Lets use BBR in the wild • I’m using iperf3 on Linux platforms (Linode) – The platforms are dedicated to these tests • It’s the Internet – The networks paths vary between tests – The cross traffic is highly variable – No measurement is repeatable to a fine level of detail
  • 27. Cubic vs BBR over a 12ms RTT 10G circuit
  • 28. Wow! • That was BRUTAL! • As soon as BBR started up it collided with CUBIC, and BBR startup placed pressure on CUBIC such that CUBIC’s congestion window was reduced close to zero • At this stage CUBIC’s efforts to restart its congestion window appear to collide with BBR’s congestion control model, so CUBIC remains suppressed – The inference is that BBR appears to be operating in steady state with an ability to crowd out CUBIC
  • 29. BBR vs Cubic – second attempt Same two endpoints, same network path across the public Internet Using a long delay path AU to Germany via the US
  • 30. BBR vs Cubic BBR(1)starts Cubicstarts BBR(2)starts Cubicends BBR(2)ends The Internet is capable of offering a 400Mbps capacity path on demand! In this case BBR is apparently operating with filled queues, and this crowds out CUBIC BBR does not compete well with itself, and the two sessions oscillate in getting the majority share of available path capacity
  • 31. BBR and Loss Recovery 31 Packet loss causes retransmission that appears to occur in addition to the stable link capacity model used by BBR. Once loss is reduced, BBR maintains a more consistent sending model
  • 32. Parallel BBR Streams 32 We used 50 parallel BBR streams between the same two endpoints (200ms RTT) In this larger setup the majority of sessions managed to equilibrate between each other and evenly share the path bandwidth
  • 33. So what can we say about BBR? It’s “interesting” in so many ways: – It’s a move away from the more common loss-based flow control protocols – It looks like it will operate very efficiently in a high-speed small-buffer world • High speed small buffer switching chips are far cheaper, but loss-based TCP reacts really badly to small buffers by capping its flow rate – It will operate efficiently over ECMP paths, as it is relatively impervious to packet re-ordering – It also looks as if it will operate efficiently in rate policed environments – Unlike AIMD systems, it will scale from Kbps to Gbps over long delay paths very efficiently – It resists the conventional network-based traffic control mechanisms
  • 34. Why use BBR? • Because it achieves • Its incredibly efficient • It makes minimal demands on network buffer capacity • It’s fast!
  • 35. Why not use BBR? • Because it over achieves! • The classic question for many Internet technologies is scaling – “what if everyone does it?” – BBR is not a scalable approach in competition with loss-based flows – It works so well while it is used by just a few users, some of the time – But when it is active, BBR has the ability to slaughter concurrent loss-based flows – Which sends all the wrong signals to the TCP ecosystem • The loss-based flows convert to BBR to compete on equal terms • The network is then a BBR vs BBR environment, which is unstable
  • 36. Is this BBR experiment a failure? Is it just too ‘greedy’ and too ‘insensitive’ to other flows to be allowed out on the Internet to play? – Many networks have been provisioned as a response to the aggregate behaviours of loss-based TCP congestion control – BBR changes all those assumptions, and could potentially push many networks into sustained instability – We cannot use the conventional network control mechanisms to regulate BBR flows • Selective packet drop just won’t create back pressure on the flow
  • 37. Is BBR an outstanding success? • We can’t achieve speed if we need also large high speed buffers in network routers – Loss-based flow-control systems have a sloppy control loop that is always ½ RTT late – Small buffers in the switches exacerbate this problem • We can use small buffers in switches if we use flow control systems that are sensitive to the onset of queue formation (rather than being sensitive to packet loss resulting from a full queue) • BBR points to an approach that does not require large buffer pools in switches 37
  • 38. Where now? BBR 2.0 – Alter BBR’s ‘sensitivity’ to loss rates, so that it does not persist with an internal bandwidth delay product (BDP) that exceeds the uncongested BDP This measure would moderate BBR 1.0’s ability to operate for extended periods with very high loss levels – Improve the dynamic sharing fairness by moderating the Bandwidth Delay Product by using an estimated ‘fair’ proportion of the path BDP – Accommodate the signal distortion caused by ACK stretching middleware – Place an upper bound on the volume of in-flight data – Alter the +/- 25% probe factors dynamically (i.e. allow this to be less than 25% overload)
  • 39. The new Network Architecture • We are seeing a shift in end systems to assert edge-centric control and hide from network-level active middleware in the Internet • QUIC and BBR are instances of a recent push back from the network-level QoS bandwidth control mechanisms, and result in greater levels of autonomous control being passed back to the end hosts • For better or worse! 39
  • 40. What is all this telling us? • The Internet still contains a large set of important unsolved problems • Moving large data sets over high speed networks requires a different approach to what we are doing today • BBR seems to be a step in an interesting direction, particularly for very high speed networking • But it still calls for more research and more testing at scale 40