1 00:00:02,357 --> 00:00:08,598 [music] 2 00:00:08,599 --> 00:00:10,084 So this is a review so far. 3 00:00:10,085 --> 00:00:11,372 We know that the original design 4 00:00:11,373 --> 00:00:13,997 of IP was that the address would 5 00:00:13,998 --> 00:00:15,442 be 32 bits long. 6 00:00:18,074 --> 00:00:19,452 We'll talk about the IANA 7 00:00:19,453 --> 00:00:20,156 in just a moment. 8 00:00:22,118 --> 00:00:24,241 Now, the way computers see 9 00:00:24,242 --> 00:00:25,142 it is it's it's just a single 10 00:00:25,142 --> 00:00:27,055 string of 32 bits. 11 00:00:27,056 --> 00:00:28,539 It's 32 bits end to end 12 00:00:28,540 --> 00:00:29,926 of an address. 13 00:00:29,927 --> 00:00:32,262 So really your computer says, 14 00:00:32,263 --> 00:00:38,199 Oh my IP address is 32,147,000,205. 15 00:00:38,200 --> 00:00:39,406 That's my IP address when 16 00:00:39,407 --> 00:00:40,789 I add up those 32 bits, 17 00:00:40,790 --> 00:00:42,199 if I was to convert that 32 bit 18 00:00:42,200 --> 00:00:44,263 number into a decimal number it'd 19 00:00:44,264 --> 00:00:45,368 be some monstrously 20 00:00:45,369 --> 00:00:47,779 large number in the billions. 21 00:00:48,656 --> 00:00:50,678 But we as human beings 22 00:00:51,428 --> 00:00:53,310 can't really work with that. 23 00:00:53,311 --> 00:00:54,899 If I ask you what the IP address 24 00:00:54,900 --> 00:00:57,475 is of your laptop hopefully you're 25 00:00:57,476 --> 00:00:57,898 not going to say, 26 00:00:57,899 --> 00:01:01,597 Oh it's 7,605,000,202. 27 00:01:01,597 --> 00:01:02,333 I'm going to walk away and 28 00:01:02,334 --> 00:01:02,983 I'm going to forget 29 00:01:02,984 --> 00:01:04,508 that 15 seconds later. 30 00:01:04,509 --> 00:01:06,307 So as human beings, we said okay, 31 00:01:06,308 --> 00:01:08,154 that 32 bit number, 32 00:01:08,155 --> 00:01:09,856 we have to come up with a way 33 00:01:09,856 --> 00:01:10,652 that we can use it, 34 00:01:10,653 --> 00:01:11,975 that's readable to us. 35 00:01:12,934 --> 00:01:13,954 So basically what we did 36 00:01:13,955 --> 00:01:14,569 is we said okay, 37 00:01:14,570 --> 00:01:16,793 let's take that string of 32 bits 38 00:01:16,794 --> 00:01:19,603 and cut it into four equal pieces. 39 00:01:19,604 --> 00:01:20,659 Four bytes, right? 40 00:01:20,660 --> 00:01:22,098 Each byte is 8 bits long. 41 00:01:22,099 --> 00:01:24,220 So 8, 8, 8, and 8. 42 00:01:24,221 --> 00:01:25,887 That gives us 32 bits. 43 00:01:25,888 --> 00:01:30,493 Then of each octet of each byte, 44 00:01:30,493 --> 00:01:33,454 we will convert that byte into a 45 00:01:33,455 --> 00:01:35,280 decimal number. 46 00:01:35,281 --> 00:01:36,569 Then we'll put dots 47 00:01:36,570 --> 00:01:37,050 in between them. 48 00:01:37,051 --> 00:01:39,473 So now we'll have 4 decimal numbers 49 00:01:39,474 --> 00:01:41,166 instead of just one monstrously 50 00:01:41,167 --> 00:01:42,578 long decimal number. 51 00:01:42,579 --> 00:01:44,942 So instead of seeing this-- 52 00:01:44,943 --> 00:01:46,009 if I gave you that 53 00:01:46,010 --> 00:01:47,064 as my IP address, 54 00:01:47,065 --> 00:01:48,300 well that's fine for my computer. 55 00:01:48,301 --> 00:01:51,190 But as a human being, 56 00:01:51,191 --> 00:01:52,997 after I give you about the 9th bit, 57 00:01:52,998 --> 00:01:53,436 you're going to 58 00:01:53,437 --> 00:01:54,510 forget everything else. 59 00:01:55,143 --> 00:01:58,026 So we cut that into 4 equal pieces, 60 00:01:58,027 --> 00:01:59,629 convert it into decimal, 61 00:01:59,630 --> 00:02:00,602 and we get what's called 62 00:02:00,603 --> 00:02:02,650 dotted decimal, 63 00:02:02,651 --> 00:02:03,206 and that's actually 64 00:02:03,206 --> 00:02:04,188 the real dotted decimal 65 00:02:04,189 --> 00:02:05,522 equivalent of that 32-bit 66 00:02:05,523 --> 00:02:07,611 number that you see right there. 67 00:02:07,612 --> 00:02:09,204 The first 8-bits translate 68 00:02:09,205 --> 00:02:10,675 to the number 2. 69 00:02:10,676 --> 00:02:12,027 The next 8 bits translate 70 00:02:12,028 --> 00:02:14,238 to the number 234. 71 00:02:14,239 --> 00:02:15,624 The 3rd series of 8-bits 72 00:02:15,625 --> 00:02:17,545 translates to 107, 73 00:02:17,546 --> 00:02:19,012 and then the last octet, 74 00:02:19,013 --> 00:02:20,000 the last byte, 75 00:02:20,001 --> 00:02:21,894 is the number 18. 76 00:02:21,895 --> 00:02:22,626 And so, that's how, 77 00:02:22,626 --> 00:02:24,439 we as human beings, 78 00:02:24,440 --> 00:02:26,300 manipulate, and read, 79 00:02:26,301 --> 00:02:28,047 and type-in IP addresses, 80 00:02:28,048 --> 00:02:29,346 and this is what we call 81 00:02:29,347 --> 00:02:31,363 dotted decimal notation. 82 00:02:34,497 --> 00:02:36,595 Computing devices don't need this, 83 00:02:36,595 --> 00:02:38,193 they're perfectly fine with a 84 00:02:38,194 --> 00:02:40,157 string of thousands of bits, 85 00:02:40,158 --> 00:02:43,020 this is just for human convenience. 86 00:02:43,020 --> 00:02:44,162 Okay, so we talked about 87 00:02:44,163 --> 00:02:47,620 how on a broadcast domain, 88 00:02:47,621 --> 00:02:49,092 data could go out in 1 of 3 89 00:02:49,093 --> 00:02:51,072 different ways: broadcast, 90 00:02:51,073 --> 00:02:53,643 unicast, and multicast. 91 00:02:53,643 --> 00:02:55,676 And I said that when 92 00:02:55,677 --> 00:02:57,147 I'm transmitting data, 93 00:02:57,148 --> 00:02:59,326 when my NIC card for my laptop 94 00:02:59,327 --> 00:03:00,878 is transmitting data 95 00:03:00,879 --> 00:03:02,071 it needs to structure 96 00:03:02,072 --> 00:03:03,902 the Layer 2 and the Layer 3 97 00:03:03,903 --> 00:03:05,492 address to be appropriate 98 00:03:05,493 --> 00:03:07,105 to what it wants to do. 99 00:03:07,106 --> 00:03:08,042 So how does it do that? 100 00:03:09,296 --> 00:03:10,550 Well, we talked about Multicast. 101 00:03:10,551 --> 00:03:11,462 Multicast is actually 102 00:03:11,463 --> 00:03:13,074 real easy to represent. 103 00:03:13,075 --> 00:03:16,801 In the world of Layer 3 at IP 104 00:03:16,801 --> 00:03:17,573 if you take a look 105 00:03:17,574 --> 00:03:18,459 at the destination 106 00:03:18,460 --> 00:03:20,085 32-bit address so it's 32-bits 107 00:03:20,086 --> 00:03:22,087 going out as a destination address. 108 00:03:22,087 --> 00:03:25,658 If the 1st 4 of those bits match 109 00:03:25,659 --> 00:03:30,060 1110 that is a Multicast address. 110 00:03:30,061 --> 00:03:31,587 We don't care about what the 111 00:03:31,588 --> 00:03:34,039 remaining 28-bits look like. 112 00:03:34,040 --> 00:03:35,848 As long as the first 4 bits 113 00:03:35,849 --> 00:03:38,331 take that pattern that means this 114 00:03:38,332 --> 00:03:41,396 is a Multicast, one-to-many. 115 00:03:43,570 --> 00:03:45,754 Broadcast, now in the world of IP 116 00:03:45,755 --> 00:03:47,022 we known that an IP address 117 00:03:47,023 --> 00:03:48,065 it's sub dividable, 118 00:03:48,066 --> 00:03:51,093 part of it represents the network, 119 00:03:51,094 --> 00:03:52,706 the broadcast domain. 120 00:03:52,707 --> 00:03:53,900 The remaining part of it is 121 00:03:53,901 --> 00:03:56,095 what we call the host bits. 122 00:03:56,096 --> 00:03:57,448 Now in the case of a broadcast 123 00:03:58,718 --> 00:04:00,591 we've got two options now, 124 00:04:00,592 --> 00:04:01,776 and both of them look at this. 125 00:04:01,777 --> 00:04:03,709 One thing they both have in common 126 00:04:03,709 --> 00:04:07,299 is the host bits are all 1s. 127 00:04:07,300 --> 00:04:08,494 So in an IP address, 128 00:04:08,495 --> 00:04:10,437 if we take our focus away 129 00:04:10,438 --> 00:04:11,358 from the network portion, 130 00:04:11,359 --> 00:04:13,610 we forget about that, 131 00:04:13,611 --> 00:04:15,193 and we move to the 132 00:04:15,194 --> 00:04:16,339 second half of the address, 133 00:04:16,340 --> 00:04:18,916 the host portion of that address. 134 00:04:18,916 --> 00:04:20,738 If you ever see a 32-bit number 135 00:04:20,739 --> 00:04:23,121 that's an IP address in binary, 136 00:04:23,122 --> 00:04:24,264 and you see the host bits 137 00:04:24,265 --> 00:04:26,334 are all 1s just a continuous 138 00:04:26,335 --> 00:04:27,485 string of 1s, 139 00:04:27,486 --> 00:04:29,093 that means you're looking at 140 00:04:29,094 --> 00:04:31,297 a broadcast address. 141 00:04:31,298 --> 00:04:32,244 Now there are two different 142 00:04:32,245 --> 00:04:35,381 flavors of broadcast address. 143 00:04:35,382 --> 00:04:36,407 This first one right here 144 00:04:36,408 --> 00:04:41,341 that says any.111111. 145 00:04:41,341 --> 00:04:44,598 Let's say on the broadcast domain 146 00:04:44,599 --> 00:04:45,469 I'm on right now, 147 00:04:45,470 --> 00:04:46,592 my laptop is connected 148 00:04:46,593 --> 00:04:48,364 to a broadcast domain. 149 00:04:48,365 --> 00:04:49,903 Let's say it's been decided that 150 00:04:49,904 --> 00:04:52,729 the first 8-bits to identify my 151 00:04:52,730 --> 00:04:55,122 network is going to be in 152 00:04:55,123 --> 00:04:57,624 decimal the number 5. 153 00:04:57,625 --> 00:05:00,229 So I am on network number 5. 154 00:05:00,230 --> 00:05:02,614 You know 00000101. 155 00:05:02,615 --> 00:05:03,945 I'm on network number 5. 156 00:05:05,523 --> 00:05:08,073 If my laptop wants to send out a 157 00:05:08,074 --> 00:05:10,830 broadcast to just the devices in 158 00:05:10,831 --> 00:05:14,099 my own broadcast domain this is 159 00:05:14,100 --> 00:05:16,080 what's called a directed broadcast 160 00:05:16,081 --> 00:05:16,813 sometimes called a 161 00:05:16,814 --> 00:05:18,161 subnet broadcast. 162 00:05:18,162 --> 00:05:19,154 I want to talk to everybody 163 00:05:19,155 --> 00:05:21,652 in my domain only. 164 00:05:21,653 --> 00:05:22,996 Then the way I would structure my 165 00:05:22,997 --> 00:05:24,888 destination IP address is I would 166 00:05:24,888 --> 00:05:27,398 say in the network portion 5 167 00:05:27,399 --> 00:05:28,611 because that's my network. 168 00:05:28,612 --> 00:05:29,906 I'm on network number 5, 169 00:05:29,907 --> 00:05:31,545 and then the host portion is where 170 00:05:31,546 --> 00:05:33,830 I would put all of my 1s. 171 00:05:33,830 --> 00:05:36,212 If I'm in network 199, 172 00:05:36,212 --> 00:05:36,926 the network portion would 173 00:05:36,927 --> 00:05:38,669 say 199 in binary, 174 00:05:38,670 --> 00:05:39,673 and then the host portion 175 00:05:39,674 --> 00:05:41,344 would be all 1s, 176 00:05:41,345 --> 00:05:42,684 and that's a way of saying 177 00:05:42,685 --> 00:05:44,262 this is a directed broadcast. 178 00:05:44,263 --> 00:05:45,846 This is directed to everybody 179 00:05:45,847 --> 00:05:47,726 within my domain and 180 00:05:47,727 --> 00:05:49,923 my domain only. 181 00:05:49,924 --> 00:05:51,182 The second one downwards, 182 00:05:51,183 --> 00:05:54,419 the entire 32-bits end to end 183 00:05:54,419 --> 00:05:56,786 is just a continuous string of 1s. 184 00:05:56,787 --> 00:05:57,546 That's what's called a 185 00:05:57,547 --> 00:06:00,370 general broadcast that means to 186 00:06:00,371 --> 00:06:02,469 pretty much the entire world. 187 00:06:02,470 --> 00:06:04,049 Of course it's not going to go 188 00:06:04,050 --> 00:06:05,463 out to the entire world but that's 189 00:06:05,464 --> 00:06:07,079 what a general broadcast is. 190 00:06:07,080 --> 00:06:07,713 Where the entire 191 00:06:07,714 --> 00:06:11,354 32 bit number is all 1s. 192 00:06:11,355 --> 00:06:13,197 Vast majority of time I'd say 193 00:06:13,198 --> 00:06:15,360 probably I don't know, 194 00:06:15,361 --> 00:06:17,576 90% of the time when 195 00:06:17,577 --> 00:06:19,330 a laptop or a host, 196 00:06:19,331 --> 00:06:21,079 any host needs to create a 197 00:06:21,080 --> 00:06:22,797 broadcast it will choose 198 00:06:22,798 --> 00:06:24,374 the second option there. 199 00:06:24,375 --> 00:06:25,876 It'll create a broadcast where 200 00:06:25,877 --> 00:06:27,083 the destination IP address 201 00:06:27,084 --> 00:06:30,937 is just 32 bits of all 1s. 202 00:06:30,938 --> 00:06:31,913 If we convert that into 203 00:06:31,914 --> 00:06:33,263 dotted decimal that 204 00:06:33,264 --> 00:06:39,350 would be 255.255.255.255. 205 00:06:39,351 --> 00:06:42,085 So pretty much any protocol 206 00:06:42,086 --> 00:06:43,128 you can think of that 207 00:06:43,129 --> 00:06:44,595 utilizes broadcast 208 00:06:44,596 --> 00:06:49,049 like ARP, DHCP at Layer 3, 209 00:06:49,050 --> 00:06:50,502 the Layer 3 destination address 210 00:06:50,503 --> 00:06:52,627 will be all 1s the 211 00:06:52,628 --> 00:06:53,866 general broadcast address. 212 00:06:53,867 --> 00:06:55,621 Off the top of my head 213 00:06:55,621 --> 00:06:56,843 I can't think of any 214 00:06:56,844 --> 00:06:58,473 protocols that create 215 00:06:58,474 --> 00:07:00,129 directed broadcast which 216 00:07:00,130 --> 00:07:02,324 is the any .1111. 217 00:07:02,325 --> 00:07:03,209 There probably are some. 218 00:07:03,210 --> 00:07:04,292 I just can't think of any of it 219 00:07:04,293 --> 00:07:06,230 right now that actually do that. 220 00:07:06,231 --> 00:07:08,687 Then unicast. 221 00:07:08,688 --> 00:07:09,744 So we know that unicast is 222 00:07:09,745 --> 00:07:11,374 one-to-one communications 223 00:07:11,375 --> 00:07:14,041 from one device to another device. 224 00:07:14,042 --> 00:07:16,591 So it's pretty much any pattern 225 00:07:16,592 --> 00:07:18,066 that does not match the previous 226 00:07:18,067 --> 00:07:20,450 two patterns, except with all 0s. 227 00:07:20,451 --> 00:07:22,110 We know that any IP address that 228 00:07:22,111 --> 00:07:24,614 starts out with the first octet 229 00:07:24,615 --> 00:07:26,517 being all 0s, that is reserved. 230 00:07:26,518 --> 00:07:27,600 That's called the-- 231 00:07:27,601 --> 00:07:29,034 that's actually used more 232 00:07:29,035 --> 00:07:29,657 for routing. 233 00:07:29,658 --> 00:07:32,913 That means it's going to everyone. 234 00:07:34,342 --> 00:07:35,150 It's not really going to everyone. 235 00:07:35,151 --> 00:07:36,894 It's what we call the 236 00:07:36,895 --> 00:07:38,180 default route basically. 237 00:07:38,181 --> 00:07:39,580 But it's not really reserved-- 238 00:07:39,581 --> 00:07:41,474 it's a reserved address. 239 00:07:41,475 --> 00:07:42,663 So what's the takeaway from this? 240 00:07:44,380 --> 00:07:46,947 If you see a 32 bit pattern, 241 00:07:46,948 --> 00:07:48,193 in binary, 242 00:07:48,194 --> 00:07:49,580 and you are told that 243 00:07:49,580 --> 00:07:52,018 that is an IP address. 244 00:07:52,019 --> 00:07:53,178 Now somebody asks you, 245 00:07:53,179 --> 00:07:54,661 unlike a multiple choice question, 246 00:07:54,662 --> 00:07:57,030 identify is this IP address 247 00:07:57,031 --> 00:08:01,824 in binary unicast, multicast, 248 00:08:01,825 --> 00:08:05,213 broadcast, or none of the above. 249 00:08:05,214 --> 00:08:06,778 You should be able to do that 250 00:08:06,778 --> 00:08:07,797 because now you know what the 251 00:08:07,798 --> 00:08:10,072 pattern looks like in binary 252 00:08:10,073 --> 00:08:12,822 to identify those three. 253 00:08:15,407 --> 00:08:17,324 So up until this point in time, 254 00:08:18,313 --> 00:08:20,736 we have still retained this idea 255 00:08:20,736 --> 00:08:22,374 that an IP address was 32 bits 256 00:08:22,375 --> 00:08:25,700 long and only the first 8 bits 257 00:08:25,701 --> 00:08:27,416 represent the network. 258 00:08:27,416 --> 00:08:30,492 We had 24 bits of host space, 259 00:08:30,492 --> 00:08:31,905 8 bits of network space. 260 00:08:31,906 --> 00:08:32,737 Now, I mentioned at the very 261 00:08:32,738 --> 00:08:34,788 beginning that that really only 262 00:08:34,789 --> 00:08:39,018 left us with 254 networks, 263 00:08:39,018 --> 00:08:43,066 which back in 1969 was tons. 264 00:08:43,066 --> 00:08:44,293 Then as we started getting into 265 00:08:44,294 --> 00:08:46,453 even just a decade later into the 266 00:08:46,454 --> 00:08:49,849 late 1970s, it very quickly became 267 00:08:49,850 --> 00:08:51,969 apparent that this isn't going 268 00:08:51,970 --> 00:08:52,764 to work; 269 00:08:52,764 --> 00:08:55,397 254 networks is not enough. 270 00:08:55,398 --> 00:08:56,721 There is networks popping up 271 00:08:56,722 --> 00:08:58,361 all over the world 272 00:08:58,362 --> 00:08:59,760 which are modems, 273 00:08:59,761 --> 00:09:02,323 satellites and using Ethernet, 274 00:09:02,323 --> 00:09:05,366 we need more than 254 combinations. 275 00:09:06,909 --> 00:09:08,233 So the designers of IPs said, 276 00:09:08,233 --> 00:09:11,786 Okay, let's take this 32-bit number 277 00:09:11,787 --> 00:09:14,014 now and look at it a 278 00:09:14,015 --> 00:09:14,914 little bit differently. 279 00:09:14,915 --> 00:09:16,344 How can take-- how can we look at 280 00:09:16,345 --> 00:09:18,844 that 32-bit number and somehow 281 00:09:18,845 --> 00:09:20,110 come up with more than 282 00:09:20,111 --> 00:09:22,279 254 networks? 283 00:09:22,280 --> 00:09:23,593 Well, let's do this. 284 00:09:23,594 --> 00:09:24,728 Instead of just looking at the 285 00:09:24,729 --> 00:09:27,664 first 8-bits for the network, 286 00:09:27,664 --> 00:09:28,804 why don't we look at 287 00:09:28,805 --> 00:09:29,499 more than that. 288 00:09:29,500 --> 00:09:31,478 Why don't we take those host bits, 289 00:09:31,479 --> 00:09:34,196 sacrifice some of the host bits, 290 00:09:34,196 --> 00:09:35,359 and add them to the 291 00:09:35,360 --> 00:09:37,056 networking section, 292 00:09:37,056 --> 00:09:38,136 and they came up with 293 00:09:38,137 --> 00:09:40,075 classful addresses. 294 00:09:44,008 --> 00:09:45,954 So in 1981-- 295 00:09:45,954 --> 00:09:47,264 and some of you watching might 296 00:09:47,265 --> 00:09:48,195 not have even been born 297 00:09:48,196 --> 00:09:49,757 back then, so in 1981, 298 00:09:49,758 --> 00:09:51,008 classes of addresses 299 00:09:51,009 --> 00:09:51,792 were introduced. 300 00:09:52,895 --> 00:09:54,379 So Class A, 301 00:09:54,380 --> 00:09:55,650 that was like the 302 00:09:55,651 --> 00:09:56,631 original way of doing it. 303 00:09:56,632 --> 00:09:58,431 A Class A address meant that the 304 00:09:58,432 --> 00:10:01,537 first 8-bits represent the network. 305 00:10:01,537 --> 00:10:03,247 The remaining 24 bits 306 00:10:03,248 --> 00:10:04,352 were for the host, 307 00:10:04,353 --> 00:10:06,273 so that was a Class A just like 308 00:10:06,274 --> 00:10:07,327 the beginning when it first was 309 00:10:07,328 --> 00:10:10,177 invented in the late 1960s. 310 00:10:10,178 --> 00:10:11,065 But then they said, okay, 311 00:10:11,066 --> 00:10:15,040 we'll also have a Class B address. 312 00:10:15,041 --> 00:10:17,756 In a Class B address, 313 00:10:17,756 --> 00:10:18,997 instead of the first 8 bits 314 00:10:18,998 --> 00:10:20,218 representing the network, 315 00:10:20,219 --> 00:10:22,461 the first half of the address, 316 00:10:22,462 --> 00:10:24,771 the first 16 bits represent 317 00:10:24,772 --> 00:10:26,376 the network. 318 00:10:27,630 --> 00:10:29,784 In a Class C address, 319 00:10:29,785 --> 00:10:32,383 now 75% of the bits 320 00:10:32,384 --> 00:10:33,213 represent the network, 321 00:10:33,214 --> 00:10:35,329 the first 24 bits represent the 322 00:10:35,330 --> 00:10:39,292 network and only the last 8 bits 323 00:10:39,293 --> 00:10:41,971 represent hosts. 324 00:10:44,529 --> 00:10:45,717 Now the question is, okay, 325 00:10:45,718 --> 00:10:47,891 well if I put a 32-bit number in 326 00:10:47,892 --> 00:10:53,643 binary on a laptop or a PC, 327 00:10:53,644 --> 00:10:55,548 how does it know how to 328 00:10:55,549 --> 00:10:57,351 interpret that 32-bit number? 329 00:10:57,352 --> 00:10:58,622 Let me bring up a whiteboard 330 00:10:58,623 --> 00:11:01,992 here for a second so we can 331 00:11:01,993 --> 00:11:04,798 draw this. Okay. 332 00:11:04,799 --> 00:11:06,042 So here I've got some device. 333 00:11:06,043 --> 00:11:06,727 I'll just go ahead and 334 00:11:06,728 --> 00:11:10,955 draw a laptop or a PC, whatever. 335 00:11:10,956 --> 00:11:12,138 I'm going to give it some 336 00:11:12,139 --> 00:11:13,521 32-bit number. 337 00:11:14,609 --> 00:11:15,515 Actually I'll start off by giving 338 00:11:15,516 --> 00:11:16,875 it a 28-bit number. 339 00:11:16,876 --> 00:11:19,894 So 1 2 3 4 5 6 7 8 9 10 11 12 13 340 00:11:19,895 --> 00:11:22,885 14 15 16 17 18 19 20 21 2 3 4 5 341 00:11:22,886 --> 00:11:25,577 6 7 8. There's a 28 bit number. 342 00:11:26,877 --> 00:11:28,223 I'll leave off the first 4 bits 343 00:11:28,224 --> 00:11:28,906 on the front. 344 00:11:34,062 --> 00:11:35,197 Okay. So in the world of 345 00:11:35,198 --> 00:11:37,379 classful addressing, 346 00:11:38,196 --> 00:11:40,335 when you put an IP address 347 00:11:40,335 --> 00:11:41,370 on a device, 348 00:11:41,370 --> 00:11:43,062 32-bit number, 349 00:11:43,062 --> 00:11:44,354 the first thing that device did was 350 00:11:44,355 --> 00:11:48,124 look at the very first bit. 351 00:11:48,125 --> 00:11:52,363 If that first bit was a 0, 352 00:11:52,364 --> 00:11:54,242 then that device says okay, 353 00:11:54,242 --> 00:11:55,884 now I know exactly how many of 354 00:11:55,885 --> 00:11:57,279 these bits represent the network. 355 00:11:57,280 --> 00:11:59,801 If the first bit is a 0, 356 00:11:59,802 --> 00:12:03,717 that is a Class A address. 357 00:12:08,438 --> 00:12:10,456 and in a Class A address, 358 00:12:10,457 --> 00:12:12,159 just like the old days, 359 00:12:12,159 --> 00:12:15,280 the first 8 bits, the first byte, 360 00:12:15,281 --> 00:12:17,158 only is used to represent 361 00:12:17,159 --> 00:12:18,790 the network, 362 00:12:18,791 --> 00:12:20,441 and then all these other bits here 363 00:12:20,442 --> 00:12:21,923 is a unique host identifier for 364 00:12:21,924 --> 00:12:23,932 this one unique machine 365 00:12:23,933 --> 00:12:25,303 on this network. 366 00:12:27,220 --> 00:12:28,387 Now let's say he looks at 367 00:12:28,388 --> 00:12:29,520 this 32-bit address, 368 00:12:29,521 --> 00:12:31,934 and it starts out with a 1. 369 00:12:31,935 --> 00:12:32,456 Then he says, 370 00:12:32,456 --> 00:12:33,890 Okay, well this is not Class A. 371 00:12:33,891 --> 00:12:34,976 I need to look a little bit 372 00:12:34,977 --> 00:12:36,668 further to figure out 373 00:12:36,669 --> 00:12:38,502 what the class is. 374 00:12:38,503 --> 00:12:39,421 If he sees it after that 375 00:12:39,422 --> 00:12:42,057 the next is a 0, 376 00:12:42,058 --> 00:12:43,538 he says, I'm done. 377 00:12:43,538 --> 00:12:47,344 This is a Class B address, 378 00:12:47,345 --> 00:12:51,911 - which means for 5, 6, 7, 8 - 379 00:12:51,912 --> 00:12:53,196 which means that the first 380 00:12:53,197 --> 00:12:57,792 16 bits represent the network. 381 00:13:06,738 --> 00:13:08,103 So you can see here that with 382 00:13:08,104 --> 00:13:08,974 a Class A address, 383 00:13:08,975 --> 00:13:10,247 it's just like the old days. 384 00:13:10,248 --> 00:13:13,516 I've only got 254 unique numbers 385 00:13:13,517 --> 00:13:14,868 I can come up with. 386 00:13:14,868 --> 00:13:17,178 All 0s is reserved. 387 00:13:17,179 --> 00:13:19,354 All 1s is reserved. 388 00:13:19,355 --> 00:13:21,805 And then I have 254 combinations 389 00:13:21,806 --> 00:13:23,094 in the middle of that. 390 00:13:23,095 --> 00:13:25,181 So 254 networks. 391 00:13:25,182 --> 00:13:26,803 But if I tell my device, 392 00:13:26,804 --> 00:13:28,625 Oh, your address is a 393 00:13:28,626 --> 00:13:30,530 Class B address, 394 00:13:30,531 --> 00:13:31,175 well now I've got 395 00:13:31,176 --> 00:13:34,823 16 bits of network. 396 00:13:34,823 --> 00:13:37,145 That gives me tens of thousands-- 397 00:13:37,146 --> 00:13:38,556 actually I think 16 bits gives 398 00:13:38,557 --> 00:13:41,646 you about 65,000 combinations 399 00:13:41,647 --> 00:13:42,710 of unique numbers 400 00:13:42,711 --> 00:13:43,614 you can come up with, 401 00:13:43,615 --> 00:13:45,423 a little bit more than that. 402 00:13:45,423 --> 00:13:46,203 So now we can see, 403 00:13:46,204 --> 00:13:47,152 Oh, I've got a lot more 404 00:13:47,153 --> 00:13:49,461 networks available with 16 bits, 405 00:13:49,462 --> 00:13:51,457 but what's the downside? 406 00:13:51,457 --> 00:13:53,288 You know with a Class A network, 407 00:13:53,289 --> 00:13:56,272 yeah, I've only got 254 of them, 408 00:13:56,273 --> 00:13:58,245 but on each one of those networks, 409 00:13:58,246 --> 00:14:01,183 I've got a lot of hosts. 410 00:14:01,184 --> 00:14:05,840 I've got 24 bits of host bits 411 00:14:05,841 --> 00:14:08,348 on a Class A network. 412 00:14:08,349 --> 00:14:11,571 That's 2 to the power of 24. 413 00:14:11,572 --> 00:14:12,484 I think that's something like 414 00:14:12,485 --> 00:14:14,954 16 million or something like that. 415 00:14:14,955 --> 00:14:18,037 So that means on one single cable, 416 00:14:18,037 --> 00:14:20,336 you could have about 16 million 417 00:14:20,337 --> 00:14:23,969 devices all in the same group, 418 00:14:23,970 --> 00:14:25,793 all at the same network address, 419 00:14:25,793 --> 00:14:28,243 not really feasible. 420 00:14:28,244 --> 00:14:29,934 With Class B, 421 00:14:29,934 --> 00:14:30,896 I've got a lot more 422 00:14:30,897 --> 00:14:32,599 networks available to me, 423 00:14:32,600 --> 00:14:33,933 but I'm sacrificing my host space. 424 00:14:33,934 --> 00:14:36,594 Now, instead of 24 bits for a host, 425 00:14:36,594 --> 00:14:39,302 I've only got 16 bits for host, 426 00:14:39,302 --> 00:14:41,707 which is still an awful lot. 427 00:14:41,708 --> 00:14:42,618 That means with Class B, 428 00:14:42,618 --> 00:14:44,604 I've got well over 65,000 429 00:14:44,605 --> 00:14:45,987 networks to me 430 00:14:45,988 --> 00:14:49,301 and each one of those networks 431 00:14:49,302 --> 00:14:51,884 also has 65,000 combinations of 432 00:14:51,885 --> 00:14:55,361 hosts it can have on that one wire, 433 00:14:55,362 --> 00:14:57,446 but they didn't stop there. 434 00:14:57,447 --> 00:15:00,194 They said, okay, if I give a device 435 00:15:00,195 --> 00:15:01,962 a 32-bit number as an IP address 436 00:15:01,963 --> 00:15:02,990 and it sees that the 437 00:15:02,991 --> 00:15:06,088 first two bits are 11, 438 00:15:06,089 --> 00:15:06,920 then it looks at the 439 00:15:06,921 --> 00:15:09,645 third bit as 110, now he says, 440 00:15:09,645 --> 00:15:11,286 Okay, now I know that of 441 00:15:11,287 --> 00:15:14,738 my 32-bit number, the first 24 bits 442 00:15:17,189 --> 00:15:17,875 - which would extend 443 00:15:17,876 --> 00:15:20,074 right about here - 444 00:15:20,075 --> 00:15:22,768 is my network address. 445 00:15:22,768 --> 00:15:24,744 That's our Class C address. 446 00:15:32,060 --> 00:15:33,396 So the Class C you can see 447 00:15:33,397 --> 00:15:34,680 there's even more networks. 448 00:15:34,681 --> 00:15:37,371 We've got 2 to the power of 24 449 00:15:37,372 --> 00:15:39,492 so we got millions and millions and 450 00:15:39,493 --> 00:15:41,898 millions of Class C 451 00:15:41,899 --> 00:15:43,574 networks available, 452 00:15:43,575 --> 00:15:45,136 but each one of those 453 00:15:45,137 --> 00:15:47,777 Class C networks only has 8 bits 454 00:15:47,778 --> 00:15:49,746 left over for host space, 455 00:15:52,295 --> 00:15:54,003 and we know the all 0s and 456 00:15:54,003 --> 00:15:56,629 all 1s hosts are reserved. 457 00:15:56,630 --> 00:15:59,122 So that means we got 254 hosts 458 00:15:59,123 --> 00:16:04,014 for each Class C network. 459 00:16:04,015 --> 00:16:05,032 So those are all the networks 460 00:16:05,033 --> 00:16:06,259 that were designed for 461 00:16:06,260 --> 00:16:08,203 unicast transmission 462 00:16:08,204 --> 00:16:09,635 for one-to-one transmission. 463 00:16:11,006 --> 00:16:13,099 See here, if I've got a Class A 464 00:16:13,100 --> 00:16:15,144 network that starts out with 0, 465 00:16:15,145 --> 00:16:15,746 so if I've got 466 00:16:15,747 --> 00:16:21,765 01234567.anything-- we know 467 00:16:26,653 --> 00:16:31,551 that this number is reserved. 468 00:16:31,551 --> 00:16:32,522 You can't start out any 469 00:16:32,523 --> 00:16:34,301 network with all 0s, 470 00:16:34,302 --> 00:16:35,221 and we also know that this 471 00:16:35,222 --> 00:16:38,482 number is reserved. 472 00:16:38,483 --> 00:16:39,266 You can't start out any 473 00:16:39,267 --> 00:16:41,328 network with that. 474 00:16:41,329 --> 00:16:43,047 So basically it tells us that from 475 00:16:43,048 --> 00:16:45,386 1.anything through-- actually, 476 00:16:48,173 --> 00:16:54,867 wait, hold on a second. 477 00:16:54,867 --> 00:16:56,343 It's still got to retain the 0 478 00:16:56,344 --> 00:16:58,442 in the first bit. 479 00:17:04,013 --> 00:17:05,551 So we've got in the middle here, 480 00:17:05,552 --> 00:17:07,556 1.anything, 481 00:17:07,557 --> 00:17:09,150 that's our first usable Class A 482 00:17:09,151 --> 00:17:12,792 network through and that number 483 00:17:12,793 --> 00:17:15,590 right there was 127. 484 00:17:19,348 --> 00:17:20,997 And that gets us back to our slide. 485 00:17:20,997 --> 00:17:23,081 That's where we saw this. 486 00:17:23,082 --> 00:17:24,998 Class A networks, technically, 487 00:17:24,999 --> 00:17:27,136 can't use the all 0s, 488 00:17:27,137 --> 00:17:28,748 so 1-dot-anything through 489 00:17:28,749 --> 00:17:30,817 127-dot-anything. 490 00:17:30,818 --> 00:17:33,887 Also it gets a little sticky here, 491 00:17:33,888 --> 00:17:34,532 but, technically, 492 00:17:34,533 --> 00:17:37,941 127 is also a reserved number. 493 00:17:37,942 --> 00:17:39,340 Just like a network number can't 494 00:17:39,341 --> 00:17:40,726 start out with all 0s and it can't 495 00:17:40,727 --> 00:17:42,311 start out with all 1s, 496 00:17:42,312 --> 00:17:44,442 127 is also a reserved number 497 00:17:44,443 --> 00:17:46,031 for special usage. 498 00:17:46,032 --> 00:17:47,988 It's called the loopback network. 499 00:17:47,989 --> 00:17:49,191 If you ever want to google that, 500 00:17:49,192 --> 00:17:50,622 the loopback network is anything 501 00:17:50,623 --> 00:17:52,437 that starts out with 127. 502 00:17:52,438 --> 00:17:54,030 So really, 503 00:17:54,031 --> 00:17:55,321 in your pursuit of your CCNA, 504 00:17:55,322 --> 00:17:57,406 what you need to memorize-- 505 00:17:57,407 --> 00:17:57,982 you need to memorize 506 00:17:57,983 --> 00:17:59,337 a couple of things. 507 00:17:59,338 --> 00:18:01,032 You can identify a Class A network 508 00:18:01,033 --> 00:18:03,995 by the binary if the very first 509 00:18:03,996 --> 00:18:06,419 bit is a 0 that's Class A. 510 00:18:06,420 --> 00:18:07,496 And you should probably also 511 00:18:07,497 --> 00:18:10,494 memorize the dotted decimal. 512 00:18:12,179 --> 00:18:13,123 So I'm just going to put a line 513 00:18:13,124 --> 00:18:14,309 through this because 514 00:18:14,310 --> 00:18:15,277 127 is reserved 515 00:18:15,278 --> 00:18:22,323 for loop back so 126 dot anything. 516 00:18:22,324 --> 00:18:24,573 So the usable range of Class A 517 00:18:24,574 --> 00:18:27,758 networks are 1 dot anything up to 518 00:18:27,759 --> 00:18:31,238 126 dot anything, 519 00:18:31,239 --> 00:18:32,099 that's the usable range 520 00:18:32,100 --> 00:18:34,659 of Class A networks. 521 00:18:34,660 --> 00:18:35,879 Now when we go into Class B 522 00:18:35,880 --> 00:18:40,765 networks that starts out with 10, 523 00:18:40,766 --> 00:18:45,130 well 10000 is the number 128, 524 00:18:45,131 --> 00:18:49,085 and if I keep that pattern of 10-- 525 00:18:49,086 --> 00:18:50,975 get rid of some of this here. 526 00:18:54,886 --> 00:18:59,184 10 and then 123456, 527 00:19:03,965 --> 00:19:08,265 and then 10123456, 528 00:19:09,920 --> 00:19:10,997 so that's my full range of 529 00:19:10,998 --> 00:19:12,762 Class B because we know Class B 530 00:19:12,763 --> 00:19:16,168 has to start with 10 in binary. 531 00:19:16,168 --> 00:19:17,547 So if I translate that back in a 532 00:19:17,548 --> 00:19:19,416 dotted decimal that's 533 00:19:19,417 --> 00:19:28,856 128 dot anything up to 191 dot 534 00:19:28,856 --> 00:19:32,520 anything so that's also something 535 00:19:32,521 --> 00:19:33,700 you should memorize as you pursue 536 00:19:33,701 --> 00:19:36,469 in your CCNA certification is that 537 00:19:36,470 --> 00:19:37,433 Class B is recognizable 538 00:19:37,434 --> 00:19:39,343 in binary by any IP address that 539 00:19:39,344 --> 00:19:41,631 starts out with 10 and is 540 00:19:41,632 --> 00:19:43,888 recognizable in dotted decimal 541 00:19:43,889 --> 00:19:45,697 by any IP address that falls within 542 00:19:45,698 --> 00:19:49,642 the range of 128 up to 191. 543 00:19:52,129 --> 00:19:53,136 Then finally we have our 544 00:19:53,137 --> 00:19:54,957 Class C addresses. 545 00:19:58,109 --> 00:19:59,721 We know that Class C in binary 546 00:19:59,722 --> 00:20:03,336 starts with 110 so the 547 00:20:03,337 --> 00:20:04,107 smallest number 548 00:20:04,108 --> 00:20:05,771 we could come up with that retains 549 00:20:05,772 --> 00:20:08,709 that pattern is that, 550 00:20:10,544 --> 00:20:11,656 and the largest number that 551 00:20:11,657 --> 00:20:12,974 we could come up that retains 552 00:20:12,975 --> 00:20:16,006 that pattern is that. 553 00:20:20,717 --> 00:20:24,228 So here we have 192 dot anything. 554 00:20:26,444 --> 00:20:28,336 That's the smallest Class C network 555 00:20:28,337 --> 00:20:30,284 anything that begins with 192 556 00:20:32,553 --> 00:20:37,151 and 223 dot anything. 557 00:20:37,152 --> 00:20:38,421 So this is your full range 558 00:20:38,422 --> 00:20:40,221 of Class C networks. 559 00:20:40,222 --> 00:20:42,183 Anything that starts out with 110 560 00:20:42,184 --> 00:20:44,217 in binary or in dotted decimal, 561 00:20:44,218 --> 00:20:45,434 anything that falls within the 562 00:20:45,435 --> 00:20:48,498 range of 192 to 223. 563 00:20:51,539 --> 00:20:52,445 That's what we see here. 564 00:20:53,688 --> 00:20:55,762 Class D networks, 565 00:20:55,763 --> 00:20:58,058 this is reserved for multicast. 566 00:20:58,059 --> 00:20:59,307 So if I've got that situation 567 00:20:59,308 --> 00:21:01,371 where I'm sending one sender, 568 00:21:01,372 --> 00:21:02,951 one transmitter is sending a 569 00:21:02,952 --> 00:21:05,409 single stream of data that multiple 570 00:21:05,410 --> 00:21:07,551 devices are going to pick up, 571 00:21:07,552 --> 00:21:08,872 but I don't want to be for everyone 572 00:21:08,873 --> 00:21:09,728 - it's not a broadcast, 573 00:21:09,729 --> 00:21:11,422 it's a multicast - 574 00:21:11,423 --> 00:21:12,140 then you would use an 575 00:21:12,141 --> 00:21:14,247 address in the Class D space, 576 00:21:16,311 --> 00:21:17,669 and the way you would recognize 577 00:21:17,670 --> 00:21:25,787 that in binary and you start to 578 00:21:25,788 --> 00:21:26,980 see the pattern right here 579 00:21:27,701 --> 00:21:29,129 are the first 4 bits. 580 00:21:36,942 --> 00:21:41,321 So the smallest multicast address 581 00:21:41,322 --> 00:21:43,689 is anything beginning with 224, 582 00:21:48,250 --> 00:21:49,624 and that's the largest multicast 583 00:21:49,624 --> 00:21:58,215 address which is 239 dot anything 584 00:21:59,637 --> 00:22:01,686 so that's your range of multicast 585 00:22:01,687 --> 00:22:04,493 addresses all starting with 1110 586 00:22:04,494 --> 00:22:06,663 in binary and dotted decimal 587 00:22:06,664 --> 00:22:10,586 falling in the range of 224 to 239. 588 00:22:11,828 --> 00:22:13,246 And then the last range 589 00:22:13,247 --> 00:22:14,977 of networks is-- 590 00:22:14,978 --> 00:22:16,104 I wouldn't even say networks. 591 00:22:16,105 --> 00:22:19,734 The last range of classful IP 592 00:22:19,735 --> 00:22:20,996 addresses is what's called the 593 00:22:20,997 --> 00:22:22,089 Class E. 594 00:22:22,090 --> 00:22:23,101 This was originally known 595 00:22:23,102 --> 00:22:25,186 as the experimental range. 596 00:22:25,826 --> 00:22:27,195 And if we go to our binary 597 00:22:27,196 --> 00:22:27,681 once again, 598 00:22:27,682 --> 00:22:28,761 you can see it's going to be the 599 00:22:28,762 --> 00:22:30,912 next pattern available to us. 600 00:22:33,382 --> 00:22:35,407 So Class E experimental addresses 601 00:22:35,408 --> 00:22:40,312 start out with 1110, 602 00:22:40,313 --> 00:22:44,227 so the first 5 bits are 11110. 603 00:22:45,087 --> 00:22:46,113 You're never going to see any 604 00:22:46,114 --> 00:22:49,614 IP packet with a Class E 605 00:22:49,615 --> 00:22:52,220 source or destination. 606 00:22:52,221 --> 00:22:55,973 It was reserved as future use and 607 00:22:55,974 --> 00:22:57,701 it never really came to fruition. 608 00:22:57,701 --> 00:22:59,178 So even today and here we are 609 00:22:59,179 --> 00:23:01,995 in 2015 where IPv4 networks 610 00:23:01,996 --> 00:23:03,316 are almost entirely gone, 611 00:23:03,317 --> 00:23:04,845 almost entirely used up, 612 00:23:05,744 --> 00:23:07,915 this space has never been utilized 613 00:23:07,916 --> 00:23:09,656 and will never be utilized, 614 00:23:09,657 --> 00:23:11,282 Class E. 615 00:23:12,011 --> 00:23:14,107 If you're curious as to why, 616 00:23:14,107 --> 00:23:15,840 if you're watching this in 617 00:23:15,841 --> 00:23:17,564 the live class right now, 618 00:23:17,565 --> 00:23:20,254 in the files section in the 619 00:23:20,255 --> 00:23:22,270 upper right you'll see I've 620 00:23:22,271 --> 00:23:24,118 included a PDF of the slides, 621 00:23:24,119 --> 00:23:25,218 and in the notes section 622 00:23:26,087 --> 00:23:28,428 I've included a URL in there that 623 00:23:28,429 --> 00:23:30,987 talks about why Class E 624 00:23:30,988 --> 00:23:32,263 is never going to be used. 625 00:23:32,264 --> 00:23:33,811 Just to really briefly summarize 626 00:23:34,919 --> 00:23:37,068 for the last, I don't know, 627 00:23:37,069 --> 00:23:40,130 3 or 4 decades the 628 00:23:40,131 --> 00:23:42,134 IP protocol stack, 629 00:23:42,135 --> 00:23:44,427 the code that implements IP 630 00:23:44,428 --> 00:23:46,627 has been written in such a way 631 00:23:46,628 --> 00:23:47,699 that whether that code is 632 00:23:47,700 --> 00:23:49,422 implemented on a router, 633 00:23:49,423 --> 00:23:51,573 or a laptop, or a tablet, 634 00:23:51,573 --> 00:23:53,201 or a smartphone, 635 00:23:53,201 --> 00:23:55,255 every device has always recognized 636 00:23:55,256 --> 00:23:58,117 that Class E is not usable. 637 00:23:58,118 --> 00:24:00,021 If you try putting a Class E 638 00:24:00,022 --> 00:24:01,645 address on your laptop, 639 00:24:01,646 --> 00:24:04,185 or on a smartphone, or on a router, 640 00:24:04,186 --> 00:24:05,893 you'll get an error message because 641 00:24:05,894 --> 00:24:07,381 it recognizes in the code that 642 00:24:07,382 --> 00:24:10,023 this is reserved for future use. 643 00:24:10,024 --> 00:24:11,121 So some people have said, 644 00:24:11,122 --> 00:24:12,498 well, here we are today 645 00:24:12,499 --> 00:24:13,671 in the modern world, 646 00:24:14,415 --> 00:24:14,047 we need this space. 647 00:24:14,048 --> 00:24:17,343 we've run out of IPv4 addresses. 648 00:24:17,344 --> 00:24:19,610 Let's reclaim the Class E so we 649 00:24:19,611 --> 00:24:22,458 can get some more space out of it. 650 00:24:22,459 --> 00:24:24,237 Well that URL in the PDF 651 00:24:24,238 --> 00:24:25,152 goes into a little bit of detail. 652 00:24:25,153 --> 00:24:26,891 Basically it says well let's 653 00:24:26,892 --> 00:24:28,951 think about that for a second. 654 00:24:28,951 --> 00:24:30,099 With the way that people 655 00:24:30,100 --> 00:24:31,323 are using IP these days, 656 00:24:31,324 --> 00:24:33,164 with how many new networks are 657 00:24:33,165 --> 00:24:36,231 coming online every single day, 658 00:24:36,232 --> 00:24:38,596 if theoretically we could use 659 00:24:38,597 --> 00:24:40,692 the Class E space, 660 00:24:40,692 --> 00:24:44,322 that might extend the usable life 661 00:24:44,323 --> 00:24:48,627 of IPv4 for maybe another 5 or 662 00:24:48,628 --> 00:24:50,922 6 years, maybe, 663 00:24:50,923 --> 00:24:52,914 but what would that require? 664 00:24:52,915 --> 00:24:54,491 That would require that all the 665 00:24:54,492 --> 00:24:56,682 software developers that developed 666 00:24:56,683 --> 00:25:00,178 Windows, Linux, and the Apple 667 00:25:00,179 --> 00:25:01,679 operating systems-- they have to go 668 00:25:01,680 --> 00:25:03,520 back into their code, 669 00:25:03,521 --> 00:25:05,491 rewrite the code so that this is 670 00:25:05,491 --> 00:25:06,901 now an acceptable address. 671 00:25:06,902 --> 00:25:08,452 It wouldn't spit out an error. 672 00:25:08,453 --> 00:25:09,137 It would recognize that 673 00:25:09,138 --> 00:25:10,420 as being useful, 674 00:25:10,421 --> 00:25:11,702 and what about you that 675 00:25:11,703 --> 00:25:13,399 already own a laptop, 676 00:25:13,400 --> 00:25:14,351 how are you going to go into your 677 00:25:14,352 --> 00:25:18,730 IPv4 code and change it so that 678 00:25:18,731 --> 00:25:20,580 it now recognizes that this is okay 679 00:25:20,581 --> 00:25:22,149 it's all right to see that, 680 00:25:22,150 --> 00:25:23,325 you can't. 681 00:25:23,326 --> 00:25:24,201 So they said, 682 00:25:24,202 --> 00:25:25,416 look the time and the effort 683 00:25:25,417 --> 00:25:29,427 it would take to take all the new 684 00:25:29,428 --> 00:25:30,993 equipment that's being developed to 685 00:25:30,994 --> 00:25:32,945 recognize that as being all right, 686 00:25:32,945 --> 00:25:35,125 and to somehow go to everybody's 687 00:25:35,126 --> 00:25:37,916 existing smartphone, and tablet, 688 00:25:37,917 --> 00:25:39,319 and PC and say okay, 689 00:25:39,320 --> 00:25:41,356 it's okay now, it's all right, 690 00:25:41,357 --> 00:25:44,326 it's not theoretically possible to 691 00:25:44,327 --> 00:25:44,905 do that. 692 00:25:44,906 --> 00:25:46,800 It's just not feasible to do that 693 00:25:46,801 --> 00:25:48,106 as a end result to only 694 00:25:48,107 --> 00:25:49,424 give yourself maybe 695 00:25:49,425 --> 00:25:52,246 5 extra years of life of IPv4. 696 00:25:52,247 --> 00:25:53,471 So that's why Class E 697 00:25:53,472 --> 00:25:55,442 will never come to anything, 698 00:25:55,443 --> 00:25:57,268 just won't be usable for anything. 699 00:25:59,096 --> 00:26:00,197 And somebody has asked-- 700 00:26:00,198 --> 00:26:02,113 so Ganesh has asked me to 701 00:26:02,114 --> 00:26:03,686 elaborate a little bit on what this 702 00:26:03,687 --> 00:26:08,274 concept is of the loopback address, 703 00:26:08,275 --> 00:26:09,283 which is basically anything 704 00:26:09,284 --> 00:26:11,043 beginning with 127. 705 00:26:12,680 --> 00:26:13,508 Basically the way 706 00:26:13,509 --> 00:26:19,554 I understand this is that any 707 00:26:19,555 --> 00:26:22,683 device that's running IP whether it 708 00:26:22,684 --> 00:26:24,074 be a router or a laptop 709 00:26:24,075 --> 00:26:24,986 or a tablet, 710 00:26:25,997 --> 00:26:27,266 when you tell that device, 711 00:26:27,267 --> 00:26:29,098 Hey, I want you to create a packet, 712 00:26:30,258 --> 00:26:31,804 and I want the destination of 713 00:26:31,804 --> 00:26:36,800 that packet to be 127 dot anything, 714 00:26:36,801 --> 00:26:39,198 the way the device interprets it, 715 00:26:39,198 --> 00:26:40,595 it says, Okay, well that means that 716 00:26:40,596 --> 00:26:43,935 basically I'm testing myself. 717 00:26:43,935 --> 00:26:46,204 I'm testing to see if my own 718 00:26:46,205 --> 00:26:47,352 IP protocol 719 00:26:47,353 --> 00:26:50,226 is working and is functional. 720 00:26:50,227 --> 00:26:51,388 So when you tell a device like 721 00:26:51,389 --> 00:26:53,421 a laptop or PC or router to create 722 00:26:53,422 --> 00:26:56,077 a packet going to 127 dot anything, 723 00:26:56,078 --> 00:26:58,003 it will create that packet, 724 00:26:58,004 --> 00:26:59,088 but it never leaves the brain 725 00:26:59,089 --> 00:27:00,198 of the device. 726 00:27:00,199 --> 00:27:01,647 It will never actually go on the 727 00:27:01,648 --> 00:27:03,518 wire and go anywhere. 728 00:27:03,518 --> 00:27:04,163 It's like you're 729 00:27:04,164 --> 00:27:05,560 talking to yourself. 730 00:27:05,561 --> 00:27:07,083 It's like, Hey, IP are you there? 731 00:27:07,084 --> 00:27:07,920 Yep, I'm here. 732 00:27:07,921 --> 00:27:08,977 Okay, we're good. 733 00:27:08,978 --> 00:27:10,602 So that's what they mean 734 00:27:10,603 --> 00:27:11,307 by loopback. 735 00:27:11,308 --> 00:27:12,642 It doesn't leave the device 736 00:27:13,327 --> 00:27:14,185 it's basically a way of just 737 00:27:14,186 --> 00:27:16,034 testing to see if your own 738 00:27:16,035 --> 00:27:18,135 IP protocol is working. 739 00:27:19,339 --> 00:27:19,945 So for example, 740 00:27:19,946 --> 00:27:22,194 if I open up a DOS prompt here, 741 00:27:24,018 --> 00:27:25,415 if I ever was wondering, 742 00:27:25,416 --> 00:27:26,551 I say, Oh, you know, 743 00:27:26,552 --> 00:27:27,874 I can't get to the Internet, 744 00:27:27,875 --> 00:27:29,178 I can't get to my email server, 745 00:27:29,179 --> 00:27:30,101 I can't get to anything. 746 00:27:30,500 --> 00:27:33,088 I wonder if there is some bug in my 747 00:27:33,089 --> 00:27:36,152 Microsoft implementation of IPv4 748 00:27:36,153 --> 00:27:37,162 in my laptop. 749 00:27:37,163 --> 00:27:39,731 Could IPv4 be buggy in my laptop? 750 00:27:39,732 --> 00:27:40,834 I can test that by just saying, 751 00:27:40,835 --> 00:27:43,924 ping 127.pretty much anything, 752 00:27:43,925 --> 00:27:45,306 5.6.7. 753 00:27:46,140 --> 00:27:47,101 And the fact that I'm getting 754 00:27:47,102 --> 00:27:50,350 a reply tells me that my own local 755 00:27:50,351 --> 00:27:52,579 implementation of IPv4 is okay. 756 00:27:52,580 --> 00:27:54,340 I've just basically pinged 757 00:27:54,340 --> 00:27:56,456 my own CPU. 758 00:27:56,457 --> 00:27:58,585 So that's what the loopback network 759 00:27:58,585 --> 00:27:59,949 is used for. 760 00:27:59,950 --> 00:28:00,842 And really doesn't matter 761 00:28:00,843 --> 00:28:04,842 what it is, 127.88.99.100, 762 00:28:04,843 --> 00:28:05,917 just the fact that it's beginning 763 00:28:05,918 --> 00:28:09,084 with 127 tells the IP protocol 764 00:28:09,085 --> 00:28:10,294 implementation that this is a 765 00:28:10,295 --> 00:28:12,853 loopback test. 766 00:28:12,853 --> 00:28:14,530 You can do this on a router, 767 00:28:14,531 --> 00:28:15,254 or a laptop, 768 00:28:15,255 --> 00:28:16,828 or anything that gives you the 769 00:28:16,829 --> 00:28:20,453 ability to send a packet to 127, 770 00:28:21,479 --> 00:28:24,182 so that's what that's reserved for. 771 00:28:24,182 --> 00:28:25,928 Well if you don't have 772 00:28:25,929 --> 00:28:28,327 any questions for me, 773 00:28:28,328 --> 00:28:30,486 I've got some questions for you. 774 00:28:30,487 --> 00:28:31,311 So I promised you that 775 00:28:31,311 --> 00:28:32,139 during this presentation, 776 00:28:32,140 --> 00:28:33,405 I'll have some periodic quiz 777 00:28:33,406 --> 00:28:34,529 questions that would pop up. 778 00:28:35,650 --> 00:28:36,610 So I'm going to give you a couple 779 00:28:36,611 --> 00:28:38,532 of them right now and then we'll 780 00:28:38,533 --> 00:28:39,498 take our first break. 781 00:28:39,997 --> 00:28:40,842 Here's what I'm going to do. 782 00:28:40,843 --> 00:28:44,630 These questions should be 783 00:28:44,631 --> 00:28:45,858 pretty quick for you to answer. 784 00:28:45,859 --> 00:28:47,413 So I will display the question. 785 00:28:47,414 --> 00:28:48,489 I'll maximize it here 786 00:28:48,490 --> 00:28:49,334 so you don't see me. 787 00:28:50,631 --> 00:28:51,750 And when you see the question, 788 00:28:51,751 --> 00:28:53,978 I will give you 30 seconds to think 789 00:28:53,979 --> 00:28:55,589 about it, come up with the answer. 790 00:28:55,590 --> 00:28:56,532 You don't have to type in the 791 00:28:56,533 --> 00:28:57,471 answer if you don't want to, 792 00:28:57,472 --> 00:28:58,710 just try to come up with it 793 00:28:58,711 --> 00:28:59,358 on your own. 794 00:29:00,071 --> 00:29:01,064 And after 30 seconds, 795 00:29:01,065 --> 00:29:03,214 I will show you the answer 796 00:29:03,214 --> 00:29:04,816 and we'll talk about it. 797 00:29:04,817 --> 00:29:07,877 So let's go to question number 1. 798 00:29:07,877 --> 00:29:10,164 Identify which of the IP addresses 799 00:29:10,165 --> 00:29:13,709 below belong to a Class B network. 800 00:29:13,710 --> 00:29:15,024 You have 30 seconds. 801 00:29:15,025 --> 00:29:15,848 And if you're watching this 802 00:29:15,848 --> 00:29:16,896 as a recorded session, 803 00:29:16,897 --> 00:29:18,174 you can just press the pause button 804 00:29:18,175 --> 00:29:20,028 right now to pause this recording, 805 00:29:20,627 --> 00:29:21,699 and then play it when you think 806 00:29:21,700 --> 00:29:22,367 you have the answer. 807 00:29:23,923 --> 00:29:25,521 Okay, so it's been 30 seconds. 808 00:29:25,522 --> 00:29:26,473 So which of these are 809 00:29:26,474 --> 00:29:27,557 Class B networks? 810 00:29:29,040 --> 00:29:30,967 Here is your answer. 811 00:29:30,968 --> 00:29:34,300 Answer C and D. 812 00:29:34,301 --> 00:29:35,360 We know that binary, 813 00:29:35,361 --> 00:29:36,552 any IP address that begins 814 00:29:36,553 --> 00:29:37,656 with a combination 815 00:29:37,657 --> 00:29:39,830 of 10 is a Class B network. 816 00:29:39,831 --> 00:29:41,955 That's why answer C is correct. 817 00:29:42,792 --> 00:29:43,578 And we know that if it 818 00:29:43,579 --> 00:29:44,681 begins with 10, 819 00:29:44,682 --> 00:29:46,229 that means the range of Class B 820 00:29:46,230 --> 00:29:49,438 networks is anything from 128 up 821 00:29:49,439 --> 00:29:51,828 to 191. 822 00:29:51,829 --> 00:29:54,823 And that's why answer D is 823 00:29:54,824 --> 00:29:56,617 also the correct answer. 824 00:29:56,618 --> 00:29:58,558 Let's go on to the next one. 825 00:29:59,161 --> 00:30:00,476 Identify which of the IP addresses 826 00:30:00,477 --> 00:30:04,190 below belong to a Class C network? 827 00:30:05,719 --> 00:30:08,521 Okay, time is up. 828 00:30:08,522 --> 00:30:10,052 So Class C network, 829 00:30:10,053 --> 00:30:11,356 the answers would be 830 00:30:11,357 --> 00:30:13,390 answers B and E. 831 00:30:13,391 --> 00:30:14,178 With Class C, 832 00:30:14,179 --> 00:30:15,559 anything in binary that 833 00:30:15,560 --> 00:30:18,650 begins with 110 is Class C. 834 00:30:18,651 --> 00:30:20,488 And in dotted decimals, 835 00:30:20,489 --> 00:30:21,796 that means your first octet 836 00:30:21,797 --> 00:30:22,446 is going to fall 837 00:30:22,446 --> 00:30:23,332 within the range of 838 00:30:23,333 --> 00:30:27,894 192 up to 223. 839 00:30:27,895 --> 20:28:44,146 [music]