Bufferbloat is all wet? Bufferbloat is all wet? Stephen Hemminger - PowerPoint PPT Presentation
Bufferbloat is all wet? Bufferbloat is all wet? Stephen Hemminger Stephen Hemminger s t e p h e n @n e t w o r k p l u mb e r . o r g s t e p h e n @n e t w o r k p l u mb e r . o r g @n e t w
Bufferbloat is all wet? Bufferbloat is all wet? Stephen Hemminger Stephen Hemminger s t e p h e n @n e t w o r k p l u mb e r . o r g s t e p h e n @n e t w o r k p l u mb e r . o r g @n e t w o r k p l u mb e r @n e t w o r k p l u mb e r Linuxcon Europe Oct 2014
B u ff e r b l o a t B u ff e r b l o a t ● Wh Wh a t i s t h e p r o b l e m a t i s t h e p r o b l e m ● Wh Wh a t c a u s e s t h e p r o b l e m a t c a u s e s t h e p r o b l e m ● S S o l u t i o n s o l u t i o n s – D D e mo n s t r a t i o n e mo n s t r a t i o n ● C C u r r e n t s t a t u s u r r e n t s t a t u s – T T h e G o o d h e G o o d – T T h e B a d h e B a d – T T h e U g l y h e U g l y
S i g n s o f B u ff e r b l o a t S i g n s o f B u ff e r b l o a t ● Y Y o u mi g h t h a v e b u ff e r b l o a t i f o u mi g h t h a v e b u ff e r b l o a t i f – T T h r o u g h p u t h r o u g h p u t ● D D o w n l o a d 1 0 % o f a d v e r t i s e d o w n l o a d 1 0 % o f a d v e r t i s e d ● U U p l o a d d o e s n ' t w o r k p l o a d d o e s n ' t w o r k – L L a t e n c y a t e n c y ● l l a r g e ( > 2 0 0 ms ) a r g e ( > 2 0 0 ms ) ● V V a r i a b l e a r i a b l e – A A n d n o p a c k e t l o s s ! ! ! n d n o p a c k e t l o s s ! ! !
H o w b a d i s i t ? H o w b a d i s i t ?
Q u e u i n g T h e o r y B a s i c s Q u e u i n g T h e o r y B a s i c s utilization se rv icerate av e ragetim einque ue = 1 − utilization From Fred Baker: Bufferbloat! Graphic courtesy Sprint, Apricot 2004
N e t w o r k P e r f o r ma n c e N e t w o r k P e r f o r ma n c e F a i r n e s s L a t e n c y T h r o u g h p u t R o u n d T r i p T i me M b i t s / s e c
N e t a l y z r : D o w n s t r e a m N e t a l y z r : D o w n s t r e a m
N e t a l y z r : U p s t r e a m N e t a l y z r : U p s t r e a m
C l a s s i c a l T C P C l a s s i c a l T C P
TCP throughput dynamics TCP throughput dynamics e ffe ctivewindow m e anthroughput = m e anroundtriptim e Increasing Measurable Throughput Bottleneck Capacity “knee” “cliff” Queue Depth Increasing TCP Window From Fred Baker: Bufferbloat!
B l a me L i n u x B l a me L i n u x ● Wi Wi n d o w s X P n d o w s X P – M M a x i mu m w i n d o w 6 4 k a x i mu m w i n d o w 6 4 k ● Wi n d o w s 7 Wi n d o w s 7 – B B a n d w i d t h l i mi t t o 8 0 mb i t s a n d w i d t h l i mi t t o 8 0 mb i t s ● A A n d r o i d n d r o i d – R R e c e i v e w i n d o w l i mi t e d e c e i v e w i n d o w l i mi t e d
B l a me t h e c u s t o me r B l a me t h e c u s t o me r ● C C u s t o me r s c a l l u s t o me r s c a l l s u p p o r t s u p p o r t ● A A p p l i c a t i o n s a r e p p l i c a t i o n s a r e u s i n g mo r e u s i n g mo r e b a n d w i d t h b a n d w i d t h ● B B l o c k a n d c h a r g e l o c k a n d c h a r g e
Back to Reality
B e n c h ma r k i s s u e s B e n c h ma r k i s s u e s ● B B a d a d – B B y t e s / s e c y t e s / s e c – P P a c k e s / s e c a c k e s / s e c – L L a t e n c y a t e n c y
R e a l t i me R e s p o n s e U n d e r L o a d R e a l t i me R e s p o n s e U n d e r L o a d ● U U s e e x i s t i n g t o o l s e e x i s t i n g t o o l – N N e t p e r f e t p e r f ● C C o mb i n e mu l t i p l e s t r e a ms o mb i n e mu l t i p l e s t r e a ms – D D o w n l o a d o w n l o a d – U U p l o a d p l o a d – L L a t e n c y me a s u r e me n t a t e n c y me a s u r e me n t
F I F O – t h e d e f a u l t F I F O – t h e d e f a u l t Ping 1sec! Upload Download Høiland-Jørgensen T., Battling Bufgerbloat
S t o c h a s t i c F a i r Q u e u e S t o c h a s t i c F a i r Q u e u e Høiland-Jørgensen T., Battling Bufgerbloat
C o n t r o l l e d D e l a y - c o d e l C o n t r o l l e d D e l a y - c o d e l Høiland-Jørgensen T., Battling Bufgerbloat
F a i r Q u e u e C o n t r o l l e d D e l a y F a i r Q u e u e C o n t r o l l e d D e l a y Høiland-Jørgensen T., Battling Bufgerbloat
B u ff e r b l o a t s t a t u s B u ff e r b l o a t s t a t u s
Wh e r e i s B u ff e r b l o a t ? Wh e r e i s B u ff e r b l o a t ? Receiver Sender Application Application TCP TCP QDisc Router Router Backbone ISP ISP
B u ff e r b l o a t S o l v e d ? B u ff e r b l o a t S o l v e d ? ● Q Q u e u i n g d i s c i p l i n e s u e u i n g d i s c i p l i n e s – C o d e l , P I E , . . . C o d e l , P I E , . . . ● L L i n u x i n t e r n a l i n u x i n t e r n a l – B Q L , F Q , P a c i n g B Q L , F Q , P a c i n g ● D D e f a u l t q d i s c e f a u l t q d i s c Sysctl -w sys.net.core.default_qdisc=fq_codel Sysctl -w sys.net.core.default_qdisc=fq_codel Y e s , ma n y t i me s o v e r Y e s , ma n y t i me s o v e r
B u ff e r b l o a t : T h e G o o d B u ff e r b l o a t : T h e G o o d ● I I n d u s t r y a w a r e n e s s n d u s t r y a w a r e n e s s ● S S t a n d a r d s p r o g r e s s t a n d a r d s p r o g r e s s ● A A c t i v e r e s e a r c h c t i v e r e s e a r c h ● O O p e n S o u r c e p e n S o u r c e S o l u t i o n s S o l u t i o n s
B u ff e r b l o a t : t h e B a d B u ff e r b l o a t : t h e B a d ● L L e g a c y e q u i p me n t e g a c y e q u i p me n t – O O E M f o c u s o n c o s t n o t A Q M E M f o c u s o n c o s t n o t A Q M ● C C o n g e s t i o n o n b a c k b o n e o n g e s t i o n o n b a c k b o n e – I I t ' s n o t a b u g i t ' s a f e a t u r e ? t ' s n o t a b u g i t ' s a f e a t u r e ? – P P r o b l e m i s p o l i t i c a l n o t t e c h n i c a l r o b l e m i s p o l i t i c a l n o t t e c h n i c a l
B u ff e r b l o a t : t h e U g l y B u ff e r b l o a t : t h e U g l y ● Wi Wi r e l e s s r e l e s s – A A g g r e g a t i o n g g r e g a t i o n – M M u l t i c a s t u l t i c a s t – P P r o p r i e t a r y fi r mw a r e r o p r i e t a r y fi r mw a r e
? Q u e s t i o n s Dave T<dave.taht@bufferbloat.net>
Thank you S t e p h e n H e mmi n g e r @n e t w o r k p l u mb e r s t e p h e n @n e t w o r k p l u mb e r . o r g
Bufferbloat resources Bufferbloat.net: http://bufferbloat.net Email Lists: http://lists.bufferbloat.net IRC Channel: #bufferbloat on chat.freenode.net CeroWrt: http://www.bufferbloat.net/projects/cerowrt Other talks: http://mirrors.bufferbloat.net/Talks Jim Gettys Blog – http://gettys.wordpress.com RRUL Test- https://github.com/tohojo/netperf-wrapper A big thanks to the bloat mailing list, Jim, Kathie, Van, and Eric, ISC, the C eroWrt contributors, OpenWrt, the Internet Civil Engineering Institute, and the Google Fiber for their interest and support in the work!
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.