WEBVTT - An Update On IPv6

0:00:04.160 --> 0:00:07.480
<v Speaker 1>Get in tech with technology with tech Stuff from stuff

0:00:07.520 --> 0:00:14.000
<v Speaker 1>works dot com. Hey there, and welcome to tex Stuff.

0:00:14.040 --> 0:00:17.680
<v Speaker 1>I'm your host, Jonathan Strickland. I'm an executive producer over

0:00:17.760 --> 0:00:20.160
<v Speaker 1>at how Stuff Works and I love all things tech,

0:00:20.640 --> 0:00:24.520
<v Speaker 1>and today we're going to talk about a pretty technical subject.

0:00:24.600 --> 0:00:26.440
<v Speaker 1>And just to get this out of the way, I

0:00:26.520 --> 0:00:30.600
<v Speaker 1>am getting over a cold and it's pollen season here

0:00:30.640 --> 0:00:35.640
<v Speaker 1>in Atlanta already, so I might sound a little extra

0:00:35.720 --> 0:00:39.440
<v Speaker 1>grungy today. Uh just just blame that on on my

0:00:39.520 --> 0:00:43.839
<v Speaker 1>health and Nirvana. But recently a listener asked me to

0:00:43.920 --> 0:00:47.760
<v Speaker 1>give an update on the switchover to I p V six,

0:00:47.760 --> 0:00:50.320
<v Speaker 1>which I thought presented a great opportunity to talk about

0:00:50.400 --> 0:00:53.800
<v Speaker 1>what that actually means, why it's important, as well as

0:00:54.200 --> 0:00:57.520
<v Speaker 1>what progress has been made in this switchover. Now. It

0:00:57.560 --> 0:01:01.320
<v Speaker 1>all boils down to solving April saying problem, which is

0:01:01.400 --> 0:01:04.040
<v Speaker 1>that the old set of rules we relied upon for

0:01:04.080 --> 0:01:07.679
<v Speaker 1>the Internet just aren't quite sufficient to keep up with

0:01:07.760 --> 0:01:11.640
<v Speaker 1>the way we're using the Internet. So first we need

0:01:11.680 --> 0:01:15.520
<v Speaker 1>to define what is i P. It stands for Internet Protocol,

0:01:15.720 --> 0:01:19.560
<v Speaker 1>which sounds a little daunting, but really that just means

0:01:19.640 --> 0:01:22.440
<v Speaker 1>it's the method or set of rules that the Internet

0:01:22.480 --> 0:01:26.280
<v Speaker 1>follows in order to send data between computers or other

0:01:26.319 --> 0:01:30.399
<v Speaker 1>devices that are interconnected within this network of networks. In

0:01:30.480 --> 0:01:34.600
<v Speaker 1>protocol speak, we typically refer to these devices as hosts,

0:01:35.319 --> 0:01:38.040
<v Speaker 1>and from a high level, the rules are pretty straightforward,

0:01:38.120 --> 0:01:41.360
<v Speaker 1>but they are absolutely necessary. Without these rules, it would

0:01:41.360 --> 0:01:44.640
<v Speaker 1>be pretty challenging to find what you're looking for when

0:01:44.680 --> 0:01:47.040
<v Speaker 1>you connect to the Internet. So let's take a very

0:01:47.120 --> 0:01:50.240
<v Speaker 1>simple connection and that way we can build on that

0:01:50.280 --> 0:01:53.240
<v Speaker 1>to understand what the challenges are. Back in the good

0:01:53.240 --> 0:01:56.840
<v Speaker 1>old Bolton Board System days, the BBS days, you would

0:01:56.880 --> 0:02:00.800
<v Speaker 1>typically have one machine acting like a server. Everything would

0:02:01.080 --> 0:02:05.160
<v Speaker 1>live on that machine and it would serve data to

0:02:05.280 --> 0:02:08.280
<v Speaker 1>a single client at a time. So that meant you

0:02:08.320 --> 0:02:12.240
<v Speaker 1>add one computer or host in the terminology of the Internet,

0:02:12.639 --> 0:02:15.680
<v Speaker 1>and this one is the server that has all the

0:02:15.720 --> 0:02:19.680
<v Speaker 1>message boards, files, games, whatever the Bolton Board System might have.

0:02:20.520 --> 0:02:24.200
<v Speaker 1>The people who want to visit the BBS would use

0:02:24.240 --> 0:02:27.240
<v Speaker 1>a dial up modem on their personal computer. This is

0:02:27.240 --> 0:02:30.600
<v Speaker 1>another host in Internet parlance, but we also would call

0:02:30.639 --> 0:02:33.080
<v Speaker 1>it a client and they would use that to call

0:02:33.320 --> 0:02:37.280
<v Speaker 1>up the server computer over a normal phone line. So

0:02:37.360 --> 0:02:39.160
<v Speaker 1>it's just like if you were to make a phone

0:02:39.160 --> 0:02:43.079
<v Speaker 1>call to somebody else. The connection was direct, or at

0:02:43.200 --> 0:02:45.520
<v Speaker 1>least as direct as a connection can be when it

0:02:45.520 --> 0:02:49.840
<v Speaker 1>crosses over telecommunications infrastructure like phone lines. The point is

0:02:50.280 --> 0:02:54.720
<v Speaker 1>the client and server communicated directly with one another. The

0:02:54.800 --> 0:02:57.880
<v Speaker 1>data didn't need to pass through any third party hosts.

0:02:58.240 --> 0:03:02.000
<v Speaker 1>A good analogy is the old two cans and a

0:03:02.120 --> 0:03:04.920
<v Speaker 1>string method of communication. You know, you got a can

0:03:04.919 --> 0:03:06.440
<v Speaker 1>on one side and a can on the other, string

0:03:06.480 --> 0:03:08.720
<v Speaker 1>connecting the two, and you speak, and the vibrations go

0:03:08.800 --> 0:03:11.160
<v Speaker 1>through the string and are amplified on the other side,

0:03:11.200 --> 0:03:14.000
<v Speaker 1>and thus you can talk well. The two computers in

0:03:14.000 --> 0:03:17.600
<v Speaker 1>this example are those cans, and the phone infrastructure would

0:03:17.639 --> 0:03:22.960
<v Speaker 1>be the string. But the Internet consists of millions of computers,

0:03:22.960 --> 0:03:26.799
<v Speaker 1>plus routers and switches and other devices that are all

0:03:26.880 --> 0:03:30.720
<v Speaker 1>interconnected in various ways. Whenever you visit a website or

0:03:30.800 --> 0:03:33.359
<v Speaker 1>you send an email, you're sending and receiving data to

0:03:33.680 --> 0:03:36.560
<v Speaker 1>and from other devices connected to that network, and some

0:03:36.680 --> 0:03:39.520
<v Speaker 1>of them might be across the world from each other,

0:03:39.800 --> 0:03:42.280
<v Speaker 1>which means there have to be rules in place for

0:03:42.320 --> 0:03:45.880
<v Speaker 1>your messages to get to the right computers, and those

0:03:45.880 --> 0:03:48.280
<v Speaker 1>computers have to know where to send the data back

0:03:48.440 --> 0:03:52.720
<v Speaker 1>to you in response to your requests. Part of the

0:03:52.760 --> 0:03:56.840
<v Speaker 1>Internet protocol addresses this very issue, and yes, that is

0:03:56.960 --> 0:04:00.560
<v Speaker 1>kind of a pun. It's called IP addresses. An IP

0:04:00.720 --> 0:04:05.320
<v Speaker 1>address is a unique identifier for every computer or connected

0:04:05.360 --> 0:04:10.120
<v Speaker 1>device on the Internet. Uh, anything that's directly communicating with

0:04:10.240 --> 0:04:13.000
<v Speaker 1>the Internet has to have an IP address, and it's

0:04:13.040 --> 0:04:15.880
<v Speaker 1>similar to a physical address that we would use for

0:04:16.040 --> 0:04:19.600
<v Speaker 1>mailing things in that it provides a means for computers

0:04:19.640 --> 0:04:23.320
<v Speaker 1>to locate the right destination for data. But unlike a

0:04:23.400 --> 0:04:27.360
<v Speaker 1>physical address, a machine's IP address doesn't necessarily always stay

0:04:27.440 --> 0:04:30.760
<v Speaker 1>the same. It can it can be a static IP address,

0:04:30.800 --> 0:04:34.560
<v Speaker 1>but it's pretty common to run into dynamic IP addresses,

0:04:34.720 --> 0:04:37.479
<v Speaker 1>which means they can change depending upon the local network

0:04:37.600 --> 0:04:41.200
<v Speaker 1>that it connects to the router that's in charge. Lots

0:04:41.200 --> 0:04:45.080
<v Speaker 1>of different things can determine what a machine's IP address

0:04:45.240 --> 0:04:48.320
<v Speaker 1>is at any given time. Now, the idea for IP

0:04:48.400 --> 0:04:52.159
<v Speaker 1>addresses goes back much further than most people's experience with

0:04:52.279 --> 0:04:55.640
<v Speaker 1>the Internet, unless you were a researcher or an engineer.

0:04:56.000 --> 0:04:58.640
<v Speaker 1>The debut of the Worldwide Web in the early nineties

0:04:58.720 --> 0:05:01.880
<v Speaker 1>kind of helped usher in a new era of computer users,

0:05:01.920 --> 0:05:05.159
<v Speaker 1>but the Internet itself had been around for a decade

0:05:05.360 --> 0:05:08.440
<v Speaker 1>before the Web was a thing. Those rules had to

0:05:08.480 --> 0:05:10.640
<v Speaker 1>be in place for the Internet to work, and they were,

0:05:10.720 --> 0:05:13.480
<v Speaker 1>in fact an evolution of the rules that engineers were

0:05:13.520 --> 0:05:17.400
<v Speaker 1>creating when they built the predecessor to the Internet, called

0:05:17.400 --> 0:05:21.480
<v Speaker 1>our Bonnet. Our Bonnet was a Department of Defense project.

0:05:21.680 --> 0:05:24.200
<v Speaker 1>Those working on the project, we're creating the framework and

0:05:24.320 --> 0:05:29.440
<v Speaker 1>rules within which different computers built on different architectures could

0:05:29.520 --> 0:05:34.200
<v Speaker 1>meaningfully communicate across a network. This was a pretty hefty undertaking,

0:05:34.279 --> 0:05:37.119
<v Speaker 1>but I've talked about it in other episodes of Tech Stuff,

0:05:37.120 --> 0:05:39.320
<v Speaker 1>so I'm not gonna go all the way through that

0:05:39.400 --> 0:05:42.080
<v Speaker 1>again right here and right now. You can find the

0:05:42.080 --> 0:05:44.440
<v Speaker 1>episodes on our Bonnet and listen to those. But in

0:05:44.520 --> 0:05:48.960
<v Speaker 1>a Request for Comments document and r FC document dating

0:05:49.000 --> 0:05:52.800
<v Speaker 1>from nineteen eighty, the team working on Internet protocols detailed

0:05:52.839 --> 0:05:56.719
<v Speaker 1>the necessity for addresses and helped clarify their role. Part

0:05:56.720 --> 0:05:59.880
<v Speaker 1>of that meant explaining what an address is and is not.

0:06:00.400 --> 0:06:03.440
<v Speaker 1>So here's a quote, a direct quote from RFC seven

0:06:03.520 --> 0:06:08.640
<v Speaker 1>sixty and yes, fasten your seat belts because it's really

0:06:08.680 --> 0:06:13.400
<v Speaker 1>exciting speech. A distinction is made between names, addresses, and routes.

0:06:13.800 --> 0:06:18.000
<v Speaker 1>A name indicates what we seek, an address indicates where

0:06:18.080 --> 0:06:21.919
<v Speaker 1>it is. A route indicates how to get there. The

0:06:21.960 --> 0:06:26.080
<v Speaker 1>Internet protocol deals primarily with addresses. Is the task of

0:06:26.240 --> 0:06:30.440
<v Speaker 1>higher level i e. Host to host or application protocols

0:06:30.760 --> 0:06:34.760
<v Speaker 1>to make the mapping from names to addresses, and so

0:06:34.800 --> 0:06:37.039
<v Speaker 1>a device would need a name and an address. The

0:06:37.120 --> 0:06:39.520
<v Speaker 1>route would be the pathway the data would take between

0:06:39.520 --> 0:06:42.400
<v Speaker 1>the hosts. Now, this isn't all that different from sending

0:06:42.480 --> 0:06:45.480
<v Speaker 1>snail mail in the real world. You can't just put

0:06:45.520 --> 0:06:47.760
<v Speaker 1>an envelope in a mailbox with a person's name on

0:06:47.800 --> 0:06:50.080
<v Speaker 1>it and expect the postal service to be able to

0:06:50.120 --> 0:06:53.320
<v Speaker 1>deliver it, unless I guess the name is Santa clause

0:06:53.839 --> 0:06:56.440
<v Speaker 1>you need to include an address on the envelope. The

0:06:56.480 --> 0:06:59.760
<v Speaker 1>postal service then takes the collected outgoing mail and to

0:06:59.800 --> 0:07:02.200
<v Speaker 1>turn emens how to deliver it, which is not that

0:07:02.320 --> 0:07:06.360
<v Speaker 1>different from how computers send data across the Internet. Now,

0:07:06.400 --> 0:07:08.920
<v Speaker 1>one thing that is a little different is how devices

0:07:08.920 --> 0:07:11.720
<v Speaker 1>on the Internet package data when they send it across

0:07:11.760 --> 0:07:14.920
<v Speaker 1>the Internet. Devices on the Internet send data in small

0:07:15.040 --> 0:07:19.480
<v Speaker 1>batches called packets. These packets are sort of like puzzle pieces.

0:07:19.520 --> 0:07:21.960
<v Speaker 1>They don't all have to take the same pathway to

0:07:22.000 --> 0:07:26.200
<v Speaker 1>get to their destination, where they are then reassembled into

0:07:26.240 --> 0:07:28.480
<v Speaker 1>whatever it is that you were sending. It's a pretty

0:07:28.600 --> 0:07:31.360
<v Speaker 1>ingenious design that helps avoid problems when a particular machine

0:07:31.360 --> 0:07:34.520
<v Speaker 1>on the network goes down. But let's get back to addresses,

0:07:34.560 --> 0:07:37.800
<v Speaker 1>because that's kind of a separate topic. In this request

0:07:37.840 --> 0:07:41.000
<v Speaker 1>for comments, the group also mentioned that addresses were a

0:07:41.080 --> 0:07:46.160
<v Speaker 1>fixed length of four octets or thirty two bits. Now,

0:07:46.200 --> 0:07:50.240
<v Speaker 1>a bit is a single unit of information. It can

0:07:50.280 --> 0:07:53.200
<v Speaker 1>take the form of a zero or a one. So

0:07:53.280 --> 0:07:57.120
<v Speaker 1>the team would refine this a bit in future RFC documents,

0:07:57.160 --> 0:08:02.200
<v Speaker 1>but for the time being four octets or four uh

0:08:02.240 --> 0:08:06.360
<v Speaker 1>eight bits four bytes. In other words, the thirty two

0:08:06.360 --> 0:08:09.480
<v Speaker 1>bits gave the team a lot of potential addresses to

0:08:09.520 --> 0:08:12.960
<v Speaker 1>play with. So each bit can have one of two states,

0:08:13.000 --> 0:08:15.040
<v Speaker 1>that being a zero or a one, and there are

0:08:15.120 --> 0:08:17.040
<v Speaker 1>thirty two of them total. So what you would do

0:08:17.120 --> 0:08:20.320
<v Speaker 1>is you take to the states and raise it to

0:08:20.320 --> 0:08:22.440
<v Speaker 1>the power of thirty two the number of bits. That

0:08:22.560 --> 0:08:26.840
<v Speaker 1>gives you a grand total of four billion, two hundred

0:08:27.000 --> 0:08:31.040
<v Speaker 1>ninety four million, nine hundred sixty seven thousand, two hundred

0:08:31.120 --> 0:08:36.000
<v Speaker 1>ninety six addresses. Almost Now why do I say almost,

0:08:36.320 --> 0:08:39.400
<v Speaker 1>because not all of those addresses are actually available to

0:08:39.520 --> 0:08:43.160
<v Speaker 1>the general world. The protocol reserves nearly two hundred ninety

0:08:43.200 --> 0:08:46.800
<v Speaker 1>million addresses for specialized purposes, but still more than four

0:08:46.840 --> 0:08:49.280
<v Speaker 1>billion addresses. Seemed like they were going to be plenty

0:08:49.520 --> 0:08:52.520
<v Speaker 1>way back in nineteen eighty. Now, the way we typically

0:08:52.559 --> 0:08:55.040
<v Speaker 1>see those addresses written out is in a series of

0:08:55.080 --> 0:08:59.080
<v Speaker 1>decimal numbers separated by periods. For example, you might see

0:08:59.080 --> 0:09:04.520
<v Speaker 1>an address like this two hundred sixteen dot dot sixty

0:09:04.600 --> 0:09:09.080
<v Speaker 1>one dot seven. Those are your four octets, except they're

0:09:09.080 --> 0:09:13.840
<v Speaker 1>being represented as decimal numbers, not as bits. So you'll

0:09:13.840 --> 0:09:16.600
<v Speaker 1>never see a number higher than two hundred fifty five

0:09:16.760 --> 0:09:19.880
<v Speaker 1>in any of those four spots. And why is that, Well,

0:09:19.880 --> 0:09:24.480
<v Speaker 1>it's because the highest number eight bets can represent would

0:09:24.480 --> 0:09:30.120
<v Speaker 1>be two fifty six. So you start with zero, you

0:09:30.160 --> 0:09:32.480
<v Speaker 1>can go up to two five. If we started with

0:09:32.559 --> 0:09:34.120
<v Speaker 1>just one and built up, we could go all the

0:09:34.120 --> 0:09:35.760
<v Speaker 1>way up to two fifty six. But we start with

0:09:35.880 --> 0:09:38.559
<v Speaker 1>zero because we're talking about base ten, so once you

0:09:38.640 --> 0:09:40.280
<v Speaker 1>hit nine, you need to be able to flip back

0:09:40.280 --> 0:09:43.520
<v Speaker 1>over to zero. So two five is the largest number

0:09:43.600 --> 0:09:46.320
<v Speaker 1>that can occupy any of those four spots. If we

0:09:46.360 --> 0:09:48.760
<v Speaker 1>wrote out that same IP address I just mentioned the

0:09:48.920 --> 0:09:52.720
<v Speaker 1>to sixteen dot seven dot sixty one dot one seven,

0:09:52.880 --> 0:09:55.480
<v Speaker 1>it would look like this in binary code, and I

0:09:55.520 --> 0:09:57.800
<v Speaker 1>apologize ahead of time because you're gonna hear a lot

0:09:57.840 --> 0:10:00.760
<v Speaker 1>of ones and zeros, guys. But this is why they

0:10:00.800 --> 0:10:03.920
<v Speaker 1>decided to switch over to a decimal based system for notation.

0:10:04.160 --> 0:10:08.200
<v Speaker 1>The binary address would be one one zero one one

0:10:08.559 --> 0:10:13.960
<v Speaker 1>zero zero zero, dot zero zero zero one one zero

0:10:14.040 --> 0:10:19.160
<v Speaker 1>one one dot zero zero one one one one zero

0:10:19.240 --> 0:10:24.040
<v Speaker 1>one dot one zero zero zero one zero zero one.

0:10:24.440 --> 0:10:26.600
<v Speaker 1>And yes, it sounds like I just did the binary

0:10:26.679 --> 0:10:29.800
<v Speaker 1>solo from the humans are dead by fly of the concords.

0:10:30.320 --> 0:10:32.960
<v Speaker 1>It doesn't exactly roll off the tongue, so you can

0:10:33.000 --> 0:10:35.320
<v Speaker 1>see why the team decided to go with that decimal

0:10:35.360 --> 0:10:39.079
<v Speaker 1>based system. Now, at a higher level than the Internet protocol,

0:10:39.360 --> 0:10:41.319
<v Speaker 1>there are rules in place that allow us to use

0:10:41.360 --> 0:10:44.480
<v Speaker 1>stuff like domain names and file pathways to make it

0:10:44.559 --> 0:10:48.000
<v Speaker 1>easier to direct emails or go web browsing to where

0:10:48.040 --> 0:10:51.559
<v Speaker 1>we want to go. In tim Burners, Lee introduced the

0:10:51.600 --> 0:10:54.719
<v Speaker 1>concept of uniform resource locators or u r l s.

0:10:55.200 --> 0:10:56.760
<v Speaker 1>But all of that is just a way to make

0:10:56.760 --> 0:11:00.120
<v Speaker 1>it easier for us humans to navigate the Internet and

0:11:00.160 --> 0:11:03.000
<v Speaker 1>the Web. On the machine level, it's all about the bits,

0:11:03.440 --> 0:11:06.200
<v Speaker 1>all right. So we have our four octets of bits,

0:11:06.280 --> 0:11:10.360
<v Speaker 1>each representing a decimal number in that series of four numbers.

0:11:10.400 --> 0:11:13.200
<v Speaker 1>This set of rules was part of the fourth version

0:11:13.360 --> 0:11:16.600
<v Speaker 1>of the Internet Protocol, so we tend to call these

0:11:16.720 --> 0:11:21.760
<v Speaker 1>i p v four addresses or just IP address for short. Typically,

0:11:21.800 --> 0:11:24.400
<v Speaker 1>if someone says IP address, they're talking about i p

0:11:24.640 --> 0:11:27.839
<v Speaker 1>v four. So what happened to versions one through three, Well,

0:11:27.840 --> 0:11:31.199
<v Speaker 1>those were all experimental versions of Internet Protocol that were

0:11:31.200 --> 0:11:35.400
<v Speaker 1>never rolled out for general public use. Now, originally IPv

0:11:35.559 --> 0:11:38.520
<v Speaker 1>four divided up the octets to designate networks and hosts.

0:11:38.960 --> 0:11:41.760
<v Speaker 1>In other words, part of the address would tell the

0:11:41.800 --> 0:11:46.160
<v Speaker 1>system which network your computer was on, and the rest

0:11:46.200 --> 0:11:49.120
<v Speaker 1>of the address would be specific to your actual computer

0:11:49.320 --> 0:11:53.079
<v Speaker 1>on that network. Because remember, the Internet is a network

0:11:53.320 --> 0:11:57.320
<v Speaker 1>of networks. It's not like each computer is just independently

0:11:57.880 --> 0:12:03.240
<v Speaker 1>plugging into a giant web of data. These are hierarchies

0:12:03.280 --> 0:12:05.920
<v Speaker 1>that we're looking at. So this is not again that

0:12:06.080 --> 0:12:09.040
<v Speaker 1>different from an address on an envelope, because on an

0:12:09.040 --> 0:12:12.600
<v Speaker 1>address and an envelope you'll have general information such as

0:12:12.679 --> 0:12:15.560
<v Speaker 1>a country, a state, a city, that kind of thing,

0:12:16.040 --> 0:12:19.679
<v Speaker 1>and then more specific information like a house number and

0:12:19.760 --> 0:12:22.880
<v Speaker 1>a street that sort of thing. So again, very similar

0:12:22.920 --> 0:12:25.800
<v Speaker 1>to the way physical mail works. But even early on

0:12:25.880 --> 0:12:29.120
<v Speaker 1>while before the Web. The team working on Internet Protocol

0:12:29.240 --> 0:12:31.760
<v Speaker 1>realized that this was going to limit the useful number

0:12:31.760 --> 0:12:34.280
<v Speaker 1>of addresses a bit too much, and so in nine

0:12:34.960 --> 0:12:39.040
<v Speaker 1>they redefined the approach by creating five classes of networks.

0:12:39.040 --> 0:12:43.360
<v Speaker 1>They designated the classes from A to E. This became

0:12:43.400 --> 0:12:47.120
<v Speaker 1>known as class full networking. Now, classes D and E

0:12:47.360 --> 0:12:50.240
<v Speaker 1>contained the reserved addresses I talked about before. Some of

0:12:50.240 --> 0:12:53.640
<v Speaker 1>them were for uh experimental purposes and some of them

0:12:53.679 --> 0:12:57.319
<v Speaker 1>were reserved for other reasons. Classes A through C use

0:12:57.400 --> 0:13:01.439
<v Speaker 1>different bit lengths to designate specific networks. This removed the

0:13:01.480 --> 0:13:03.520
<v Speaker 1>tight restriction on the number of networks that could join

0:13:03.520 --> 0:13:06.199
<v Speaker 1>the Internet using IPD four, which up to that point

0:13:06.200 --> 0:13:09.080
<v Speaker 1>had been a measly two fifty six networks. If the

0:13:09.120 --> 0:13:11.920
<v Speaker 1>Internet only consisted of two ft six networks, we never

0:13:11.960 --> 0:13:15.600
<v Speaker 1>would have had to worry about adding this change. But

0:13:15.920 --> 0:13:18.640
<v Speaker 1>clearly that was not going to stay the same now.

0:13:18.800 --> 0:13:22.160
<v Speaker 1>If you connect your computer directly to your Internet service provider,

0:13:22.440 --> 0:13:25.120
<v Speaker 1>also known as your I s P, your computer would

0:13:25.120 --> 0:13:27.880
<v Speaker 1>get an IP address from that I s P. It

0:13:27.880 --> 0:13:32.040
<v Speaker 1>would have some sort of designation for this, but many

0:13:32.120 --> 0:13:35.679
<v Speaker 1>people are using routers or connecting to the network through

0:13:35.920 --> 0:13:38.880
<v Speaker 1>another network that has its own router, and in these cases,

0:13:39.200 --> 0:13:42.720
<v Speaker 1>the router has an IP address specific to it and

0:13:42.760 --> 0:13:46.240
<v Speaker 1>typically creates a subnetwork for all the devices or nodes

0:13:46.280 --> 0:13:50.120
<v Speaker 1>that connect through that router. So let's take our little

0:13:50.160 --> 0:13:53.640
<v Speaker 1>example again. So let's say your computer's IP address is

0:13:53.679 --> 0:13:57.360
<v Speaker 1>currently set to to sixty seven dot sixty one dot

0:13:57.400 --> 0:14:00.440
<v Speaker 1>one seven, and in this example, we'll say your network's

0:14:00.480 --> 0:14:04.400
<v Speaker 1>identity is represented in the first three octets, so that

0:14:04.440 --> 0:14:09.920
<v Speaker 1>means your network's identity is to sixteen dot dot sixty one.

0:14:10.400 --> 0:14:14.360
<v Speaker 1>The final octet designates the node on that network, in

0:14:14.400 --> 0:14:17.840
<v Speaker 1>other words, your computer, So you could theoretically have any

0:14:17.920 --> 0:14:22.320
<v Speaker 1>value from dot zero as the final one to dot to.

0:14:23.200 --> 0:14:25.680
<v Speaker 1>Now I say theoretically because this is a Class C

0:14:26.000 --> 0:14:28.960
<v Speaker 1>network and as such may not have an ending in

0:14:29.080 --> 0:14:31.240
<v Speaker 1>zero or two fifty five. But that gets a little

0:14:31.240 --> 0:14:33.880
<v Speaker 1>too technical. The computers on the network use a set

0:14:33.880 --> 0:14:37.359
<v Speaker 1>of rules called a subnet mask to separate the octets

0:14:37.400 --> 0:14:41.920
<v Speaker 1>that indicate networks versus nodes. Uh sub net masks in

0:14:42.320 --> 0:14:44.720
<v Speaker 1>I p V four follow up patterns. So the first

0:14:44.720 --> 0:14:47.960
<v Speaker 1>such mask is two five five dot zero dot zero

0:14:48.080 --> 0:14:53.000
<v Speaker 1>dot zero. This mask reserves eight bits to designate the networks.

0:14:53.040 --> 0:14:55.920
<v Speaker 1>That eight bits is in that first octet, the number

0:14:55.960 --> 0:14:59.520
<v Speaker 1>that's represented in there is two five, and then it

0:14:59.600 --> 0:15:03.040
<v Speaker 1>reserves the other twenty four bits to designate nodes, So

0:15:03.080 --> 0:15:05.640
<v Speaker 1>that would be a Class A network. On the flip side,

0:15:06.000 --> 0:15:08.440
<v Speaker 1>you have two five five dot two five five dot

0:15:08.480 --> 0:15:11.240
<v Speaker 1>two five five dot zero. That would mean you would

0:15:11.240 --> 0:15:15.480
<v Speaker 1>have twenty four bits the first three octets to designate

0:15:15.560 --> 0:15:19.480
<v Speaker 1>the network and only eight bits to designate the various nodes.

0:15:19.520 --> 0:15:22.280
<v Speaker 1>This would be a Class C network. These are called

0:15:22.320 --> 0:15:25.320
<v Speaker 1>masks because they guide routers to look at specific numbers

0:15:25.360 --> 0:15:28.400
<v Speaker 1>within the addresses, and by looking only at the numbers

0:15:28.440 --> 0:15:31.200
<v Speaker 1>that are pertinent to the network, the routers can save

0:15:31.240 --> 0:15:33.560
<v Speaker 1>some time. They don't have to process an entire thirty

0:15:33.560 --> 0:15:35.120
<v Speaker 1>two bit address. They just look at the bit of

0:15:35.160 --> 0:15:38.240
<v Speaker 1>the address that's important. Again, going back to the postal service,

0:15:38.520 --> 0:15:41.200
<v Speaker 1>this would be like if you had UH two major

0:15:41.240 --> 0:15:43.360
<v Speaker 1>piles and one of them is for local mail and

0:15:43.400 --> 0:15:46.040
<v Speaker 1>the other is for non local mail, and you look

0:15:46.040 --> 0:15:48.360
<v Speaker 1>at the address and just by looking at the bottom

0:15:48.400 --> 0:15:51.160
<v Speaker 1>line where you look at the the state, you know

0:15:51.400 --> 0:15:53.280
<v Speaker 1>is it local or nonlocal, and so you just do

0:15:53.360 --> 0:15:55.960
<v Speaker 1>a quick sorting that way. It's kind of similar to that.

0:15:56.160 --> 0:15:58.640
<v Speaker 1>But why would we have all these different classes. Anyway,

0:15:58.720 --> 0:16:01.200
<v Speaker 1>let's all in how a network work gets set up.

0:16:01.240 --> 0:16:04.640
<v Speaker 1>So a network administrator would make these sort of determinations. Uh,

0:16:04.680 --> 0:16:06.920
<v Speaker 1>if a network is going to have a lot of subnets,

0:16:06.960 --> 0:16:10.800
<v Speaker 1>you need more bits to designate networks. If the subnets

0:16:10.840 --> 0:16:12.840
<v Speaker 1>are going to have a lot of nodes, that is,

0:16:13.080 --> 0:16:15.880
<v Speaker 1>computers connected to those subnets, then you would need to

0:16:15.880 --> 0:16:19.720
<v Speaker 1>dedicate more bits for the node or a computer side

0:16:19.720 --> 0:16:22.400
<v Speaker 1>of things. It's all dependent upon the infrastructure of the network.

0:16:22.840 --> 0:16:25.240
<v Speaker 1>I'll explain a little bit more, but first, why don't

0:16:25.240 --> 0:16:35.120
<v Speaker 1>we take a quick break to thank our sponsor. All Right,

0:16:35.200 --> 0:16:38.560
<v Speaker 1>on the Internet itself, only the network part of an

0:16:38.560 --> 0:16:43.200
<v Speaker 1>IP address is important. Uh, the the Internet machines don't

0:16:43.280 --> 0:16:47.040
<v Speaker 1>care about your specific computers address. They just need to

0:16:47.040 --> 0:16:49.400
<v Speaker 1>know what network it needs to go to. Data will

0:16:49.440 --> 0:16:52.480
<v Speaker 1>move toward that appropriate network, and once it's there, the

0:16:52.520 --> 0:16:55.600
<v Speaker 1>host part of the address then becomes important. It's it's

0:16:55.640 --> 0:16:57.360
<v Speaker 1>kind of like once you get the mail to the

0:16:57.440 --> 0:17:00.000
<v Speaker 1>right state, then you need to start dividing it up

0:17:00.000 --> 0:17:03.000
<v Speaker 1>by a city and thus neighborhood and that kind of thing.

0:17:03.760 --> 0:17:07.320
<v Speaker 1>IP addresses can be static, which means they don't change,

0:17:07.600 --> 0:17:09.960
<v Speaker 1>or they can be dynamic, meaning they get assigned every

0:17:09.960 --> 0:17:12.840
<v Speaker 1>time the device connects to the Internet. Most devices in

0:17:12.880 --> 0:17:16.040
<v Speaker 1>the hands of consumers use dynamic IP addresses, and many

0:17:16.080 --> 0:17:19.680
<v Speaker 1>are connected to sub networks or subnets, which are networks

0:17:19.680 --> 0:17:23.399
<v Speaker 1>that share a common network address. A single company might

0:17:23.520 --> 0:17:28.560
<v Speaker 1>use subnets to share a single network address across all subnets,

0:17:28.560 --> 0:17:31.480
<v Speaker 1>even if they are geographically distant from one another, and

0:17:31.520 --> 0:17:34.200
<v Speaker 1>that helps conserve the number of network addresses that are

0:17:34.240 --> 0:17:38.280
<v Speaker 1>generally available. Even so, it didn't take very long for

0:17:38.359 --> 0:17:40.679
<v Speaker 1>the engineering team to realize that thirty two bits was

0:17:40.680 --> 0:17:42.879
<v Speaker 1>a big limiting factor, and so they set about to

0:17:42.920 --> 0:17:45.480
<v Speaker 1>solve this problem. Otherwise, the world would reach a limit

0:17:45.520 --> 0:17:48.320
<v Speaker 1>on the number of useful addresses, and no new networks

0:17:48.320 --> 0:17:50.480
<v Speaker 1>would be able to join the Internet. It would have

0:17:50.600 --> 0:17:55.000
<v Speaker 1>hit capacity. So with IPv four addresses again, we have

0:17:55.119 --> 0:17:58.320
<v Speaker 1>a little bit more than four billion available ones once

0:17:58.359 --> 0:18:01.280
<v Speaker 1>you take away the ones that have been reserved for

0:18:01.320 --> 0:18:04.680
<v Speaker 1>other purposes. A billion is admittedly a very large number,

0:18:04.720 --> 0:18:07.200
<v Speaker 1>but not nearly large enough. Even in the late eighties

0:18:07.200 --> 0:18:10.359
<v Speaker 1>and early nineties, engineers were saying this is gonna be

0:18:10.359 --> 0:18:13.320
<v Speaker 1>a problem. Things were changing quickly, and it soon became

0:18:13.359 --> 0:18:16.040
<v Speaker 1>clear that we'd hit a real crunch with IP addresses.

0:18:16.080 --> 0:18:18.800
<v Speaker 1>For one thing, there was an emerging trend of moving

0:18:18.840 --> 0:18:23.000
<v Speaker 1>from an on demand connection to the Internet to pervasive connections.

0:18:23.560 --> 0:18:25.320
<v Speaker 1>Now by that I mean in the early days, you

0:18:25.320 --> 0:18:27.960
<v Speaker 1>would typically use a dial up modem to connect to

0:18:28.000 --> 0:18:30.639
<v Speaker 1>the Internet, and frequently this meant that you were engaging

0:18:30.720 --> 0:18:34.400
<v Speaker 1>your homes one phone line so that you could call

0:18:34.560 --> 0:18:37.879
<v Speaker 1>up an Internet server and browse the Internet. So you

0:18:37.880 --> 0:18:40.800
<v Speaker 1>wouldn't stay on it forever because you need that phone

0:18:40.840 --> 0:18:44.400
<v Speaker 1>line for other things, and frankly, you could end up

0:18:44.560 --> 0:18:46.399
<v Speaker 1>racking up big charges if you were on for a

0:18:46.400 --> 0:18:50.120
<v Speaker 1>really long time, so you would typically hang up when

0:18:50.119 --> 0:18:52.880
<v Speaker 1>you were done. Now hanging up meant that you were

0:18:53.040 --> 0:18:55.240
<v Speaker 1>you had just freed up an IP address. You didn't

0:18:55.240 --> 0:18:58.320
<v Speaker 1>need that IP address anymore because you were no longer

0:18:58.320 --> 0:19:01.560
<v Speaker 1>connected to the Internet. So even if you had more

0:19:01.600 --> 0:19:03.760
<v Speaker 1>people than you had I P addresses, not everyone was

0:19:03.800 --> 0:19:05.480
<v Speaker 1>going to be connected at the same time, and so

0:19:05.520 --> 0:19:08.119
<v Speaker 1>you can kind of fudge things a little bit. But

0:19:08.200 --> 0:19:11.280
<v Speaker 1>then we gradually began to move toward more broadband connections

0:19:11.400 --> 0:19:14.600
<v Speaker 1>using things besides just dial up modems, and we also

0:19:14.640 --> 0:19:17.480
<v Speaker 1>started to make a move towards always connected devices. Now

0:19:17.520 --> 0:19:20.360
<v Speaker 1>this is even more true today when you have everything

0:19:20.400 --> 0:19:23.480
<v Speaker 1>from set top boxes like video game consoles, to wireless

0:19:23.520 --> 0:19:26.320
<v Speaker 1>devices like smart thrum, the stats and home security devices

0:19:26.320 --> 0:19:29.080
<v Speaker 1>to add in. Then there's an added problem that any

0:19:29.119 --> 0:19:31.679
<v Speaker 1>device that has multiple ways to connect to the Internet

0:19:31.800 --> 0:19:36.080
<v Speaker 1>needs a different i p address for each of those methods. So,

0:19:36.200 --> 0:19:39.159
<v Speaker 1>for example, if you have a smartphone that connects to

0:19:39.200 --> 0:19:43.879
<v Speaker 1>an LTE network as well as to a WiFi router UH,

0:19:43.920 --> 0:19:46.200
<v Speaker 1>it has to have an IP address for each of those,

0:19:46.359 --> 0:19:47.919
<v Speaker 1>Or if you have a laptop that has both a

0:19:47.920 --> 0:19:50.920
<v Speaker 1>wired and a wireless connection, has to have an IP

0:19:50.960 --> 0:19:53.560
<v Speaker 1>address for each of those, So a single device can

0:19:53.600 --> 0:19:56.760
<v Speaker 1>take up more than one IP address. And of course

0:19:56.800 --> 0:19:59.080
<v Speaker 1>the other big challenge was that more of the world

0:19:59.160 --> 0:20:02.760
<v Speaker 1>was going online. The Internet when it first got started

0:20:02.840 --> 0:20:08.600
<v Speaker 1>was kind of an exclusive club, really nerdy exclusive club,

0:20:08.640 --> 0:20:11.840
<v Speaker 1>but still exclusive. But now it was going global, so

0:20:11.880 --> 0:20:13.720
<v Speaker 1>there were just a lot more people trying to connect

0:20:13.720 --> 0:20:18.199
<v Speaker 1>and a new method of addressing was needed. In the

0:20:18.200 --> 0:20:21.760
<v Speaker 1>Internet Engineering Task Force developed the successor to i p

0:20:21.920 --> 0:20:24.840
<v Speaker 1>V four. This one was called i p V six,

0:20:25.240 --> 0:20:28.400
<v Speaker 1>So that immediately raises a question, why the heck did

0:20:28.400 --> 0:20:31.800
<v Speaker 1>we jump from four to six. Well, what would have

0:20:31.880 --> 0:20:35.359
<v Speaker 1>been Internet Protocol five was an Internet stream protocol that

0:20:35.440 --> 0:20:38.800
<v Speaker 1>was in development as far back as the late seventies. Ultimately,

0:20:38.840 --> 0:20:41.479
<v Speaker 1>that protocol never rolled out for public use, and it

0:20:41.520 --> 0:20:45.520
<v Speaker 1>also was never adopted as i p V five officially.

0:20:45.600 --> 0:20:47.640
<v Speaker 1>But back then no one was really sure how things

0:20:47.640 --> 0:20:49.080
<v Speaker 1>were going to turn out, and so they went with

0:20:49.119 --> 0:20:51.560
<v Speaker 1>i p V six to be safe. It expanded that

0:20:51.640 --> 0:20:55.879
<v Speaker 1>bit number for addresses from thirty two to one twenty eight,

0:20:56.480 --> 0:20:59.160
<v Speaker 1>and they don't look like i p V four addresses either,

0:20:59.600 --> 0:21:03.159
<v Speaker 1>and I V six address consists of eight groups of

0:21:03.280 --> 0:21:10.280
<v Speaker 1>four hexadecimal digits. The hexadecimal system is a base sixteen system.

0:21:10.640 --> 0:21:12.760
<v Speaker 1>So with a base ten system, you start at zero,

0:21:12.840 --> 0:21:15.400
<v Speaker 1>you go up to nine, and then you start over right,

0:21:15.640 --> 0:21:18.320
<v Speaker 1>ten is just one zero, and then you can go

0:21:18.400 --> 0:21:21.080
<v Speaker 1>up to nineteen, which is just one nine, and then

0:21:21.080 --> 0:21:23.280
<v Speaker 1>you start over again. Now you go to twenty, which

0:21:23.320 --> 0:21:27.080
<v Speaker 1>is to zero, and over and over again. Now hexadecimal

0:21:27.720 --> 0:21:30.199
<v Speaker 1>goes up to sixteen, but you really can't show that

0:21:30.280 --> 0:21:33.959
<v Speaker 1>using just decimal numerals. It doesn't work that way. So

0:21:34.000 --> 0:21:37.560
<v Speaker 1>with hexadecimal, you start at zero, you go up to nine,

0:21:37.760 --> 0:21:41.560
<v Speaker 1>and then to fill in the additional digits you use

0:21:41.600 --> 0:21:45.639
<v Speaker 1>a sequence like a B C d, E and F, so,

0:21:45.680 --> 0:21:48.600
<v Speaker 1>in other words, and hexadecimal it goes zero to f

0:21:49.200 --> 0:21:53.480
<v Speaker 1>before repeating. Each hexadecimal digit in this sequence of thirty

0:21:53.520 --> 0:21:58.160
<v Speaker 1>two represents four bits, also known as a nibble. So

0:21:58.280 --> 0:22:01.679
<v Speaker 1>while each decimal is and I p v for in

0:22:01.720 --> 0:22:05.800
<v Speaker 1>an IPv for address represents an octet, each digit and

0:22:05.840 --> 0:22:09.600
<v Speaker 1>a hexadecimal address represents a nibble. And now I'm not

0:22:09.640 --> 0:22:12.000
<v Speaker 1>making any of that up. Four times thirty two is

0:22:12.080 --> 0:22:16.560
<v Speaker 1>one eight, So that's where you get the one eight bits.

0:22:18.119 --> 0:22:20.920
<v Speaker 1>What this means is that the effective number of addresses

0:22:21.400 --> 0:22:25.159
<v Speaker 1>sky rockets. If none of the addresses were reserved for

0:22:25.240 --> 0:22:28.320
<v Speaker 1>special use, you would have three point four times ten

0:22:28.400 --> 0:22:32.240
<v Speaker 1>to the thirty eight power of addresses. So what is

0:22:32.280 --> 0:22:35.879
<v Speaker 1>that in real numbers? I'd love to tell you, but

0:22:36.000 --> 0:22:39.080
<v Speaker 1>the closest I can really get is three hundred forty

0:22:39.200 --> 0:22:43.000
<v Speaker 1>trillion two d eighty two billion, three hundred six million,

0:22:43.160 --> 0:22:50.320
<v Speaker 1>nine thousand eight followed by twenty four zeros. It's more

0:22:50.359 --> 0:22:53.040
<v Speaker 1>than enough for the foreseeable future. Even with such developments

0:22:53.119 --> 0:22:56.800
<v Speaker 1>as the Internet of Things, an IPv six address might

0:22:56.880 --> 0:22:59.639
<v Speaker 1>look something like this. And bear with me, because again,

0:22:59.680 --> 0:23:03.720
<v Speaker 1>this is a long and somewhat confusing one f e

0:23:03.720 --> 0:23:09.320
<v Speaker 1>eight zero, colon zero zero zero zero, colon zero zero

0:23:09.440 --> 0:23:13.960
<v Speaker 1>zero zero, colon zero zero zero zero, colon zero two

0:23:14.240 --> 0:23:18.399
<v Speaker 1>zero to colon b three f f, colon f e

0:23:18.480 --> 0:23:22.639
<v Speaker 1>one e, colon eight three to nine. Each sequence of

0:23:22.680 --> 0:23:25.199
<v Speaker 1>four digits has a colon separating it from its neighbors,

0:23:25.280 --> 0:23:27.760
<v Speaker 1>so it's essentially the same sort of purpose as the

0:23:27.800 --> 0:23:31.640
<v Speaker 1>dot in the I p v four addresses. In addition,

0:23:31.880 --> 0:23:33.840
<v Speaker 1>there are some nice tricks that you can use to

0:23:33.880 --> 0:23:37.800
<v Speaker 1>abbreviate those long addresses. If you have a leading zero,

0:23:38.080 --> 0:23:40.399
<v Speaker 1>in other words, you've just gotten past the colon, or

0:23:40.440 --> 0:23:44.560
<v Speaker 1>maybe you're even in the very first uh octet um,

0:23:44.680 --> 0:23:47.560
<v Speaker 1>then you get not octete. I'm sorry, you're in the

0:23:47.600 --> 0:23:51.080
<v Speaker 1>first section. Any leading zeros you can drop, you can

0:23:51.119 --> 0:23:54.320
<v Speaker 1>just go to the first number that is not a zero. Also,

0:23:54.320 --> 0:23:57.400
<v Speaker 1>if you have a single range of zeros, you can

0:23:57.560 --> 0:24:00.199
<v Speaker 1>drop those and replace it with a double colon. If

0:24:00.200 --> 0:24:04.080
<v Speaker 1>you have several series of four zeros, you can drop

0:24:04.080 --> 0:24:07.600
<v Speaker 1>all of those if they're all consecutive, and replace them

0:24:07.600 --> 0:24:10.520
<v Speaker 1>with a double colon. So you might remember that when

0:24:10.520 --> 0:24:12.879
<v Speaker 1>I was reading off that very long I p v

0:24:13.040 --> 0:24:16.720
<v Speaker 1>six address, there were a few uh segments that went

0:24:16.880 --> 0:24:19.520
<v Speaker 1>zero zero zero zero, Well, that means we could drop

0:24:19.600 --> 0:24:22.119
<v Speaker 1>those and just put a double colon in there. So

0:24:22.160 --> 0:24:24.840
<v Speaker 1>that last address I read a minute ago, if we

0:24:24.880 --> 0:24:28.600
<v Speaker 1>abbreviated it, we could say was F E eight zero

0:24:28.720 --> 0:24:32.760
<v Speaker 1>double colon two zero two colon B three f f

0:24:32.960 --> 0:24:35.960
<v Speaker 1>colon f e one e colon eight three to nine.

0:24:36.040 --> 0:24:40.040
<v Speaker 1>Simple as pie, or at least easier than what the

0:24:40.040 --> 0:24:42.760
<v Speaker 1>previous one was. Now, I mentioned that the Engineering Task

0:24:42.840 --> 0:24:46.840
<v Speaker 1>Force developed the strategy in but it wasn't until two

0:24:46.920 --> 0:24:50.480
<v Speaker 1>thousand seventeen that I p v six was officially adopted

0:24:50.520 --> 0:24:53.280
<v Speaker 1>as a standard. And I p v four and I

0:24:53.359 --> 0:24:56.720
<v Speaker 1>p v six are not fully compatible on their own,

0:24:57.240 --> 0:25:00.520
<v Speaker 1>and I p v six address can contain an embedded

0:25:00.560 --> 0:25:03.480
<v Speaker 1>I p v four address, but the I p v

0:25:03.720 --> 0:25:07.560
<v Speaker 1>four format is not forward compatible with I p v

0:25:07.720 --> 0:25:11.320
<v Speaker 1>six because well, that's the way time works. When you

0:25:11.359 --> 0:25:14.440
<v Speaker 1>think of something first, you don't necessarily make it where

0:25:14.440 --> 0:25:17.160
<v Speaker 1>it's automatically compatible with the next thing, because you haven't

0:25:17.200 --> 0:25:20.640
<v Speaker 1>thought of the next thing yet. Sadly enough, it also

0:25:20.640 --> 0:25:24.320
<v Speaker 1>takes a lot of time to switch an established infrastructure

0:25:24.359 --> 0:25:27.960
<v Speaker 1>over into a new set of protocols, So that has

0:25:28.359 --> 0:25:29.960
<v Speaker 1>what's one of the other reasons why it took so

0:25:30.000 --> 0:25:32.480
<v Speaker 1>long to adopt as a standard and to even make

0:25:32.560 --> 0:25:34.879
<v Speaker 1>some progress on this. Add to that the fact that

0:25:34.880 --> 0:25:37.800
<v Speaker 1>the Internet is not a single entity. It's not like

0:25:38.160 --> 0:25:40.800
<v Speaker 1>there's one big building where the Internet is. It's not

0:25:40.880 --> 0:25:42.960
<v Speaker 1>like the I T crowd where they put it on

0:25:43.040 --> 0:25:46.440
<v Speaker 1>top of big ben The Internet is a distributed network

0:25:46.600 --> 0:25:51.320
<v Speaker 1>across lots of different machines. So rolling out a comprehensive

0:25:51.480 --> 0:25:55.960
<v Speaker 1>change to the protocol is a colossal task, and it's

0:25:55.960 --> 0:25:59.240
<v Speaker 1>a big complicated mess, and there's no one entity in

0:25:59.359 --> 0:26:02.360
<v Speaker 1>charge to say, hey, go out there and do this.

0:26:02.880 --> 0:26:05.600
<v Speaker 1>Everyone agrees that we need to deploy i p v

0:26:05.760 --> 0:26:08.760
<v Speaker 1>six across all networks and adopt it moving forward, but

0:26:08.880 --> 0:26:12.720
<v Speaker 1>actually doing it isn't that easy. According to the website

0:26:13.040 --> 0:26:16.600
<v Speaker 1>World i p v six launch dot org, the percentage

0:26:16.600 --> 0:26:19.120
<v Speaker 1>of i p v six adoption among the top one

0:26:19.160 --> 0:26:22.520
<v Speaker 1>thousand sites as measured by Alexa Internet, which is a

0:26:22.560 --> 0:26:27.359
<v Speaker 1>subsidiary company owned by Amazon uh the numbers just below,

0:26:28.240 --> 0:26:31.280
<v Speaker 1>So all the traffic going to the one thousand top

0:26:31.320 --> 0:26:35.000
<v Speaker 1>websites of those top websites support i p v six,

0:26:35.359 --> 0:26:38.080
<v Speaker 1>which means that more than sevent of the most popular

0:26:38.080 --> 0:26:41.720
<v Speaker 1>websites are not yet reachable via i p v six,

0:26:42.440 --> 0:26:45.200
<v Speaker 1>and that is a bit of an issue. I will

0:26:45.240 --> 0:26:47.440
<v Speaker 1>say that a lot of the I s p s,

0:26:47.480 --> 0:26:50.440
<v Speaker 1>particularly the big ones in the United States, are pretty

0:26:50.480 --> 0:26:53.639
<v Speaker 1>well prepared. They have done a fairly decent job at

0:26:53.680 --> 0:26:57.040
<v Speaker 1>switching over their infrastructures to support I p v six.

0:26:57.119 --> 0:26:59.840
<v Speaker 1>But we still have a long ways to go. Speaking

0:26:59.880 --> 0:27:01.920
<v Speaker 1>of a long ways to go, let's take another quick

0:27:01.920 --> 0:27:05.040
<v Speaker 1>break and then we'll conclude our discussion about I p

0:27:05.200 --> 0:27:16.560
<v Speaker 1>v six. So every day we're adding more devices, including routers,

0:27:16.640 --> 0:27:19.640
<v Speaker 1>to the Internet, and we've established that even in the nineties,

0:27:19.680 --> 0:27:22.200
<v Speaker 1>engineers recognized that the number of addresses that I p

0:27:22.320 --> 0:27:25.359
<v Speaker 1>v four could handle was not up to snuff. How

0:27:26.440 --> 0:27:29.919
<v Speaker 1>in the blue blazes have we managed to avoid a

0:27:29.960 --> 0:27:34.120
<v Speaker 1>catastrophe for so many decades? So does that just mean

0:27:34.160 --> 0:27:36.320
<v Speaker 1>the problem wasn't as bad as we thought it was.

0:27:36.680 --> 0:27:38.920
<v Speaker 1>Because if we haven't switched completely over to I p

0:27:39.040 --> 0:27:41.280
<v Speaker 1>V six, and we knew that I p v four

0:27:41.320 --> 0:27:47.760
<v Speaker 1>addresses running out, why haven't we hit a massive crash? Well,

0:27:47.960 --> 0:27:52.000
<v Speaker 1>the problem is evident. The four plus billion IP addresses

0:27:52.040 --> 0:27:55.320
<v Speaker 1>are actually all gone now. That is, they've all been

0:27:55.359 --> 0:27:59.640
<v Speaker 1>snagged by various companies and institutions like Internet service providers

0:27:59.720 --> 0:28:03.840
<v Speaker 1>or unversities. Now those entities can assign out dynamic IP

0:28:03.960 --> 0:28:07.760
<v Speaker 1>addresses on their own respective networks, but no new network

0:28:07.800 --> 0:28:10.800
<v Speaker 1>could pop up and request a spectrum of addresses from

0:28:11.359 --> 0:28:14.480
<v Speaker 1>the Internet Assigned Numbers Authority or I A n A.

0:28:14.680 --> 0:28:17.520
<v Speaker 1>That's the authority that oversees the stuff. You couldn't request

0:28:17.560 --> 0:28:19.720
<v Speaker 1>any new ones from I A n A because there

0:28:19.760 --> 0:28:22.320
<v Speaker 1>are no new ones left. What you might be able

0:28:22.320 --> 0:28:25.760
<v Speaker 1>to do is negotiate with some other entity that actually

0:28:25.840 --> 0:28:30.199
<v Speaker 1>has unused IP addresses and purchase them that way. But

0:28:30.600 --> 0:28:32.760
<v Speaker 1>there aren't any new ones coming out because i P

0:28:32.840 --> 0:28:36.560
<v Speaker 1>V four is all dried up. Below the I A

0:28:36.880 --> 0:28:41.080
<v Speaker 1>n A R five Regional Internet Registries UH they are

0:28:41.200 --> 0:28:44.240
<v Speaker 1>called r I R s. These, as the name suggests,

0:28:44.280 --> 0:28:47.920
<v Speaker 1>oversee I P address assignments over specific regions in the world.

0:28:48.360 --> 0:28:51.600
<v Speaker 1>Those five entities, in turn can assign banks of IP

0:28:51.760 --> 0:28:55.680
<v Speaker 1>addresses to local Internet registries, which can include stuff like

0:28:55.720 --> 0:28:59.440
<v Speaker 1>the aforementioned I s p s and universities and other institutions.

0:28:59.680 --> 0:29:02.240
<v Speaker 1>And I'll so just to clarify, while an I s

0:29:02.280 --> 0:29:05.760
<v Speaker 1>P might be a local Internet registry, not all I

0:29:06.000 --> 0:29:08.520
<v Speaker 1>s p s fall into that category. Some I s

0:29:08.560 --> 0:29:11.520
<v Speaker 1>p s belonged to a larger entity, which in turn

0:29:11.640 --> 0:29:14.760
<v Speaker 1>is the actual local Internet registry. So this stuff gets

0:29:14.800 --> 0:29:19.000
<v Speaker 1>pretty complicated. Back in January two thleven, the Asia Pacific

0:29:19.080 --> 0:29:22.600
<v Speaker 1>Network Information Center better known as ap NICK, A P

0:29:22.880 --> 0:29:25.920
<v Speaker 1>and I C, which is one of those five regional

0:29:25.960 --> 0:29:30.200
<v Speaker 1>Internet Address registries I talked about, requested and received the

0:29:30.280 --> 0:29:35.040
<v Speaker 1>last two unreserved blocks of IP addresses. There were only

0:29:35.200 --> 0:29:38.520
<v Speaker 1>five reserved blocks remaining, and so the I A n

0:29:38.560 --> 0:29:42.680
<v Speaker 1>A ceremoniously granted one block to each of the regional

0:29:42.720 --> 0:29:47.920
<v Speaker 1>Internet Address registries, and then all of those IP addresses

0:29:48.120 --> 0:29:51.000
<v Speaker 1>were technically out in the wild. There were none left

0:29:51.000 --> 0:29:54.440
<v Speaker 1>in reserve. By April two thousand eleven, app NICK ran

0:29:54.520 --> 0:29:58.080
<v Speaker 1>out of freely allocated IPv VOORA addresses, which means that

0:29:58.160 --> 0:30:00.840
<v Speaker 1>sometimes in that region you can't get an IPv for

0:30:01.000 --> 0:30:03.400
<v Speaker 1>address when you need one, I mean, you can't connect

0:30:03.400 --> 0:30:06.520
<v Speaker 1>to the Internet. So why hasn't that happened everywhere? Well,

0:30:06.520 --> 0:30:09.000
<v Speaker 1>it's largely because engineers are very clever at figuring out

0:30:09.080 --> 0:30:12.280
<v Speaker 1>workarounds or problems. There have been a few temporary measures

0:30:12.320 --> 0:30:14.880
<v Speaker 1>that have extended the useful life of ip V four

0:30:15.040 --> 0:30:18.880
<v Speaker 1>despite the growing number of connected devices. So remember when

0:30:18.880 --> 0:30:21.360
<v Speaker 1>I mentioned that IP addresses could be divided up by

0:30:21.400 --> 0:30:24.720
<v Speaker 1>classes based on how many bits are dedicated to the

0:30:24.840 --> 0:30:28.920
<v Speaker 1>network address versus the host address. Well, there's also something

0:30:28.960 --> 0:30:33.280
<v Speaker 1>called classless inter domain routing or c I d R

0:30:33.520 --> 0:30:38.400
<v Speaker 1>or CIDER. The Internet Engineering Task Force introduced c I

0:30:38.520 --> 0:30:42.960
<v Speaker 1>d R in as a way to simplify how data

0:30:43.000 --> 0:30:45.400
<v Speaker 1>moved through routers on the Internet and to extend the

0:30:45.480 --> 0:30:48.280
<v Speaker 1>useful life of IP v four, and it mostly has

0:30:48.280 --> 0:30:52.360
<v Speaker 1>to do with the big drawback of the class full system.

0:30:52.680 --> 0:30:57.280
<v Speaker 1>So the smallest allocation of addresses using the class full

0:30:57.320 --> 0:31:01.400
<v Speaker 1>system is two hundred fifty six addresses, which is a

0:31:01.400 --> 0:31:04.120
<v Speaker 1>pretty small number when you remember how many devices need

0:31:04.200 --> 0:31:09.200
<v Speaker 1>more than one IP address. So that's the most addresses

0:31:09.200 --> 0:31:12.360
<v Speaker 1>that eight bits can support. If you were in that class,

0:31:12.360 --> 0:31:15.600
<v Speaker 1>if you moved up a class, suddenly the number of

0:31:15.680 --> 0:31:20.440
<v Speaker 1>IP addresses you would get or for this particular class

0:31:20.440 --> 0:31:23.240
<v Speaker 1>would go from two fifty six to sixty five thousand,

0:31:23.360 --> 0:31:26.720
<v Speaker 1>five hundred thirty six. There's no in between there. You

0:31:26.760 --> 0:31:29.760
<v Speaker 1>go to fifty six to sixty thirty six. That's a

0:31:29.840 --> 0:31:33.600
<v Speaker 1>huge number. That's more than what most organizations need for

0:31:33.840 --> 0:31:37.760
<v Speaker 1>the devices that are connecting through their networks. So there

0:31:37.800 --> 0:31:40.280
<v Speaker 1>was no way to step between those two. From a

0:31:40.280 --> 0:31:43.800
<v Speaker 1>protocol standpoint, you either ended up with too few addresses

0:31:44.000 --> 0:31:46.840
<v Speaker 1>where people were not going to be able to connect

0:31:46.960 --> 0:31:50.000
<v Speaker 1>their machines properly to too many addresses where a whole

0:31:50.000 --> 0:31:53.720
<v Speaker 1>bunch we're just gonna go unused and wasted. Um, And

0:31:54.480 --> 0:31:56.760
<v Speaker 1>that was a real issue. That's when c I d

0:31:57.080 --> 0:31:59.360
<v Speaker 1>R was able to solve this problem. It was a

0:31:59.360 --> 0:32:02.160
<v Speaker 1>new method to step around it. Rather than define networks

0:32:02.160 --> 0:32:06.520
<v Speaker 1>and hosts by octets for bites, you know, sequences of

0:32:06.560 --> 0:32:11.000
<v Speaker 1>eight bits, it divides networks into variously sized subnets. So

0:32:11.040 --> 0:32:13.600
<v Speaker 1>when setting up a network, engineers can aim for a

0:32:13.800 --> 0:32:17.600
<v Speaker 1>range of addresses that best suits the organization's needs and

0:32:17.680 --> 0:32:20.080
<v Speaker 1>not go beyond that. Now you have to go for

0:32:20.120 --> 0:32:24.360
<v Speaker 1>a consecutive addresses if you're using c I DR notation.

0:32:24.960 --> 0:32:27.720
<v Speaker 1>Otherwise you have to keep using the notation repeatedly. Think

0:32:27.720 --> 0:32:30.600
<v Speaker 1>it's pretty messy. We use c I DR notation to

0:32:30.640 --> 0:32:33.200
<v Speaker 1>represent IP addresses in this way. If you've ever seen

0:32:33.240 --> 0:32:35.120
<v Speaker 1>what looks like an I P address followed by a

0:32:35.160 --> 0:32:38.080
<v Speaker 1>slash and then a decimal number, you've likely seen an

0:32:38.080 --> 0:32:41.400
<v Speaker 1>example of c I d R notation. The decimal number

0:32:41.440 --> 0:32:46.160
<v Speaker 1>represents the number of leading one bits in the routing mask. Essentially,

0:32:46.160 --> 0:32:49.040
<v Speaker 1>it's a shorthand notation to express the range of addresses

0:32:49.120 --> 0:32:52.040
<v Speaker 1>represented in a network, and it's not limited to octets

0:32:52.080 --> 0:32:55.240
<v Speaker 1>the way class full representation was. One big benefit of

0:32:55.240 --> 0:32:57.880
<v Speaker 1>c I d R was that fewer IP addresses would

0:32:57.880 --> 0:33:00.760
<v Speaker 1>go to waste unused. If you were up a large

0:33:00.840 --> 0:33:03.840
<v Speaker 1>but not ginormous network, you can set up a range

0:33:03.840 --> 0:33:06.640
<v Speaker 1>of IP addresses sufficient to meet your needs without going

0:33:06.640 --> 0:33:10.600
<v Speaker 1>overboard by tens of thousands of excess addresses, which in

0:33:10.680 --> 0:33:13.640
<v Speaker 1>turn meant that those unused addresses could be freed up

0:33:13.680 --> 0:33:16.640
<v Speaker 1>for other networks, and it allowed for a better distribution

0:33:16.880 --> 0:33:21.040
<v Speaker 1>of IP addresses. In other words, Another solution is network

0:33:21.160 --> 0:33:24.960
<v Speaker 1>address translation or in a t net. It's a set

0:33:24.960 --> 0:33:27.360
<v Speaker 1>of rules that allows a single device to act a

0:33:27.440 --> 0:33:31.000
<v Speaker 1>sort of a liaison between a specific network and the Internet.

0:33:31.240 --> 0:33:33.480
<v Speaker 1>So remember the Internet is a network of networks, so

0:33:33.600 --> 0:33:37.080
<v Speaker 1>a device like a router could act as the gateway

0:33:37.120 --> 0:33:40.000
<v Speaker 1>between your local network, the one that just has a

0:33:40.000 --> 0:33:43.240
<v Speaker 1>bunch of computers directly communicating with one another, and then

0:33:43.320 --> 0:33:45.720
<v Speaker 1>everything else out there on the Internet. So I'll use

0:33:45.800 --> 0:33:48.600
<v Speaker 1>my office as an example. When I log in from

0:33:48.640 --> 0:33:51.720
<v Speaker 1>how stuff works, all traffic between the Internet, and my

0:33:51.800 --> 0:33:55.520
<v Speaker 1>computer passes through our company's neat router. First, the router

0:33:55.600 --> 0:33:59.080
<v Speaker 1>has a range of IP addresses that ultimately come from I, A,

0:33:59.280 --> 0:34:01.680
<v Speaker 1>N A. You have to go up a couple of levels,

0:34:01.880 --> 0:34:03.760
<v Speaker 1>several levels, as it turns out, but I A and

0:34:03.840 --> 0:34:08.600
<v Speaker 1>A ultimately was the agency that granted this. My computer,

0:34:08.680 --> 0:34:11.600
<v Speaker 1>on the other hand, has a non unique and therefore

0:34:11.800 --> 0:34:15.560
<v Speaker 1>non routable address that works fine for communicating with other

0:34:15.600 --> 0:34:19.040
<v Speaker 1>computers on my network, but wouldn't work if I could

0:34:19.040 --> 0:34:21.799
<v Speaker 1>somehow bypass the router and try to communicate directly with

0:34:21.800 --> 0:34:23.560
<v Speaker 1>the Internet. So what do I mean by that? Well,

0:34:23.880 --> 0:34:28.000
<v Speaker 1>within a network, you need unique addresses, otherwise data is

0:34:28.000 --> 0:34:29.799
<v Speaker 1>not going to know where to go to get to

0:34:29.840 --> 0:34:34.120
<v Speaker 1>the right destination. But network A could have a series

0:34:34.120 --> 0:34:36.879
<v Speaker 1>of addresses, and network B could have the exact same

0:34:36.920 --> 0:34:39.200
<v Speaker 1>series of addresses, And as long as A and B

0:34:39.440 --> 0:34:43.440
<v Speaker 1>are completely self contained, it doesn't matter. Right, all the

0:34:43.440 --> 0:34:46.319
<v Speaker 1>computers on B know what it means to go to

0:34:46.400 --> 0:34:49.360
<v Speaker 1>this particular address, and all the computers on A know

0:34:49.480 --> 0:34:51.640
<v Speaker 1>what it means to go to that exact same address,

0:34:51.760 --> 0:34:55.799
<v Speaker 1>because they only belong to their respective networks. When you

0:34:55.840 --> 0:34:58.640
<v Speaker 1>connect through the Internet, you then have to have another

0:34:58.760 --> 0:35:03.480
<v Speaker 1>layer something else to actually uniquely identify the machine. Otherwise

0:35:03.800 --> 0:35:06.440
<v Speaker 1>it would be as if the house I live in

0:35:06.560 --> 0:35:09.120
<v Speaker 1>and the house you live in have exactly the same

0:35:09.160 --> 0:35:11.839
<v Speaker 1>physical address, but are in two different parts of town.

0:35:12.640 --> 0:35:15.799
<v Speaker 1>That would be incredibly confusing, and we would constantly be

0:35:15.880 --> 0:35:18.720
<v Speaker 1>receiving each other's mail. I think you have my socks,

0:35:19.040 --> 0:35:21.840
<v Speaker 1>but my computer is behind the router. From the perspective

0:35:21.880 --> 0:35:24.920
<v Speaker 1>of the Internet, so my computer is not communicating directly

0:35:24.960 --> 0:35:27.879
<v Speaker 1>with the rest of the Internet. It's communicating through the router.

0:35:27.960 --> 0:35:30.439
<v Speaker 1>It sends data to the router, and then the router

0:35:30.480 --> 0:35:33.359
<v Speaker 1>in turn routes that out to the Internet. So on

0:35:33.400 --> 0:35:36.160
<v Speaker 1>my side of the router, on the company side, I

0:35:36.200 --> 0:35:39.040
<v Speaker 1>don't have a need for a unique IP address. Whenever

0:35:39.040 --> 0:35:41.120
<v Speaker 1>I try to communicate with a machine that is not

0:35:41.520 --> 0:35:44.880
<v Speaker 1>on my private network, non the house stuff works network,

0:35:45.320 --> 0:35:48.480
<v Speaker 1>that message passes through the router, which uses an available

0:35:48.520 --> 0:35:52.080
<v Speaker 1>IP address that it has assigned to it, and then

0:35:52.120 --> 0:35:54.560
<v Speaker 1>sends that message out into the world. The router then

0:35:54.640 --> 0:35:57.880
<v Speaker 1>has to consult what is called an address translation table

0:35:57.920 --> 0:36:01.439
<v Speaker 1>whenever data is coming back to determine which machine on

0:36:01.800 --> 0:36:05.120
<v Speaker 1>our network is the intended recipient. So if I go

0:36:05.200 --> 0:36:08.120
<v Speaker 1>out to say look at a web page. That message

0:36:08.120 --> 0:36:10.920
<v Speaker 1>will go out to the router, which then will assign

0:36:11.120 --> 0:36:14.480
<v Speaker 1>an available IP address to send that out to the Internet.

0:36:14.560 --> 0:36:17.640
<v Speaker 1>The response will come back, the router will look at

0:36:17.680 --> 0:36:21.680
<v Speaker 1>the IP address on that that you know, the intended recipient.

0:36:22.640 --> 0:36:25.839
<v Speaker 1>Use a trend a network translation table to say, all right,

0:36:25.880 --> 0:36:28.560
<v Speaker 1>well who did I give this to? Again? Which which

0:36:28.600 --> 0:36:32.200
<v Speaker 1>computer has this temporary IP address? Oh, it's Jonathan's machine.

0:36:32.440 --> 0:36:37.120
<v Speaker 1>He's the one going to red versus Blue dot com

0:36:37.200 --> 0:36:41.120
<v Speaker 1>and watching cartoons. That's typical, And then it would get

0:36:41.160 --> 0:36:45.480
<v Speaker 1>to me, probably without the actual commentary. Network address translation

0:36:45.520 --> 0:36:47.520
<v Speaker 1>has a lot of other uses, but for the purposes

0:36:47.520 --> 0:36:49.759
<v Speaker 1>of this episode, it really kind of sums up what

0:36:49.880 --> 0:36:54.440
<v Speaker 1>it does via visa the the IPv for shortage. So

0:36:54.880 --> 0:37:00.360
<v Speaker 1>this is a lot of of useful treading a water,

0:37:00.440 --> 0:37:02.879
<v Speaker 1>you might say. In fact, a lot of engineers said

0:37:02.920 --> 0:37:05.399
<v Speaker 1>that the development of stuff like c I, d R

0:37:05.400 --> 0:37:08.360
<v Speaker 1>and n A T extended the useful life of I

0:37:08.520 --> 0:37:12.040
<v Speaker 1>p V four by about twenty years. That's pretty cool,

0:37:12.360 --> 0:37:15.480
<v Speaker 1>but we still clearly have a need to move to

0:37:15.520 --> 0:37:17.319
<v Speaker 1>I p V six, which is going to create so

0:37:17.360 --> 0:37:21.439
<v Speaker 1>many addresses that is very difficult to imagine a time

0:37:21.480 --> 0:37:24.719
<v Speaker 1>when we will run out of them anytime soon. It

0:37:24.800 --> 0:37:29.880
<v Speaker 1>may one day happen, but we're talking trillions upon trillions

0:37:29.880 --> 0:37:33.960
<v Speaker 1>of addresses here, so the deployment is going pretty well.

0:37:34.120 --> 0:37:37.319
<v Speaker 1>It's been a slow process when you consider that it

0:37:37.360 --> 0:37:40.960
<v Speaker 1>was back in that they were first proposing I p

0:37:41.120 --> 0:37:45.200
<v Speaker 1>V six, But it's largely because, at least in the

0:37:45.200 --> 0:37:47.839
<v Speaker 1>commercial world, a lot of entities don't make a move

0:37:47.920 --> 0:37:53.200
<v Speaker 1>until it's absolutely necessary. So once I A and A

0:37:53.200 --> 0:37:56.919
<v Speaker 1>allocated all those remaining I p v four addresses, that's

0:37:56.920 --> 0:38:00.920
<v Speaker 1>when companies said, WHOA, we might need to start working

0:38:00.920 --> 0:38:02.520
<v Speaker 1>on this I p v six thing. We might need

0:38:02.560 --> 0:38:05.480
<v Speaker 1>to start rolling that out and making sure our websites

0:38:05.520 --> 0:38:09.080
<v Speaker 1>are accessible, that our machines can communicate through I p

0:38:09.200 --> 0:38:12.279
<v Speaker 1>V six, because otherwise we're going to run into some

0:38:12.360 --> 0:38:17.120
<v Speaker 1>pretty tough situations. The migration requires software and firmware updates,

0:38:17.160 --> 0:38:20.760
<v Speaker 1>sometimes hardware updates to stuff like routers across the Internet,

0:38:21.080 --> 0:38:23.360
<v Speaker 1>but many I s p s, particularly those big ones

0:38:23.440 --> 0:38:25.360
<v Speaker 1>like the ones that we have here in the United States,

0:38:25.360 --> 0:38:28.040
<v Speaker 1>have largely addressed this. That no one's at a percent

0:38:28.080 --> 0:38:30.040
<v Speaker 1>as far as I can tell, but uh, there are

0:38:30.040 --> 0:38:33.480
<v Speaker 1>a lot of of companies that have gotten to you know,

0:38:33.520 --> 0:38:37.239
<v Speaker 1>the eighties and ninety percentiles of deployment, which is pretty impressive.

0:38:37.719 --> 0:38:40.520
<v Speaker 1>On the consumer side, smartphones pretty much are on the

0:38:40.560 --> 0:38:43.560
<v Speaker 1>i p v six train already, and all current versions

0:38:43.600 --> 0:38:46.480
<v Speaker 1>of operating systems support the i p v six protocol,

0:38:46.960 --> 0:38:49.239
<v Speaker 1>so we're mostly waiting on web servers at this point,

0:38:49.239 --> 0:38:51.800
<v Speaker 1>if I'm being honest. Now. Back in two thousands thirteen,

0:38:52.080 --> 0:38:56.400
<v Speaker 1>cloud Flare CEO Matthew Prince projected that based on the

0:38:56.400 --> 0:38:59.280
<v Speaker 1>adoption rate of i p v six at that time,

0:39:00.200 --> 0:39:03.239
<v Speaker 1>we could celebrate a full migration to i p v

0:39:03.400 --> 0:39:10.560
<v Speaker 1>six on May tenth of so market calendars. Also, I

0:39:10.600 --> 0:39:13.120
<v Speaker 1>should point out it's quite quite likely we're never gonna

0:39:13.160 --> 0:39:16.600
<v Speaker 1>see I p v four abandoned entirely. It's more likely

0:39:16.920 --> 0:39:19.800
<v Speaker 1>that we're gonna see both sets of protocols continue side

0:39:19.800 --> 0:39:22.880
<v Speaker 1>by side. It's just that I p v four addresses

0:39:23.080 --> 0:39:26.000
<v Speaker 1>will eventually be more or less completely locked down. But

0:39:26.040 --> 0:39:30.319
<v Speaker 1>it's very rare to abandon completely a legacy infrastructure, and

0:39:30.360 --> 0:39:33.359
<v Speaker 1>the i p v four framework as a particularly large one.

0:39:34.120 --> 0:39:36.919
<v Speaker 1>So we will continue to see this deployment, will see

0:39:37.200 --> 0:39:39.440
<v Speaker 1>more development on the side of i p v six,

0:39:40.040 --> 0:39:43.439
<v Speaker 1>and uh maybe in a few years it'll we'll see

0:39:43.440 --> 0:39:47.080
<v Speaker 1>that percentage for the top one thousand sites go up

0:39:47.120 --> 0:39:51.640
<v Speaker 1>to above the mark. But it's gonna take some time.

0:39:51.920 --> 0:39:55.920
<v Speaker 1>And honestly, the the measures that have been put in

0:39:55.960 --> 0:40:01.720
<v Speaker 1>place have created enough slack that a lot of people

0:40:01.760 --> 0:40:04.759
<v Speaker 1>who obviously should be thinking hard about the future have

0:40:04.880 --> 0:40:08.279
<v Speaker 1>kind of put it off a bit. They procrastinated. Uh,

0:40:08.320 --> 0:40:11.560
<v Speaker 1>that's not great for all of us, But the bright

0:40:11.600 --> 0:40:15.040
<v Speaker 1>side is we're not going to see the Internet fail.

0:40:15.719 --> 0:40:19.520
<v Speaker 1>I p V six will be more than enough to

0:40:19.680 --> 0:40:23.640
<v Speaker 1>solve this problem. It's just a question of when the

0:40:23.719 --> 0:40:27.160
<v Speaker 1>various entities involved get motivated enough to switch over to

0:40:27.239 --> 0:40:30.319
<v Speaker 1>I p V six. So I don't think that they

0:40:30.400 --> 0:40:33.640
<v Speaker 1>were headed toward a catastrophe at this stage, at least

0:40:33.719 --> 0:40:36.880
<v Speaker 1>not collectively. There might be individual companies out there that

0:40:36.960 --> 0:40:40.560
<v Speaker 1>find themselves scrambling once it gets to a certain point,

0:40:40.920 --> 0:40:44.040
<v Speaker 1>but maybe that'll just mean they'll learn a valuable lesson

0:40:44.640 --> 0:40:46.680
<v Speaker 1>and then the board of directors will change the CEO

0:40:46.800 --> 0:40:49.240
<v Speaker 1>and then the whole thing will start over again. That's cynical.

0:40:49.320 --> 0:40:52.280
<v Speaker 1>We're not gonna talk about that. Let's wrap this up, Hey, guys,

0:40:52.440 --> 0:40:55.600
<v Speaker 1>if you have any suggestions for future episodes of tech Stuff,

0:40:55.640 --> 0:40:59.000
<v Speaker 1>I have a solution for you send me an email

0:40:59.400 --> 0:41:01.960
<v Speaker 1>address is tech stuff at how stuff works dot com,

0:41:02.040 --> 0:41:04.160
<v Speaker 1>or you can drop you a line on Facebook or Twitter.

0:41:04.200 --> 0:41:06.600
<v Speaker 1>The hand over both of those is tech Stuff hs W.

0:41:07.200 --> 0:41:10.480
<v Speaker 1>You can watch me live on twitch dot tv slash

0:41:10.480 --> 0:41:14.480
<v Speaker 1>tech stuff most Wednesdays and Fridays. I'm recording episodes. I'm

0:41:14.520 --> 0:41:17.160
<v Speaker 1>glad to have you guys watch me as I stumble

0:41:17.280 --> 0:41:19.680
<v Speaker 1>through this. I'm so glad that right now I don't

0:41:19.680 --> 0:41:22.600
<v Speaker 1>have anyone watching me because cold medication makes me do

0:41:22.680 --> 0:41:25.840
<v Speaker 1>weird things. Oh and uh, make sure you follow our

0:41:25.880 --> 0:41:29.120
<v Speaker 1>Instagram account. All right, that's it for this episode. Join

0:41:29.239 --> 0:41:32.560
<v Speaker 1>us next time when we talk about something completely unrelated

0:41:32.680 --> 0:41:36.720
<v Speaker 1>to Internet protocols, and I'll talk to you again really soon.

0:41:42.280 --> 0:41:44.960
<v Speaker 1>For more on this and thousands of other topics, how

0:41:45.000 --> 0:41:55.760
<v Speaker 1>stuff works dot com