jinhyeock choi, syam madanapalli 2005.08.04 hppt://diffeo/linkid
DESCRIPTION
DNA Solution: Link Identifier based approach draft-jinchoi-dna-protocol2-01.txt. JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://www.diffeo.com/LinkId.ppt. Contents. Background Overview Protocol operation Router Operation Host Operation Summary. Background. Background. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/1.jpg)
JinHyeock Choi, Syam Madanapalli2005.08.04
hppt://www.diffeo.com/LinkId.ppt
DNA Solution: Link Identifier based approach
draft-jinchoi-dna-protocol2-01.txt
![Page 2: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/2.jpg)
Contents
• Background• Overview• Protocol operation
– Router Operation– Host Operation
• Summary
![Page 3: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/3.jpg)
Detecting Network Attachment in IPv6 Networks (DNAv6)
DNA Solution: Link Identifier based
approach
Fast Router Discovery with L2
Support
draft-pentland-dna-protocol-01.txt
draft-jinchoi-dna-protocol2-01.txt
draft-jinchoi-dna-frd-01.txt
Component 1: Link
Identification
Landmark + CompleteRA LinkID
Component 2: Fast Router
Advertisement
Hash based FastRA FRD
Background
![Page 4: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/4.jpg)
BackgroundG1 DNA schemes should detect the identity of the currently attached
link to ascertain the validity of the existing IP configuration.– This draft provides the scheme which satisfies G1.
• Link Identifier based approach– To compare links, it’s natural to assign them unique names
and compare them. – We present a new way to assign each link UNIQUE name,
“Link Identifier”. By comparing two LinkIDs, host can easily check for link change.
![Page 5: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/5.jpg)
• LinkID – LinkID is a UNIQUE name assigned to each link. Two different
links have two different LinkID. – Assume a host keeps a LinkID, after while
• If a host sees a different LinkID, it has moved to a different link.
• Landmark– One link can have MULTIPLE landmarks. (Landmark is
assigned to a link such that two different links doesn’t have the same landmark.)
– Assume a host keeps a landmark, after while • If a host sees a different landmark, it doesn’t mean it has moved to
a different link.
LinkID & Landmark Comparison
![Page 6: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/6.jpg)
• Efficient LinkID assignment – How to efficiently assign UNIQUE LinkID to each link.
• Graceful LinkID change– How would hosts cope with LinkID change gracefully.
LinkID Tasks
![Page 7: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/7.jpg)
Basic Idea
• All routers on a link agrees on one (global) prefix to advertise as the LinkID prefix. – Each router collects all the prefixes on the link and picks the
smallest one as the LinkID prefix.– Each router advertises the LinkID prefix with the special LinkID
flag (Identifier bit) in every RA message it sends.
• Hosts keeps the LinkID Prefix to check for link change. – When it receives the same LinkID prefix, it assumes that it
remains at the same link. – When it receives the different LinkID prefix, it assumes that it
moves to a different link.
![Page 8: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/8.jpg)
LinkID Prefix
ValidValid LifetimeLifetime
TypeType LengthLength PrefixPrefix LengthLength AA Res1Res1LL II
PreferredPreferred LifetimeLifetime
Reserved 2Reserved 2
PrefixPrefix
![Page 9: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/9.jpg)
While there are 3 point of attachment, there are only 2 links.
LinkID, rough sketch
Internet
AR1 AR2 AR3
AP1 AP2 AP3
Link 1 Link 2
![Page 10: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/10.jpg)
Router Operations • Collecting the prefixes • Selecting the LinkID prefix • Advertising the LinkID prefix • Graceful LinkID prefix change
![Page 11: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/11.jpg)
Internet
AR1 AR2 AR3
1. AR1 advertises Prefix A::
LinkID, rough sketch
A:: B:: C::, D::
2. AR2 advertises Prefix B::
3. AR3 advertises Prefix C::, D::
4. Each AR generate the set of all the prefixes on the link
{A} {B, C, D} {B, C, D}
5. Each AR picks the smallest prefix of the complete prefix list as LinkID prefix.
AP1 AP2 AP3
![Page 12: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/12.jpg)
Internet
AR1 AR2 AR3
1. AR1 advertises Prefix A::
LinkID, rough sketch
A:: B:: C::, D::
2. AR2 advertises Prefix B::
3. AR3 advertises Prefix C::, D::
4. Each AR generate the set of all the prefixes on the link
{A} {B, C, D} {B, C, D}
5. Each AR picks the smallest prefix of the complete prefix list as LinkID prefix.
6. Each AR puts the LinkID prefix in its RA message.
AP1 AP2 AP3
![Page 13: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/13.jpg)
Internet
AR1 AR2 AR3
1. AR1 advertises Prefix A::
LinkID, rough sketch
A:: B:: C::, D::
2. AR2 advertises Prefix B::
3. AR3 advertises Prefix C::, D::
4. Each AR generate the set of all the prefixes on the link
{A} {B, C, D} {B, C, D}
5. Each AR picks the smallest prefix of the complete prefix list as LinkID prefix.
6. Each AR puts the LinkID prefix in its RA message.
RA1A::
RA2B::
RA3B::
AP1 AP2 AP3
![Page 14: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/14.jpg)
Host Operations • Managing the LinkidPrefixList • Checking for link change
![Page 15: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/15.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA1A::
RA2B::
RA3B::
AP1 AP2 AP3
MN
2. MN receives RA1 from AR1.
![Page 16: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/16.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA2B::
RA3B::
AP1 AP2 AP3
MN
2. MN receives RA1 from AR1.
RA1A::
![Page 17: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/17.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA2B::
RA3B::
AP1 AP2 AP3
MN
2. MN receives RA1 from AR1.
RA1A::
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
{ A }
4. MN moves to AP2 and makes a new link-layer connection.
![Page 18: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/18.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA2B::
RA3B::
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
MN
{ A }
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2.
![Page 19: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/19.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA3B::
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
MN
{ A }
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2.
RA2B::
![Page 20: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/20.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA3B::
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
MN
{ A }
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2.
RA2B::
6. MN extracts LinkID prefix B:: from RA2 and compares it with the existing LinkID prefix A::.
{ B }
7. Because they are different, MN assumes that it has moved to a new link and change its LinkID Prefix to B::.
![Page 21: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/21.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA3B::
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
MN
{ B }
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2.
RA2B::
6. MN extracts LinkID prefix B:: from RA2 and compares it with the existing LinkID prefix A::.
7. Because they are different, MN assumes that it has moved to a new link and change its LinkID Prefix to B::. 8. MN again moves to AP3 and makes a new link-layer connection.
![Page 22: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/22.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
RA3B::
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2. 6. MN extracts LinkID prefix B:: from RA2 and compares it with the existing LinkID prefix A::.
7. Because they are different, MN assumes that it has moved to a new link and change its LinkID Prefix to B::. 8. MN again moves to AP3 and makes a new link-layer connection.
MN
{ B } 9. MN receives RA3 from AR3.
![Page 23: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/23.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2. 6. MN extracts LinkID prefix B:: from RA2 and compares it with the existing LinkID prefix A::.
7. Because they are different, MN assumes that it has moved to a new link and change its LinkID Prefix to B::. 8. MN again moves to AP3 and makes a new link-layer connection.
MN
{ B } 9. MN receives RA3 from AR3.
RA3B::
![Page 24: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/24.jpg)
Internet
AR1 AR2 AR3
1. MN is attached to AP1.
LinkID, rough sketch
AP1 AP2 AP3
2. MN receives RA1 from AR1.
3. MN extracts LinkID prefix A:: from RA1 and keeps it.
4. MN moves to AP2 and makes a new link-layer connection.
5. MN receives RA2 from AR2. 6. MN extracts LinkID prefix B:: from RA2 and compares it with the existing LinkID prefix A::.
7. Because they are different, MN assumes that it has moved to a new link and change its LinkID Prefix to B::. 8. MN again moves to AP3 and makes a new link-layer connection.
MN
{ B } 9. MN receives RA3 from AR3.
RA3B::
![Page 25: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/25.jpg)
Internet
AR1 AR2 AR3
LinkID, rough sketch
AP1 AP2 AP3
MN
{ B }
RA3B::
10. MN extracts LinkID prefix B:: from RA3 and compares it with the existing LinkID prefix B::.
{ B }
11. Because they are the same, MN assumes that it still remains at the same link and keeps its LinkID Prefix B::.
![Page 26: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/26.jpg)
Internet
AR1 AR2 AR3
LinkID, rough sketch
AP1 AP2 AP3
MN
{ B }
RA3B::
10. MN extracts LinkID prefix B:: from RA3 and compares it with the existing LinkID prefix B::.
11. Because they are the same, MN assumes that it still remains at the same link and keeps its LinkID Prefix B::.
![Page 27: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/27.jpg)
New Terms
• LinkID advertisement– PIO (Prefix Information Option)– LPIO (Learned Prefix Information Option)– Identifier bit (I-bit)
• Graceful LinkID Change – Linkid Prefix list (LinkidPrefixList)– Linkid lifetime – LEAST_VALID_LIFETIME
![Page 28: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/28.jpg)
Open Issues
• Issue 001: LPIO format • Issue 002: Advertising old linkid prefix • Issue 003: Flash renumbering and early reassignment • Issue 004: DAD Interaction • Issue 005: MLD Interaction • Issue 006: Sending RA before completing prefix collection • Issue 007: Linkid prefix option for RS message • Issue 008: Linkid Selection Scheme
![Page 29: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/29.jpg)
Summary• This draft present a way for a host to check for link
change correctly. – Hosts can even cope with LinkID change gracefully.
• The draft is implemented and tested.– Hosts performed just well.
• There may be other applications for unique LinkID per a link. – LinkID in L2 beacon
• We propose this scheme as a DNA solution for Link Identification.
![Page 30: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/30.jpg)
Appendix
Linkid for DNAImplementation & Test Results
Subba Reddy
![Page 31: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/31.jpg)
Linkid Implementation• Implemented the linkid code on Linux OS (Kernel 2.4.18)• Router side
– We added code to RA Daemon• Samsung ISO implementation based on Linux RADVD version 0.7.2
– No. of lines of code: 390• Host side
– We added code to our own IPv6 stack (SISOv6)– No. of lines of code: 160.
• We also developed CLI to add/delete the prefixes on routers at runtime
![Page 32: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/32.jpg)
Test Setup …
Link1:-R1:- 3ffc::/64, 3ffd::/64R2:- 3ffa::/64, 3ffb::/64R3:- 3ff3::/64, 3ff4::/64
Link2:-R1:- 4ffc::/64, 4ffd::/64R2:- 4ffa::/64, 4ffb::/64R3:- 4ff3::/64, 4ff4::/64
R2MN Hub 2 Hub 1
R1
R3
Link2Link1
![Page 33: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/33.jpg)
Test Setup …• We were running Ethereal on MN• The Interfaces are Wired Ethernet
– No packet loss
• Routers advertise immediately whenever there is a new prefix added or deleted which causes the change in linkid
• We made all Routers to advertise whenever there is a linkid change to measure the synchronization time using ethereal.
![Page 34: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/34.jpg)
How we tested …• Initialization
– We have configured different prefixes on each of the router interfaces as mentioned in the test setup
– After Synchronization, Routers announces the linkid– Host learns the linkid
• Adding new Smaller Prefix on a link– Now we added a smaller prefix (3ff0::/64) on R1 to check the
Synchronization time for the new linkid and MN behavior– MN did not make wrong decision for link change
![Page 35: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/35.jpg)
How we tested …• Deletion of Existing Prefixes
– We decreased the smallest prefix (3ff0::/64) valid life time to 1.5 hours in runtime
– All the routers made the prefix as old linkid (3ff0::/64) and selected new linkid (3ff3::/64)
– MN did not make wrong decision for link change– After 1.5 hrs the prefix (3ff0::/64) has been removed from the link
• Link Change– MN has been moved from link1 to link2– MN made the link change decision (new linkid: 4ff3::/64)– We repeated the above tests on the link 2 as well
![Page 36: JinHyeock Choi, Syam Madanapalli 2005.08.04 hppt://diffeo/LinkId](https://reader035.vdocuments.mx/reader035/viewer/2022070502/56814c46550346895db948fa/html5/thumbnails/36.jpg)
Test Results• Synchronization Time
– Whenever there is a change in linkid, all routers synching within ~600 micro seconds
• Error Rate– MN has never made any wrong decision in any scenario we have
tested in.• MN did not make any wrong decision when we changed the linkid by
adding new smaller prefix• MN did not make any wrong decision when we changed the linkid by
deleting the existing linkid prefix• MN made correct decision when MN has been moved from link1 to
link2, and back to link1