IPv6-03 IPv6 Neighbor Discovery, Multicast and DAD

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] you may have heard the news about art and how it's no longer in existence with IP version 6 it was such a huge part of IP version 4 but completely annihilated with version 6 in this lesson we're going to focus on the replacement for that specifically neighbor discovery protocol we'll also take a look at multicast and how it operates and why it's so critical for ipv6 to work and how it works behind the scenes for you and we'll all stick look with a protocol analyzer at duplicate address detection let's go so let's make sure we're all up to speed between now in the last video what I did is I went back to each of these devices and I enabled ipv6 on the interfaces so they're good to go as far as a link local address and I've also hard-coded the MAC addresses router ones MAC addresses four zeros and then eight ones and host days MAC address is four zeros and eight days and hos B's MAC addresses four zeros and eight B's that way when you see the ipv6 link local address with its eui-64 format you can realize exactly where those came from so the one with the love is in it will be host a and the eui-64 dress for host people have a lot of bees in it and r1 will have a lot of ones in it so let's begin on r1 let's do a quick little test let's just go in and do a couple show commands to verify some details on our one regarding its configuration so we'll do a show interface FA 0/1 that's this interface right here including baa and we can see the hard-coded MAC address that I put in of zero zero zero 1 1 1 1 1 101 and we also could also can see the link local address that it has now that link local address as a reminder it created this eui-64 formatted host ID based on the MAC address inserting fffe and it flipped the 7th bit so we're good to go what I like to do also is turn on some service timestamps timestamps are handy so that going to show us when an event is occurring so we'll simply turn on service timestamps for debug and I'm going to choose uptime and that will show us the number of hours minutes and seconds since this device has been booted up now why because I'm gonna do some debugs with you to show you what's happening behind the scenes and I want the timestamps to help tell the story the other thing I'm gonna do is I'm gonna clear any type of cached information about any type of neighbors I might have up here on r1 so I'm gonna do a clear of ipv6 neighbors which is a lot like an ARP cache you know in lay IP version 4 we had the ARP cache with layer 3 layer 2 mapping we have a similar functionality with neighbors that we can dynamically learn using the neighbor discovery protocol let's go up to host a and let's take a look at host A's link local address so we do a ifconfig and I'll put Keith I wrote a little script for this there's the link local address for host a so from our one if we ping that IP address we should be able to get a response now the reality is this when we send up ping out to a device we have to at layer two on Ethernet we have to know what the layer 2 address is with version 4 of IP we'd send an ARP request which is a broadcast going to everybody in the Britain the broadcast domain and everybody we'd have to look at it see if it was for them and then respond wealth ipv6 there is no broadcast and there is no ARP what we're gonna do instead we're gonna send out a multicast request asking for that information back from the network hosts days gonna hear it he's gonna respond and that's what this debug I'm about to put on is gonna help us with so let's go back to a router 1 and on our router 1 we've turned on this debug of ipv6 4 nd that's neighbor discovery and let's go ahead and do a ping so I'm gonna do a ping of the IP address of fe80 colon colon 200 colon a AFF and effy AAAA now that's the link local address we just saw on host a now it's asking me about which interface I want to use that's always gonna happen when you ping a link local address anything on fe80 it's gonna say well I've got a couple of those I need to know which interface you want to send it out of even if you only have one interface it's still gonna ask you which interface so I'm gonna do that ping and as we do that ping we have the response now take a look at the actual debug messages that are coming back we have this message right here in fact let me let it finish a little bit there we go this first message is saying okay I didn't have any neighbor discovery information for this IP address I'm gonna move from deleted meaning it wasn't there to incomplete and so then it sends out the neighbor solicitation that's an NS so sending out basically a request saying hey buddy the person who has this IP address fe80 blah blah blah blah I need to know what your layer 2 address is he then basically he sends out the request he receives a neighbor advertisement so when we send out a solicitation right here we usually get a neighbor advertisement in return and this is basically coming back from host a look at the really cool is in its ipv6 address and then we learned in that neighbor advertisement that host day is that the layer 2 address of 0 0 0 0 aaaa aaaa so now we move our state for reach ability from incomplete to reachable if you look at the timestamp on this the 23 second mark here and then we did our pings and you know life was great so we can have communication back and forth we also have a neighbor solicitation from host a asking information about us and then we sent a neighbor advertisement back so we sent out to solicitation host they answered host a send out a solicitation we answered and then after about 30 seconds if we look at the time stamps this is like 23 seconds and that 49 seconds it went from reachable to stale and all that means is it's been about 25 to 35 seconds since I last heard a neighbor advertisement from that device so I still have it in my cache if I do a show ipv6 neighbors is still there except it's gonna specify stale meaning yeah it's not that fresh anymore something fresh for like 30 seconds and that my friends is the replacement for ARP that's the mecca that router one can figure out the layer to address of the host day it's by sending a neighbor solicitation host a sends back a neighbor advertisement back with that information and that's the replacement for our what used to be used as ARP an ipv4 neighbor discovery is used in ipv6 so let's take a look at the play by play with the protocol analyzer we have our one who's issuing an ICMP message and that's what neighbor discovery uses its ICMP and we have different ICMP types a 135 is a neighbor solicitation so our one sends out a neighbor solicitation and he is specifying in a solicitation that his MAC address his layer to address is 0 0 0 0 1 1 1 1 1 etc etc we'll look at the layer 3 information when they look at the source IP address here's the source IP address that r1 is using so his source address is FV 8201 1 FF which is the link local address that r1 is sourcing the ping from so he sends out the neighbor discovery and what happens well the neighbor solicitation gets answered by a neighbor advertisement this is the host de responding so we take a look at the information at ipv6 the IP header we have the source is the ipv6 address of the host a and the destination is the ipv6 address of r1 and inside of the payload we have a beautiful neighbor advertisement which is an ICMP type 136 and inside that we should have the layer 2 address of host a so that's great now what have I been dancing around I'll tell you what I've been dancing around I'm dancing around the fact that how did our host a get that message and know it was for him in spite of the fact that our one didn't have the layer 2 address of host a yet to do it and the key is r1 is actually sending out that request to something called a solicited node multicast address the magic is this every time we put on an ipv6 address on a device whether it's a link local address or a global address that hosts is going to join a special multicast group based on the last 24 bits of his host ID let me show you exactly what I'm talking about so let's start out on host day the objective here is to identify how host a join some multicast group and how router one knew what multicast group to use to send the neighbor discovery to or the neighbor solicitation to so here on host day let's take a look at some details of it if we do a show ipv6 interface brief we can see the link local address and that's the ipv6 address that r1 was trying to reach so its fe80 and as we know this is the eui-64 format based on his MAC address having a whole bunch of A's in it well if we open the kimono a little bit further and we do a show ipv6 interface without the brief option it's going to show us that yes we have this link local address on that interface but we also have joined a multicast group now ffs if it begins with F F that represents a multicast group and if we take a look at the last portion of this this last 24 bits matches the link lay the link local host ID over the last 24 bits of it so here's the deal every time you have an interface that is ipv6 whether it's the link local address or a global address it will automatically join a group that is F F 0 to the F F means it's multicast we'll take a look at the rest these bits in a later video bits F F 0 2 : : 1 : F F that's a special reserve group and then the last 24 bits which is these 16 bits and these 8 bits matched the last 24 bits of the interface so for example if we added another ipv6 address to this device which we'll do right now well go into interface FA 0/0 and we'll say ipv6 address in fact let's add 1 for this network segment right here let's do 2001 because that's where he is we're adding a global address now db8 and we'll put in 21 one on one and let's make him : : a and we'll say that's gonna be a / 64 for the mask and boom we're done now check this out my hands will never leave my arms a moment ago he had joined the group FF 0 2 : : 1 : FF a AAA because he had a host ID that ended in those 24 bits if we do that same command again show ipv6 interface check this out he has now joined another group that has the last 24 bits the same as his host ID so right here this all zeros and then the 1 0 1 0 which is a in hexadecimal that is what is right here as well so every time we add an ipv6 address to an interface we are going to go ahead and automatically join what is called the multicast solicited node multicast group for that interface so now here's the magic when our one did a ping to F this guy right here - this guy's IP address f 0 FB ad blah blah blah when he did that ping he actually sent out a neighbor solicitation to this multicast group right here so we take a look at the multicast we go back to the trace for a moment and this neighbor solicitation there's the actual solicitation out to FF 0 2 : : 1 FF a a and then for morays so r1 based on the IP address we are trying to reach actually sent the neighbor solicitation not to the unicast address of host a it sent it to the multicast group which host a joined which is a special solicited node multicast group and then once host they responded here we then learned the layer 2 address and in the echo request necro replies just went like clockwork so the magic is the solicited node multicast group that we're joining and the secret is the last 24 bits of each of your different host IDs they are going to cause you to join in multicam group with the same last 24 bits with the initial bits being set to FF 0 2 : : which is love zeroes 1 FF alright so let's take a look at another example of how ipv6 works behind the scenes let's say hypothetically that we wanted to send a message out to every single device so let's say there's 400 500 devices that pair there's only 2 physically shown but there's more present if we wanted to send a message to everybody here is another multicast group that every device joins by default it's FF again the FF represents its multicast meaning that more very likely more than one device is listening and the colon : 1 at the end is representing any ipv6 speaker meaning if we put a Linux box an IBM box a Windows box an apple anything on this network that speaks ipv6 it's going to automatically join the multicast group of FF 0 2 : : 1 so what would happen if we tried to ping that address from r1 I'd like to demonstrate that for you right now so let's go ahead and do the ping of the ipv6 all nodes multicast group FF 0 2 : : 1 and before I do let's just clear the ipv6 neighbors off of IP off of this router I'm also gonna go ahead and clear the ipv6 neighbor ships off of all the other devices to make sure it's a nice fresh shoot and once that's done let's go into our ping of FF 0 2 : : 1 will specify our output interface of FA 0 1 and we get some responses back in now while those responses pour in I've got these two devices on this network and I also have a little Linux box that I brought up that has a link local address it has its Hardware address of 0 0 1 1 2 2 3 3 4 4 5 5 and then it created the eui-64 formatted host ID for its link local as well so we sent out 5 pings effectively and that peeing went out to FF 0 2 : : 1 that basically is a multicast group that everybody this UNIX box this host this host were all tuned into and as a result they processed it and said oh it's a ping request and we don't know who to send it back to so each of these three devices they all did neighbor solicitations to our one saying hey mister r1 we need to know your layer 2 information can you give it to us so we have three neighbor solicitations done by the UNIX box this host and this host 3 neighbor advertisements by r1 which includes the layer 2 address of r1 and then once they all received it they could reply to the ping requests and that happened five times responded to by each device for a total of 15 total pings so 15 multicast replies and no errors the replies are actually unicast replies so let's take a look at the protocol analyzer to see what happened and verify what happened behind the scenes with this multicast ping so here's the play-by-play behind the scenes I've got three devices on our network we have host this UNIX box host a and host B all in this network segment along with our ones fa0 one interface and just a moment ago we did a ping to the multicast group FF that's the key it's multicast 0 2 : : 1 as we discussed that special group is joined by every device on the network that's running ipv6 so even though we don't have a broadcast address anymore in ipv6 if we wanted to send a message out we could send it up to FF 0 2 : : 1 and that would get to everybody so has the same effect as a broadcast on IP version 4 so let's take a look at how this plays out if I send out this FF 0 2 : clone 1 as a destination how does that look or what does it look like at layer 2 because switches deal with layer 2 addresses and our computers they receive the bits and they take a look at the layer 2 addresses to see whether or not that layer 2 frame has meaning for them in IP version 4 a broadcast had meaning for everybody so they all had to process the packet and take a look at it in ipv6 because all lips have joined ff0 to : : 1 they are all interested in what may be behind that frame so what exactly is the layer to frame for an ipv6 address this multicast group the answer is right here because MAC addresses on Ethernet I mean Ethernet is Ethernet it has to be 48 bits in length so for normal multicast like this multicast group right here the last 32 bits match the last 32 bits of the host ID that we're trying to reach now in multicast they call that a group identifier so the last 32 bits of the group identifier are going to be specified as the last 32 bits of the MAC address for the destination MAC address we're also going to prepend that with four threes so 32 bits here plus 16 bits more here is a total of 48 bits so every device in ipv6 is listening to the MAC address or thinks that's interesting if it's 33 33 0 0 0 0 0 0 1 because everybody has joined this group okay so great it's an ICMP echo request but take a look at the details it's an echo request from r1 now what do all these devices do with it now here's here's what's going on in their minds oh my goodness we just got an ICP echo request say these three devices if we were good citizens we would respond but we can't we don't know what the layer to address the MAC address is of r1 we're not going to reply back to a multicast address this packet came from fe80 : : bla bla bla bla are ones link local address so each of these devices are going to need to do a neighbor solicitation to figure out what is the layer to address of FA 0/1 on our one so we start off with this guy so this is one one this MAC address right here this fe80 dress is this UNIX boxes so he was the first one to the party so he sends out a neighbor solicitation and who does he send it out to he sends it out to the solicited node dress that corresponds to our ones IP address so if we take a look at the neighbor solicitation it's coming from fe80 and the ipv6 address of the UNIX box to the special solicited node multicast address of our one FF 0 2 : : 1 : FF and the last 24 bits of the solicited node multicast address matched the host so Keith are you telling me that if we went to r1 right now and we did a show ipv6 interface it would show us that r1 had joined this group and was just waiting and the answer is yes let's go take a look over on r1 let's make a road trip over here and we'll say show ipv6 interface and there is his multicast group and that's exactly the multicast group that are this UNIX box sent to to elicit the neighbor solicitation and ask r1 for that information now the really cool thing is that when this UNIX box made that neighbor solicitation that was sent into the network if we had a switch that was forwarding that to everybody because it didn't know where people lived everybody would receive the the bits but host B and host a because it came from this device and it's a neighbor solicitation for this specific multicast group because they haven't joined that multicast group they don't have to process it they look at the layer 2 frame and say yep I'm not interested in that I'm not even gonna waste time on it so we're not sending we're not making everybody on the network even if they got the frames which we can was switching we can control that as well but even if they got the frames they wouldn't have to process them beyond looking at the layer to address and saying I'm not interested now r1 because he's joined that multicast group he is interested and as a result he sends back a neighbor advertisement which is right here so here's our neighbor advertisement sent back to specifically back to this UNIX box to his link local address now he knows inside of that by the way if we open it up and we scroll up a little bit here it's got the layer to address of r1 which is what we were primarily after and as a result now the UNIX box knows how to respond back and sends his echo reply which is right here and then all the rest of it is unicast between the two dresses so what have we learned about multicast groups here's what I want you to take away from this if it starts if the ipv6 address starts with F F you know it's a multicast group that there could be more than one device who's paying attention to that group we also identified that on a device that has an ipv6 address it's also going to join what is called the solicited node multicast group for that which is FF 0 2 : : 1 FF and the last 24 bits are going to match the host ID for that interface that we've added to it for normal multicast like FF 0 1 FF 0 2 : : 1 excuse me that is going to use the last 32 bits is going to match the group so with FF 0 2 : : 1 the last 32 bits represent the group ID and as we convert that into a layer 2 address we're gonna have 33 33 and the last 32 bits are gonna match the group ID with the solicited node multicast address we're gonna have this string in front and only use the last 24 bits these guys right here to match the actual interface that the client has so that's a really important aspect just to keep it straight and understand why these addresses show up sometimes let me chat with you for a minute sometimes I realize like well I just gonna let it happen and good luck with everything else as we start building on this base core of knowledge and we start working with routing protocols and how they operate it is gonna be critical for troubleshooting and implementing to make sure you understand the basic mechanics so in this discussion today we've discussed neighbor discovery and neighbor discoveries pretty simple it's when you have a device that wants to primarily learn the layer to address of some in that local segment it can send out a request to the solicited node multicast the group associated with that address is looking for and then hopefully get a neighbor advertisement as a response with normal multicast instead of using the last 24 bits we use the last 32 bits which is the group ID for the multicast group that we're trying to reach so we could use multicast groups for all kinds of purposes right here is primarily just to demonstrate that every device is joining the multicast group of FF 0 2 : : 1 and every device will join a solicited node multicast group depending on the interfaces that it has ipv6 configured for now the last piece of our discussion today is going to be duplicate address detection and that is when we did apply an ipv6 address to an interface how did it know how did it router know that no one else was using that ipv6 address whether it's a link local or a global address and the answer is duplicate address detection and part of the secret here is that duplicate address detection involves using the solicited node multicast group because if our one let's say our one just for a moment wanted have a new ipv6 address put on it let's say we're gonna put on the ipv6 address of 3 3 3 3 : colon 3 / 64 before our one would start to use that he would send out a solicited node request asking if anybody has that address in use and he would send it to the solicited node multicast group address and if anybody already had that address they would respond so let's take a look at that and also put a protocol analyzer on it just to verify what is happening so we'll go to our 1 and we're gonna add a brand-new ipv6 address this will also demonstrate another important concept when you add new ipv6 addresses it doesn't replace the old ones you can have lots of different ipv6 addresses on the interface at the same time lots of different global addresses and they'll simply be additive so let's do a config T and we'll go to interface FA 0 / 1 and let's add down the ipv6 address and we'll choose three three three three : : three now you and I both know that's 128 bits there's six groups of zeros right here in between the colon : and let's say slash sixty-four leave pause just for a moment I'm gonna put a protocol analyzer on this exact config and then we'll come back implement it and we'll take a look at the protocol analyzer so now the protocol analyzer runner is running old press Enter and in the background what's happening is our one says oh I've just been told to use this ipv6 address I wonder if it's in use so it goes out and it sends a neighbor solicitation to the solicited node multicast group that would have been joined by anybody if they had this ipv6 address so because the last 24 bits of all zeros and three are not in use by host a or host B or by the UNIX device which I remove removed a moment ago nobody is gonna have to process that because they haven't joined that group now if there was an a device that had the last 24 bits the same as three here it would have responded and our one would say oh that's an use duplicate address detection failed and as a result I won't use this IP address so let's take a moment take a look at the protocol analyzer for the neighbor solicitation that r1 is gonna make attempting to find whether or not this address is in use by soliciting the solicited node multicast address so here's the protocol analyzer for all we just implemented r1 has a brand new ipv6 address of 3333 colon colon 3 or he's supposed to use it the very first thing he does is he reports in to a special multicast address which is for MLD multicast listener discovery protocol and that's this destination right here he's basically saying hey this new address 33 33 colon clone 3 corresponds to a multicast solicited node group that I'm now going to join so the actual message he's sending is this he is saying am changed to exclude that multicast group and that multicast group right here is the solicited node multicast group or the ipv6 address he's about to join now it's kind of wacky like why would I send a report saying I'm now going to exclude this address let's think about how a router or PC deals with frames if somebody sends a frame of data layer 2 into a router or switch or PC that device has to decide whether or not this is interesting it's interesting if it's the MAC address associated on the interface but pretty much we're gonna filter everything else out by joining a multicast group we are going to exclude this ipv6 address from this multicast group from our filter which means we're now going to go ahead and pay attention to it so as a result this changed to exclude for this multicast group is sent out to any MLD listeners that would be a device running multicast listener discovery that's a whole topic for another video so that's what this first packets about then we send out a neighbor solicitation and then we send the solicitation out to the solicited node multicast group that a device would have joined if it had that ipv6 address that ended in the last 24 bits with a 3 at the end because nobody responded and that's the gap here we have like less than a second but still nobody responded to us we are then gonna go ahead and register that address so we're sending a source packet to FF 0 to 16 and we're saying you know what I'm still going to exclude FF 0 2 : : 1 FF 0 0 3 that's the multicast listed a known multicast group that he is now joining because he's gonna take the address now what do you do if you have a brand new child I remember my last daughter that was born her name is Hannah she's awesome and I was so excited I was showing people pictures on my laptop and on my cell phone and stuff and here's a picture she's so great well a router or PC does the same thing once it has an ipv6 address it wants to tell everybody about it so here we have a neighbor advertisement normally we only do neighbor advertised if somebody is asking for it so neighbor solicitation hey what's your in fro neighbor advertisement we're giving the info in this case because we've just got a brand new address this is router one advertising from the source of its ipv6 address to the multicast group of everybody everybody who's speaking ipv6 has joined this group and he's basically saying hey I've got this new ipv6 address in case you're interested and that's it and now he's up on the wire and happy happy ready to go now the other flip side of this is what if somebody tried to use an ipv6 address and it was in use what'll happen then I say we set that up let's go ahead and tell host day that we want it also to try to use three three three three colon colon three will do the same trace on it and then we'll take a look at the results which will be significantly different let's do that right now so let me just close that off configuration mode here on our one we'll make a road trip up to host day and host day looks very very familiar to the iOS interface is quite amazing actually so we'll go into configuration mode interface for FA 0/0 and we'll give it the same or try to give it the same ipv6 address that we gave over here to our one which was 33 33 colon colon 3 with a 64-bit mask so over here will simply say ipv6 address and we'll say it's gonna be 33 33 in fact let's turn on debugging - that would be fun we'll do a do debug ipv6 and e4 neighbor discovery and then we'll go ahead and put the ipv6 address on ipv6 address 33 33 colon clone 3 slash 64 I'm gonna go ahead and hit the capture button right now so we're capturing that data which we are and then we'll go ahead and let it go now I'm gonna let this finish and it says didn't fly it let me stop the packet capture and we'll take a look at each of these parts so let's take a look at the pieces first of all we have it adding the address is doing duplicate address detection to find out whether or not that's already in use so this host is sending out a solicited node multi caste destination address for anybody who would have already had that IP address so he sends it out and then he gets a response back this is bad news that's r1 saying yeah I've got that address I've joined that solicited node multicast group you sent the request out to that group I'm responding and as a result this device knows oh it's already in use and it does not configure it on the interface so host aid didn't take the address because it was already in use let's bring in the protocol analyzer I'll swing it in right here and let's take a look at the pieces here which should basically support what we just learned so the first piece is host de said I'm going to configure an ipv6 address and it made a report to the MLD well-known multicast group reporting that it's going to exclude this multicast group from its filter meaning I'm now going to start listening to frames that are destined for this listed known multicast group based on what it thinks it's about to use it sends out a solicitation now let's take a look at this source IP address in the packet this source IP address is the unspecified IP address C colon colon that's eight sets eight groupings of zeros so we're sitting on a request literally from an the IP header it's specifying we don't have a source IP address right there so we're spinning it's anything from the unspecified address and it's going to the solicited node multicast group which is the last 24 bits of which would match anybody who had those same last 24 bits now the neighbor advertisement now the naval solicitation went out and because our one had that address he responded and this is the different part than previously before we didn't get a response now in milliseconds our fractions of milliseconds we get a response that r1 says yeah I've got that IP address and look who he sent it to because the request came from the unspecified address he sends back the neighbor a neighbor advertisement to ff0 to : : one which is every IP v IP v6 speaking device they've registered and joined that multicast group so host a gets the message back because it was gone sent to the L knows like ask group and as a result is oh goodness I can't use that ipv6 address and that means I don't have to join that stupid multicast group for that address if I'm not going to use it so here's what these last two pieces are he goes back and says oh I want to report in that I am going to include FF 0 2 : colon 1 FF 0 0 3 in my filter list meaning I'm no longer going to pay attention to that multicast the group because I didn't get to use that ipv6 that court addressed that corresponds to it and he did it twice so you could call it neurotic or just to make sure everybody got the info but he sends that message once and then they sent it twice just to confirm to any multicast listener discovery devices that he is not going to use and doesn't want to see any of that information for that specific multicast group so as a review with multicast multicast starts with FF if traffic is being sent to a specific multicast group like this FF 0 2 : : 16 the last 32 bits of the layer to address are going to match the ipv6 address so here we have 16 for the last 32 bits and we're gonna have that's gonna match less 32 bits here prepended by 3 3 3 3 another multicast group which is an exception to the rule is the solicited node multicast group which is FF 0 2 : : 1 FF and then the last 24 bits match the actual host ID so the layer 3 layer 2 correlation is for the solicited multicast it's the last 24 bits and for general multicast it's the last 32 bits they're going to match with the 3 333 prepended and for the solicited node 3 3 3 FF which are prepended in front now this video went a little longer than intended because I wanted to put all these pieces together because they're interrelated neighbor discovery multicast and duplicate address detection so let's make sure we're clear on the pieces neighbour discovery is the process by which two devices on the same local network can find out the layer to address information from each other they do with a neighbor's solicitation one device does a solicitation the other one does a neighbor advertisement it's a marriage made in heaven the biggest part of that neighbor advertisement is gonna be the layer two MAC address that the other side needs to forward frames on the network the second piece is multicast multicast is really simple it's not broadcast a broadcast would be all devices in ipv4 we had broadcasts it was the all ones layer to address in ipv6 we do not have broadcast anymore instead we're gonna have devices join multicast groups specifically they're going to join ff0 to : : one if they're speaking ipv6 at all and they're also going to join the solicited node multicast group which is matching the last 24 bits for any ipv6 addresses that they have configured and that includes eui-64 addresses and/or link local addresses and that all fit in and the last piece was dad duplicate address detection understanding multicast and how that works first was critical to understanding dad and dad's simple it simply says hey I want to use this ipv6 address before I use it I want to find out if anybody else is currently using it so we source a packet from the unspecified address that's colon : the IP header why because we don't want to use an address as a source if it's already used somewhere else so we're playing it safe we send a request out to the solicited node multicast group for a device that would already have join that group based on having the address if we don't get a response back we say great the coast is clear I'll go ahead and use that address if we do get a response back somebody says that it isn't use we back off and say great I'm gonna sit here for a minute I'm not going to use that now one other thing I want to share with you which is pretty darn cool is that these concepts that we've discussed they apply to link local addresses which start with fe80 and they also apply to global addresses that start with two or 3,000 anything so two xxx or three xxx that's the global routable addresses on the Internet today so the concept of duplicate address detection is going to actually happen multiple times and as a review just put it all together when r1 is enabled for ipv6 it has a link local address it's gonna do duplicate address detection to verify that it's not in use when we put on an ipv6 global address like 2001 something or three thousand something or something in the range of the global to xxx or 3 xxx the routers also for whatever IP address you give him he's gonna do duplicate address detection again by sending out a solicited node multicast neighbor solicitation looking to find out if anybody has that in use already so we put the whole thing on a protocol analyzer we would see duplicate address detection for a link local address we would see duplicate address detection for the global routable addresses as well I've enjoyed having in this video tour of neighbor discovery multicast and duplicate address detection I appreciate your participation and I'll see you in the next video you
Info
Channel: Keith Barker
Views: 138,067
Rating: undefined out of 5
Keywords: IPv6 Neighbor discovery, Cisco IPv6, Duplicate Address Detection, IPv6 multicast
Id: O1JMdjnn0ao
Channel Id: undefined
Length: 41min 35sec (2495 seconds)
Published: Fri Aug 19 2011
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.