Random Linear Network Coding on Programmable Switches D. Gonçalves 1 , S. Signorello 1 , F . M. V. Ramos 1 , M. Médard 2 1 Faculdade de Ciençias, University of Lisbon, Portugal. 2 Massachusetts Institute of T echnology. (MIT), USA. EuroP4 2nd European workshop on P4 at ANCS’19, 23th Sep Cambridge, UK.
A Primer on Network Coding & Motivation
Network Coding with an example I n s t e a d o f s i m p l y f o r w a r d i n g d a t a , n o d e s m a y r e c o m b i n e s e v e r a l i n p u t p a c k e t s i n t o o n e o r s e v e r a l o u t p u t p a c k e t s . Traditional routing solution Network coding a b a ⊕c b b a a ⊕c b B e n e f i t s o v e r d i f f e r e n t s c e n a r i o s : ⊕c a b a b T h r o u g h p u t , R o b u s t n e s s , S e c u r i t y . 3
How far research on NC goes? T h e o r e t i c a l r e s e a r c h O n N e t w o r k C o d i n g “ N e t w o r k I n f o r m a t i o n F l o w ” ~ 1 0 K c i t a t i o n s 4
Deployed NC-based systems? S o f t w a r e r u n n i n g i n e n d - h o s t s : e . g . t h e K o d o C + + L i b r a r y O v e r l a y s y s t e m s : e . g . t h e A v a l a n c h e P 2 P s y s t e m ( M i c r o s o f t ) S o f t w a r e a n d O v e r l a y , b u t n o t i n t h e n e t w o r k d a t a - p l a n e , w h y ? ● P a y l o a d p r o c e s s i n g , ● C o m p l e x a r i t h m e t i c . 5
Linear Network Coding s D a t a P i n t e r p r e t e d a s n u m b e r s o v e r s o m e f i n i t e f i e l d G F ( 2 ) i G s C o e f f i c i e n t s c a r e f u l l y c h o s e n i n F ( 2 ) ! D o w n s i d e : p r e - d e f i n e d C e n t r a l i z e d c o m p u t a t i o n o f c o e f f i c i e n t s . 6
Random Linear Network Coding G G s s C C o o e e f f f f i i c c i i e e n n t t s s r r a a n n d d o o m m l l y y c c h h o o s s e e n n i i n n F F ( ( 2 2 ) ) ! ! Input Packet Input Packet Input Packet Output Packet C o e f f i c i e n t s ( p a c k e t h e a d e r ) + c o d e d s y m b o l s i n o u t p u t p a c k e t 7
Practical RLNC -1 D e c o d i n g m e a n s : P 1 Generation x 1 P 2 P 3 T o r e d u c e c o m p l e x i t y , P 4 d a t a a r e d i v i d e d i n s m a l l e r b l o c k s Generation x 2 P 5 P 6 o v e r w h i c h c o d i n g / d e c o d i n g i s p e r f o m e d . P n P n+1 Generation x n P n+2 a . k . a . g e n e r a t i o n - b a s e d R L N C 8
Change in Networks’ Status Quo P a s t : F i x e d - F u n c t i o n S w i t c h i n g C h i p s C u s t o m P r o t o c o l RTP IPv4/6 TCP IETF standards VLAN F u t u r e : P r o g r a m m a b l e S w i t c h i n g C h i p s DIY data plane 9
Practical RLNC in production “ T h i s w o r k p r o p o s e s a r a n d o m l i n e a r n e t w o r k c o d i n g d a t a p l a n e w r i t t e n i n P 4 , a s f i r s t s t e p t o w a r d s a p r o d u c t i o n l e v e l p l a t f o r m f o r n e t w o r k c o d i n g . ” G o a l : U n d e r s t a n d i n g t h e t r a d e - o f f s f o r r u n n i n g R L N C f u n c t i o n s i n t h e d a t a - p l a n e o f t h e l a t e s t p r o g r a m m a b l e s w i t c h i n g c h i p s . 10
Architecture of our Network Coding Switch
RLNC target data plane behavior(s) 1 1 ° ° b b e e h h a a v v i i o o r r – – c c o o d d i i n n g g g g e e n n e e r r a a t t i i o o n n s s R e c e i v e r A c k s a g e n e r a t i o n w h e n t h a t i s s u c c e s s f u l l y d e c o d e d S e n d e r S w i t c h S e n d s u n c o d e d B u f f e r s e n t i r e g e n e r a t i o n , d a t a s p l i t c r e a t e s a n d f o r w a r d s l i n e a r i n g e n e r a t i o n s c o m b i n a t i o n s o f s y m b o l s R e c e i v e r 2 ° b e h a v i o r – r e c o d i n g g e n e r a t i o n s A c k s a g e n e r a t i o n w h e n t h a t i s s u c c e s s f u l l y d e c o d e d S e n d e r S w i t c h S e n d s c o d e d d a t a s p l i t B u f f e r s e n t i r e g e n e r a t i o n & c o e f f i c i e n t s , i n g e n e r a t i o n s & c r e a t e s a n d f o r w a r d s l i n e a r c o m b i n a t i o n s o f s y m b o l s a n d R e l a t e d c o e f f i c i e n t s r e c o d e d c o e f f i c i e n t s 12
Practical generation-based RLNC P a c k e t F o r m a t T o e n c o d e s y m b o l s / c o e f f i c i e n t s A n d c o d i n g p a r a m e t e r s F i n i t e F i e l d ( G F ) a r i t h m e t i c T o c o m p u t e l i n e a r c o m b i n a t i o n s O f t h e s y m b o l s B u f f e r i n g t o s t o r e a l l t h e s y m b o l s o f a g e n e r a t i o n b e f o r e c o d i n g / r e c o d i n g . 13
Packet format S y m b o l r e p r e s e n t a t i o n d r a f t a t : h t t p s : / / d a t a t r a c k e r . i e t f . o r g / d o c / d r a f t - h e i d e - n w c r g - r l n c / C o d i n g p a r a m e t e r s h e a d e r R c v - b a s e d A c k m e c h a n i s m C o e f f i c i e n t s a n d s y m b o l s f o r g e n e r a t i o n s E x t r a c t e d a s P 4 p a c k e t h e a d e r s 14
Bufgering A n e n t i r e g e n e r a t i o n m u s t b e r e c e i v e d a n d s t o r e d b e f o r e c o d i n g c a n b e p e r f o r m e d . S t a t e ( s y m b o l s a n d c o e f f i c i e n t s ) a c r o s s p a c k e t s w h i c h m u s t b e d y n a m i c a l l y i n d e x e d b y g e n e r a t i o n i d i n p a c k e t h e a d e r s . Generation size G1 G2 W h e r e a g e n e r a t i o n s t a r t s ( h e a d ) a n d w h e r e i s t h e n e x t e m p t y s l o t ( o f f s e t ) . A l l i m p l e m e n t e d w i t h P 4 e x t e r n s ( r e g i s t e r s ) . 15
Galois Field Arithmetic R a n d o m s e l e c t i o n o f c o e f f i c i e n t s c i n G F i Y ~ o u t p u t s y m b o l 1 = c 1 ∗ X 1 1 + c 2 ∗ X 1 2 + c 3 ∗ X 1 3 Y 1 X ~ i n p u t s y m b o l s c ~ c o e f f i c i e n t s M u l t i p l i c a t i o n i n G F A d d i t i o n i n G F R e d u c i n g , t h r o u g h m o d , t h e p r o d u c t o f t w o e l e m e n t s E q u a l s s i m p l e b i t - x o r B y a n i r r e d u c i b l e p o l y n o m i a l A l g 2 M e m o r y I n t e n s i v e A l g 1 C o m p u t e I n t e n s i v e mul ( a,b )= antilog (( log ( a )+ log ( b )) modQ ) S h i f t a n d a d d o p e r a t i o n s p e r f o r m e d b i t - b y - b i t 3 t a b l e l o o k - u p s , 1 a d d , 1 m o d 16
Recommend
More recommend