06-24-2012 02:51 AM - edited 03-07-2019 07:25 AM
Hi.
I'm having trouble understanding what the purpose of link local addresses are.Why can't mac addresses be used Initially like arp with IPv4.Why Is an address given In order to find another address ?
Solved! Go to Solution.
06-24-2012 03:40 AM
Hello,
In IPv6, every communication is carried as IPv6 packets. It means that whatever we want to send or receive in IPv6, it absolutely must be IPv6-encapsulated. This is quite a difference from IPv4 where the ARP, a key protocol necessary for L3/L2 mappings, was carried unencapsulated directly using Ethernet frames. In IPv6, functions of ARP have been moved into ICMPv6, an IPv6-based protocol. So if every IPv6-related communication, including L2 address resolution, is carried as IPv6 packets, there must always be a guarantee that there is an IPv6 address available that can be put into the source IPv6 address field of these packets.
Link-local addresses in IPv6 are exactly that: they are addresses that each and every network interface must have as soon as IPv6 is enabled on it. They are usually used as next hop addresses in routing tables (IGP protocols for IPv6 do not use global unicast IPv6 addresses for next hop addresses) and may be used during phases when no global unicast IPv6 address is available on an interface.
MAC addresses directly cannot be used because they belong to a different layer - they are related to network cards, not to IPv6 addresses. Moreover, not every data link layer technology has MAC addresses - think serial interfaces and PPP protocol, for example. However, it is true that the link-local addresses are usually initialized using the MAC address of the interface if it has any (i.e. the interface takes the FE80::/8 prefix, adds 56 arbitrary bits, usually set to 0, and fills the remaining 64 bits using the EUI-64 value directly derived from the interface's MAC address).
Why Is an address given In order to find another address ?
I am not sure about this question. Can you elaborate please?
Best regards,
Peter
06-24-2012 09:20 AM
The link local address does continue to exist and to be used after the global unicast address is learned and is being used. There are some kinds of traffic that should be sent on only the local subnet. One example would be routing update traffic and there are other kinds as well. In IPv4 we send a routing protocol update to a multicast address and assume (hope) that the other devices that receive it will not forward it. But what if some device saw the multicast traffic and decided since it was running multicast routing that it should forward the multicast routing protocol update? IPv6 gives a way to explicitly say "this traffic should not be forwarded off of the local subnet". That is why the link local address continues to be used.
HTH
Rick
06-24-2012 03:40 AM
Hello,
In IPv6, every communication is carried as IPv6 packets. It means that whatever we want to send or receive in IPv6, it absolutely must be IPv6-encapsulated. This is quite a difference from IPv4 where the ARP, a key protocol necessary for L3/L2 mappings, was carried unencapsulated directly using Ethernet frames. In IPv6, functions of ARP have been moved into ICMPv6, an IPv6-based protocol. So if every IPv6-related communication, including L2 address resolution, is carried as IPv6 packets, there must always be a guarantee that there is an IPv6 address available that can be put into the source IPv6 address field of these packets.
Link-local addresses in IPv6 are exactly that: they are addresses that each and every network interface must have as soon as IPv6 is enabled on it. They are usually used as next hop addresses in routing tables (IGP protocols for IPv6 do not use global unicast IPv6 addresses for next hop addresses) and may be used during phases when no global unicast IPv6 address is available on an interface.
MAC addresses directly cannot be used because they belong to a different layer - they are related to network cards, not to IPv6 addresses. Moreover, not every data link layer technology has MAC addresses - think serial interfaces and PPP protocol, for example. However, it is true that the link-local addresses are usually initialized using the MAC address of the interface if it has any (i.e. the interface takes the FE80::/8 prefix, adds 56 arbitrary bits, usually set to 0, and fills the remaining 64 bits using the EUI-64 value directly derived from the interface's MAC address).
Why Is an address given In order to find another address ?
I am not sure about this question. Can you elaborate please?
Best regards,
Peter
06-24-2012 03:49 AM
Thanks! I understand It more clearly now.I see why a local link address must be given Initially now so I'll rephrase the second part of my question.
Does the local link address exist only Initially until a global unicast address or a private address Is obtained by the host either through stateless or stateful dynamic or static configuration ?
If I understood correctly the local link address will remain for all local subnet communications even after another address Is acquired.
06-24-2012 09:20 AM
The link local address does continue to exist and to be used after the global unicast address is learned and is being used. There are some kinds of traffic that should be sent on only the local subnet. One example would be routing update traffic and there are other kinds as well. In IPv4 we send a routing protocol update to a multicast address and assume (hope) that the other devices that receive it will not forward it. But what if some device saw the multicast traffic and decided since it was running multicast routing that it should forward the multicast routing protocol update? IPv6 gives a way to explicitly say "this traffic should not be forwarded off of the local subnet". That is why the link local address continues to be used.
HTH
Rick
06-24-2012 10:15 AM
Thank you! That makes sense.So It's an enhancement over IPv4.
06-24-2012 10:41 AM
Hello Rick,
Thanks for joining in the discussion!
I absolutely agree with your explanation, and I would like to mention one more aspect, although more conceptual. With IPv6, it is allowed and actually often used to have multiple addresses on a single interface. These addresses can arbitrarily be allocated from many IPv6 different subnets, or from a single IPv6 subnet. An IPv6 address therefore becomes a non-exclusive attribute of an interface. A link-local address provides a fixed, so-to-say anchor point in all the ensuing address variability. It is nice to see that if, for example, a router advertises multiple prefixes on a link using the Router Advertisement messages, stations still use its link-local address to forward packets through it to other networks.
Best regards,
Peter
06-24-2012 04:59 PM
Peter
Thank you. You make a very interesting point about the link local address becoming an anchor point and providing stability.
I find it interesting that while the concept of link local communication is sort of inherent in IPv4 (there are various types of packets that should only be sent on the local subnet) there is not an explicit mechanism in IPv4 to achieve it other than setting TTL = 1. With IPv6 they do provide an explicit mechanism which is the link local address.
HTH
Rick
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide