Customizable vpn Service with Qos

Embed Size (px)

Citation preview

  • 7/28/2019 Customizable vpn Service with Qos

    1/17

    C u s t o m i z a b l e V i r t u a l P r i v a t e N e t w o r k S e r v i c e w i t h Q o S

    L . K e n g L i m J u n G a o T . S . E u g e n e N g P r a s h a n t C h a n d r a

    P e t e r S t e e n k i s t e H u i Z h a n g

    C a r n e g i e M e l l o n U n i v e r s i t y

    P i t t s b u r g h , P A 1 5 2 1 3

    A u g u s t 1 , 2 0 0 0

    A b s t r a c t

    I n t h i s p a p e r , w e p r o p o s e a n d i m p l e m e n t V i r t u a l N e t -

    w o r k S e r v i c e V N S , a v a l u e - a d d e d n e t w o r k s e r v i c e

    f o r d e p l o y i n g v i r t u a l p r i v a t e n e t w o r k s V P N i n a

    m a n a g e d w i d e a r e a I P n e t w o r k . T h e k e y f e a t u r e o f

    V N S i s i t s c a p a b i l i t y o f p r o v i d i n g a c u s t o m e r w i t h a

    V P N t h a t i s c u s t o m i z a b l e w i t h m a n a g e m e n t c a p a b i l i -

    t i e s a n d p e r f o r m a n c e p r o p e r t i e s c o m p a r a b l e t o a d e d -

    i c a t e d p h y s i c a l n e t w o r k . I n a d d i t i o n , V N S e n s u r e s

    c o n d e n t i a l i t y o f d a t a a n d p r i n c i p a l s t h r o u g h t h e u s e

    o f I P S E C . T h e m a i n t e c h n i q u e u n d e r l y i n g V N S i s

    t h e v i r t u a l i z a t i o n o f r o u t e r s i n b o t h c o n t r o l a n d d a t a

    p l a n e s . V i r t u a l i z a t i o n o f t h e c o n t r o l p l a n e e n a b l e s

    c u s t o m i z a b l e r o u t i n g a n d s i g n a l i n g p e r V P N . O n t h e

    d a t a p l a n e , p a c k e t f o r w a r d i n g a n d l i n k b a n d w i d t h a r e

    v i r t u a l i z e d . V i r t u a l i z a t i o n o f t h e f o r w a r d i n g m e c h a -

    n i s m o n t h e d a t a p l a n e e n a b l e s r o u t i n g o f t r a c a c -

    c o r d i n g t o e a c h V P N ' s t o p o l o g y a n d p o l i c i e s . V i r t u -

    a l i z a t i o n o f t h e l i n k b a n d w i d t h e n a b l e s e a c h V P N t o

    h a v e g u a r a n t e e d Q o S a n d c u s t o m i z e d r e s o u r c e m a n -

    a g e m e n t p o l i c i e s . W e h a v e d e v e l o p e d a V N S p r o t o -

    t y p e f o r d e p l o y m e n t o n t h e C A I R N n e t w o r k . T h e

    V N S p r o t o t y p e i m p l e m e n t s s e v e r a l r e s o u r c e m a n a g e -

    m e n t m e c h a n i s m s i n c l u d i n g p a c k e t s c h e d u l i n g , s i g -

    n a l i n g a n d r u n t i m e m o n i t o r i n g . A g r a p h i c a l u s e r i n -

    t e r f a c e e n a b l e s s e r v i c e p r o v i d e r s t o m a n a g e , c o n g u r e

    a n d d e p l o y V P N s r e m o t e l y .

    1 I n t r o d u c t i o n

    T h e I n t e r n e t i s g r a d u a l l y e v o l v i n g i n t o a n i n f r a s t r u c -

    t u r e f o r n e t w o r k - b a s e d s e r v i c e s . V i r t u a l p r i v a t e n e t -

    w o r k V P N s e r v i c e w i l l b e o n e o f t h e i m p o r t a n t I n -

    VPN Controller

    Host runningVANESA

    F i g u r e 1 : T w o V P N s b u i l t o n t o p o f o n e s h a r e d p h y s -

    i c a l n e t w o r k i n V N S . V A N E S A i s a g r a p h i c a l V P N

    m a n a g e m e n t t o o l . T h e V P N C o n t r o l l e r i s r e s p o n s i -

    b l e f o r c a r r y i n g o u t c o m m a n d s f r o m V A N E S A .

    t e r n e t s e r v i c e s . A V P N s e r v i c e a l l o w s a c u s t o m e r t o

    b u i l d a v i r t u a l w i d e - a r e a n e t w o r k o n t o p o f a s h a r e d

    w i d e - a r e a n e t w o r k i n f r a s t r u c t u r e , s u c h a s t h e I n t e r -

    n e t , w i t h o u t s e t t i n g u p a n y d e d i c a t e d p h y s i c a l c o n -

    n e c t i o n s . T h e r e i s s t r o n g e c o n o m i c i n c e n t i v e f o r t h e

    V P N s e r v i c e b e c a u s e o f t h e o p p o r t u n i t y t o s h a r e a

    c o m m o n e x p e n s i v e p h y s i c a l n e t w o r k i n f r a s t r u c t u r e

    a m o n g s t m u l t i p l e V P N s . T h e u b i q u i t y o f t h e I n t e r -

    n e t m a k e s i t a n i d e a l i n f r a s t r u c t u r e f o r p r o v i d i n g t h e

    V P N s e r v i c e . F i g u r e 1 i l l u s t r a t e s t h e s i t u a t i o n w h e r e

    t w o d i e r e n t V P N t o p o l o g i e s a r e c r e a t e d o n t o p o f

    t h e s a m e u n d e r l y i n g s h a r e d n e t w o r k i n f r a s t r u c t u r e .

    V a r i o u s f o r m s o f p r i v a t e n e t w o r k i n g s e r v i c e s h a v e

    b e e n a v a i l a b l e t o e n t e r p r i s e s f o r y e a r s . I n i t i a l l y , p r i -

    1

  • 7/28/2019 Customizable vpn Service with Qos

    2/17

    2

    v a t e n e t w o r k s w e r e b u i l t u s i n g d e d i c a t e d l e a s e d l i n e s ,

    b u t t h e c o s t o f b u i l d i n g a l a r g e p r i v a t e n e t w o r k u s -

    i n g d e d i c a t e d h a r d w a r e i s p r o h i b i t i v e t o a l l b u t t h e

    l a r g e s t c o r p o r a t i o n s . T h e n , w i t h t h e i n t r o d u c t i o n o f

    l o w c o s t , p a c k e t s w i t c h e d v i r t u a l c i r c u i t b a s e d s e r -

    v i c e s s u c h a s F r a m e R e l a y a n d X . 2 5 , v i r t u a l p r i -

    v a t e n e t w o r k i n g b e c a m e p o s s i b l e . U n f o r t u n a t e l y , t h e

    a v a i l a b i l i t y a n d f u n c t i o n a l i t y o f t h e s e s e r v i c e s i s v e r y

    l i m i t e d . F o r a n I n t e r n e t - b a s e d V P N s e r v i c e t o b e a v i -

    a b l e a l t e r n a t i v e , i t m u s t h a v e p r o p e r t i e s c o m p a r a b l e

    t o t h a t o f a d e d i c a t e d p h y s i c a l n e t w o r k . T h e s e r v i c e

    m u s t p r o v i d e m e c h a n i s m s t o e n f o r c e q u a l i t y o f s e r v i c e

    Q o S a n d c o n d e n t i a l i t y o f d a t a m u s t b e g u a r a n t e e d

    a s t h e d a t a t r a v e l s o v e r t h e c o m m o n i n f r a s t r u c t u r e .

    I n a d d i t i o n , t h e s e r v i c e m u s t o e r e a c h V P N w i t h t h e

    a u t o n o m y t o c u s t o m i z e r e s o u r c e m a n a g e m e n t .

    M o s t I n t e r n e t - b a s e d c o m m e r c i a l V P N s o l u t i o n s t o -

    d a y c o n s t r u c t v i r t u a l l i n k s u s i n g e i t h e r s i t e - t o - s i t e

    I P t u n n e l s o r s i t e - t o - s i t e M P L S p a t h s . T h e c o n g -

    u r a t i o n o f t h e V P N t o p o l o g y i s t h e r e f o r e h i g h l y r e -

    s t r i c t e d . T h e s e r v i c e s s u p p o r t e d a r e o f t e n l i m i t e d t o

    b e s t - e o r t s i t e - t o - s i t e c o n n e c t i v i t y a n d s e c u r e c o m -

    m u n i c a t i o n b e t w e e n s i t e s . I f Q o S i s o e r e d , i t i s u s u -

    a l l y p r o v i d e d b y o v e r - p r o v i s i o n i n g n e t w o r k r e s o u r c e s

    s o t h a t Q o S s e r v i c e l e v e l a g r e e m e n t s a r e u n l i k e l y t o

    b e v i o l a t e d . R e c e n t l y , s o m e e o r t s s u c h a s 5 , 1 2 u s e

    Q o S s t r a t e g i e s t h a t r e q u i r e V P N t r a c t o b e r e g u -

    l a t e d a t i n g r e s s n o d e s . T h e d o w n s i d e i s t h a t t h e o p -

    p o r t u n i t y f o r s t a t i s t i c a l s h a r i n g o f u n u s e d r e s o u r c e s

    i s r e d u c e d . A n o t h e r i m p o r t a n t l i m i t a t i o n o f t h e s e a p -

    p r o a c h e s i s t h e l a c k o f c u s t o m i z a b i l i t y . F o r e x a m p l e ,

    a c u s t o m e r c a n n o t c o n t r o l t h e r o u t i n g o f V P N t r a c

    f o r l o a d b a l a n c i n g o r Q o S r o u t i n g , n o r c a n a c u s t o m e r

    s p e c i f y r e s o u r c e m a n a g e m e n t p o l i c i e s i n t h e V P N .

    I n t h i s p a p e r , w e p r o p o s e a n d i m p l e m e n t V i r t u a l

    N e t w o r k S e r v i c e V N S , a v a l u e - a d d e d n e t w o r k s e r -

    v i c e f o r d e p l o y i n g V P N s i n a m a n a g e d w i d e - a r e a I P

    n e t w o r k . V N S i s b u i l t o n t o p o f t h e I P l a y e r t o e n -

    s u r e i n t e r o p e r a b i l i t y a c r o s s v a r i o u s l a y e r t w o t e c h -

    n o l o g i e s e . g . A T M , M P L S . A V P N i s c o n s t r u c t e d

    f r o m v i r t u a l l i n k s . A v i r t u a l l i n k i s a l i n k a b s t r a c t i o n

    c o n n e c t i n g a n y t w o p h y s i c a l n o d e s t h a t a r e i n t h e

    V P N ' s t o p o l o g y . C o m m u n i c a t i o n o v e r t h e V P N i s

    s e c u r e , a n d e a c h v i r t u a l l i n k i s a l l o c a t e d w i t h a g u a r -

    a n t e e d b a n d w i d t h . M o r e o v e r , u n u s e d b a n d w i d t h i s

    s h a r e d s t a t i s t i c a l l y b e t w e e n V P N s f o r a d d i t i o n a l p e r -

    f o r m a n c e g a i n s .

    T h e k e y a d v a n t a g e o f V N S i s t h a t i t d e p l o y s V P N s

    t h a t h a v e a l e v e l o f p e r f o r m a n c e a n d d e g r e e o f f r e e -

    d o m i n m a n a g e m e n t t h a t a r e c o m p a r a b l e t o p h y s i c a l

    p r i v a t e n e t w o r k s . F o r i n s t a n c e , i n s t e a d o f b e i n g r e -

    s t r i c t e d t o o n l y s i t e - t o - s i t e v i r t u a l l i n k s , a c u s t o m e r

    h a s f u l l c o n t r o l o f t h e V P N t o p o l o g y , a n d h o w t h e

    V P N t o p o l o g y m a p s o n t o t h e u n d e r l y i n g n e t w o r k .

    T h i s h a s t w o a d v a n t a g e s . F i r s t , t h e t o p o l o g y c a n b e

    e n g i n e e r e d s u c h t h a t a p p l i c a t i o n s t h a t a r e s e n s i t i v e

    t o t h e n e t w o r k t o p o l o g y s u c h a s m u l t i c a s t a p p l i c a -

    t i o n s c a n a c h i e v e t h e b e s t p e r f o r m a n c e . S e c o n d , b y

    c a r e f u l l y c h o o s i n g t h e t o p o l o g y , s t a t i s t i c a l s h a r i n g o f

    b a n d w i d t h w i t h i n t h e V P N c a n b e o p t i m i z e d . I n a d -

    d i t i o n t o c u s t o m i z i n g t h e t o p o l o g y , e a c h V P N c a n

    a l s o s e l e c t i t s o w n c o n t r o l p r o t o c o l s . F o r e x a m p l e , i t

    c a n u s e a c u s t o m i z e d r o u t i n g p r o t o c o l t h a t s u p p o r t s

    l o a d b a l a n c i n g , p o l i c y - b a s e d r o u t i n g , o r Q o S r o u t i n g .

    V N S a l s o p r o v i d e s g u a r a n t e e d Q o S o n e a c h v i r t u a l

    l i n k i n a V P N . M o r e o v e r , b e c a u s e l i n k b a n d w i d t h i s

    v i r t u a l i z e d u s i n g h i e r a r c h i c a l p a c k e t s c h e d u l i n g , e a c h

    V P N c a n e v e n h a v e i t s o w n s i g n a l i n g p r o t o c o l e . g .

    R S V P t o c u s t o m i z e r e s o u r c e s h a r i n g p o l i c i e s i n t h e

    V P N o r t o p r o v i d e p e r - o w Q o S t o r e a l - t i m e a p p l i -

    c a t i o n s .

    T h e m a i n t e c h n i q u e u n d e r l y i n g V N S i s t h e v i r t u -

    a l i z a t i o n o f t h e c o n t r o l a n d d a t a p l a n e s i n r o u t e r s .

    V i r t u a l i z a t i o n o f t h e c o n t r o l p l a n e e n a b l e s e a c h V P N

    t o h a v e t h e a u t o n o m y t o e x e c u t e c u s t o m r o u t i n g

    a n d s i g n a l i n g p r o t o c o l s w h i l e s h a r i n g a c o m m o n

    p h y s i c a l i n f r a s t r u c t u r e . O u r a p p r o a c h t o p r o v i -

    s i o n i n g c u s t o m i z a b l e c o n t r o l p l a n e s l e v e r a g e s a p r o -

    g r a m m a b l e r o u t e r a r c h i t e c t u r e t h a t p r o v i d e s a n o p e n

    p r o g r a m m a b l e i n t e r f a c e 2 9 .

    I n t h e d a t a p l a n e , p a c k e t f o r w a r d i n g a n d l i n k b a n d -

    w i d t h a r e v i r t u a l i z e d p e r V P N . V i r t u a l i z a t i o n o f t h e

    f o r w a r d i n g m e c h a n i s m e n a b l e s i s o l a t i o n a n d r o u t i n g

    o f t r a c a c c o r d i n g t o v i r t u a l t o p o l o g i e s . V i r t u a l -

    i z a t i o n o f t h e l i n k b a n d w i d t h p r o v i d e s e a c h V P N

    w i t h v i r t u a l l i n k s o f g u a r a n t e e d c a p a c i t y , a n d t h e

    a u t o n o m y t o s p e c i f y i t s o w n b a n d w i d t h s h a r i n g p o l -

    i c y . E a r l i e r w o r k i n V P N s e r v i c e s s u c h a s 3 1 , 1 5 ,

    2 4 , 7 d i d n o t c o n s i d e r s t a t i s t i c a l s h a r i n g o f u n d e r -

    u t i l i z e d r e s o u r c e s . I n t h i s w o r k , t h e a d d i t i o n a l p e r f o r -

    m a n c e b e n e t o f s t a t i s t i c a l m u l t i p l e x i n g i s a c h i e v e d

    w i t h o u t c o m p r o m i s i n g a n y b a n d w i d t h g u a r a n t e e s b y

    u s i n g t h e H - F S C 2 7 h i e r a r c h i c a l p a c k e t s c h e d u l e r .

    A r c h i t e c t u r a l l y , V N S i s b a s e d o n t h e D a r w i n 8

    r o u t e r d e s i g n , w h i c h i s p r o g r a m m a b l e a n d c a p a b l e

    o f v i r t u a l i z i n g t h e l i n k b a n d w i d t h . T h e B e a g l e 9

  • 7/28/2019 Customizable vpn Service with Qos

    3/17

    3

    F i g u r e 2 : A S c r e e n - S h o t o f V A N E S A

  • 7/28/2019 Customizable vpn Service with Qos

    4/17

    4

    s i g n a l i n g p r o t o c o l i s u s e d f o r r e s o u r c e a l l o c a t i o n a n d

    c o n t r o l p l a n e c u s t o m i z a t i o n . I n o r d e r t o v i r t u a l i z e

    r o u t i n g a n d f o r w a r d i n g , w e e x t e n d t h e D a r w i n r o u t e r

    d e s i g n t o a l l o w e a c h V P N t o h a v e i t s o w n r o u t i n g

    p r o t o c o l a n d f o r w a r d i n g t a b l e . S e c u r e c o m m u n i c a -

    t i o n i s a c h i e v e d t h r o u g h I P S E C 1 8 . T h e V i r t u a l

    N e t w o r k S y s t e m A d m i n i s t r a t o r V A N E S A , a J a v a -

    b a s e d V P N m a n a g e m e n t t o o l , p r o v i d e s a u s e r i n t e r -

    f a c e t h a t h i d e s t h e c o m p l e x i t y o f t h e s i g n a l i n g f r o m

    t h e u s e r . V N S i s t a r g e t e d t o w a r d s d e p l o y m e n t o n t h e

    C A I R N r e s e a r c h n e t w o r k 1 .

    T h e r e s t o f t h i s p a p e r i s o r g a n i z e d a s f o l l o w s . I n t h e

    n e x t s e c t i o n , w e e x a m i n e t h e o v e r a l l s y s t e m d e s i g n

    o f V N S . I n S e c t i o n 3 , w e e x p l a i n t h e k e y c o n c e p t

    o f v i r t u a l i z a t i o n b y d e s c r i b i n g t h e m e c h a n i s m s u s e d

    t o e n f o r c e v i r t u a l i z a t i o n o f b a n d w i d t h , c o n t r o l p l a n e

    p r o t o c o l s , a n d t h e f o r w a r d i n g m e c h a n i s m . W e t h e n

    s u r v e y r e l a t e d w o r k i n S e c t i o n 4 a n d s u m m a r i z e o u r

    w o r k i n S e c t i o n 5 .

    2 V N S S y s t e m O v e r v i e w

    I n t h i s s e c t i o n , w e d e s c r i b e t h e m a j o r c o m p o n e n t s o f

    V N S a n d h o w t h e y i n t e r - o p e r a t e . A m o r e d e t a i l e d d e -

    s c i p t i o n o f t h e t e c h n i q u e s u s e d i n v i r t u a l i z i n g r o u t e r s

    i s p r e s e n t e d i n S e c t i o n 3 .

    2 . 1 C o m p o n e n t s

    T h e m a i n V N S c o m p o n e n t s a r e :

    1 V A N E S A

    V A N E S A i s a J a v a - b a s e d c e n t r a l i z e d g r a p h i -

    c a l u s e r i n t e r f a c e f o r c o n g u r i n g a n d m a n a g i n g

    V P N s . F i g u r e 2 i s a s c r e e n c a p t u r e o f V A N E S A .

    T h e i d e a h e r e i s s i m i l a r t o t h e c o n c e p t o f a

    s o f t w a r e t o o l k i t f o r d e p l o y i n g v i r t u a l n e t w o r k s

    a s d e s c r i b e d i n 1 3 b y F e r r a r i a n d D e l g r o s s i .

    V A N E S A p r o v i d e s a s i m p l e i n t e r f a c e f o r t h e n e t -

    w o r k a d m i n i s t r a t o r t o c o n g u r e V P N p r o p e r -

    t i e s s u c h a s t h e v i r t u a l t o p o l o g y , b a n d w i d t h r e -

    q u i r e m e n t s o f v i r t u a l l i n k s , p a r a m e t e r s f o r s e c u -

    r i t y c o n g u r a t i o n a n d V P N m e m b e r s h i p i n f o r -

    m a t i o n . M e m b e r s o f a V P N a r e d e s c r i b e d b y

    t h e m e m b e r e n d h o s t s ' I P a d d r e s s e s a n d o r t h e

    m e m b e r s u b n e t s ' n e t w o r k p r e x e s . I n a d d i t i o n ,

    V A N E S A c a n a l s o b e u s e d t o s p e c i f y c u s t o m

    r o u t i n g a n d s i g n a l i n g p r o t o c o l s t h a t a r e t o b e

    d e p l o y e d w i t h i n a V P N .

    2 V P N C o n t r o l l e r

    T h e V P N C o n t r o l l e r i s a p r o c e s s t h a t r u n s o n a

    h o s t o r r o u t e r t h a t h a s d i r e c t a c c e s s t o t h e n e t -

    w o r k w h e r e V N S i s d e p l o y e d . T h e j o b o f t h e

    V P N C o n t r o l l e r i s t o a c t a s a p r o x y f o r c o n -

    t r o l m e s s a g e s b e t w e e n V A N E S A a n d r o u t e r s i n

    t h e W A N w h e r e V N S i s d e p l o y e d . T h i s e n a b l e s

    V A N E S A t o b e e x e c u t e d r e m o t e l y f r o m a n y -

    w h e r e i n t h e I n t e r n e t . F u r t h e r m o r e , t h e c o m -

    p l e x i t y o f t h e s i g n a l i n g r e q u i r e d t o s e t u p t h e

    V P N i s h a n d l e d b y t h e V P N C o n t r o l l e r a n d d e -

    c o u p l e d f r o m t h e u s e r i n t e r f a c e . T h i s s e t u p i s

    d e p i c t e d i n F i g u r e 1 .

    3 V i r t u a l i z a b l e V N S R o u t e r s

    V N S r o u t e r s a r e D a r w i n - b a s e d r o u t e r s b u i l t o n

    c o m m o d i t y P C h a r d w a r e r u n n i n g a v a r i a n t o f

    F r e e B S D U n i x . U s u a l l y , a m i n i m a l P C r o u t e r

    p e r f o r m s p a c k e t f o r w a r d i n g b a s e d o n a s i n g l e f o r -

    w a r d i n g t a b l e a n d a r o u t i n g d a e m o n t h a t d o e s

    r o u t e c o m p u t a t i o n . D a r w i n r o u t e r s h a v e e n -

    h a n c e m e n t s s u c h a s a s i g n a l i n g p r o t o c o l m o d u l e ,

    a s o p h i s t i c a t e d p a c k e t s c h e d u l e r , p a c k e t c l a s s i -

    e r , a n d a p r o g r a m m a b l e i n t e r f a c e f o r d e p l o y -

    i n g v a l u e - a d d e d s e r v i c e s . L e v e r a g i n g t h e s e e x i s t -

    i n g f e a t u r e s o f D a r w i n , w e e x t e n d e d t h e D a r w i n

    r o u t e r d e s i g n f o r V N S . C o n t r o l p l a n e a n d d a t a

    p l a n e r e s o u r c e s o n a V N S r o u t e r a r e v i r t u a l i z e d

    t o s u p p o r t t h e u n i q u e n e e d s o f e a c h V P N .

    I n t h e d a t a p l a n e , e a c h V P N i s a l l o c a t e d i t s o w n

    r e s o u r c e s s u c h a s l i n k b a n d w i d t h a n d a f o r w a r d -

    i n g t a b l e . I n t h e c o n t r o l p l a n e , a V N S r o u t e r

    h a s m e c h a n i s m s t h a t e n f o r c e i s o l a t e d e x e c u t i o n

    o f c u s t o m - V P N r o u t i n g a n d s i g n a l i n g p r o t o c o l s .

    F i g u r e 3 i l l u s t r a t e s t h e v i r t u a l i z a t i o n o f a r o u t e r .

    N e x t , w e d e s c r i b e s e r v i c e p r o v i s i o n i n g i n V N S b y

    e x p l a i n i n g t h e i n t e r a c t i o n s b e t w e e n t h e c o m p o n e n t s

    o f t h e s y s t e m d u r i n g t h e d e s i g n , s e t u p , a n d o p e r a t i o n

    o f a V P N .

    2 . 2 V P N D e s i g n

    W e w i l l d e s c r i b e t h e d e s i g n o f a V P N u s i n g e x a m p l e

    V P N s h o w n i n F i g u r e 4 . E a c h V P N ' s v i r t u a l t o p o l -

    o g y i s c o n s t r u c t e d f r o m v i r t u a l l i n k s , i l l u s t r a t e d a s

  • 7/28/2019 Customizable vpn Service with Qos

    5/17

    5

    VNS Router

    routing

    daemonsignaling

    daemon

    Classifier

    ForwardingTable

    Scheduler

    One physical link

    network interface card

    rd sd

    Classifier

    vpn1forwarding

    table

    rd sdrd sd

    Virtualized VNS Router

    vpn1

    vpn2vpn3

    vpn2

    forwardingtable

    vpn3forwarding

    table

    Scheduler

    One physical link,

    Multiple virtual links

    network interface card

    F i g u r e 3 : A v i r t u a l i z e d V N S R o u t e r w i t h t h r e e i n s t a n c e s o f v i r t u a l c o n t r o l p l a n e s a n d c u s t o m i z e d f o r w a r d i n g

    t a b l e s .

    d o t t e d l i n e s f o r V P N 1 a n d a s t h e l i g h t l y s h a d e d

    l i n e s f o r V P N 2 i n F i g u r e 4 . A r o u t e r t h a t i s p a r t

    o f a V P N ' s t o p o l o g y i s c a l l e d a v i r t u a l r o u t e r . F o r

    i n s t a n c e , V P N 2 ' s v i r t u a l r o u t e r s a r e A , B , D a n d

    E

    A V P N p r o v i d e s c o n n e c t i v i t y f o r e n d h o s t s o r s u b -

    n e t s i d e n t i e d a s m e m b e r s o f t h e V P N . I n o u r e x -

    a m p l e , V P N 2 ' s m e m b e r s a r e s u b n e t 1 0 . 1 . 1 2 4 a t -

    t a c h e d a t r o u t e r A a n d s u b n e t 1 0 . 2 . 1 2 4 a t t a c h e d a t

    r o u t e r E . T h e r o u t e r t h a t i s t h e a c c e s s p o i n t t o t h e

    n e t w o r k f o r a V P N m e m b e r i s c a l l e d a n e d g e r o u t e r

    A l l o t h e r i n t e r i o r r o u t e r s i n t h e n e t w o r k t h a t a r e p a r t

    o f a V P N b u t a r e n o t d i r e c t l y c o n n e c t e d t o V P N

    m e m b e r s a r e c a l l e d c o r e r o u t e r s

    I n o r d e r t o p r o v i d e Q o S t o v i r t u a l l i n k s a n d s u p p o r t

    p e r - V P N f o r w a r d i n g , v i r t u a l r o u t e r s n e e d t o m a i n t a i n

    V P N s p e c i c i n f o r m a t i o n f o r Q o S e n f o r c e m e n t a n d

    p e r - V P N f o r w a r d i n g . I n a d d i t i o n , e d g e r o u t e r s m u s t

    m a i n t a i n V P N m e m b e r s h i p i n f o r m a t i o n , I P S E C s e -

    c u r i t y p a r a m e t e r s , a n d t h e e n c a p s u l a t i n g I P h e a d e r s

    t o u s e f o r e a c h V P N .

    2 . 3 V P N S e t u p

    D u r i n g t h e s e t u p p h a s e , t h e n e t w o r k a d m i n i s t r a -

    t o r s p e c i e s a V P N ' s p r o p e r t i e s t h r o u g h V A N E S A ' s

    g r a p h i c a l i n t e r f a c e . T h e s e p r o p e r t i e s i n c l u d e t h e

    V P N ' s v i r t u a l t o p o l o g y , b a n d w i d t h r e q u i r e m e n t s o f

    t h e v i r t u a l l i n k s i n t h e t o p o l o g y , m e m b e r s , l o c a l r o u t -

    i n g p o l i c i e s f o r v i r t u a l r o u t e r s , s e c u r i t y i n f o r m a t i o n

    a n d e n c a p s u l a t i n g I P h e a d e r s f o r t u n n e l i n g V P N t r a f -

    c . A f t e r s p e c i f y i n g t h e V P N d e s c r i p t i o n , t h e n e t -

    w o r k a d m i n i s t r a t o r s u b m i t s t h e r e q u e s t o f s e t t i n g

    u p t h i s V P N b y c l i c k i n g o n t h e S u b m i t " b u t t o n o n

    V A N E S A ' s i n t e r f a c e . S u b s e q u e n t l y , V A N E S A s e n d s

    a p p r o p r i a t e s e t u p m e s s a g e s t o t h e V P N C o n t r o l l e r

    b a s e d o n t h e r e q u e s t . T h e r e a r e s e v e r a l t y p e s o f s e t u p

    m e s s a g e s . E a c h i s r e l a t e d t o a r e q u e s t t o c o n g u r e

    o n e o f t h e V P N p r o p e r t i e s . F o r i n s t a n c e , i n a m i n -

    i m a l V P N s e t u p t h a t h a s n o s e c u r i t y c o n g u r a t i o n ,

    V A N E S A w i l l b e u s e d t o s e t u p v i r t u a l l i n k s w i t h

    b a n d w i d t h g u a r a n t e e s , d i s p a t c h m e m b e r s h i p i n f o r -

    m a t i o n a n d c o n g u r e l o c a l r o u t i n g p o l i c i e s o f r o u t e r s

    i n t h e v i r t u a l t o p o l o g y . V A N E S A w o u l d t h e r e f o r e

    s e n d t h r e e s e t u p m e s s a g e s t o t h e V P N C o n t r o l l e r

    s i n c e e a c h o f t h e s e c o n g u r a t i o n s t e p s c o r r e s p o n d s

    t o a s p e c i c t y p e o f s e t u p r e q u e s t .

  • 7/28/2019 Customizable vpn Service with Qos

    6/17

    6

    A

    B

    C

    DE

    VPN #1 10.2.1/24

    VPN #2 10.1.1/24

    VPN #1 10.1.1/24

    VPN #2 10.2.1/24

    140.173.6.82

    140.173.6.65

    core routeredge router

    edge router

    F i g u r e 4 : B a s i c c o n c e p t s i l l u s t r a t e d w i t h t w o V P N s

    U p o n r e c e i v i n g t h e V P N s e t u p m e s s a g e s , t h e V P N

    C o n t r o l l e r i n i t i a t e s r e q u e s t s t o r o u t e r s i n t h e v i r t u a l

    t o p o l o g y t h r o u g h t h e B e a g l e s i g n a l i n g p r o t o c o l 9 .

    W h i l e i t w o u l d a l s o b e p o s s i b l e t o s e t u p r e s o u r c e

    r e s e r v a t i o n s w i t h o w - b a s e d s i g n a l i n g p r o t o c o l s s u c h

    a s R S V P 4 , w e c h o s e B e a g l e b e c a u s e i t p r o v i d e s s u p -

    p o r t f o r t h e a l l o c a t i o n o f r e s o u r c e s f o r m e s h s t r u c -

    t u r e s s u c h a s V P N t o p o l o g i e s . A l l V P N c o n n e c t i o n

    m a n a g e m e n t t a s k s a r e h a n d l e d b y t h e B e a g l e d a e m o n

    o n t h e V P N C o n t r o l l e r a n d t h e B e a g l e d a e m o n s o n

    t h e r o u t e r s t h a t a r e p a r t o f t h e v i r t u a l t o p o l o g y . I n

    F i g u r e 5 , w e s h o w t h i s s e t u p p r o c e d u r e f o r o n e o f t h e

    r o u t e r s t h a t i s p a r t o f t h e V P N .

    F o r v i r t u a l l i n k r e s o u r c e r e s e r v a t i o n s , t h e B e a g l e

    d a e m o n o n e v e r y r o u t e r o f a V P N c o n g u r e s t h e l o c a l

    c l a s s i e r s a n d s c h e d u l e r s o f t h e a p p r o p r i a t e n e t w o r k

    i n t e r f a c e s t o r e s e r v e r e s o u r c e s . B e a g l e i s a l s o u s e d t o

    d e p l o y V P N s p e c i c r o u t i n g a n d s i g n a l i n g p r o t o c o l

    m o d u l e s o n t h e r o u t e r s o f a V P N . T h e c u s t o m i z a t i o n

    o f c o n t r o l p r o t o c o l s i s d i s c u s s e d i n S e c t i o n 3 . 2 .

    D u r i n g t h e s e t u p o f a V P N , B e a g l e a l s o p e r f o r m s

    t w o c o n g u r a t i o n s t e p s t h a t a r e s p e c i c t o e d g e

    r o u t e r s . T h e r s t s t e p i s t o p r o v i d e e d g e r o u t e r s

    w i t h V P N m e m b e r s h i p i n f o r m a t i o n a n d t h e g l o b a l l y

    u n i q u e V P N i d e n t i e r V P N - I D t h a t w a s c h o s e n b y

    V A N E S A ; t h i s i n f o r m a t i o n i s n e e d e d s o e d g e r o u t e r s

    c a n i n j e c t p a c k e t s a p p r o p r i a t e l y i n t o t h e V P N . T h e

    s e c o n d V P N - s p e c i c s t e p i s t o e s t a b l i s h s e c u r i t y a s -

    s o c i a t i o n s b e t w e e n t h e e d g e r o u t e r s ; t h e s e c u r i t y a s -

    s o c i a t i o n s a r e u s e d t o p r o v i d e a u t h e n t i c a t i o n a n d e n -

    c r y p t i o n o f t h e d a t a t h a t t r a v e l s o v e r t h e V P N . B o t h

    o p e r a t i o n s a r e d e s c r i b e d i n m o r e d e t a i l b e l o w .

    2 . 4 V P N O p e r a t i o n

    T h e o p e r a t i o n o f a V P N i s b a s e d o n I P - i n - I P t u n -

    n e l i n g , b u t s u p p o r t i s p r o v i d e d t o m a i n t a i n p r i v a c y

    o f t h e d a t a a n d t o a l l o w p e r - V P N c u s t o m i z a t i o n o f

    p a c k e t h a n d l i n g i n s i d e t h e c o r e o f t h e n e t w o r k . W e

    d i s c u s s t h e m a i n t a s k s p e r f o r m e d d u r i n g t h e o p e r a -

    t i o n o f a V P N i n m o r e d e t a i l i n t h i s s e c t i o n F i g u r e 6 .

    A s i n a p r i v a t e p h y s i c a l n e t w o r k , w e b e l i e v e t h e

    b a s i c s e c u r i t y s e r v i c e a V P N s h o u l d h a v e i s t h e c o n -

    d e n t i a l i t y o f d a t a a n d p r i n c i p a l s w h e n V P N p a c k e t

    o w s i n t h e c o r e o f t h e n e t w o r k . T h i s i s p r o v i d e d i n

    V N S b y e s t a b l i s h i n g E S P 1 7 t u n n e l s b e t w e e n t h e

    i n g r e s s a n d e g r e s s e d g e r o u t e r s . T h i s m e a n s t h a t f o r

    a n y V N S d a t a s t r e a m , c r y p t o g r a p h i c p a c k e t p r o c e s s -

    i n g i s p e r f o r m e d a t e d g e r o u t e r s o n l y . I t c a n b e a r -

    g u e d t h a t t h i s i s l e s s s e c u r e t h a n a n a l t e r n a t i v e m o d e l

    t h a t r e q u i r e s r e - k e y i n g a t e v e r y l i n k . O u r c h o i c e i n

    k e e p i n g t h e s e c u r i t y m o d e l s i m p l e i s m o t i v a t e d b y a

    p e r f o r m a n c e t r a d e - o , i . e . w e r e d u c e t h e o v e r h e a d o n

    t h e c o r e r o u t e r s .

    U s i n g t h e m e m b e r s h i p i n f o r m a t i o n p r o v i d e d t o

    t h e m b y B e a g l e , a n i n g r e s s e d g e r o u t e r c a n c o r r e c t l y

  • 7/28/2019 Customizable vpn Service with Qos

    7/17

    7

    Virtualizable RouterHost runningVANESA

    ControllerNode

    UserSpace

    Kernel

    Space

    VANESA

    VPN Controller

    beagle beagle

    H-FSCScheduler

    Classifier

    DelegateRuntime

    Environment

    Routingdelegate

    VPNRoutingTable

    Otherdelegatesexecutedper VPN

    Virtualizationper-VPN

    F i g u r e 5 : C o n t r o l P a t h i n V N S

    i d e n t i f y p a c k e t s t h a t b e l o n g t o a V P N . I t t h e n i n -

    e c t s t h e p a c k e t i n t h e a p p r o p r i a t e I P - i n - I P t u n n e l

    a n d t a g s t h e p a c k e t w i t h t h e g l o b a l l y u n i q u e V P N - I D

    o f t h e V P N . T h e V P N - I D i s n e c e s s a r y b e c a u s e o n c e a

    p a c k e t e n t e r s a V P N t u n n e l , t h e o r i g i n a l p a c k e t i s e n -

    c r y p t e d , s o c o r e r o u t e r s c a n n o l o n g e r u s e t h e h e a d e r

    e l d s t o i d e n t i f y w h a t V P N t h e p a c k e t b e l o n g s t o . T o

    d i e r e n t i a t e b e t w e e n p a c k e t s s o a s t o e n a b l e p e r - V P N

    f o r w a r d i n g a n d r e s o u r c e m a n a g e m e n t , t h e V P N - I D

    i s a d d e d t o t h e e n c a p s u l a t i n g h e a d e r a t t h e i n g r e s s

    e d g e r o u t e r a s a n I P O P T S A T I D I P o p t i o n . T h i s a p -

    p r o a c h d o e s n o t s u p p o r t i n t e r - V P N c o m m u n i c a t i o n ,

    a l t h o u g h a n e a s y e x t e n s i o n t o e n a b l e t h i s w o u l d b e t o

    s u p p l e m e n t a p a i r o f V P N - I D s i d e n t i f y i n g t h e s o u r c e

    V P N a n d d e s t i n a t i o n V P N r e s p e c t i v e l y .

    B y r e l e g a t i n g t h e t a s k o f t a g g i n g p a c k e t s w i t h a

    V P N - I D t o t h e e d g e r o u t e r s , w e a l l o w a n y e n d h o s t

    t o b e c o m e a V P N m e m b e r w i t h o u t r e q u i r i n g a n y

    c h a n g e s . I m p l i c i t l y , t h i s l i m i t s t h e f r e e d o m o f h o s t s

    t o d i r e c t l y c o n t r o l w h a t V P N s t h e y p a r t i c i p a t e i n ,

    s i n c e t h e i n f o r m a t i o n o f w h a t t r a c u s e s w h a t V P N

    h a s t o b e s t o r e d o n t h e e d g e r o u t e r s u s i n g a s i g n a l -

    i n g p r o t o c o l . E n d - h o s t s c a n b e g i v e n m o r e c o n t r o l b y

    m a k i n g t h e m V N S - a w a r e s o t h e y c a n i n s e r t a V P N -

    I D i n t o t h e p a c k e t s t h e y s e n d . T h i s w a y , t h e e n d h o s t

    c a n c o n t r o l m o r e e a s i l y w h i c h s p e c i c V P N - I D t h e y

    w a n t t o u s e f o r s p e c i c a p p l i c a t i o n s .

    V P N m e m b e r s h i p i s m a i n t a i n e d a t e a c h n e t w o r k

    i n t e r f a c e o f a n e d g e r o u t e r i n t h e f o r m o f V P N - I D ,

    m e m b e r s r c I P , m e m b e r d s t I P , i n g r e s s I P ,

    e g r e s s I P t u p l e s . T h e m e m b e r s o u r c e a d d r e s s i n

    t h e t u p l e i d e n t i e s a V P N m e m b e r t h a t i s r e a c h a b l e

    t h r o u g h t h a t n e t w o r k i n t e r f a c e . U s i n g t h e s o u r c e

    a n d d e s t i n a t i o n a d d r e s s e s o f a p a c k e t , t h e p a c k e t

    i s c l a s s i e d t o b e p a r t o f a V P N i f i t m a t c h e s

    t h e m e m b e r s r c I P , m e m b e r d s t I P p o r t i o n

    o f a t u p l e i n t h e m e m b e r s h i p l i s t . T h e p a c k e t i s

    t h e n e n c r y p t e d b y I P S E C a n d p r e p e n d e d w i t h t h e

    c o r r e s p o n d i n g V P N - I D , a n d a t l a s t t h e p a c k e t i s

    e n c a p s u l a t e d w i t h t h e i n g r e s s a n d e g r e s s r o u t e r s ' I P

    a d d r e s s e s f o u n d i n t h e t u p l e . F i g u r e 7 i l l u s t r a t e s

    t h e r e s u l t i n g p a c k e t f o r m a t . W e c a n p r o v i d e m o r e

    n e g r a i n c o n t r o l o v e r w h a t t r a c e n t e r s a V P N b y

    u s i n g a d d i t i o n a l e l d s e . g . s o u r c e a n d d e s t i n a t i o n

    p o r t n u m b e r s i n t h e l t e r t h a t i s u s e d t o c l a s s i f y

    p a c k e t s .

    W h e n a c o r e r o u t e r r e c e i v e s a p a c k e t , i t u s e s t h e

    V P N - I D t o i d e n t i f y t h e V P N t h a t t h e p a c k e t b e l o n g s

    t o . I t c a n t h e n s e r v i c e t h e p a c k e t i n a w a y t h a t

    i s a p p r o p r i a t e f o r t h a t V P N . P a c k e t f o r w a r d i n g a n d

    p a c k e t s c h e d u l i n g Q o S c a n b e c u s t o m i z e d o n a p e r -

    V P N b a s i s , a s i s d i s c u s s e d i n m o r e d e t a i l i n t h e n e x t

  • 7/28/2019 Customizable vpn Service with Qos

    8/17

    8

    ClassificationEncapsulation

    Encryption

    Forwarding Table Lookup

    DecapsulationDecryption

    Forwarding Table Lookup

    CMUPCingressedge

    router

    MITPC

    egress

    edgeroutercore

    routers

    Src G

    Dst F

    security association is from edge to edge

    Forwarding Table LookupClassification

    10.3.3.x/24

    10.3.2.x/24

    F i g u r e 6 : D a t a p a t h t h r o u g h a V N S - e n a b l e d N e t w o r k

    Outer

    IP header VPN_IDESP

    Header IP header

    OriginalPayload Trailer

    ESP

    Authentication

    ESP

    encrypted

    authenticated

    F i g u r e 7 : V N S P a c k e t F o r m a t

  • 7/28/2019 Customizable vpn Service with Qos

    9/17

    9

    s e c t i o n . T h i s a l l o w s p a c k e t s t o b e s c h e d u l e d b a s e d

    o n t h e p o l i c i e s o f t h e V P N a n d f o r w a r d e d a c c o r d i n g

    t o t h e V P N ' s t o p o l o g y . A t t h e e g r e s s e d g e r o u t e r ,

    t h e p a c k e t i s d e c r y p t e d a n d d e c a p s u l a t e d . T h e i n n e r

    p a c k e t i s t h e n e x a m i n e d a n d f o r w a r d e d t o t h e l o c a l l y

    a t t a c h e d V P N d e s t i n a t i o n .

    W e h a v e a l s o m o d i e d t h e r o u t e t r a c e r o u t e a n d

    n e t s t a t c o m m a n d s f o r t h e V N S e n v i r o n m e n t s u c h

    t h a t w e c a n c r e a t e t h e i n i t i a l r o u t i n g t a b l e s e t u p a n d

    v e r i f y V P N r o u t e s .

    3 V i r t u a l i z a t i o n

    I n t h i s s e c t i o n w e d e s c r i b e i n d e t a i l h o w w e v i r t u a l i z e

    V N S r o u t e r s .

    3 . 1 V i r t u a l i z a t i o n o f L i n k B a n d w i d t h

    VPN #1

    155 Mbps Link

    VPN #2 VPN #3

    20% 40% 40%

    TCP UDP

    40% 60%

    audio video

    F i g u r e 8 : H i e r a r c h i c a l R e s o u r c e T r e e o f L i n k B a n d -

    w i d t h

    E n f o r c e m e n t o f b a n d w i d t h g u a r a n t e e s t o v i r t u a l l i n k s

    i s p e r f o r m e d u s i n g a p a c k e t c l a s s i e r a n d a h i e r a r c h i -

    c a l p a c k e t s c h e d u l e r . F o r a n y r o u t e r , w e r e p r e s e n t t h e

    d i v i s i o n o f t h e b a n d w i d t h o f a l i n k a t t h e r o u t e r a s

    a h i e r a r c h i c a l r e s o u r c e t r e e . I n t h e c o n t e x t o f V N S ,

    e a c h V P N v i r t u a l l i n k c r e a t e d o v e r a p h y s i c a l l i n k i s

    r e p r e s e n t e d b y a n o d e

    1

    i n t h e r s t t i e r o f n o d e s u n -

    d e r n e a t h t h e r o o t n o d e i n t h e h i e r a r c h i c a l r e s o u r c e

    1

    G e n e r a l l y , a n o d e c o r r e s p o n d s t o o n e o r m u l t i p l e o w s A

    o w i s d e n e d u s i n g a o w s p e c w h i c h i n c l u d e s e l d s f r o m I P

    a n d t r a n s p o r t l a y e r h e a d e r s a n d a n o p t i o n a l a p p l i c a t i o n I D .

    t r e e . A c e r t a i n a m o u n t o f b a n d w i d t h i s r e s e r v e d f o r

    e a c h n o d e a t t h e V P N s e t u p t i m e . T h e e e c t o f t h i s

    i s t h a t e a c h v i r t u a l l i n k w i l l h a v e a g u a r a n t e e d c a p a c -

    i t y . F i g u r e 8 i s a n e x a m p l e o f w h a t a r e s o u r c e t r e e a t

    a p h y s i c a l l i n k m i g h t l o o k l i k e w i t h t h r e e V P N s . I n

    t h i s e x a m p l e , V P N 3 r e s e r v e d 4 0 o f t h e l i n k b a n d -

    w i d t h , w h i c h e n s u r e s t h a t t h e v i r t u a l l i n k o f V P N 3

    h a s a c a p a c i t y o f a b o u t 6 2 M b p s . T h e h i e r a r c h i c a l

    s c h e d u l e r a l l o w s a V P N t o f u r t h e r d i v i d e i t s b a n d -

    w i d t h a c r o s s t h e t r a c c l a s s e s i t c a r r i e s b y c r e a t i n g

    a s u b t r e e . F o r i n s t a n c e , V P N 3 a l l o c a t e s 4 0 o f i t s

    b a n d w i d t h t o i t s T C P t r a c i n o u r e x a m l e .

    V N S u s e s t h e H i e r a r c h i c a l F a i r S e r v i c e C u r v e H -

    F S C 2 7 p a c k e t s c h e d u l e r d e v e l o p e d i n t h e c o n t e x t

    o f D a r w i n . A n a d v a n t a g e o f u s i n g H - F S C a s o p p o s e d

    t o o t h e r c l a s s b a s e d s c h e d u l i n g d i s c i p l i n e s u c h a s H -

    P F Q 2 a n d C B Q 1 4 i s H - F S C ' s e x i b i l i t y i n d e n -

    i n g a n d e n f o r c i n g Q o S o n a m u l t i - t i e r h i e r a r c h y . U n -

    l i k e H - P F Q a n d C B Q , H - F S C i s c a p a b l e o f d e c o u p l i n g

    t h e a l l o c a t i o n o f d e l a y a n d b a n d w i d t h r e s o u r c e s a n d

    c h a r a c t e r i z i n g t h e p r o v i d e d s e r v i c e p r e c i s e l y . A s a r e -

    s u l t , r e a l - t i m e t r a c c a n e n j o y a l o w d e l a y w i t h o u t

    o v e r - r e s e r v i n g r e s o u r c e s . T h i s a l l o w s t h e r o u t e r t o

    h a v e g r e a t e r e x i b i l i t y i n r e s o u r c e a l l o c a t i o n a n d i n -

    c r e a s e s r e s o u r c e u t i l i z a t i o n . W e e x t e n d e d t h e p a c k e t

    c l a s s i e r f r o m t h e D a r w i n i m p l e m e n t a t i o n t o s u p p o r t

    V P N - I D b a s e d c l a s s i c a t i o n .

    2

    A n o t h e r i m p o r t a n t p r o p e r t y o f t h e H - F S C s c h e d -

    u l e r i s t h a t i t a l l o w s s i b l i n g n o d e s i n t h e r e s o u r c e t r e e

    t o b o r r o w b a n d w i d t h f r o m e a c h o t h e r w h e n p o s s i b l e .

    T h i s m e a n s t h a t i f a o w i n s i d e a V P N d o e s n o t u s e

    a l l t h e b a n d w i d t h t h a t i s a l l o c a t e d t o i t , o t h e r o w s

    w i t h i n t h e s a m e V P N w i l l r s t h a v e t h e o p p o r t u n i t y

    t o u s e t h a t b a n d w i d t h . I f a V P N d o e s n o t f u l l y u t i l i z -

    i n g i t s c a p a c i t y o n a v i r t u a l l i n k , t h e e x t r a b a n d w i d t h

    w i l l b e s h a r e d b y t r a c b e l o n g i n g t o o t h e r c o e x i s t -

    i n g V P N s . T h i s a d d i t i o n a l p e r f o r m a n c e g a i n f r o m

    s t a t i s t i c a l m u l t i p l e x i n g d e m o n s t r a t e s t h a t V P N s i n

    V N S c a n a c t u a l l y d o b e t t e r t h a n a p h y s i c a l p r i v a t e

    n e t w o r k w i t h x e d c a p a c i t y .

    2

    I n t h e c a s e o f e n c r y p t e d t r a c , a n a d d i t i o n a l o w i d e n t i -

    e r m u s t b e a d d e d t o t h e p a c k e t h e a d e r a t t h e i n g r e s s r o u t e r

    i n o r d e r t o d i e r e n t i a t e b e t w e e n o w s i n s i d e t h e V P N . T h i s

    f e a t u r e i s n o t i m p l e m e n t e d i n t h e c u r r e n t V N S p r o t o t y p e .

  • 7/28/2019 Customizable vpn Service with Qos

    10/17

    1 0

    3 . 2 V i r t u a l i z a t i o n o f t h e C o n t r o l

    P l a n e P r o t o c o l s

    T h e c o n t r o l p l a n e o f a c o m m o d i t y P C r o u t e r r u n -

    n i n g t h e U n i x o p e r a t i n g s y s t e m t y p i c a l l y c o n s i s t s o f

    u s e r - l e v e l d a e m o n s t h a t i m p l e m e n t v a r i o u s c o n t r o l

    p r o t o c o l s . F o r e x a m p l e , a r o u t i n g d a e m o n c r e a t e s

    a n d m a i n t a i n s t h e r o u t i n g t a b l e o n a r o u t e r , w h i c h

    g o v e r n s t h e p a c k e t f o r w a r d i n g b e h a v i o r , b y e x c h a n g -

    i n g r o u t i n g p r o t o c o l m e s s a g e s w i t h p e e r r o u t i n g d a e -

    m o n s o n o t h e r r o u t e r s i n t h e n e t w o r k . I n a t r a -

    d i t i o n a l p h y s i c a l n e t w o r k , n e t w o r k a d m i n i s t r a t o r s

    c a n d e p l o y a d i e r e n t r o u t i n g p r o t o c o l b y i n s t a l l i n g

    n e w r o u t i n g d a e m o n s o n t h e r o u t e r s w i t h i n t h e n e t -

    w o r k . S i m i l a r l y , w e w o u l d l i k e t h e a d m i n i s t r a t o r s o f

    V P N s t o b e a b l e t o c h o o s e a n d d e p l o y t h e i r o w n c o n -

    t r o l p l a n e p r o t o c o l s a n d n e t w o r k m a n a g e m e n t p o l i -

    c i e s w i t h i n t h e i r V P N . T o m e e t t h i s r e q u i r e m e n t , t h e

    c o n t r o l p l a n e o f t h e n e t w o r k t h a t s u p p o r t s V P N s e r -

    v i c e s n e e d s t o b e v i r t u a l i z e d . I n o t h e r w o r d s , t h e

    c o n t r o l p l a n e c a n b e s u b - d i v i d e d i n t o m u l t i p l e V P N

    c o n t r o l p l a n e s , e a c h r u n n i n g a V P N - s p e c i c s e t o f

    c o n t r o l d a e m o n s .

    3 . 2 . 1 D a r w i n P r o g r a m m a b i l i t y S u p p o r t

    T o c o n t r o l t h e b e h a v i o r o f t h e r o u t e r , a c o n t r o l p r o -

    t o c o l d a e m o n n e e d s t o i n t e r a c t w i t h m o d u l e s i n t h e

    d a t a p l a n e , e . g . , a r o u t i n g d a e m o n m u s t b e a b l e t o

    u p d a t e t h e r o u t i n g t a b l e i n t h e k e r n e l , a n d a s i g n a l -

    i n g d a e m o n m u s t b e a b l e t o c h a n g e t h e s t a t e s o f t h e

    c l a s s i e r a n d s c h e d u l e r . H o w e v e r , a t r a d i t i o n a l r o u t e r

    i s s h i p p e d a s a c l o s e d b o x " w i t h a s e t o f s t a n d a r d

    v e n d o r p r o t o c o l s . I t i s d i c u l t i f n o t i m p o s s i b l e f o r

    u s e r s t o i n s t a l l a n y c u s t o m i z e d c o n t r o l p r o t o c o l s . I n

    t h i s p r o j e c t , w e t a k e o n a p r o g r a m m a b l e n e t w o r k a p -

    p r o a c h t o s u p p o r t c o n t r o l p l a n e v i r t u a l i z a t i o n . I n a

    p r o g r a m m a b l e n e t w o r k , t h e c o n t r o l p l a n e f u n c t i o n -

    a l i t y o f t h e r o u t e r s c a n b e e x t e n d e d d y n a m i c a l l y b y

    i n s t a l l i n g c u s t o m i z e d c o n t r o l p r o t o c o l s o n t h e r o u t e r .

    T h e s e p r o t o c o l c a n m o d i f y t h e f o r w a r d i n g b e h a v i o r

    o f t h e d a t a p l a n e i n a c o n t r o l e d f a s h i o n t h r o u g h a

    p r o g r a m m i n g i n t e r f a c e .

    V N S l e v e r a g e s t h e p r o g r a m m a b i l i t y o f t h e D a r -

    w i n s y s t e m 8 t o d y n a m i c a l l y d e p l o y V P N - s p e c i c

    c o n t r o l p r o t o c o l s . I n D a r w i n , m o b i l e c o d e s e g m e n t s ,

    c a l l e d d e l e g a t e s , c a n b e t r a n s f e r r e d t o t h e r o u t e r a n d

    i n s t a n t i a t e d i n t h e D e l e g a t e R u n t i m e E n v i r o n m e n t

    D R E u s i n g t h e B e a g l e s i g n a l i n g p r o t o c o l . D e l e g a t e s

    c a n i m p l e m e n t c o n t r o l p l a n e p r o t o c o l s , c u s t o m i z e d

    c o n t r o l p o l i c i e s , o r c u s t o m i z e d s e r v i c e s . T h e y r u n a t

    u s e r l e v e l w i t h i n t h e D R E a n d c h a n g e t h e r o u t e r ' s

    b e h a v i o r b y c o n t r o l i n g d a t a p l a n e m o d u l e s , s u c h a s

    t h e c l a s s i e r , r o u t i n g t a b l e a n d t h e s c h e d u l e r t h r o u g h

    D a r w i n ' s p r o g r a m m i n g i n t e r f a c e , t h e R o u t e r C o n t r o l

    I n t e r f a c e R C I 1 6 . D e l e g a t e s c a n o n l y m o d i f y t h e

    f o r w a r d i n g b e h a v i o r t h e t r a c o w s t h a t a r e e x p l i c -

    i t l y a s s i g n e d t o t h e m .

    3 . 2 . 2 R o u t i n g V i r t u a l i z a t i o n

    W e d e m o n s t r a t e c o n t r o l p l a n e v i r t u a l i z a t i o n b y s h o w -

    i n g t h a t V P N s p e c i c r o u t i n g p r o t o c o l s c a n b e d e -

    p l o y e d u s i n g d e l e g a t e s . D u r i n g V P N s e t u p , d e l e g a t e s

    i m p l e m e n t i n g a s e l e c t e d r o u t i n g p r o t o c o l a r e i n s t a l l e d

    o n a l l t h e v i r t u a l r o u t e r s o f t h e V P N . T h e c o o r d i -

    n a t e d a c t i o n s o f t h e s e r o u t i n g d e l e g a t e s w i l l c r e a t e

    V P N s p e c i c r o u t i n g t a b l e s a c c o r d i n g t o t h e V P N ' s

    t o p o l o g y . T h i s m e a n s t h a t a v i r t u a l r o u t e r w i l l h a v e

    m u l t i p l e r o u t i n g d e l e g a t e s r u n n i n g , e a c h r e s p o n s i b l e

    f o r t h e t r a c o f a s e p a r a t e V P N .

    T o d e m o n s t r a t e t h e c o n c e p t o f r o u t i n g v i r t u a l i z a -

    t i o n , w e u s e R I P - 2 1 9 a s a n i n t r a - V P N r o u t i n g p r o -

    t o c o l . F o r e a c h V P N , a s e p a r a t e R I P - 2 r o u t i n g d a e -

    m o n w i l l b e s t a r t e d b y B e a g l e . W e m o d i e d t h e e x -

    i s t i n g C A I R N r o u t i n g d a e m o n , m r t d 2 6 t o s u p p o r t

    m u l t i p l e R I P c l o u d s o v e r a s i n g l e p h y s i c a l n e t w o r k .

    T h e R I P - 2 s p e c i c a t i o n r e q u i r e s a l l R I P m e s s a g e s t o

    b e e x c h a n g e d a t t h e m u l t i c a s t a d d r e s s 2 2 4 . 0 . 0 . 9 a n d

    p o r t 5 2 0 . I n o r d e r t o s u p p o r t m u l t i p l e R I P c l o u d s ,

    w e e x t e n d t h e R I P p r o t o c o l t o s u p p o r t t h e e x c h a n g e

    o f R I P m e s s a g e s a t a n a s s i g n a b l e p o r t n u m b e r . T h e

    i d e a h e r e i s t o a l l o w a V P N t o s e l e c t a n u n u s e d p o r t

    n u m b e r a t t h e R I P m u l t i c a s t a d d r e s s a n d h a v e V P N

    r o u t i n g d a e m o n s u s e t h a t p o r t n u m b e r f o r R I P m e s -

    s a g e s . T h i s w a y , w e e n s u r e i s o l a t i o n o f V P N s p e c i c

    R I P m e s s a g e s a n d p r e v e n t V P N s f r o m l e a k i n g r o u t e s

    i n t o e a c h o t h e r s ' d o m a i n . I n o u r i m p l e m e n t a t i o n ,

    p o r t 5 2 0 r e m a i n s a s t h e p o r t u s e d b y R I P - 2 f o r d e -

    f a u l t r o u t i n g , a n d f o r e a c h V P N d e p l o y e d , V A N E S A

    a s s i g n s a u n i q u e a n d w e l l k n o w n p o r t n u m b e r t o t h e

    V P N . A l l R I P - 2 m e s s a g e s p e r t i n e n t t o t h i s V P N w i l l

    t h e n b e e x c h a n g e d v i a t h i s p o r t .

    A n o t h e r p o s s i b l e a p p r o a c h w o u l d b e t o a s s i g n e a c h

    V P N w i t h a s p e c i c m u l t i c a s t a d d r e s s f o r R I P - 2 p r o -

    t o c o l m e s s a g e s . T h i s a d d r e s s w o u l d b e c h o s e n f r o m

    t h e a d m i n i s t r a t i v e l y s c o p e d r a n g e 2 3 9 . 1 9 2 1 4 2 1

    a n d t h e o n l y r e q u i r e m e n t i s t h a t t h e m u l t i c a s t a d -

  • 7/28/2019 Customizable vpn Service with Qos

    11/17

    1 1

    d r e s s m u s t b e u n i q u e l y m a p p e d t o a s p e c i c V P N .

    T h i s a p p r o a c h h a s t h e a d v a n t a g e t h a t a r o u t e r w i l l

    o n l y r e c e i v e V P N - s p e c i c R I P - 2 m e s s a g e s i f t h e

    r o u t e r i s a v i r t u a l r o u t e r i n t h e V P N , b u t i t r e q u i r e s

    t h a t m u l t i c a s t i s a v a i l a b l e .

    T h e V N S a p p r o a c h o f e x e c u t i n g i n d e p e n d e n t p e r -

    V P N r o u t i n g d a e m o n s o n a r o u t e r o e r s c u s t o m e r s

    t h e e x i b i l i t y o f d e p l o y i n g V P N s p e c i c r o u t i n g p r o -

    t o c o l s . H o w e v e r , i t h a s t h e d i s a d v a n t a g e t h a t i t w i l l

    n o t s c a l e w e l l t o l a r g e n u m b e r s o f V P N s . E a c h r o u t -

    i n g d a e m o n w i l l c o n s u m e r e s o u r c e s s u c h a s C P U c y -

    c l e s a n d m e m o r y , w h i c h m a y d e g r a d e t h e r o u t e r ' s p e r -

    f o r m a n c e w h e n i t s u p p o r t s a l a r g e n u m b e r o f V P N s .

    W h e n m u l t i p l e V P N s u s e t h e s a m e r o u t i n g p r o t o -

    c o l , w e c a n r e d u c e t h e n u m b e r o f r o u t i n g d a e m o n s

    b y d e p l o y i n g a s i n g l e r o u t i n g d e l e g a t e t h a t s e n d s a n d

    r e c e i v e s a l l t h e r o u t i n g m e s s a g e s b e l o n g i n g t o t h e

    V P N s u s i n g t h e s a m e r o u t i n g p r o t o c o l . T h e d e l e -

    g a t e t h e n d e m u l t i p l e x e s t h e m e s s a g e s i n t e r n a l l y t o

    c o m p u t e r o u t e s f o r e a c h V P N s e p a r a t e l y .

    B e s i d e s m u l t i p l e r o u t i n g d a e m o n s , r o u t i n g v i r t u a l -

    i z a t i o n a l s o r e q u i r e s m u l t i p l e r o u t i n g t a b l e s i n t h e

    d a t a p l a n e . W e m a d e e x t e n s i o n s t o t h e F r e e B S D

    U n i x f o r w a r d i n g m e c h a n i s m s o t h a t p a c k e t s b e l o n g -

    i n g t o d i e r e n t V P N s a r e f o r w a r d e d b y l o o k i n g u p

    t h e n e x t h o p i n a V P N - s p e c i c f o r w a r d i n g t a b l e . W e

    d i s c u s s t h e d e t a i l s o f t h i s e x t e n s i o n t o t h e f o r w a r d i n g

    m e c h a n i s m l a t e r i n t h i s s e c t i o n .

    3 . 2 . 3 Q o S m a n a g e m e n t w i t h i n a V P N

    A v i r t u a l i z e d r o u t e r c o n t r o l p l a n e a l l o w s a V P N t o d e -

    p l o y o t h e r V P N - s p e c i c c o n t r o l p l a n e p r o t o c o l s . A s

    a n e x a m p l e , w e d i s c u s s h o w a V P N c a n d e p l o y i t s o w n

    s i g n a l i n g p r o t o c o l t o p e r f o r m V P N - s p e c i c r e s o u r c e

    m a n a g e m e n t .

    A s d i s c u s s e d e a r l i e r , e a c h v i r t u a l r o u t e r e m p l o y s a

    h i e r a r c h i c a l p a c k e t s c h e d u l e r , i . e . , t h e b a n d w i d t h o f

    e a c h l i n k i s s h a r e d i n a h i e r a r c h i c a l f a s h i o n . A s s h o w n

    i n F i g u r e 8 , t h e r s t l e v e l i n t h e r e s o u r c e t r e e c o r r e -

    s p o n d s t o t h e b a n d w i d t h s h a r i n g a c r o s s t h e V P N s

    r u n n i n g o n t h e p h y s i c a l l i n k . T o f u r t h e r e x p l o i t t h e

    m e r i t o f t h e h i e r a c h i c a l s c h e d u l e r , t h e o w n e r o f a V P N

    l i n k , i . e . , a n o d e i n t h e r s t t i e r o f t h e r e s o u r c e t r e e ,

    c a n s e t u p m o r e s o p h i s t i c a t e d b a n d w i d t h s h a r i n g p o l -

    i c y f o r a p p l i c a t i o n s r u n n i n g w i t h i n i t s V P N , a s i s i l -

    l u s t r a t e d f o r V P N 3 i n F i g u r e 8 .

    T o m a n a g e t h e r e s o u r c e r e s e r v a t i o n s w i t h i n a v i r -

    t u a l n e t w o r k , a n d a V P N m a y n e e d t o d e p l o y i t s o w n

    s i g n a l i n g p r o t o c o l . T h i s c a n b e d o n e b y i n s t a n t i a t -

    i n g p e r - V P N s i g n a l i n g d e a m o n s e . g . B e a g l e , R S V P ,

    s i m i l a r t o w h a t V N S d o e s f o r r o u t i n g d a e m o n s . S i -

    g a l i n g m e s s a g e s m u s t b e t a g g e d w i t h a V P N - I D , t h e

    s a m e w a y a s o t h e r V P N t r a c , a n d t h e y w i l l b e f o r -

    w a r d e d a c c o r d i n g t o t h e V P N t o p o l o g y , i . e . , u s e t h e

    V P N f o r w a r d i n g t a b l e m a n a g e d b y t h e r o u t i n g d e l e -

    g a t e o f t h a t V P N . T h e a c t i o n s o f t h e s i g n a l i n g d a e -

    m o n w i l l b e r e s t r i c t e d t o t h e r e s o u r c e s o f a s p e c i c

    V P N , i . e . t h e d a e m o n w i l l o n l y b e a b l e t o m o d i f y t h e

    r e s o u r c e a l l o c a t i o n s w i t h i n a s p e c i c s u b t r e e o f t h e

    r e s o u r c e t r e e .

    3 . 3 V i r t u a l i z a t i o n o f F o r w a r d i n g

    M e c h a n i s m

    I n t h i s s e c t i o n , w e w i l l d i s c u s s a s p e c i c v i r t u a l i z a t i o n

    t e c h n i q u e f o r f o r w a r d i n g p a c k e t s a c c o r d i n g t o v i r t u a l

    t o p o l o g i e s . C o n c e p t u a l l y , t h i s m e a n s t h a t w e m a y

    h a v e t o f o r w a r d p a c k e t s d e s t i n e d f o r t h e s a m e d e s t i -

    n a t i o n e g r e s s r o u t e r d i e r e n t . H o w e v e r , F r e e B S D

    U n i x o n l y s u p p o r t s s i n g l e p a t h r o u t i n g 2 0 . T h i s i s

    a n i n h e r e n t l i m i t a t i o n o f t h e f o r w a r d i n g t a b l e r a d i x -

    t r e e b a s e d l o o k u p a l g o r i t h m a n d d a t a s t r u c t u r e s 2 5 .

    O u r s o l u t i o n f o r r o u t e i s o l a t i o n i n t h e f o r w a r d i n g

    m e c h a n i s m i s t o s i m p l y r e q u i r e t h e s y s t e m t o m a i n -

    t a i n a s e p a r a t e f o r w a r d i n g t a b l e f o r e a c h V P N . E v e r y

    f o r w a r d i n g t a b l e i s p o p u l a t e d w i t h r o u t e s c o m p u t e d

    b a s e d o n t h e V P N ' s v i r t u a l t o p o l o g y . W h e n e v e r a

    p a c k e t a r r i v e s a t a r o u t e r a n d n e e d s t o f o r w a r d e d ,

    t h e f o r w a r d i n g m e c h a n i s m c l a s s i e s t h e p a c k e t . I f

    t h e p a c k e t i s c l a s s i e d t o a V P N , i t w i l l b e f o r w a r d e d

    b a s e d o n a r o u t e l o o k u p u s i n g t h a t V P N ' s f o r w a r d i n g

    t a b l e . M o r e o v e r , o u r s y s t e m ' s r o u t i n g a r c h i t e c t u r e

    m u s t c o r r e c t l y d e m u l t i p l e x r o u t i n g m e s s a g e s t h a t a r e

    e x c h a n g e d b e t w e e n t h e u s e r s p a c e a n d t h e k e r n e l

    s p a c e . I n t h e r e m a i n d e r o f t h i s s e c t i o n , w e p r e s e n t

    t h e e x t e n s i o n s t h a t w e m a d e t o t h e F r e e B S D U n i x

    r o u t i n g s y s t e m .

    3 . 3 . 1 P a c k e t F o r w a r d i n g i n F r e e B S D U n i x

    I n a F r e e B S D U n i x r o u t e r , t h e u s e r - l e v e l r o u t i n g d a e -

    m o n a n d t h e k e r n e l c o m m u n i c a t e u s i n g m e s s a g e s 3 2 .

    T h e c o r e i n f o r m a t i o n c a r r i e d i n t h e s e m e s s a g e s a r e

    a d d r e s s e s o f d e s t i n a t i o n s a n d g a t e w a y s . T h e s e a d -

    d r e s s e s a r e s t o r e d a s o n e o r m o r e s o c k a d d r s t r u c -

    t u r e s i n t h e p a y l o a d o f t h e s e m e s s a g e s . F i g u r e 9 i s

  • 7/28/2019 Customizable vpn Service with Qos

    12/17

    1 2

    User space

    Kernel space

    Forwarding

    MechanismAF_INET

    rt_tables[]

    forwarding tablefor IP network

    routingdaemon

    socket

    type Seq sockaddr structs

    raw socket control blocks

    F i g u r e 9 : F o r w a r d i n g M e c h a n i s m i n F r e e B S D U n i x

    a s i m p l i e d i l l u s t r a t i o n o f t h e f o r w a r d i n g m e c h a n i s m

    i n F r e e B S D U n i x .

    F o r w a r d i n g a n d r o u t i n g a r e o r g a n i z e d o n t h e b a s i s

    o f d i e r e n t a d d r e s s f a m i l i e s . S e p a r a t e r o u t i n g t a b l e s

    a r e u s e d f o r d i e r e n t a d d r e s s f a m i l i e s , a n d r o u t i n g

    d a e m o n s i n f o r m t h e k e r n e l w h a t f a m i l y o f a d d r e s s e s

    t h e y a r e r e s o n s i b l e f o r . T o m a k e t h i s s y s t e m w o r k

    c o r r e c t l y , r o u t i n g m e s s a g e s m u s t b e d e m u l t i p l e x e d t o

    t h e a p p r o p r i a t e r o u t i n g d a e m o n a n d f o r w a r d i n g t a b l e

    u p d a t e s h a v e t o b e a p p l i e d t o t h e r i g h t t a b l e . A l s o ,

    w h e n t h e r e a r e l o c a l c h a n g e s i n r o u t e s o r r o u t e p o l i -

    c i e s , t h e k e r n e l ' s r o u t i n g s u b s y s t e m m u s t b e a b l e t o

    d i s p a t c h t h e s e c h a n g e s t o t h e c o r r e c t r o u t i n g d a e m o n .

    T o d e m u l t i p l e x t o t h e c o r r e c t f o r w a r d i n g t a b l e ,

    a p o i n t e r t o t h e f o r w a r d i n g t a b l e i s o b t a i n e d b y

    u s i n g t h e s a f a m i l y e l d o f a d d r e s s e s a s a n i n -

    d e x i n t o t h e r t t a b l e s a r r a y . S i m i l a r l y , t o d i s -

    p a t c h r o u t i n g m e s s a g e s t o r o u t i n g d a e m o n s , t h e

    f o r w a r d i n g m e c h a n i s m s e a r c h e s t h r o u g h t h e c o n t r o l

    b l o c k l i s t i n t h e k e r n e l i n o r d e r t o n d a c o n -

    t r o l b l o c k w h i c h w o u l d g i v e a b a c k p o i n t e r t o t h e

    r o u t i n g d a e m o n . T h e s e a r c h s t r a t e g y i s a n e x -

    h a u s t i v e s e a r c h t h a t r e t u r n s a n y c o n t r o l b l o c k t h a t

    h a s i t s d o m a i n , p r o t o c o l v a l u e s m a t c h i n g t h e k e y

    P F R O U T E , p r o t o c o l f a m i l y o f a d d r e s s

    I t i s c l e a r t h a t t h e a b o v e r o u t i n g a r c h i t e c t u r e c a n -

    n o t s u p p o r t t h e m u l t i p l e f o r w a r d i n g t a b l e s o l u t i o n

    n e e d e d f o r p e r - V P N p a c k e t f o r w a r d i n g a n d r o u t i n g .

    A l l a d d r e s s e s i n t h e V P N s a r e I P a d d r e s s e s a n d

    w i l l t h e r e f o r e h a v e t h e p r o t o c o l f a m i l y e l d s e t t o

    A F I N E T . A s a r e s u l t , a l l V P N s w i l l s h a r e t h e s a m e

    I P f o r w a r d i n g t a b l e a n d a n y r o u t i n g u p d a t e w i l l b e

    d i s p a t c h e d t o a l l V P N r o u t i n g d a e m o n s . A n y f o r -

    w a r d i n g t a b l e u p d a t e s w i l l l e a k " t o o t h e r V P N s .

    3 . 3 . 2 R o u t i n g a n d P a c k e t F o r w a r d i n g i n

    V N S

    W e p r o v i d e p e r - V P N p a c k e t f o r w a r d i n g b y s u p -

    p o r t i n g d e m u l t i p l e x i n g t o d i e r e n t f o r w a r d i n g t a b l e s

    b a s e d o n t h e V P N I D , a s i s i l l u s t r a t e d i n F i g u r e 1 0 .

    T h i s r e q u i r e s t h a t w e v i r t u a l i z e t h e t h e v a r i o u s k e r -

    n e l d a t a s t r u c t u r e s i n v o l v e d i n r o u t i n g a n d p a c k e t

    f o r w a r d i n g :

    1 . C r e a t e a n a r r a y v p n r t t a b l e s f o r V P N f o r -

    w a r d i n g t a b l e s

    A t c o m p i l e t i m e t h e k e r n e l a l l o c a t e s t w o a r -

    r a y s ; v p n r t t a b l e s f o r V P N f o r w a r d i n g t a -

    b l e s a n d r t t a b l e s f o r f o r w a r d i n g t a b l e s o f

  • 7/28/2019 Customizable vpn Service with Qos

    13/17

    1 3

    kernel space

    user space

    Network Interface

    Network Interface Device Driver

    IP Forward IP OutputIP Input

    IF Output

    Forwarding

    mechanism

    forwarding

    mechanism

    Default

    Forwarding

    Table

    VPNForwarding

    Tableis

    VPN?N

    Y

    F i g u r e 1 0 : V i r t u a l i z a t i o n o f f o r w a r d i n g m e c h a n i s m i n a V N S r o u t e r ' s k e r n e l

    a l l o t h e r p r o t o c o l f a m i l i e s . E a c h e n t r y i n

    v p n r t t a b l e s c o n t a i n s a p o i n t e r t o a f o r -

    w a r d i n g t a b l e a n d a n u n s i g n e d i n t e g e r t h a t

    s t o r e s t h e V P N - I D f o r t h e a s s o c i a t e d f o r w a r d i n g

    t a b l e .

    2 . I n i t i a l i z e r o u t i n g d a e m o n w i t h V P N - I D

    W h e n a r o u t i n g d a e m o n i s i n s t a n t i a t e d , i t i s

    g i v e n t h e V P N - I D o f t h e V P N i t i s r e s p o n s i b l e

    f o r . T h i s V P N - I D i s u s e d b y t h e r o u t i n g d a e m o n

    t o i n t e r a c t w i t h t h e k e r n e l .

    3 . L a b e l r o u t i n g s o c k e t s w i t h a V P N - I D

    W e a u g m e n t e d t h e k e r n e l s o c k e t s t r u c t u r e w i t h

    a n a d d i t i o n a l u n s i g n e d i n t e g e r e l d n a m e d

    v p n i d . A f t e r a V P N r o u t i n g d a e m o n h a s c r e -

    a t e d a r o u t i n g s o c k e t , i t w i l l m a k e a n a d d i t i o n a l

    i o c t l s y s t e m c a l l t o s e t t h e v p n i d e l d o f t h e

    s o c k e t s t r u c t u r e i n t h e k e r n e l t o t h e V P N - I D o f

    t h e V P N .

    4 . L a b e l t h e r a w s o c k e t c o n t r o l b l o c k s w i t h a V P N -

    I D

    W e m o d i e d t h e r a w s o c k e t c o n t r o l b l o c k s t r u c -

    t u r e b y a d d i n g a e l d n a m e d v p n i d . A s i n s t e p

    3 v p n i d i s s e t t o t h e V P N - I D o f t h e V P N a s -

    s o c i a t e d w i t h t h e r o u t i n g d a e m o n .

    A l l t h e f u n c t i o n s r e s p o n s i b l e f o r p r o c e s s i n g r o u t i n g

    m e s s a g e s e n t e r i n g t h e k e r n e l f r o m u s e r s p a c e h a v e

    a c c e s s t o t h e k e r n e l s o c k e t s t r u c t u r e o f t h e p r o c e s s

    t h a t g e n e r a t e d t h e r o u t i n g m e s s a g e s . A s a r e s u l t ,

    w e c a n u s e t h e v p n i d e l d i n t h e k e r n e l s o c k e t t o

    a s s o c i a t e t h e r o u t i n g m e s s a g e s w i t h t h e c o r r e c t V P N .

    F o r e x a m p l e , u s i n g t h e v p n i d e l d a s t h e i n d e x t o

    t h e v p n r t t a b l e s a r r a y , w e c a n e a s i l y o b t a i n t h e

    p o i n t e r t o t h e a p p r o p r i a t e V P N f o r w a r d i n g t a b l e .

    I n t h e o t h e r d i r e c t i o n , w h e n r o u t i n g m e s s a g e s

    n e e d s t o b e d i s p a t c h e d t o t h e r o u t i n g d a e m o n , w e

    c a n n o t e a s i l y a s s o c i a t e t h e s e r o u t i n g m e s s a g e s w i t h

    a k e r n e l s o c k e t . I n t h e I P d o m a i n , t h e f o r w a r d i n g

    m e c h a n i s m u s e s P F R O U T E , A F I N E T a s t h e s e a r c h

    k e y t o n d a m a t c h f r o m t h e l i s t o f r a w s o c k e t c o n -

    t r o l b l o c k s . W e e x t e n d e d t h e s e a r c h t o u s e t h e t u -

    p l e P F R O U T E , V P N - I D . W i t h i n t h e f o r w a r d i n g

    m e c h a n i s m , w e o v e r l o a d e d t h e f u n c t i o n a l i t y o f t h e

    s a f a m i l y e l d i n s o c k a d d r t o e n c o d e t h e V P N - I D

    i n t h e f o l l o w i n g w a y . I f i t s v a l u e f a l l s o u t s i d e t h e s e t

    o f w e l l - k n o w n p r o t o c o l f a m i l i e s , t h e n w e k n o w t h a t

    s a f a m i l y m u s t b e a V P N - I D . C o n s e q u e n t l y , i n t h e

    s e a r c h f o r t h e c o r r e s p o n d i n g r a w s o c k e t c o n t r o l b l o c k ,

    t h e v p n i d e l d i n t h e c o n t r o l b l o c k s t r u c t u r e w i l l b e

    u s e d f o r c o m p a r i s o n .

    F i n a l l y , a n e x t r a s t e p i s a d d e d i n t o t h e p a c k e t f o r -

    w a r d i n g m e c h a n i s m . A s s h o w n i n F i g u r e 1 0 , a r o u t e

    l o o k u p i s p e r f o r m e d i n t h e I P F O R W A R D m o d u l e a f t e r

    t h e I P I N P U T m o d u l e d e t e r m i n e s t h a t a p a c k e t h a s

    y e t t o r e a c h i t s n a l d e s t i n a t i o n . I n V N S , t h e e x t r a

    s t e p i n v o l v e d i n t h i s l o o k u p c o n s i s t o f a c l a s s i c a t i o n

  • 7/28/2019 Customizable vpn Service with Qos

    14/17

    1 4

    s t e p t o d e t e r m i n e i f t h e p a c k e t b e l o n g s t o a V P N .

    T h e c l a s s i c a t i o n s t e p c h e c k s f o r t h e a v a i l a b i l i t y o f

    t h e I P O P T S A T I D o p t i o n i n t h e p a c k e t h e a d e r . I f t h e

    o p t i o n e x i s t s , t h e p a c k e t i s a s s u m e d t o b e a V P N

    p a c k e t a n d t h e o p t i o n v a l u e i s u s e d a s t h e V P N - I D .

    T h e d e s t i n a t i o n a d d r e s s o f t h e p a c k e t i s t h e n p a c k e d

    i n t o a s o c k a d d r s t r u c t u r e a n d t a g g e d w i t h t h e V P N -

    I D . T h i s s o c k a d d r s t r u c t u r e i s t h e n p a s s e d t o t h e

    f o r w a r d i n g m e c h a n i s m f o r a r o u t e l o o k u p .

    O u r v i r t u a l i z a t i o n o f t h e f o r w a r d i n g m e c h a n i s m i s

    s t r a i g h t f o r w a r d a n d r e s u l t s i n n o c h a n g e s t o t h e t r e e -

    b a s e d f o r w a r d i n g t a b l e l o o k u p a l g o r i t h m a n d i t s a s -

    s o c i a t e d d a t a s t r u c t u r e s . A n a l t e r n a t i v e w o u l d b e

    r e v a m p t h e f o r w a r d i n g t a b l e l o o k u p a l g o r i t h m a n d

    d a t a s t r u c t u r e s , a s i s d o n e i n t h e D e t o u r p r o j e c t 1 0 ,

    o r t o u s e M P L S . A m o r e d e t a i l e d d i s c u s s i o n o f D e -

    t o u r a n d M P L S i n c o m p a r i s o n t o V N S i s p r o v i d e d i n

    S e c t i o n 4 .

    4 R e l a t e d W o r k

    O n e o f t h e d i s t i n g u i s h i n g f e a t u r e s o f V N S i s t h a t i t

    c a n p r o v i d e V P N s e r v i c e s w i t h c u s t o m i z a b l e i n t r a -

    V P N Q o S s u p p o r t . T o t h e b e s t o f o u r k n o w l e d g e ,

    o t h e r a p p r o a c h e s s u c h a s t h e X - B o n e 3 0 , G e n e s i s 6

    a n d S u p r a n e t 1 3 a r e m o r e f o c u s e d o n p r o v i d i n g a n

    o v e r a l l s e r v i c e a r c h i t e c t u r e a n d h a v e n o t f u l l y d e -

    v e l o p e d t e c h n i q u e s f o r e n a b l i n g p e r - V P N Q o S . E a r -

    l i e r r e s e a r c h i n v i r t u a l n e t w o r k s e r v i c e s , s u c h a s 1 5 ,

    2 4 , a n d 7 f o c u s e d o n V P N s e r v i c e s o n b r o a d -

    b a n d A T M n e t w o r k s , i . e . t h e y d e l e l o p e d m e t h o d s

    f o r m a n a g i n g a n d m a p p i n g V P N s o n v i r t u a l c i r c u i t s .

    W h i l e s o m e m e a s u r e o f Q o S i s a t t a i n a b l e t h r o u g h

    d e d i c a t e d v i r t u a l c i r c u i t s , t h e s e A T M - b a s e d s o l u -

    t i o n s t y p i c a l l y d o n o t a l l o w b a n d w i d t h s h a r i n g a c r o s s

    V P N s , s i n c e V P N o w s a r e m a p p e d d i r e c t l y t o v i r -

    t u a l c i r c u i t s . T h i s l e a d s t o a l o w e r u t i l i z a t i o n o f t h e

    b a n d w i d t h r e s o u r c e s . O t h e r Q o S s t r a t e g i e s t h a t r e g -

    u l a t e t r a c e x c l u s i v e l y a t t h e i n g r e s s r o u t e r , s u c h

    a s 5 a n d 1 2 , a l s o c a n n o t c a p i t a l i z e o n s t a t i s t i c a l

    m u l t i p l e x i n g g a i n s a s e a s i l y .

    O u r a p p r o a c h t o Q o S i s b a s e d o n a I P l a y e r m e c h -

    a n i s m t h a t p r o v i d e s b a n d w i d t h g u a r a n t e e s t o V P N s

    a n d h a s t h e a d d e d b e n e t o f s t a t i s t i c a l m u l t i p l e x i n g

    g a i n e d t h r o u g h t h e u s e o f t h e H - F S C p a c k e t s c h e d -

    u l e r . W h e n o w s a r e i n a c t i v e , t h e i r u n u s e d b a n d -

    w i d t h c a n b e u t i l i z e d b y o t h e r a c t i v e o w s .

    P r o g r a m m a b l e n e t w o r k r o u t e r a r c h i t e c t u r e f a c i l i -

    t a t e s t h e v i r t u a l i z a t i o n o f a r o u t e r ' s c o n t r o l p l a n e .

    P r o j e c t s s u c h a s T e m p e s t 3 1 , G e n e s i s 6 , a n d V i r -

    t u a l A c t i v e N e t w o r k V A N 2 8 r e p r e s e n t r e c e n t e f -

    f o r t s i n u s i n g c o n c e p t s o f p r o g r a m m a b l e n e t w o r k s f o r

    d e p l o y i n g v i r t u a l n e t w o r k s . T h e i r a p p r o a c h e s a r e

    c o n c e p t u a l l y s i m i l a r t o o u r s . A r c h i t e c t u r a l l y , T e m -

    p e s t i s a n A T M - b a s e d s o l u t i o n t h a t u s e s l o g i c a l e n -

    t i t i e s c a l l e d s w i t c h l e t s f o r i s o l a t i n g m u l t i p l e c o n t r o l

    a r c h i t e c t u r e s . G e n e s i s o n t h e o t h e r h a n d , h a s a n

    a r c h i t e c t u r e f o r s p a w n i n g v i r t u a l n e t w o r k s t h r o u g h

    t h e o p e r a t i n g s y s t e m s e r v i c e s o f t h e G e n e s i s k e r n e l .

    V A N u s e s a f u n c t i o n a l l a n g u a g e 1 1 t o s p e c i f y v i r t u a l

    n e t w o r k s a n d v i r t u a l n e t w o r k s g e n e r a t e d f r o m V A N

    a r e d e p l o y e d a s a p p l i c a t i o n l a y e r t u n n e l s u s i n g U D P

    e n c a p s u l a t i o n . I n V N S , w e l e v e r a g e D a r w i n ' s p r o -

    g r a m m a b l e r o u t e r a r c h i t e c t u r e , w h i c h p r o v i d e s p r o -

    g r a m m a b i l i t y o f t h e r o u t e r s t h r o u g h t h e u s e o f d e l e -

    g a t e s a n d a n o p e n p r o g r a m m i n g i n t e r f a c e c a l l e d R C I .

    V i r t u a l i z a t i o n o f p a c k e t f o r w a r d i n g c a n b e i m p l e -

    m e n t e d i n s e v e r a l d i e r e n t w a y s . T o o u r k n o w l e d g e ,

    V N S a n d D e t o u r a r e t h e o n l y t w o p r o j e c t s t h a t i m -

    p l e m e n t s v i r t u a l f o r w a r d i n g b y m o d i f y i n g t h e b e -

    h a v i o u r o f t h e f o r w a r d i n g m e c h a n i s m i n a r o u t e r ' s

    k e r n e l . V N S v i r t u a l i z e s t h e f o r w a r d i n g m e c h a n i s m

    b y m a i n t a i n i n g m u l t i p l e f o r w a r d i n g t a b l e s t o i s o l a t e

    V P N r o u t e s . I n D e t o u r , t h e f o r w a r d i n g m e c h a n i s m

    l o o k s u p r o u t e s i n a o w d a t a b a s e a n d t u n n e l s p a c k e t s

    u s i n g I P - i n - I P e n c a p s u l a t i o n e v e r y t i m e t h e p a c k e t

    t r a v e r s e s f r o m o n e v i r t u a l n o d e t o a n o t h e r v i r t u a l

    n o d e . I n o u r a p p r o a c h , e n c a p s u l a t i o n o c c u r s o n l y

    o n c e a t t h e e d g e o f t h e n e t w o r k a n d n o t u n n e l i n g i s

    n e e d e d i n t h e c o r e o f t h e n e t w o r k . F u r t h e r m o r e , b e -

    c a u s e r o u t i n g a l g o r i t h m s a r e n o t c o n s i d e r e d a s p a r t

    o f t h e D e t o u r f r a m e w o r k , t h e o w d a t a b a s e u s e d f o r

    r o u t e l o o k u p s i n D e t o u r a r e m a n u a l l y c o n g u r e d w i t h

    r o u t e s . T h e V N S a p p r o a c h a l l o w s f o r a u t o m a t i c c o n -

    s t r u c t i o n o f a V P N f o r w a r d i n g t a b l e b y u s i n g a V P N -

    s p e c i c r o u t i n g p r o t o c o l .

    M P L S - b a s e d V P N s o l u t i o n s s u c h a s 2 3 , 2 2 h a v e

    a l s o b e e n p r o p o s e d . F o r Q o S , t h e s e a p p r o a c h e s r e l y

    o n t r a c e n g i n e e r i n g a n d r e g u l a t i n g t r a c a t t h e

    i n g r e s s r o u t e r u s i n g s e r v i c e m o d e l s s u c h a s D i -

    S e r v 3 . F o r t h e p u r p o s e o f l a b e l l i n g p a c k e t s , M P L S

    b a s e d s o l u t i o n s r e q u i r e t h e i n s e r t i o n o f a s h i m l a y e r

    b e t w e e n l a y e r 2 a n d l a y e r 3 p r o t o c o l s o r o v e r l o a d -

    i n g o f e x i s t i n g l a y e r 2 p r o t o c o l e l d s . T h e n e t w o r k s

    w h e r e s u c h a s e r v i c e i s d e p l o y e d m u s t t h e r e f o r e b e

    M P L S a w a r e . I n c o n t r a s t , t h e V N S a p p r o a c h i s a n

  • 7/28/2019 Customizable vpn Service with Qos

    15/17

  • 7/28/2019 Customizable vpn Service with Qos

    16/17

    1 6

    9 P . C h a n d r a , A . F i s h e r , a n d P . S t e e n k i s t e . A S i g -

    n a l i n g P r o t o c o l f o r S t r u c t u r e d R e s o u r c e A l l o c a -

    t i o n . I n P r o c e e d i n g s o f I E E E I n f o c o m m 9 9 ' , N e w

    Y o r k , N Y , M a r c h 1 9 9 9 .

    1 0 A . C o l l i n s . T h e D e t o u r F r a m e w o r k f o r P a c k e t

    R e r o u t i n g . P h D . Q u a l i f y i n g E x a m i n a t i o n , U n i -

    v e r s i t y o f W a s h i n g t o n , D e p a r t m e n t o f C o m p u t e r

    S c i e n c e a n d E n g i n e e r i n g , N o v e m b e r 1 9 9 8 .

    1 1 S . D a S i l v a , D . F l o r i s s i , a n d Y . Y e m i n i .

    N e t S c r i p t : A L a n g u a g e - B a s e d A p p r o a c h t o A c -

    t i v e N e t w o r k s . T e c h n i c a l r e p o r t , C o m p u t e r S c i

    D e p t . , C o l u m b i a U n i v e r s i t y , N Y , N Y , J a n u a r y

    1 9 9 8 .

    1 2 N . G . D u e l d , P . G o y a l , A . G r e e n b e r g ,

    P . M i s h r a , K . K . R a m a k r i s h n a n , a n d J . E . v a n d e r

    M e r w e . A e x i b l e m o d e l f o r r e s o u r c e m a n a g e -

    m e n t i n v i r t u a l p r i v a t e n e t w o r k s . I n P r o c e e d -

    i n g s o f A C M S I G C O M M 1 9 9 9 , p a g e s 9 5 1 0 8 ,

    S e p t e m b e r 1 9 9 9 .

    1 3 D . F e r r a r i a n d L . D e l g r o s s i . S u p r a n e t s . T e c h n i c a l

    R e p o r t C T R - 9 6 - 0 0 1 , C e n t e r f o r R e s e a r c h o n t h e

    A p p l i c a t i o n s o f T e l e m a t i c s t o O r g a n i z a t i o n s a n d

    S o c i e t y C R A T O S , U n i v e r s i t a C a t t o l i c a , P i a -

    c e n z a , I t a l y , S e p t e m b e r 1 9 9 6 .

    1 4 S . F l o y d a n d V . J a c o b s o n . L i n k - s h a r i n g a n d

    R e s o u r c e M a n a g e m e n t M o d e l s f o r P a c k e t N e t -

    w o r k s . I E E E A C M T r a n s a c t i o n s o n N e t w o r k -

    i n g , 3 4 : 3 6 5 3 8 6 , A u g u s t 1 9 9 5 .

    1 5 S . F o t e d a r , M . G e r l a , P . C r o c e t t i , a n d L . F r a t t a .

    A T M V i r t u a l P r i v a t e N e t w o r k s . C o m m u n i c a -

    t i o n s o f t h e A C M , 3 8 2 , F e b r u a r y 1 9 9 5 .

    1 6 J . G a o , P . S t e e n k i s t e , E . T a k a h a s h i , a n d

    A . F i s h e r . A P r o g r a m m a b l e R o u t e r A r c h i t e c t u r e

    S u p p o r t i n g C o n t r o l P l a n e E x t e n s i b i l i t y . I E E E

    C o m m u n i c a t i o n s M a g a z i n e , M a r c h 2 0 0 0 .

    1 7 S . K e n t a n d R . A t k i n s o n . I P E n c a p s u l a t i o n S e -

    c u r i t y P a y l o a d E S P . R e q u e s t f o r C o m m e n t s

    S t a n d a r d s T r a c k 2 4 0 6 , I n t e r n e t E n g i n e e r i n g

    T a s k F o r c e , N o v e m b e r 1 9 9 8 .

    1 8 S . K e n t a n d R . A t k i n s o n . S e c u r i t y A r c h i t e c t u r e

    f o r t h e I n t e r n e t P r o t o c o l . R e q u e s t f o r C o m -

    m e n t s S t a n d a r d s T r a c k 2 4 0 1 , I n t e r n e t E n g i -

    n e e r i n g T a s k F o r c e , N o v e m b e r 1 9 9 8 .

    1 9 G . M a l k i n . R I P V e r s i o n 2 . R e q u e s t f o r C o m -

    m e n t s S t a n d a r d s T r a c k 2 4 5 3 , I n t e r n e t E n g i -

    n e e r i n g T a s k F o r c e , N o v e m b e r 1 9 9 8 .

    2 0 M . K . M c K u s i c k , K . B o s t i c , M . J . K a r e l s , a n d J . S .

    Q u a r t e r m a n . T h e D e s i g n a n d I m p l e m e n t a t i o n

    o f t h e 4 . 4 B S D U n i x O p e r a t i n g S y s t e m . A d d i s o n -

    W e s l e y , 1 9 9 6 .

    2 1 D . M e y e r . A d m i n i s t r a t i v e l y S c o p e d I P M u l t i -

    c a s t . R e q u e s t f o r C o m m e n t s B e s t C u r r e n t P r a c -

    t i c e 2 3 6 5 , I n t e r n e t E n g i n e e r i n g T a s k F o r c e , J u l y

    1 9 9 8 .

    2 2 K . M u t h u k r i s h n a n a n d A . M a l i s . C o r e M P L S

    I P V P N A r c h i t e c t u r e . I n t e r n e t d r a f t d r a f t -

    m u t h u k r i s h n a n - m p l s - c o r e v p n - a r c h - 0 3 . t x t . W o r k

    i n P r o g r e s s ; e x p i r e s D e c e m b e r 2 0 0 0 .

    2 3 E . R o s e n a n d Y . R e k h t e r . B G P M P L S V P N s .

    R e q u e s t f o r C o m m e n t s I n f o r m a t i o n a l 2 5 4 7 , I n -

    t e r n e t E n g i n e e r i n g T a s k F o r c e , M a r c h 1 9 9 9 .

    2 4 J . M . S c h n e i d e r , T . P r e u s s , a n d P . S . N i e l s e n .

    M a n a g e m e n t o f V i r t u a l P r i v a t e N e t w o r k s f o r I n -

    t e g r a t e d B r o a d b a n d C o m m u n i c a t i o n . P r o c e e d -

    i n g s o f t h e A C M S I G C O M M 1 9 9 3 , p a g e s 2 2 4

    2 3 7 , S e p t e m b e r 1 9 9 3 .

    2 5 K e i t h S k l o w e r . A t r e e - b a s e d p a c k e t r o u t i n g t a b l e

    f o r b e r k e l e y U N I X . I n P r o c . o f U s e n i x W i n t e r

    C o n f e r e n c e , D a l l a s , T e x a s , J a n u a r y 1 9 9 1 .

    2 6 S o f t w a r e a v a i l a b l e f o r d o w n l o a d a t .

    h t t p : w w w . m r t d . n e t .

    2 7 I . S t o i c a , H . Z h a n g , a n d T . S . E . N g . A H i e r a r c h i -

    c a l F a i r S e r v i c e C u r v e A l g o r i t h m f o r L i n k S h a r -

    i n g , R e a l - t i m e a n d P r i o r i t y S e r v i c e . I n P r o c e e d -

    i n g s o f t h e A C M S I G C O M M , S e p t e m b e r 1 9 9 7 .

    2 8 G . S u . V i r t u a l A c t i v e N e t w o r k : A W h i t e P a p e r .

    h t t p : w w w . c s . c o l u m b i a . e d u = g o n g s u .

    2 9 E . T a k a h a s h i , P . S t e e n k i s t e , J . G a o , a n d

    A . F i s h e r . A P r o g r a m m i n g I n t e r f a c e f o r N e t w o r k

    R e s o u r c e M a n a g e m e n t . I n P r o c e e d i n g s o f 1 9 9 9

    I E E E O p e n A r c h i t e c t u r e s a n d N e t w o r k P r o g r a m -

    m i n g , p a g e s 3 4 4 4 , N e w Y o r k , N Y , M a r c h 1 9 9 9 .

    3 0 J . T o u c h a n d S . H o t z . T h e X - B o n e . T h i r d G l o b a l

    I n t e r n e t M i n i - C o n f e r e n c e i n c o n j u n c t i o n w i t h

  • 7/28/2019 Customizable vpn Service with Qos

    17/17

    1 7

    G l o b e c o m ' 9 8 , N o v e m b e r 1 9 9 8 . S y d n e y , A u s -

    t r a l i a .

    3 1 J . E . v a n d e r M e r w e , S . R o o n e y , I . M . L e s l i e , a n d

    S . A . C r o s b y . T h e T e m p e s t - A P r a c t i c a l F r a m e -

    w o r k f o r N e t w o r k P r o g r a m m a b i l i t y . I E E E N e t -

    w o r k , 1 2 3 : 2 0 2 8 , M a y J u n e 1 9 9 8 .

    3 2 G . R . W r i g h t a n d W . R . S t e v e n s . T C P I P

    I l l u s t r a t e d , V o l u m e 2 : T h e I m p l e m e n t a t i o n

    A d d i s o n - W e s l e y , 1 9 9 5 .