More Related Content Similar to Host Identification and Location Decoupling a Comparison of Approaches - IWT 2011 (20) More from Antonio Marcos Alberti (20) Host Identification and Location Decoupling a Comparison of Approaches - IWT 20111. Host Identification and Location
Decoupling: A Comparison of
Approaches
Bruno Magalhães Martins
Antônio Marcos Alberti
© Antônio M. Alberti 2011
2. Outline
1. Motivation
2. Approaches for Host ID/Loc Splitting
3. Comparison
4. Conclusion
© Antônio M. Alberti 2011
3. Motivation
Current IP address → identification + location (overload).
This limitates → mobility, multihoming, scalability, etc.
Future networks need to separate identifiers (ID) from locators
(Loc) → the so called ID/Loc splitting.
Why ID/Loc splitting? → To move hosts without “loss of identity”.
© Antônio M. Alberti 2011
4. Approaches for Host ID/Loc Splitting
Mobile IP
HIP (Host Identity Protocol)
LISP (Locator ID Separation Protocol)
MILSA (Mobility and Multihoming Supporting Identifier Locator
Split Architecture)
Akari
MCP (Mobility Control Protocol)
© Antônio M. Alberti 2011
5. Mobile IP
Idea:
Two IP addresses:
Home-address → static; works as an ID for app. layer;
Care-of-address → dynamic; according to node’s location.
Two components:
Home-agent → atributes home-address; mantains mapping to current
location;
Foreign-agent → atributes care-of-address; informs home-agent.
Identification:
Home-Address
Location:
Care-of-Address
© Antônio M. Alberti 2011
6. ),D0%),/-! ;2,),&#),B! %"! <#=%7,! .E! /,6%',1! '("! '2("+,! %$1!
7#'($%#"!3%$2#0$!7#11!%"!'#"",'$%6%$A-!F%+0),!G!%7701$)($,1!<#=%7,!
.E!&0"'$%#"(7%$A-!!!
!
Mobile IP
F%+-!G-!<#=%7,!.E!&0"'$%#"(7%$A-!
H,15%$,!$2,!*#=%7%$A!1055#)$!#&&,),/!=A!<#=%7,!.E!(55)#('2!
© Antônio M. Alberti 2011
7. 3%$2! (! 2#1$! ("/!("/! %$!$2,! $2,! ),107$!(! ')A5$#+)(52%'! 2(12!
3%$2! (! 2#1$! %$! %1! %1! ),107$! #&! #&! (! ')A5$#+)(52%'! 2(12!
&0"'$%#"-! ;2,!;2,! 50)5#1,!01%"+! ,"')A5$%#"! $#! '),($,! 2#1$!2#1$!
&0"'$%#"-! 50)5#1,! #&! #&! 01%"+! ,"')A5$%#"! $#! '),($,!
%/,"$%&%,)1! %1! $2,! $2,! 5#11%=%7%$A!(0$2,"$%'($,! '#"",'$%#"1! %"!! %"!!
%/,"$%&%,)1! %1! 5#11%=%7%$A! $#! $#! (0$2,"$%'($,! '#"",'$%#"1!
),/!=A!<#=%7,!.E!(55)#('2! "#"X$)01$,/! ",$3#)41-! <#),#6,)B! $2,! $2,! 50=7%'! 4,AX=(1,/!
=A!<#=%7,!.E!(55)#('2! "#"X$)01$,/! ",$3#)41-! <#),#6,)B! 50=7%'! 4,AX=(1,/!
",$3#)41B!%"!89:!%$!%1!12#3"! ,"')A5$%#"! (77#31! ,('2! "(*,! $#! =,! '#"1%/,),/! 1$($%1$%'(77A!
#)41B!%"!89:!%$!%1!12#3"! ,"')A5$%#"! (77#31! ,('2! "(*,! $#! =,! '#"1%/,),/! 1$($%1$%'(77A!
'($%#"!,&&%'%,"'A!7#11B!1%"',!!! 0"%D0,!%"!(!+7#=(7!,"6%)#"*,"$-!
#"!,&&%'%,"'A!7#11B!1%"',!!! 0"%D0,!%"!(!+7#=(7!,"6%)#"*,"$-!
HIP
/,1! ,&&%'%,"'AB! $2,),! %1! $2,! Identity Protocol)
,&&%'%,"'AB! $2,),! %1! (Host
$2,!
!5('4,$!/,1$%",/!$#!$2,!<>!
F%+0),!T!5()$%(77A!%7701$)($,1!;SEW.E!5)#$#'#7!1$('4!?7,&$@!%"!
F%+0),!T!5()$%(77A!%7701$)($,1!;SEW.E!5)#$#'#7!1$('4!?7,&$@!%"!
4,$!/,1$%",/!$#!$2,!<>!
'#"$)(1$! $#! $2,! ",3! Q.E! 5)#$#'#7! 1$('4! ?)%+2$@-! ."! $2,! 7($$,)B!
'#"$)(1$! $#! $2,! ",3! Q.E! 5)#$#'#7! 1$('4! ?)%+2$@-! ."! $2,! 7($$,)B!
=,&#),! =,%"+! Idea:$2,!
)#0$,/! $#!
),! =,%"+! )#0$,/! $#! $2,!
$2,! $2,! 2#1$! %/,"$%&%,)! ("/!7#'($#)! (),! 1,5()($,/! &)#*! ,('2!
2#1$! %/,"$%&%,)! ("/! %$1! %$1! 7#'($#)! (),! 1,5()($,/! &)#*! ,('2!
,J$)(!/,7(AB!32%'2!'#07/!=,!
(!/,7(AB!32%'2!'#07/!=,!
,! '#**0"%'($%#"1-! <#=%7,! #$2,)-!;2,!.E!(//),11!3%77!'#"$%"0,!$#!('$!(1!(!7#'($#)B!32%7,! layers:
New namespace between network and transport
#**0"%'($%#"1-! <#=%7,! #$2,)-!;2,!.E!(//),11!3%77!'#"$%"0,!$#!('$!(1!(!7#'($#)B!32%7,! Host ID
"+! (! )#0$%"+! #5$%*%L($%#"! $2,!Q.!%1!),15#"1%=7,!&#)!%/,"$%&A%"+!$2,!,"/!2#1$-!
(! )#0$%"+! #5$%*%L($%#"!Layer $2,!Q.!%1!),15#"1%=7,!&#)!%/,"$%&A%"+!$2,!,"/!2#1$-!
/%),'$7A! $#! $2,! $2,! +&($%",% ! !
"/! /%),'$7A! $#! +&($%",%
Without HIP With HIP
7%$,)($0),! 8K:8M:8N:B! $2,! $2,!
%"! 7%$,)($0),! 8K:8M:8N:B!
1#76,! $2,! $2,! 5)#=7,*1! #&!
7A! 1#76,! 5)#=7,*1! #&!
'(01,! %$! ),7%,1! #"! $2,! $2,! .E!
! =,'(01,! %$! ),7%,1! #"! .E!
,! *(7%'%#01! 01,)! '("!'("!
! (! *(7%'%#01! 01,)!
"%(7! #&! O,)6%',! ?H#O@!
H,"%(7! #&! O,)6%',! ?H#O@! ! !
,! (//),11! "#$%&%'($%#"!
&(71,! (//),11! "#$%&%'($%#"! F%+-!T-!S0)),"$!."$,)",$!!?7,&$@!("/!Q.E!5)#$#'#7!?)%+2$@!8K:-!
F%+-!T-!S0)),"$!."$,)",$!!?7,&$@!("/!Q.E!5)#$#'#7!?)%+2$@!8K:-!
Identification:
8.! 90:1*2*9"+&3"(*0'*:$;&(&35"4*1("3"+"7*
8.!90:1*2*9"+&3"(*0'*:$;&(&35"4*1("3"+"7*
'(7!&7(31!%"!$2,!'0)),"$!
')%$%'(7!&7(31!%"!$2,!'0)),"$!
"(*%'! ),(//),11%"+! '("! "#$! Identifier → Public key as a flat name; provides
Host Y.OE!8Z:!%1!(!5)#5#1(7!&)#*!S%1'#!OA1$,*1!3%$2!(!1%*%7()!
%'! ),(//),11%"+! '("! "#$! Y.OE!8Z:!%1!(!5)#5#1(7!&)#*!S%1'#!OA1$,*1!3%$2!(!1%*%7()! unique IDs;
("#"A*%$A! '("! "#$! =,! +#(7!$#!$2#1,!#&!Q.E!("/!<#=%7,!.E!5)#$#'#71B!%-,-!$#!1055#)$!
+#(7!$#!$2#1,!#&!Q.E!("/!<#=%7,!.E!5)#$#'#71B!%-,-!$#!1055#)$!
2,! ("#"A*%$A! '("! "#$! =,!
&%"(77AB! $2,),! %1! "#! "#! *#=%7%$A! ("/! *07$%2#*%"+! %"! ;SEW.E! ",$3#)41-! Q#3,6,)B!!
7AP! &%"(77AB! Location: *#=%7%$A! ("/! *07$%2#*%"+! %"! ;SEW.E! ",$3#)41-! Q#3,6,)B!!
$2,),! %1!
;2,1,!/,&%'%,"'%,1!1$,*! Y.OE! 5)#$#'#7! %1! =(1,/! #"! (//),11! *(55%"+! =,$3,,"! ,/+,!
Y.OE! 5)#$#'#7! %1! =(1,/! #"! (//),11! *(55%"+! =,$3,,"! ,/+,!
,$1-!;2,1,!/,&%'%,"'%,1!1$,*!
+!57($&#)*1!%",&&%'%,"$7A! address. '#),!",$3#)41! ("/!("/!$0"",7%"+! #6,)! [HE! ?[1,)!
IP
0$%"+!57($&#)*1!%",&&%'%,"$7A!
("/!("/! .E! .E! ",$3#)41! .E! .E! $0"",7%"+! #6,)! [HE! ?[1,)!
'#),!
H($(+)(*! E)#$#'#7@! &#)! 5('4,$! /,7%6,)A-! C''#)/%"+! $#! 8Z:B! 8Z:B!
H($(+)(*! E)#$#'#7@! &#)! 5('4,$! /,7%6,)A-! C''#)/%"+! $#!
1$0/%,/-! Q.E! 8N:! 8N:! ?RFS! Y.OE!%1!(!5)#$#'#7!01,/!$#!%*57,*,"$!.E!(//),11!1,5()($%#"!
!,,"! 1$0/%,/-! Q.E! ?RFS! Y.OE!%1!(!5)#$#'#7!01,/!$#!%*57,*,"$!.E!(//),11!1,5()($%#"!
$#'#7!("/!%$!%1!=(1,/!#"! %"! .H1! ?"/5#%"$! ./,"$%&%,)1@! ("/!("/! RY]S1! ?R#0$%"+!
%"! .H1! ?"/5#%"$! ./,"$%&%,)1@! RY]S1! ?R#0$%"+! © Antônio M. Alberti 2011
!5)#$#'#7!("/!%$!%1!=(1,/!#"!
8. LISP (Locator ID Separation Protocol)
Idea:
Address mapping between edge and core IP networks; IP over
UDP over IP; two IP addresses:
EIDs (Endpoint Identifiers) → persistent; used as an ID;
RLOCs (Routing Locators) → used to locate edge routers.
Two components:
ITR (Ingress Tunnel Router) → maps EIDs on RLOCs;
ETR (Egress Tunnel Router) → maps RLOCs on EIDs.
End Host Identification/Location:
EIDs
Edge Router Identification/Location:
RLOCs
© Antônio M. Alberti 2011
10. MILSA (Mobility and Multihoming Supporting Identifier Locator Split Architecture)
Idea:
Separation of trust relations, called domains, and the relations of
connectivity, called zones;
Separation between signaling and data plan.
RZBS (Zone Bridging Realm Server) - provides dynamic mapping
between IDs and locators.
Identification:
Assigned at domain level;
Location:
Assigned at zone level;
© Antônio M. Alberti 2011
11. )*4:/3))+! .*! 9:,8! 69:)'! 3! S*-'! 30.9*1:.+! 9*)&2! .9'!
2@! :-5*1,3.:*-! *5! *-'! *1! ,*1'! 3&&1'22'2! *1! )*/3.*12! *5! 20/9!
9*2.2@!A9'!<TZ$!.37'2!/31'!*5!,3((:-4!&*,3:-2!3-&!S*-'28!
&+-3,:/3))+!,3((:-4!9*2.!:&'-.:5:'12!*-!)*/3.*12@!I:401'![!
MILSA (Mobility and Multihoming Supporting Identifier Locator Split Architecture)
:))02.13.'2!W#"$X@!
!!
! m
Domains
Zones
&'!
9'! I:4@![@!W#"$X!/*-/'(.03)!31/9:.'/.01'!EYH@!
L! !
A9'! .6*! .'1,:-3)2! W#"$X! 02'1! :&'-.:5:'12! :))02.13.'&! :-! © Antônio M. Alberti 2011
12. Akari
Idea:
New namespace between network and transport layers: ID Layer.
Identification:
By name and/or by identifier (ID) obtained by hash function;
Legible and unique local names;
Includes hierachical topology information in global names;
Location:
IP, non-IP, post-IP.
© Antônio M. Alberti 2011
13. Akari
Identification
Local Name
+IMS Domain Name
Global Name
Hash Function
ID
Locator
Location
Source: Akari Prpject
© Antônio M. Alberti 2011
14. MCP (Mobility Control Protocol)
Idea:
New namespace between network and transport layers: HID-based
Communication Layer.
Identification:
HIDs (Host Identifiers) → hash function of host’s proprietary public
key.
Application/Transport
Location:
Two protocols: HID-based Communication
ADP (Access Delivery Protocol);
BDP (Backbone Delivery). Network Delivery (ADP/BDP)
© Antônio M. Alberti 2011
15. ,'(7+*J'.7G(5! 68,G! .6! +G#! F;):! EG#! .0&./+.J#! *H! 86%/J! ;)N %/,'#.6#0! *&#'G#.0! ./0! 0#$.(6! ,.86#0! 4(! +G#! I.77%/J! *H!
4.6#0! %0#/+%H%#'6! %6! +G.+! ,8''#/+! ;/+#'/#+! .77$%,.+%*/6! ,./! 6+%$$! D;"6! +*! @K=<6:! ).,3#+! $*66! %6! .$6*! .! ,*/,#'/:! ;/! F;)5!
4#! 86#0! 9%+G*8+! ,G./J#:! F*9#&#'5! +G#6#! .77'*.,G#6! .'#! 7.,3#+!$*66!,./!G.77#/!9G#/!+9*!,*II8/%,.+%*/!+#'I%/.$6!
%/H$#R%4$#! ./0! ,./! /*+! 4#! 86#0! %/! ! 7*6+N;)! *'! /*/N;)! I*&#!.+!+G#!6.I#!+%I#:!
.',G%+#,+8'#6:! =/! +G#! *+G#'! 6%0#5! %0#/+%H%#'6! 4.6#0! */! 784$%,! E.4$#! P! 68II.'%S#6! +G#! ,*I7.'%6*/6! 4#+9##/! +G#! I.%/!
3#(! ,'(7+*J'.7G(! *'! G.6G! H8/,+%*/6! .'#! $*/J! ./0! 8/'#.0.4$#! H#.+8'#6!*H!;"LK*,!67$%++%/J!7'*+*,*$6:!!
!
Comparison
H*'!G8I./65!0#67%+#!%+6!.0&./+.J#6!%/!+#'I6!*H!6#,8'%+(:!
E?1KD!;!V!;"LK=<!A)K;EE;BW!<=>)?@;A=B!E?1KD:!
! !"#$%&!"#! $"#! %"&#! '"%&(! ()*+,! '-#!
.*/,01! F%#'.',G%,.$!2;)-X! C$.+X!*7.M8#!/.I#6:! F%#'.',G%,.$!2;)-X! ).'+%.$$(!H$.+5! C$.+!9%+G!.!G%#'.',G%,.$! C$.+5!48+!G%#'.',G%,.$!
&234/4! $#J%4$#!/.I#6:! $#J%4$#!/.I#6:! 7.'+%.$$(! 7*'+%*/:!K#J%4$#!/.I#6!H*'! 7*'+%*/!4#%/J!6+80%#0!+*!
G%#'.',G%,.$:! $*,.$!./0!J$*4.$!/.I#6!%/!+G#! 9*'3!9*'$0N9%0#:!!
G%#'.',G%,.$!7.'+:!!!!
5678,01! =/$(!;)!V!;/H$#R%4$#:! ;)5!7*6+N;)!*'!/*/N;)! =/$(!;)!V!;/H$#R%4$#:! ;)!'*8+%/J:!<./!86#! C8$$(!H$#R%4$#:!@*8+%/J! ;)5!48+!,./!4#!.0.7+#0!
V!C$#R%4$#:! @=CK:!).'+%.$$(! %/0#7#/0#/+!*H!+'./67*'+! +*!4#,*I#!H$#R%4$#:!
H$#R%4$#:! +#,G/*$*J(:!
&427+,89! ;)A#,:! )84$%,!3#(! @#$.+#0!+*!!D;"N )84$%,!3#(! )84$%,!3#(!,'(7+*J'.7G(!./0! )84$%,!3#(!
,'(7+*J'.7G(:!"#/(! @K=<!I.77%/J:!! ,'(7+*J'.7G(:! Hash function
G.6G!H8/,+%*/:! ,'(7+*J'.7G(!./0!G.6G!
*H!6#'&%,#!7'*4$#I:! H8/,+%*/:!
#4+:6+/*024! ;/,'#.6#0!*&#'G#.0X! =&#'G#.0!*/!G*6+! ;/,'#.6#0!*&#'G#.05! =&#'G#.0!*/!F>A! =&#'G#.0!*/!%0#/+%+(!$.(#':! =&#'G#.0!*/!F;"NK=<!
+'%./J8$.'!'*8+%/JX! %0#/+%H%,.N+%*/!$.(#':! $.+#/,(!%/!D;"N $.(#':! I.77%/J:!
9.%+%/J!*/!870.+#! @K=<!I.77%/J6:!
'#J%6+'.+%*/:!
#*2)48!;6<<! "8#!+*!$*/J!9.%+%/J! YG#/!+9*!+#'I%/.$6! <./!*,,8'!08#!+*! !!B*+!./.$(S#0:! B*+!./.$(S#0:! B*+!./.$(S#0!
7#'%*06!*/!'#,*'0! I*&#!.+!+G#!6.I#! I.77%/J!0#$.(:!
870.+#:! +%I#:!
!
;/+#'/#+:! ?$$! .77'*.,G#6! .'#! ,*/,#'/#0! 9%+G! 6#,8'%+(!
;Z:! <=B<K[A;=B!
.67#,+65! 48+! 6*I#! *H! +G#I! '#6+'%,+#0! +*! ,8''#/+! ;)! 6#,8'%+(!
EG#! G*6+! ;"LK*,! 67$%++%/J! %6! */#! *H! +G#! I*6+! %I7*'+./+! 6*$8+%*/6:! EG#'#H*'#5! ! I*'#! G*$%6+%,! ./0! %/+#J'.+#0! 0#6%J/6!
6*$8+%*/6! +*! .00'#66! +G#! 6G*'+,*I%/J6! *H! I*4%$%+(5! .'#! '#M8%'#05! #:J:! +*! 6877*'+! +'86+! /#+9*'36X! +*!
I8$+%G*I%/J5! 6#,8'%+(5! ./0! *+G#'! 7'*4$#I6! .66*,%.+#0! 9%+G! .,,*II*0.+#! %/H*'I.+%*/! ;"LK*,! 67$%++%/JX! +*! 6877*'+! /*+!
08.$! H8/,+%*/.$%+(! *H! ;)! .00'#66#6:! ?$+G*8JG! +G#'#! .'#! +*0.(!! */$(! G*6+6! I*4%$%+(5! 48+! .$6*! *+G#'! #/+%+%#6! I*4%$%+(X! ! +*!
6#&#'.$!7'*7*6.$6!+*!6#7.'.+#!+G#!%0#/+%H%,.+%*/!./0!$*,.+%*/!*H! #/.4$#! .8+*I.+%,! H8/,+%*/.$%+%#6! %/! *'0#'! +*! '#08,#! G8I./!
/#+9*'3#0!0#&%,#65!.6!%./$%!0#6,'%4#6!%/!OUQ5!I*6+!*H!+G#I!0*! %/+#'&#/+%*/5! #+,:! C%/.$$(5! 7#'H*'I./,#! %6! .! ,*/,#'/! %/!
/*+! 7'*&%0#! .! ,*I7'#G#/6%&#! 6*$8+%*/! H*'! +G#! '#$.+%*/6G%7! .77'*.,G#6! +G.+! 86#! +8//#$%/J! *'! 08.$! .00'#66%/J:! EG#!
.I*/J!%0#/+%H%#'65!/.I#65!$*,.+*'6!./0!'*8+%/J:! 6*$8+%*/6! +G.+! ,'#.+#! /#9! $.(#'6! %/,'#.6#! +G#! *&#'G#.05!
;/! +G%6! 7*6%+%*/! 7.7#'! 9#! G.&#! 7'*&%0#0! .! M8.$%+.+%&#! 0#,'#.6%/J!#HH%,%#/,(:!;6!+G#!.77'*.,G!+*!,'#.+#!/#9!$.(#'6!
© Antônio M. Alberti 2011
,*I7.'%6*/! .I*/J! 6*I#! %I7*'+./+! .77'*.,G#6! H*'! ;"LK*,! +G#!4#6+!*/#]!
16. Conclusion
ID/Loc splitting is one of the most important solutions to address
some of the current Internet limitations.
Legible names are important to people.
Approaches need to support post-IP designs.
We need to evaluate the introduction of new layers.
We need more holistic and integrated designs:
To cover relationships among identifiers, names, locators and
routing.
To improve security and trust.
To integrate with information ID/Loc splitting.
© Antônio M. Alberti 2011