WEBVTT 0:00:03.180000 --> 0:00:07.080000 Hello and welcome this video which is a review and refresher for the CCNA 0:00:07.080000 --> 0:00:11.400000 200-301 boot camp on IPv6. 0:00:11.400000 --> 0:00:14.500000 So here we're going to go over some of the quick theory of IPv6 that hopefully 0:00:14.500000 --> 0:00:18.140000 you've already studied and learned up to this point. 0:00:18.140000 --> 0:00:22.320000 So hopefully you recall that IPv6, one of the main changes to it was the 0:00:22.320000 --> 0:00:24.560000 size of the address. 0:00:24.560000 --> 0:00:29.920000 IPv4 addresses are 32 bits long, IPv6 addresses are four bits as long 0:00:29.920000 --> 0:00:34.800000 or four times as long which are 128 bits long. 0:00:34.800000 --> 0:00:38.520000 Now the way we actually represent IPv6 addresses the way we write them 0:00:38.520000 --> 0:00:41.340000 is significantly different than IPv4. 0:00:41.340000 --> 0:00:45.660000 And IPv4 an address was written in dotted decimal. 0:00:45.660000 --> 0:00:58.400000 So if we had just as a putting down some random bits right here so don't 0:00:58.400000 --> 0:00:59.960000 bother counting these up. 0:00:59.960000 --> 0:01:06.320000 So if that represented the 32 bits of our IPv4 address the way we represented 0:01:06.320000 --> 0:01:10.700000 that was we took every byte which I believe that is a byte right there 0:01:10.700000 --> 0:01:14.000000 that's 8 bits and we converted that to a decimal number. 0:01:14.000000 --> 0:01:17.740000 I don't know what that is let's just make up something right now 174 let's 0:01:17.740000 --> 0:01:21.960000 just say and then once we convert to a decimal number we put a dot and 0:01:21.960000 --> 0:01:23.120000 then we did it again. 0:01:23.120000 --> 0:01:29.960000 So this is the way we saw IPv4 addresses but in reality each one of these 0:01:29.960000 --> 0:01:33.680000 represents one byte of binary. 0:01:33.680000 --> 0:01:39.820000 Now with IPv6 just as a review the address is a lot longer. 0:01:39.820000 --> 0:01:50.880000 And I'm actually putting spaces in here for a reason so it's 128 bits 0:01:50.880000 --> 0:02:00.460000 long. And the way we represent this is instead of taking every byte and 0:02:00.460000 --> 0:02:04.780000 converting it into a number we take a nibble which is 4 bits we take every 0:02:04.780000 --> 0:02:10.100000 4 bits and we convert that not into a decimal number but into a hexadecimal 0:02:10.100000 --> 0:02:17.240000 number. So 0010 well if you're like me it's easier to convert to decimal 0:02:17.240000 --> 0:02:21.900000 first and then once you've converted to decimal then convert to hexadecimal. 0:02:21.900000 --> 0:02:28.900000 So 0010 in binary equates to 2 in decimal and as it so happens 2 in decimal 0:02:28.900000 --> 0:02:32.460000 is exactly the same as 2 in hexadecimal 2. 0:02:32.460000 --> 0:02:38.980000 So the next nibble 1111 well if we convert that binary into decimal that 0:02:38.980000 --> 0:02:45.340000 is the number 15 15 in hexadecimal is F. 0:02:45.340000 --> 0:02:56.420000 1 1 0 0 that's the number 12 in decimal 12 in decimal is C in hexadecimal 0:02:56.420000 --> 0:03:03.540000 and then lastly we have a repeat here 1111 which is 15 which is F in hexadecimal. 0:03:03.540000 --> 0:03:09.100000 So we've now just converted 16 bits into 4 hexadecimal characters those 0:03:09.100000 --> 0:03:12.720000 16 bits technically we call that a word. 0:03:12.720000 --> 0:03:17.020000 So 4 bits is a nibble, 8 bits is a byte, 16 bits is a word. 0:03:17.020000 --> 0:03:21.900000 So once you've converted a full word of binary into its hexadecimal characters 0:03:21.900000 --> 0:03:26.300000 then you put a colon and then you repeat the process. 0:03:26.300000 --> 0:03:33.600000 So an actual IPv6 address would consist of 8 words separated by colons. 0:03:33.600000 --> 0:03:39.860000 So there's our first word, there's our second word, there's our third 0:03:39.860000 --> 0:03:44.240000 word, fourth word and so on. 0:03:44.240000 --> 0:03:47.720000 And then we would keep going out until we had a total of 8 of those so 0:03:47.720000 --> 0:03:53.260000 far I've drawn 5 so I would need 3 more to have an IPv6 address. 0:03:53.260000 --> 0:03:56.220000 Next thing hopefully you remembered was that with your IPv6 addresses 0:03:56.220000 --> 0:04:02.740000 we can we can abbreviate the address we can condense it or shrink it if 0:04:02.740000 --> 0:04:08.640000 we see a lot of continuous or contiguous zeros inside that address. 0:04:08.640000 --> 0:04:11.400000 So I'll draw an address that has that so we can do that as an example. 0:04:11.400000 --> 0:04:37.200000 2001, 000, 000, 000, 000, 000, 000, 000, 000, 000, 000, 000, 000, 000, 0:04:37.200000 --> 0:04:39.620000 000, 000, 000, 000, 000, 000, 000, 000. 0:04:39.620000 --> 0:04:42.940000 Alright so a lot of zeros in this address which is good because it helps 0:04:42.940000 --> 0:04:44.900000 us to shrink it down and abbreviate it. 0:04:44.900000 --> 0:04:46.300000 So here's what you do. 0:04:46.300000 --> 0:04:52.080000 You start by looking for any word, now remember words are preceded by 0:04:52.080000 --> 0:04:57.600000 a colon, a colon so any word that starts with a zero. 0:04:57.600000 --> 0:05:02.060000 So we have one right there, one right there, there, there, there, and 0:05:02.060000 --> 0:05:06.180000 there. Alright so once we identify a word that starts with a zero we try 0:05:06.180000 --> 0:05:10.740000 to find words that have a long continuous set of zeros. 0:05:10.740000 --> 0:05:13.100000 So I'll just go put some boxes around that. 0:05:13.100000 --> 0:05:18.120000 So here's a long continuous range of zeros, here's an even bigger continuous 0:05:18.120000 --> 0:05:23.720000 range of zeros, and this is a pretty short range of zeros. 0:05:23.720000 --> 0:05:27.980000 Okay for any one of those three boxes but we can only pick one, we can 0:05:27.980000 --> 0:05:31.960000 condense or abbreviate those zeros, we can strip them out basically and 0:05:31.960000 --> 0:05:34.540000 replace it with a double colon. 0:05:34.540000 --> 0:05:38.620000 Okay so we can do it for any of these three boxes. 0:05:38.620000 --> 0:05:41.800000 Now it makes sense, if our objective here is to try to condense or shorten 0:05:41.800000 --> 0:05:45.760000 this address as much as possible, we want to pick the box that has the 0:05:45.760000 --> 0:05:49.480000 most amount of zeros in it, which is clearly the one in the middle. 0:05:49.480000 --> 0:05:53.760000 So we want to put our double colon right there. 0:05:53.760000 --> 0:05:59.500000 Okay so if we do that and then we rewrite our address factoring in the 0:05:59.500000 --> 0:06:10.980000 double colon, now so far it looks like this, 2001 colon 000 colon 002a, 0:06:10.980000 --> 0:06:14.300000 and I'll just put the double colon right here so we can see how it lines 0:06:14.300000 --> 0:06:28.540000 up, then we have f that drops down, colon 110a colon 00b0. 0:06:28.540000 --> 0:06:30.320000 All right so that's what we have so far. 0:06:30.320000 --> 0:06:32.140000 All right but we're not done yet. 0:06:32.140000 --> 0:06:37.980000 Now go back and once again identify any remaining words that start with 0:06:37.980000 --> 0:06:42.720000 leading zeros. Okay so now we can't use a double colon anymore so now 0:06:42.720000 --> 0:06:47.140000 we're looking for we're identifying each word independently of any other 0:06:47.140000 --> 0:06:50.920000 words in front of or behind it and we're looking for words that just have 0:06:50.920000 --> 0:06:56.640000 leading zeros. So in this word right here those three zeros are leading 0:06:56.640000 --> 0:07:00.720000 zeros that last zero is not right, he's a trailing zero, he's not leading 0:07:00.720000 --> 0:07:02.720000 anything, there's nothing behind him. 0:07:02.720000 --> 0:07:08.460000 In the next word we have two leading zeros followed by a two and in the 0:07:08.460000 --> 0:07:13.540000 final word the last word we have two leading zeros in front of that b. 0:07:13.540000 --> 0:07:18.200000 We can condense and abbreviate this address by removing those, we can 0:07:18.200000 --> 0:07:21.020000 get rid of those. 0:07:21.020000 --> 0:07:26.420000 So the final address structure the shortest we can make this would be 0:07:26.420000 --> 0:07:33.200000 2001 colon, I'll just line everything up here so you can see zero colon 0:07:33.200000 --> 0:07:47.940000 2a colon colon f colon 110 a colon b zero and if we shrunk all that together 0:07:47.940000 --> 0:07:53.060000 if we put all together that would be our the smallest way we could represent 0:07:53.060000 --> 0:07:55.340000 that original address. 0:07:55.340000 --> 0:07:58.420000 So that is the way we can abbreviate address now if an address has very 0:07:58.420000 --> 0:08:21.440000 few if any zeros nothing you can do you're just three zero and if you 0:08:21.440000 --> 0:08:26.920000 can see the subnet mask is where the dividing line was that's where we 0:08:26.920000 --> 0:08:28.540000 identified the dividing line. 0:08:28.540000 --> 0:08:33.160000 In IPV6 the terminology has been changed instead of saying the front part 0:08:33.160000 --> 0:08:37.540000 of the network portion and we call that the prefix means exactly the same 0:08:37.540000 --> 0:08:41.620000 thing it's the network you're on but now we say this is your IPV6 prefix 0:08:41.620000 --> 0:08:46.640000 and the portion after that we don't call that the host bits anymore we 0:08:46.640000 --> 0:08:51.220000 call that the interface IV so an IPV6 address is composed of a prefix 0:08:51.220000 --> 0:08:56.240000 and an interface ID but it still requires a subnet mask to tell us where 0:08:56.240000 --> 0:09:02.600000 that line is. Now in the world of IPV6 just like in the world of IPV4 0:09:02.600000 --> 0:09:06.920000 technically you could put your subnet mask wherever you wanted to. 0:09:06.920000 --> 0:09:14.540000 Now so to do an analogy right so in IPV4 if I gave you an address like 0:09:14.540000 --> 0:09:22.660000 this 192 168 1.12. 0:09:22.660000 --> 0:09:28.760000 Now most people are used to thinking oh 192 168 that's class C so that 0:09:28.760000 --> 0:09:34.500000 means that my subnet mask has to at least be at that point or further 0:09:34.500000 --> 0:09:39.720000 so it has to be at least a slash 24 or I could have a slash 25 slash 28 0:09:39.720000 --> 0:09:43.680000 slash 20 but it's got to be at least a slash 24 well guess what remember 0:09:43.680000 --> 0:09:50.740000 that term cedar or cider classless inter -domain routing cider technically 0:09:50.740000 --> 0:09:57.260000 means that if this IP address is placed on my box now if my box is not 0:09:57.260000 --> 0:10:00.560000 going to access the internet okay let's say I have a self-contained network 0:10:00.560000 --> 0:10:04.580000 that's not going to access the internet probably unlikely but let's say 0:10:04.580000 --> 0:10:07.380000 you're doing it let's say a lab environment all right you're configuring 0:10:07.380000 --> 0:10:10.940000 a network in a lab never going to touch the internet well with classless 0:10:10.940000 --> 0:10:16.140000 inter-domain routing you can put your subnet mask anywhere you want remember 0:10:16.140000 --> 0:10:19.400000 what's the whole purpose of the subnet mask the whole purpose of the subnet 0:10:19.400000 --> 0:10:26.000000 mask is say okay here's my deal I have a maybe a switch right here it's 0:10:26.000000 --> 0:10:31.620000 got a bunch of devices here which are maybe going to be in VLAN too maybe 0:10:31.620000 --> 0:10:34.640000 a bunch of other devices here which are going to be in VLAN 3 this is 0:10:34.640000 --> 0:10:37.780000 my lab environment now okay this is not like a real production network 0:10:37.780000 --> 0:10:43.120000 and I want to make sure that all the devices in VLAN 2 recognize what 0:10:43.120000 --> 0:10:53.160000 network they're on and that it is distinct and different than the hey 0:10:53.160000 --> 0:10:56.580000 everybody everybody connected to this network here's what I'm going to 0:10:56.580000 --> 0:11:00.340000 give you for your network bits your network bits are going to start with 0:11:00.340000 --> 0:11:11.800000 192.168.x.x slash 16 I mean you say but Keith that's a that's a class 0:11:11.800000 --> 0:11:16.440000 C and I can't you don't you have to be at least slash 24 no if this the 0:11:16.440000 --> 0:11:21.040000 only purpose of the subnet mask is to say these bits are common to you 0:11:21.040000 --> 0:11:25.940000 and all the people on your network I could very easily go over to VLAN 0:11:25.940000 --> 0:11:39.640000 3 and program their net cards to have this network 192 about 169.x.x slash 0:11:39.640000 --> 0:11:44.260000 16 they're two totally different networks right the people on the bottom 0:11:44.260000 --> 0:11:49.860000 when they generate a packet when they create a packet for telnet web browsing 0:11:49.860000 --> 0:11:55.100000 whatever and the destination that packet begins with 192.1.69 they'll 0:11:55.100000 --> 0:11:59.240000 say oh that destination is on my network it's not off network it's right 0:11:59.240000 --> 0:12:03.480000 here I don't need a default gateway the people on the top when they create 0:12:03.480000 --> 0:12:08.620000 a packet and their destination starts with 192.168 they'll say oh that's 0:12:08.620000 --> 0:12:13.940000 my network but if the people on the top create a packet going to anything 0:12:13.940000 --> 0:12:26.360000 that doesn't 15.50 or 192.169 anything that does not match 192.168 their 0:12:26.360000 --> 0:12:30.900000 subnet mask because it's a slash 16 will say that's off network that's 0:12:30.900000 --> 0:12:35.960000 somewhere else that's not here that's the whole benefit of classless inter 0:12:35.960000 --> 0:12:40.180000 -domain routing we don't have to worry about classes of A, B and C anymore 0:12:40.180000 --> 0:12:47.660000 well the same thing is true with IPv6 with IPv6 I can give you an address 0:12:47.660000 --> 0:12:57.240000 let me just maybe it's just easier for me to do it this way all right 0:12:57.240000 --> 0:13:17.920000 I can give you an address that looks like this 1 2 3 4 5 6 0 right so 0:13:17.920000 --> 0:13:24.020000 I have my eight words now that address also needs a subnet mask we need 0:13:24.020000 --> 0:13:30.480000 to know where the prefix bits end and the interface ID begins now the 0:13:30.480000 --> 0:13:34.680000 overall masters of the universe when it comes to addresses and port numbers 0:13:34.680000 --> 0:13:42.500000 the internet assigned numbers authority have said end networks so your 0:13:42.500000 --> 0:13:46.740000 end VLANs your networks where your printers are your IP phones what they 0:13:46.740000 --> 0:13:53.740000 should have is a mask of a slash 64 that divides your IPv6 address evenly 0:13:53.740000 --> 0:14:06.940000 in half to where this is the of a particular host like a laptop a PC a 0:14:06.940000 --> 0:14:12.160000 phone so in the real world that's what you'll see when you assign IPv6 0:14:12.160000 --> 0:14:18.100000 networks to VLANs and subnets they will be slash 64s but I'm just saying 0:14:18.100000 --> 0:14:23.500000 there you can put that anywhere you want instead of a slash 64 you could 0:14:23.500000 --> 0:14:28.800000 say hey all the hosts on this VLAN I'm going to give you not a slash 64 0:14:28.800000 --> 0:14:39.500000 let me get rid of this I'm going to give you how about a slash 16 so this 0:14:39.500000 --> 0:14:45.480000 VLAN everybody on this VLAN will be 2001 colon 1111 those are 16 bits 0:14:45.480000 --> 0:14:52.060000 my next VLAN maybe I'll have that start with 2001 colon 111a next VLAN 0:14:52.060000 --> 0:14:59.740000 2001 colon 11127 right they're all unique 16 bit patterns which is the 0:14:59.740000 --> 0:15:04.280000 whole purpose of a subnet mask so you can identify what pattern is on 0:15:04.280000 --> 0:15:09.760000 your segment so you'll know any other pattern you got to go to your default 0:15:09.760000 --> 0:15:13.660000 gateway it's not on your segment but I'm just telling you that what you'll 0:15:13.660000 --> 0:15:19.840000 see in the real world is a slash 64 so they say that in in practice your 0:15:19.840000 --> 0:15:23.500000 IPv6 network should always be cut in half with the first half being the 0:15:23.500000 --> 0:15:34.840000 prefix second half being the interface ID all right so we have talked 0:15:34.840000 --> 0:15:40.020000 about that there were also some differences between the IPv4 header and 0:15:40.020000 --> 0:15:46.600000 the IPv6 header just some quick overview here of that so version here 0:15:46.600000 --> 0:15:52.340000 is four version here is six that makes sense we had an IP header length 0:15:52.340000 --> 0:15:56.000000 because there was the presence of an options field or maybe the options 0:15:56.000000 --> 0:15:59.320000 field wouldn't be there at all so the IP header length needed to tell 0:15:59.320000 --> 0:16:03.860000 us where the header ended because it was a variable size no longer the 0:16:03.860000 --> 0:16:09.540000 standard IPv6 header is always a predictable unchanging size so we don't 0:16:09.540000 --> 0:16:13.560000 need the IP header length anymore the type of service which was used to 0:16:13.560000 --> 0:16:17.020000 indicate the priority of a packet that's still there we've just renamed 0:16:17.020000 --> 0:16:22.100000 it it's now called traffic class there's a new field called flow label 0:16:22.100000 --> 0:16:27.520000 so the intent behind this was that the source of a packet like your smartphone 0:16:27.520000 --> 0:16:32.380000 your tablet your laptop it could when it was creating a unique flow like 0:16:32.380000 --> 0:16:37.460000 from u to iane.com and all the packets from u to iane.com that is a flow 0:16:37.460000 --> 0:16:41.280000 of traffic it could put a unique number in there for all those packets 0:16:41.280000 --> 0:16:45.540000 which would identify that flow and now when you sent another flow of traffic 0:16:45.540000 --> 0:16:50.400000 like from u to your telnet server that would be a different flow and so 0:16:50.400000 --> 0:16:54.960000 you could have a different flow label there in practice no operating systems 0:16:54.960000 --> 0:17:00.380000 even today use that so it's highly unlikely you will ever see that flow 0:17:00.380000 --> 0:17:04.100000 label popular with anything other than just zero it's just to pad it out 0:17:04.100000 --> 0:17:09.720000 then we have the total length field all right so that has been now replaced 0:17:09.720000 --> 0:17:17.000000 with payload length the fields that we use for fragmentation those are 0:17:17.000000 --> 0:17:21.380000 no longer in the standard ipv6 header I might say but Keith what if a 0:17:21.380000 --> 0:17:24.880000 packet needs to be fragmented well we still have those fields but now 0:17:24.880000 --> 0:17:36.580000 with ipv6 ipv6 said okay um in the world of ipv4 after your ipv4 header 0:17:36.580000 --> 0:17:40.880000 you most likely had some other headers a next header you had a tcp header 0:17:40.880000 --> 0:17:45.300000 following that you had a utp header following that maybe an icmp header 0:17:45.300000 --> 0:17:52.300000 or an ospf or an eidrp header so whatever came next was identified right 0:17:52.300000 --> 0:17:57.600000 here in the protocol field right if your protocol was the number six that 0:17:57.600000 --> 0:18:03.580000 meant tcp is next if the protocol was 17 that meant utp was next if the 0:18:03.580000 --> 0:18:09.540000 protocol was 89 that meant ospf is coming next so we had some sort of 0:18:09.540000 --> 0:18:14.980000 next header well in the world of ipv6 they said hey let's just take let's 0:18:14.980000 --> 0:18:22.140000 just create these things called extension headers okay so now we've got 0:18:22.140000 --> 0:18:27.200000 this next header field which is the same as the protocol field now the 0:18:27.200000 --> 0:18:32.500000 next header field is six that means tcp follows just like protocol six 0:18:32.500000 --> 0:18:38.160000 if the next header is 17 that means utp follows but guess what there is 0:18:38.160000 --> 0:18:42.940000 now an ipv there are these things called ipv6 extension headers and there 0:18:42.940000 --> 0:18:47.120000 is a fragmentation extension header and the fragmentation extension header 0:18:47.120000 --> 0:18:51.340000 has its own number i don't know what it is you'll never have to memorize 0:18:51.340000 --> 0:18:54.880000 that let's just make up one for the purposes of illustration let's say 0:18:54.880000 --> 0:18:58.140000 you know what let's not make up one let's just be accurate here because 0:18:58.140000 --> 0:19:11.620000 i don't want to teach you something that's that's not true so what we're 0:19:11.620000 --> 0:19:19.060000 v6 extension headers oh something from sysco all right let's just go to 0:19:19.060000 --> 0:19:26.380000 them and so we see here so we see how we have some extension headers so 0:19:26.380000 --> 0:19:29.520000 the next header field will tell you what your extension header is so if 0:19:29.520000 --> 0:19:33.800000 we were doing fragmentation look at this fragmentation is next header 0:19:33.800000 --> 0:19:40.520000 number 44 see just like how we've got tcp is next header number six utp 0:19:40.520000 --> 0:19:45.340000 is next header number 17 well if that next header field has the number 0:19:45.340000 --> 0:19:49.620000 of 44 in it that means we're going to be using an extension header called 0:19:49.620000 --> 0:19:55.960000 fragmentation and that fragmentation will have your id your fragment offset 0:19:55.960000 --> 0:20:02.160000 and your you know your fragmentation bits those will all be in the fragmentation 0:20:02.160000 --> 0:20:10.220000 header so anything that would have been in the options anything that would 0:20:10.220000 --> 0:20:14.880000 have had to do with authentication or security is now carried by an extension 0:20:14.880000 --> 0:20:25.760000 header so our next header field will indicate that the time to live let's 0:20:25.760000 --> 0:20:29.420000 see here so the time to live still exists we just renamed it as hop limit 0:20:29.420000 --> 0:20:34.500000 i just mentioned that protocol exists that's now next header those two 0:20:34.500000 --> 0:20:39.320000 things are the same don't have any header checksum so that is now gone 0:20:39.320000 --> 0:20:43.340000 in the ipv6 header and then we have our source address and destination 0:20:43.340000 --> 0:20:51.600000 address which are 128 bits we just talked about that and one key thing 0:20:51.600000 --> 0:20:56.780000 right here if you see this term dual stat that means a device like your 0:20:56.780000 --> 0:21:02.060000 ip phone your tablet which is running both the ipv4 and the ipv6 protocol 0:21:02.060000 --> 0:21:05.640000 as a matter of fact this is on by default these days in most operating 0:21:05.640000 --> 0:21:09.400000 systems most operating systems you might not know it but are running ipv4 0:21:09.400000 --> 0:21:19.120000 and ipv6 in the background and we call that dual stat if you need to configure 0:21:19.120000 --> 0:21:26.780000 a router as a dual stacked router all that means is you're going for address