Upload
mah-d-mohandes
View
233
Download
0
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 .