go6.si » IPv6 Stateless Autoconfiguration – enostavna razlaga.
Avtor JanZorz , 08.Apr 2011, 08:49, Objavljeno v IPv6 izobraževanja , IPv6 tehnika Na forumih se včasih pojavijo zanimive razlage raznih delov IPv6 protokola, tokrat sem naletel na post, v katerem Lawrence Hughes iz podjetja Infoweapons razlaga novincem v IPv6 svetu, guitar flash kako deluje SLAAC. Zanimivo branje, predvsem za novince…
Step 1: generate a 64-bit “interface identifier” (low 64 bits of an IPv6 address) – using either EUI64 (create from 48-bit MAC address) or randomized interface identifier (chosen at random from 2**64 possible values) – which depends on node configuration. say it is 1:2:3:4.
Step 4: if you get back at least one Router Advertisement msg to your RS msg (step 3), then determine use link local address of one of them as your default gateway, guitar flash and if at least one 64-bit prefix is returned (say 2001:db8:1000:2000::/64), then also generate a global unicast address using ii from step 1, say 2001:db8:1000:2000:1:2:3:4. This is done for each unique 64-bit prefix returned guitar flash by router(s) that responded.
Step 5: check RA msg for M and O bits. If M=1, then there is a stateful DHCPv6 guitar flash server (or relay agent) on the local link. If so, send request to all DHCPv6 servers/relay agents on local link multicast address, obtain another unique global unicast address and various stateless info (IPv6 address of DNS, etc). SLAAC complete.
If M=0, but O=1, there is a stateless DHCPv6 server (or relay agent). Send request to all DHCPv6 server/relay agent multicast address and get stateless info (IPv6 address of DNS, etc). SLAAC complete.
Most nodes have no way to prevent guitar flash SLAAC from working, although on some if you configure a static IPv6 global address manually, SLAAC does not work (e.g. FreeBSD). This appears to be not compliant with RFCs. With Windows or Linux, even if you manually specify a static address, they still do SLAAC, and get default gateway and a SLAAC node address.
DHCPv6 can only work if SLAAC works (otherwise it won’t know setting of M and O bits from RA msg). In theory a node could contact DHCPv6 without using SLAAC, but it would not be able to get default gateway, and this is not in compliance with RFCs.
So, in general (except in FreeBSD), if you configure a global address manually, and there is a stateful DHCPv6 server available, you will get (at least) 3 distinct global IPv6 addresses (at least one from SLAAC, one from manual, and one from DHCPv6 stateful). Windows Vista/7 by default gets TWO global addresses from SLAAC – one permanent and one temporary. All these are IN ADDITION to link local address guitar flash the node creates automatically.
Next hop is ALWAYS link local. If target is on-link, link-local will always work. If target is off-link, it will use default gateway address for next hop, which should always be link-local. Exception is if you manually guitar flash configure a global unicast default gateway (not generally a good idea, but it will work). ND address resolution usally guitar flash maps link-local addresses onto link-layer (MAC) addresses.
Connection-specific DNS Suffix . : hughesnet.local Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller Physical Address. . . . . . . . . : 00-22-15-24-32-9C DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled guitar flash . . . . : Yes IPv6 Address. . . . . . . . . . . : 2001:470:3d:3000::2:1(Preferred) Lease Obtained. . . . . . . . . . : Thursday, March 24, 2011 7:21:19 PM Lease Expires . . . . . . . . . . : Tuesday, April 05, 2011 7:28:01 PM IPv6 Address. . . . . . . . . . . : 2001:470:3d:3000:222:15ff:fe24:329c(Prefe rred) IPv6 Address. . . . . . . . . . . : 2001:470:3d:3000:9201:9970:fbe8:4662(Pref erred) Link-local IPv6 Address . . . . . : fe80::222:15ff:fe24:329c%11(Preferred) IPv4 Address. . . . . . . . . . . : 172.20.2.1(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 Lease Obtained. . . . . . . . . . : Sunday, March 20, 2011 6:59:57 PM Lease Expires . . . . . . . . . . : Tuesday, March 29, 2011 7:21:19 PM Default Gateway . . . . . . . . . : 2001:470:3d:3000::1 fe80::21b:21ff:fe1d:c159%11 172.20.0.1 DHCP Server . . . . . . . . . . . : 172.20.0.11 DHCPv6 IAID . . . . . . . . . . . : 218112533 guitar flash DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-11-99-BD-28-00-22-15-24-32-9C
DNS Servers . . . . . . . . . . . : 2001:470:3d:3000::11 2001:470:3d:3000::12 172.20.0.11 172.20.0.12 NetBIOS over Tcpip. . . . . . . . : Enabled Connection-specific DNS Suffix guitar flash Search List : hughesnet.local
First global IPv6 address listed came from DHCPv6 stateful (2001:470:3d:3000::2:1) DHCPv6 was configured with pool 2001:470:3d:3000::2:1 to 2001:470:3d:3000::2:ffff address is from DHCPv6, so it is counting down, but still in preferred state (preferred counter and valid counter still both > 0).
Next two global IPv6 addresses came from SLAAC (I configured my Win7 to use EUI-64, by default it uses ra
Avtor JanZorz , 08.Apr 2011, 08:49, Objavljeno v IPv6 izobraževanja , IPv6 tehnika Na forumih se včasih pojavijo zanimive razlage raznih delov IPv6 protokola, tokrat sem naletel na post, v katerem Lawrence Hughes iz podjetja Infoweapons razlaga novincem v IPv6 svetu, guitar flash kako deluje SLAAC. Zanimivo branje, predvsem za novince…
Step 1: generate a 64-bit “interface identifier” (low 64 bits of an IPv6 address) – using either EUI64 (create from 48-bit MAC address) or randomized interface identifier (chosen at random from 2**64 possible values) – which depends on node configuration. say it is 1:2:3:4.
Step 4: if you get back at least one Router Advertisement msg to your RS msg (step 3), then determine use link local address of one of them as your default gateway, guitar flash and if at least one 64-bit prefix is returned (say 2001:db8:1000:2000::/64), then also generate a global unicast address using ii from step 1, say 2001:db8:1000:2000:1:2:3:4. This is done for each unique 64-bit prefix returned guitar flash by router(s) that responded.
Step 5: check RA msg for M and O bits. If M=1, then there is a stateful DHCPv6 guitar flash server (or relay agent) on the local link. If so, send request to all DHCPv6 servers/relay agents on local link multicast address, obtain another unique global unicast address and various stateless info (IPv6 address of DNS, etc). SLAAC complete.
If M=0, but O=1, there is a stateless DHCPv6 server (or relay agent). Send request to all DHCPv6 server/relay agent multicast address and get stateless info (IPv6 address of DNS, etc). SLAAC complete.
Most nodes have no way to prevent guitar flash SLAAC from working, although on some if you configure a static IPv6 global address manually, SLAAC does not work (e.g. FreeBSD). This appears to be not compliant with RFCs. With Windows or Linux, even if you manually specify a static address, they still do SLAAC, and get default gateway and a SLAAC node address.
DHCPv6 can only work if SLAAC works (otherwise it won’t know setting of M and O bits from RA msg). In theory a node could contact DHCPv6 without using SLAAC, but it would not be able to get default gateway, and this is not in compliance with RFCs.
So, in general (except in FreeBSD), if you configure a global address manually, and there is a stateful DHCPv6 server available, you will get (at least) 3 distinct global IPv6 addresses (at least one from SLAAC, one from manual, and one from DHCPv6 stateful). Windows Vista/7 by default gets TWO global addresses from SLAAC – one permanent and one temporary. All these are IN ADDITION to link local address guitar flash the node creates automatically.
Next hop is ALWAYS link local. If target is on-link, link-local will always work. If target is off-link, it will use default gateway address for next hop, which should always be link-local. Exception is if you manually guitar flash configure a global unicast default gateway (not generally a good idea, but it will work). ND address resolution usally guitar flash maps link-local addresses onto link-layer (MAC) addresses.
Connection-specific DNS Suffix . : hughesnet.local Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller Physical Address. . . . . . . . . : 00-22-15-24-32-9C DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled guitar flash . . . . : Yes IPv6 Address. . . . . . . . . . . : 2001:470:3d:3000::2:1(Preferred) Lease Obtained. . . . . . . . . . : Thursday, March 24, 2011 7:21:19 PM Lease Expires . . . . . . . . . . : Tuesday, April 05, 2011 7:28:01 PM IPv6 Address. . . . . . . . . . . : 2001:470:3d:3000:222:15ff:fe24:329c(Prefe rred) IPv6 Address. . . . . . . . . . . : 2001:470:3d:3000:9201:9970:fbe8:4662(Pref erred) Link-local IPv6 Address . . . . . : fe80::222:15ff:fe24:329c%11(Preferred) IPv4 Address. . . . . . . . . . . : 172.20.2.1(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 Lease Obtained. . . . . . . . . . : Sunday, March 20, 2011 6:59:57 PM Lease Expires . . . . . . . . . . : Tuesday, March 29, 2011 7:21:19 PM Default Gateway . . . . . . . . . : 2001:470:3d:3000::1 fe80::21b:21ff:fe1d:c159%11 172.20.0.1 DHCP Server . . . . . . . . . . . : 172.20.0.11 DHCPv6 IAID . . . . . . . . . . . : 218112533 guitar flash DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-11-99-BD-28-00-22-15-24-32-9C
DNS Servers . . . . . . . . . . . : 2001:470:3d:3000::11 2001:470:3d:3000::12 172.20.0.11 172.20.0.12 NetBIOS over Tcpip. . . . . . . . : Enabled Connection-specific DNS Suffix guitar flash Search List : hughesnet.local
First global IPv6 address listed came from DHCPv6 stateful (2001:470:3d:3000::2:1) DHCPv6 was configured with pool 2001:470:3d:3000::2:1 to 2001:470:3d:3000::2:ffff address is from DHCPv6, so it is counting down, but still in preferred state (preferred counter and valid counter still both > 0).
Next two global IPv6 addresses came from SLAAC (I configured my Win7 to use EUI-64, by default it uses ra
No comments:
Post a Comment