Speaker 1: Get in tech with technology with tech Stuff from stuff
Speaker 1: works dot com. Hey there, and welcome to tex Stuff.
Speaker 1: I'm your host, Jonathan Strickland. I'm an executive producer over
Speaker 1: at how Stuff Works and I love all things tech,
Speaker 1: and today we're going to talk about a pretty technical subject.
Speaker 1: And just to get this out of the way, I
Speaker 1: am getting over a cold and it's pollen season here
Speaker 1: in Atlanta already, so I might sound a little extra
Speaker 1: grungy today. Uh just just blame that on on my
Speaker 1: health and Nirvana. But recently a listener asked me to
Speaker 1: give an update on the switchover to I p V six,
Speaker 1: which I thought presented a great opportunity to talk about
Speaker 1: what that actually means, why it's important, as well as
Speaker 1: what progress has been made in this switchover. Now. It
Speaker 1: all boils down to solving April saying problem, which is
Speaker 1: that the old set of rules we relied upon for
Speaker 1: the Internet just aren't quite sufficient to keep up with
Speaker 1: the way we're using the Internet. So first we need
Speaker 1: to define what is i P. It stands for Internet Protocol,
Speaker 1: which sounds a little daunting, but really that just means
Speaker 1: it's the method or set of rules that the Internet
Speaker 1: follows in order to send data between computers or other
Speaker 1: devices that are interconnected within this network of networks. In
Speaker 1: protocol speak, we typically refer to these devices as hosts,
Speaker 1: and from a high level, the rules are pretty straightforward,
Speaker 1: but they are absolutely necessary. Without these rules, it would
Speaker 1: be pretty challenging to find what you're looking for when
Speaker 1: you connect to the Internet. So let's take a very
Speaker 1: simple connection and that way we can build on that
Speaker 1: to understand what the challenges are. Back in the good
Speaker 1: old Bolton Board System days, the BBS days, you would
Speaker 1: typically have one machine acting like a server. Everything would
Speaker 1: live on that machine and it would serve data to
Speaker 1: a single client at a time. So that meant you
Speaker 1: add one computer or host in the terminology of the Internet,
Speaker 1: and this one is the server that has all the
Speaker 1: message boards, files, games, whatever the Bolton Board System might have.
Speaker 1: The people who want to visit the BBS would use
Speaker 1: a dial up modem on their personal computer. This is
Speaker 1: another host in Internet parlance, but we also would call
Speaker 1: it a client and they would use that to call
Speaker 1: up the server computer over a normal phone line. So
Speaker 1: it's just like if you were to make a phone
Speaker 1: call to somebody else. The connection was direct, or at
Speaker 1: least as direct as a connection can be when it
Speaker 1: crosses over telecommunications infrastructure like phone lines. The point is
Speaker 1: the client and server communicated directly with one another. The
Speaker 1: data didn't need to pass through any third party hosts.
Speaker 1: A good analogy is the old two cans and a
Speaker 1: string method of communication. You know, you got a can
Speaker 1: on one side and a can on the other, string
Speaker 1: connecting the two, and you speak, and the vibrations go
Speaker 1: through the string and are amplified on the other side,
Speaker 1: and thus you can talk well. The two computers in
Speaker 1: this example are those cans, and the phone infrastructure would
Speaker 1: be the string. But the Internet consists of millions of computers,
Speaker 1: plus routers and switches and other devices that are all
Speaker 1: interconnected in various ways. Whenever you visit a website or
Speaker 1: you send an email, you're sending and receiving data to
Speaker 1: and from other devices connected to that network, and some
Speaker 1: of them might be across the world from each other,
Speaker 1: which means there have to be rules in place for
Speaker 1: your messages to get to the right computers, and those
Speaker 1: computers have to know where to send the data back
Speaker 1: to you in response to your requests. Part of the
Speaker 1: Internet protocol addresses this very issue, and yes, that is
Speaker 1: kind of a pun. It's called IP addresses. An IP
Speaker 1: address is a unique identifier for every computer or connected
Speaker 1: device on the Internet. Uh, anything that's directly communicating with
Speaker 1: the Internet has to have an IP address, and it's
Speaker 1: similar to a physical address that we would use for
Speaker 1: mailing things in that it provides a means for computers
Speaker 1: to locate the right destination for data. But unlike a
Speaker 1: physical address, a machine's IP address doesn't necessarily always stay
Speaker 1: the same. It can it can be a static IP address,
Speaker 1: but it's pretty common to run into dynamic IP addresses,
Speaker 1: which means they can change depending upon the local network
Speaker 1: that it connects to the router that's in charge. Lots
Speaker 1: of different things can determine what a machine's IP address
Speaker 1: is at any given time. Now, the idea for IP
Speaker 1: addresses goes back much further than most people's experience with
Speaker 1: the Internet, unless you were a researcher or an engineer.
Speaker 1: The debut of the Worldwide Web in the early nineties
Speaker 1: kind of helped usher in a new era of computer users,
Speaker 1: but the Internet itself had been around for a decade
Speaker 1: before the Web was a thing. Those rules had to
Speaker 1: be in place for the Internet to work, and they were,
Speaker 1: in fact an evolution of the rules that engineers were
Speaker 1: creating when they built the predecessor to the Internet, called
Speaker 1: our Bonnet. Our Bonnet was a Department of Defense project.
Speaker 1: Those working on the project, we're creating the framework and
Speaker 1: rules within which different computers built on different architectures could
Speaker 1: meaningfully communicate across a network. This was a pretty hefty undertaking,
Speaker 1: but I've talked about it in other episodes of Tech Stuff,
Speaker 1: so I'm not gonna go all the way through that
Speaker 1: again right here and right now. You can find the
Speaker 1: episodes on our Bonnet and listen to those. But in
Speaker 1: a Request for Comments document and r FC document dating
Speaker 1: from nineteen eighty, the team working on Internet protocols detailed
Speaker 1: the necessity for addresses and helped clarify their role. Part
Speaker 1: of that meant explaining what an address is and is not.
Speaker 1: So here's a quote, a direct quote from RFC seven
Speaker 1: sixty and yes, fasten your seat belts because it's really
Speaker 1: exciting speech. A distinction is made between names, addresses, and routes.
Speaker 1: A name indicates what we seek, an address indicates where
Speaker 1: it is. A route indicates how to get there. The
Speaker 1: Internet protocol deals primarily with addresses. Is the task of
Speaker 1: higher level i e. Host to host or application protocols
Speaker 1: to make the mapping from names to addresses, and so
Speaker 1: a device would need a name and an address. The
Speaker 1: route would be the pathway the data would take between
Speaker 1: the hosts. Now, this isn't all that different from sending
Speaker 1: snail mail in the real world. You can't just put
Speaker 1: an envelope in a mailbox with a person's name on
Speaker 1: it and expect the postal service to be able to
Speaker 1: deliver it, unless I guess the name is Santa clause
Speaker 1: you need to include an address on the envelope. The
Speaker 1: postal service then takes the collected outgoing mail and to
Speaker 1: turn emens how to deliver it, which is not that
Speaker 1: different from how computers send data across the Internet. Now,
Speaker 1: one thing that is a little different is how devices
Speaker 1: on the Internet package data when they send it across
Speaker 1: the Internet. Devices on the Internet send data in small
Speaker 1: batches called packets. These packets are sort of like puzzle pieces.
Speaker 1: They don't all have to take the same pathway to
Speaker 1: get to their destination, where they are then reassembled into
Speaker 1: whatever it is that you were sending. It's a pretty
Speaker 1: ingenious design that helps avoid problems when a particular machine
Speaker 1: on the network goes down. But let's get back to addresses,
Speaker 1: because that's kind of a separate topic. In this request
Speaker 1: for comments, the group also mentioned that addresses were a
Speaker 1: fixed length of four octets or thirty two bits. Now,
Speaker 1: a bit is a single unit of information. It can
Speaker 1: take the form of a zero or a one. So
Speaker 1: the team would refine this a bit in future RFC documents,
Speaker 1: but for the time being four octets or four uh
Speaker 1: eight bits four bytes. In other words, the thirty two
Speaker 1: bits gave the team a lot of potential addresses to
Speaker 1: play with. So each bit can have one of two states,
Speaker 1: that being a zero or a one, and there are
Speaker 1: thirty two of them total. So what you would do
Speaker 1: is you take to the states and raise it to
Speaker 1: the power of thirty two the number of bits. That
Speaker 1: gives you a grand total of four billion, two hundred
Speaker 1: ninety four million, nine hundred sixty seven thousand, two hundred
Speaker 1: ninety six addresses. Almost Now why do I say almost,
Speaker 1: because not all of those addresses are actually available to
Speaker 1: the general world. The protocol reserves nearly two hundred ninety
Speaker 1: million addresses for specialized purposes, but still more than four
Speaker 1: billion addresses. Seemed like they were going to be plenty
Speaker 1: way back in nineteen eighty. Now, the way we typically
Speaker 1: see those addresses written out is in a series of
Speaker 1: decimal numbers separated by periods. For example, you might see
Speaker 1: an address like this two hundred sixteen dot dot sixty
Speaker 1: one dot seven. Those are your four octets, except they're
Speaker 1: being represented as decimal numbers, not as bits. So you'll
Speaker 1: never see a number higher than two hundred fifty five
Speaker 1: in any of those four spots. And why is that, Well,
Speaker 1: it's because the highest number eight bets can represent would
Speaker 1: be two fifty six. So you start with zero, you
Speaker 1: can go up to two five. If we started with
Speaker 1: just one and built up, we could go all the
Speaker 1: way up to two fifty six. But we start with
Speaker 1: zero because we're talking about base ten, so once you
Speaker 1: hit nine, you need to be able to flip back
Speaker 1: over to zero. So two five is the largest number
Speaker 1: that can occupy any of those four spots. If we
Speaker 1: wrote out that same IP address I just mentioned the
Speaker 1: to sixteen dot seven dot sixty one dot one seven,
Speaker 1: it would look like this in binary code, and I
Speaker 1: apologize ahead of time because you're gonna hear a lot
Speaker 1: of ones and zeros, guys. But this is why they
Speaker 1: decided to switch over to a decimal based system for notation.
Speaker 1: The binary address would be one one zero one one
Speaker 1: zero zero zero, dot zero zero zero one one zero
Speaker 1: one one dot zero zero one one one one zero
Speaker 1: one dot one zero zero zero one zero zero one.
Speaker 1: And yes, it sounds like I just did the binary
Speaker 1: solo from the humans are dead by fly of the concords.
Speaker 1: It doesn't exactly roll off the tongue, so you can
Speaker 1: see why the team decided to go with that decimal
Speaker 1: based system. Now, at a higher level than the Internet protocol,
Speaker 1: there are rules in place that allow us to use
Speaker 1: stuff like domain names and file pathways to make it
Speaker 1: easier to direct emails or go web browsing to where
Speaker 1: we want to go. In tim Burners, Lee introduced the
Speaker 1: concept of uniform resource locators or u r l s.
Speaker 1: But all of that is just a way to make
Speaker 1: it easier for us humans to navigate the Internet and
Speaker 1: the Web. On the machine level, it's all about the bits,
Speaker 1: all right. So we have our four octets of bits,
Speaker 1: each representing a decimal number in that series of four numbers.
Speaker 1: This set of rules was part of the fourth version
Speaker 1: of the Internet Protocol, so we tend to call these
Speaker 1: i p v four addresses or just IP address for short. Typically,
Speaker 1: if someone says IP address, they're talking about i p
Speaker 1: v four. So what happened to versions one through three, Well,
Speaker 1: those were all experimental versions of Internet Protocol that were
Speaker 1: never rolled out for general public use. Now, originally IPv
Speaker 1: four divided up the octets to designate networks and hosts.
Speaker 1: In other words, part of the address would tell the
Speaker 1: system which network your computer was on, and the rest
Speaker 1: of the address would be specific to your actual computer
Speaker 1: on that network. Because remember, the Internet is a network
Speaker 1: of networks. It's not like each computer is just independently
Speaker 1: plugging into a giant web of data. These are hierarchies
Speaker 1: that we're looking at. So this is not again that
Speaker 1: different from an address on an envelope, because on an
Speaker 1: address and an envelope you'll have general information such as
Speaker 1: a country, a state, a city, that kind of thing,
Speaker 1: and then more specific information like a house number and
Speaker 1: a street that sort of thing. So again, very similar
Speaker 1: to the way physical mail works. But even early on
Speaker 1: while before the Web. The team working on Internet Protocol
Speaker 1: realized that this was going to limit the useful number
Speaker 1: of addresses a bit too much, and so in nine
Speaker 1: they redefined the approach by creating five classes of networks.
Speaker 1: They designated the classes from A to E. This became
Speaker 1: known as class full networking. Now, classes D and E
Speaker 1: contained the reserved addresses I talked about before. Some of
Speaker 1: them were for uh experimental purposes and some of them
Speaker 1: were reserved for other reasons. Classes A through C use
Speaker 1: different bit lengths to designate specific networks. This removed the
Speaker 1: tight restriction on the number of networks that could join
Speaker 1: the Internet using IPD four, which up to that point
Speaker 1: had been a measly two fifty six networks. If the
Speaker 1: Internet only consisted of two ft six networks, we never
Speaker 1: would have had to worry about adding this change. But
Speaker 1: clearly that was not going to stay the same now.
Speaker 1: If you connect your computer directly to your Internet service provider,
Speaker 1: also known as your I s P, your computer would
Speaker 1: get an IP address from that I s P. It
Speaker 1: would have some sort of designation for this, but many
Speaker 1: people are using routers or connecting to the network through
Speaker 1: another network that has its own router, and in these cases,
Speaker 1: the router has an IP address specific to it and
Speaker 1: typically creates a subnetwork for all the devices or nodes
Speaker 1: that connect through that router. So let's take our little
Speaker 1: example again. So let's say your computer's IP address is
Speaker 1: currently set to to sixty seven dot sixty one dot
Speaker 1: one seven, and in this example, we'll say your network's
Speaker 1: identity is represented in the first three octets, so that
Speaker 1: means your network's identity is to sixteen dot dot sixty one.
Speaker 1: The final octet designates the node on that network, in
Speaker 1: other words, your computer, So you could theoretically have any
Speaker 1: value from dot zero as the final one to dot to.
Speaker 1: Now I say theoretically because this is a Class C
Speaker 1: network and as such may not have an ending in
Speaker 1: zero or two fifty five. But that gets a little
Speaker 1: too technical. The computers on the network use a set
Speaker 1: of rules called a subnet mask to separate the octets
Speaker 1: that indicate networks versus nodes. Uh sub net masks in
Speaker 1: I p V four follow up patterns. So the first
Speaker 1: such mask is two five five dot zero dot zero
Speaker 1: dot zero. This mask reserves eight bits to designate the networks.
Speaker 1: That eight bits is in that first octet, the number
Speaker 1: that's represented in there is two five, and then it
Speaker 1: reserves the other twenty four bits to designate nodes, So
Speaker 1: that would be a Class A network. On the flip side,
Speaker 1: you have two five five dot two five five dot
Speaker 1: two five five dot zero. That would mean you would
Speaker 1: have twenty four bits the first three octets to designate
Speaker 1: the network and only eight bits to designate the various nodes.
Speaker 1: This would be a Class C network. These are called
Speaker 1: masks because they guide routers to look at specific numbers
Speaker 1: within the addresses, and by looking only at the numbers
Speaker 1: that are pertinent to the network, the routers can save
Speaker 1: some time. They don't have to process an entire thirty
Speaker 1: two bit address. They just look at the bit of
Speaker 1: the address that's important. Again, going back to the postal service,
Speaker 1: this would be like if you had UH two major
Speaker 1: piles and one of them is for local mail and
Speaker 1: the other is for non local mail, and you look
Speaker 1: at the address and just by looking at the bottom
Speaker 1: line where you look at the the state, you know
Speaker 1: is it local or nonlocal, and so you just do
Speaker 1: a quick sorting that way. It's kind of similar to that.
Speaker 1: But why would we have all these different classes. Anyway,
Speaker 1: let's all in how a network work gets set up.
Speaker 1: So a network administrator would make these sort of determinations. Uh,
Speaker 1: if a network is going to have a lot of subnets,
Speaker 1: you need more bits to designate networks. If the subnets
Speaker 1: are going to have a lot of nodes, that is,
Speaker 1: computers connected to those subnets, then you would need to
Speaker 1: dedicate more bits for the node or a computer side
Speaker 1: of things. It's all dependent upon the infrastructure of the network.
Speaker 1: I'll explain a little bit more, but first, why don't
Speaker 1: we take a quick break to thank our sponsor. All Right,
Speaker 1: on the Internet itself, only the network part of an
Speaker 1: IP address is important. Uh, the the Internet machines don't
Speaker 1: care about your specific computers address. They just need to
Speaker 1: know what network it needs to go to. Data will
Speaker 1: move toward that appropriate network, and once it's there, the
Speaker 1: host part of the address then becomes important. It's it's
Speaker 1: kind of like once you get the mail to the
Speaker 1: right state, then you need to start dividing it up
Speaker 1: by a city and thus neighborhood and that kind of thing.
Speaker 1: IP addresses can be static, which means they don't change,
Speaker 1: or they can be dynamic, meaning they get assigned every
Speaker 1: time the device connects to the Internet. Most devices in
Speaker 1: the hands of consumers use dynamic IP addresses, and many
Speaker 1: are connected to sub networks or subnets, which are networks
Speaker 1: that share a common network address. A single company might
Speaker 1: use subnets to share a single network address across all subnets,
Speaker 1: even if they are geographically distant from one another, and
Speaker 1: that helps conserve the number of network addresses that are
Speaker 1: generally available. Even so, it didn't take very long for
Speaker 1: the engineering team to realize that thirty two bits was
Speaker 1: a big limiting factor, and so they set about to
Speaker 1: solve this problem. Otherwise, the world would reach a limit
Speaker 1: on the number of useful addresses, and no new networks
Speaker 1: would be able to join the Internet. It would have
Speaker 1: hit capacity. So with IPv four addresses again, we have
Speaker 1: a little bit more than four billion available ones once
Speaker 1: you take away the ones that have been reserved for
Speaker 1: other purposes. A billion is admittedly a very large number,
Speaker 1: but not nearly large enough. Even in the late eighties
Speaker 1: and early nineties, engineers were saying this is gonna be
Speaker 1: a problem. Things were changing quickly, and it soon became
Speaker 1: clear that we'd hit a real crunch with IP addresses.
Speaker 1: For one thing, there was an emerging trend of moving
Speaker 1: from an on demand connection to the Internet to pervasive connections.
Speaker 1: Now by that I mean in the early days, you
Speaker 1: would typically use a dial up modem to connect to
Speaker 1: the Internet, and frequently this meant that you were engaging
Speaker 1: your homes one phone line so that you could call
Speaker 1: up an Internet server and browse the Internet. So you
Speaker 1: wouldn't stay on it forever because you need that phone
Speaker 1: line for other things, and frankly, you could end up
Speaker 1: racking up big charges if you were on for a
Speaker 1: really long time, so you would typically hang up when
Speaker 1: you were done. Now hanging up meant that you were
Speaker 1: you had just freed up an IP address. You didn't
Speaker 1: need that IP address anymore because you were no longer
Speaker 1: connected to the Internet. So even if you had more
Speaker 1: people than you had I P addresses, not everyone was
Speaker 1: going to be connected at the same time, and so
Speaker 1: you can kind of fudge things a little bit. But
Speaker 1: then we gradually began to move toward more broadband connections
Speaker 1: using things besides just dial up modems, and we also
Speaker 1: started to make a move towards always connected devices. Now
Speaker 1: this is even more true today when you have everything
Speaker 1: from set top boxes like video game consoles, to wireless
Speaker 1: devices like smart thrum, the stats and home security devices
Speaker 1: to add in. Then there's an added problem that any
Speaker 1: device that has multiple ways to connect to the Internet
Speaker 1: needs a different i p address for each of those methods. So,
Speaker 1: for example, if you have a smartphone that connects to
Speaker 1: an LTE network as well as to a WiFi router UH,
Speaker 1: it has to have an IP address for each of those,
Speaker 1: Or if you have a laptop that has both a
Speaker 1: wired and a wireless connection, has to have an IP
Speaker 1: address for each of those, So a single device can
Speaker 1: take up more than one IP address. And of course
Speaker 1: the other big challenge was that more of the world
Speaker 1: was going online. The Internet when it first got started
Speaker 1: was kind of an exclusive club, really nerdy exclusive club,
Speaker 1: but still exclusive. But now it was going global, so
Speaker 1: there were just a lot more people trying to connect
Speaker 1: and a new method of addressing was needed. In the
Speaker 1: Internet Engineering Task Force developed the successor to i p
Speaker 1: V four. This one was called i p V six,
Speaker 1: So that immediately raises a question, why the heck did
Speaker 1: we jump from four to six. Well, what would have
Speaker 1: been Internet Protocol five was an Internet stream protocol that
Speaker 1: was in development as far back as the late seventies. Ultimately,
Speaker 1: that protocol never rolled out for public use, and it
Speaker 1: also was never adopted as i p V five officially.
Speaker 1: But back then no one was really sure how things
Speaker 1: were going to turn out, and so they went with
Speaker 1: i p V six to be safe. It expanded that
Speaker 1: bit number for addresses from thirty two to one twenty eight,
Speaker 1: and they don't look like i p V four addresses either,
Speaker 1: and I V six address consists of eight groups of
Speaker 1: four hexadecimal digits. The hexadecimal system is a base sixteen system.
Speaker 1: So with a base ten system, you start at zero,
Speaker 1: you go up to nine, and then you start over right,
Speaker 1: ten is just one zero, and then you can go
Speaker 1: up to nineteen, which is just one nine, and then
Speaker 1: you start over again. Now you go to twenty, which
Speaker 1: is to zero, and over and over again. Now hexadecimal
Speaker 1: goes up to sixteen, but you really can't show that
Speaker 1: using just decimal numerals. It doesn't work that way. So
Speaker 1: with hexadecimal, you start at zero, you go up to nine,
Speaker 1: and then to fill in the additional digits you use
Speaker 1: a sequence like a B C d, E and F, so,
Speaker 1: in other words, and hexadecimal it goes zero to f
Speaker 1: before repeating. Each hexadecimal digit in this sequence of thirty
Speaker 1: two represents four bits, also known as a nibble. So
Speaker 1: while each decimal is and I p v for in
Speaker 1: an IPv for address represents an octet, each digit and
Speaker 1: a hexadecimal address represents a nibble. And now I'm not
Speaker 1: making any of that up. Four times thirty two is
Speaker 1: one eight, So that's where you get the one eight bits.
Speaker 1: What this means is that the effective number of addresses
Speaker 1: sky rockets. If none of the addresses were reserved for
Speaker 1: special use, you would have three point four times ten
Speaker 1: to the thirty eight power of addresses. So what is
Speaker 1: that in real numbers? I'd love to tell you, but
Speaker 1: the closest I can really get is three hundred forty
Speaker 1: trillion two d eighty two billion, three hundred six million,
Speaker 1: nine thousand eight followed by twenty four zeros. It's more
Speaker 1: than enough for the foreseeable future. Even with such developments
Speaker 1: as the Internet of Things, an IPv six address might
Speaker 1: look something like this. And bear with me, because again,
Speaker 1: this is a long and somewhat confusing one f e
Speaker 1: eight zero, colon zero zero zero zero, colon zero zero
Speaker 1: zero zero, colon zero zero zero zero, colon zero two
Speaker 1: zero to colon b three f f, colon f e
Speaker 1: one e, colon eight three to nine. Each sequence of
Speaker 1: four digits has a colon separating it from its neighbors,
Speaker 1: so it's essentially the same sort of purpose as the
Speaker 1: dot in the I p v four addresses. In addition,
Speaker 1: there are some nice tricks that you can use to
Speaker 1: abbreviate those long addresses. If you have a leading zero,
Speaker 1: in other words, you've just gotten past the colon, or
Speaker 1: maybe you're even in the very first uh octet um,
Speaker 1: then you get not octete. I'm sorry, you're in the
Speaker 1: first section. Any leading zeros you can drop, you can
Speaker 1: just go to the first number that is not a zero. Also,
Speaker 1: if you have a single range of zeros, you can
Speaker 1: drop those and replace it with a double colon. If
Speaker 1: you have several series of four zeros, you can drop
Speaker 1: all of those if they're all consecutive, and replace them
Speaker 1: with a double colon. So you might remember that when
Speaker 1: I was reading off that very long I p v
Speaker 1: six address, there were a few uh segments that went
Speaker 1: zero zero zero zero, Well, that means we could drop
Speaker 1: those and just put a double colon in there. So
Speaker 1: that last address I read a minute ago, if we
Speaker 1: abbreviated it, we could say was F E eight zero
Speaker 1: double colon two zero two colon B three f f
Speaker 1: colon f e one e colon eight three to nine.
Speaker 1: Simple as pie, or at least easier than what the
Speaker 1: previous one was. Now, I mentioned that the Engineering Task
Speaker 1: Force developed the strategy in but it wasn't until two
Speaker 1: thousand seventeen that I p v six was officially adopted
Speaker 1: as a standard. And I p v four and I
Speaker 1: p v six are not fully compatible on their own,
Speaker 1: and I p v six address can contain an embedded
Speaker 1: I p v four address, but the I p v
Speaker 1: four format is not forward compatible with I p v
Speaker 1: six because well, that's the way time works. When you
Speaker 1: think of something first, you don't necessarily make it where
Speaker 1: it's automatically compatible with the next thing, because you haven't
Speaker 1: thought of the next thing yet. Sadly enough, it also
Speaker 1: takes a lot of time to switch an established infrastructure
Speaker 1: over into a new set of protocols, So that has
Speaker 1: what's one of the other reasons why it took so
Speaker 1: long to adopt as a standard and to even make
Speaker 1: some progress on this. Add to that the fact that
Speaker 1: the Internet is not a single entity. It's not like
Speaker 1: there's one big building where the Internet is. It's not
Speaker 1: like the I T crowd where they put it on
Speaker 1: top of big ben The Internet is a distributed network
Speaker 1: across lots of different machines. So rolling out a comprehensive
Speaker 1: change to the protocol is a colossal task, and it's
Speaker 1: a big complicated mess, and there's no one entity in
Speaker 1: charge to say, hey, go out there and do this.
Speaker 1: Everyone agrees that we need to deploy i p v
Speaker 1: six across all networks and adopt it moving forward, but
Speaker 1: actually doing it isn't that easy. According to the website
Speaker 1: World i p v six launch dot org, the percentage
Speaker 1: of i p v six adoption among the top one
Speaker 1: thousand sites as measured by Alexa Internet, which is a
Speaker 1: subsidiary company owned by Amazon uh the numbers just below,
Speaker 1: So all the traffic going to the one thousand top
Speaker 1: websites of those top websites support i p v six,
Speaker 1: which means that more than sevent of the most popular
Speaker 1: websites are not yet reachable via i p v six,
Speaker 1: and that is a bit of an issue. I will
Speaker 1: say that a lot of the I s p s,
Speaker 1: particularly the big ones in the United States, are pretty
Speaker 1: well prepared. They have done a fairly decent job at
Speaker 1: switching over their infrastructures to support I p v six.
Speaker 1: But we still have a long ways to go. Speaking
Speaker 1: of a long ways to go, let's take another quick
Speaker 1: break and then we'll conclude our discussion about I p
Speaker 1: v six. So every day we're adding more devices, including routers,
Speaker 1: to the Internet, and we've established that even in the nineties,
Speaker 1: engineers recognized that the number of addresses that I p
Speaker 1: v four could handle was not up to snuff. How
Speaker 1: in the blue blazes have we managed to avoid a
Speaker 1: catastrophe for so many decades? So does that just mean
Speaker 1: the problem wasn't as bad as we thought it was.
Speaker 1: Because if we haven't switched completely over to I p
Speaker 1: V six, and we knew that I p v four
Speaker 1: addresses running out, why haven't we hit a massive crash? Well,
Speaker 1: the problem is evident. The four plus billion IP addresses
Speaker 1: are actually all gone now. That is, they've all been
Speaker 1: snagged by various companies and institutions like Internet service providers
Speaker 1: or unversities. Now those entities can assign out dynamic IP
Speaker 1: addresses on their own respective networks, but no new network
Speaker 1: could pop up and request a spectrum of addresses from
Speaker 1: the Internet Assigned Numbers Authority or I A n A.
Speaker 1: That's the authority that oversees the stuff. You couldn't request
Speaker 1: any new ones from I A n A because there
Speaker 1: are no new ones left. What you might be able
Speaker 1: to do is negotiate with some other entity that actually
Speaker 1: has unused IP addresses and purchase them that way. But
Speaker 1: there aren't any new ones coming out because i P
Speaker 1: V four is all dried up. Below the I A
Speaker 1: n A R five Regional Internet Registries UH they are
Speaker 1: called r I R s. These, as the name suggests,
Speaker 1: oversee I P address assignments over specific regions in the world.
Speaker 1: Those five entities, in turn can assign banks of IP
Speaker 1: addresses to local Internet registries, which can include stuff like
Speaker 1: the aforementioned I s p s and universities and other institutions.
Speaker 1: And I'll so just to clarify, while an I s
Speaker 1: P might be a local Internet registry, not all I
Speaker 1: s p s fall into that category. Some I s
Speaker 1: p s belonged to a larger entity, which in turn
Speaker 1: is the actual local Internet registry. So this stuff gets
Speaker 1: pretty complicated. Back in January two thleven, the Asia Pacific
Speaker 1: Network Information Center better known as ap NICK, A P
Speaker 1: and I C, which is one of those five regional
Speaker 1: Internet Address registries I talked about, requested and received the
Speaker 1: last two unreserved blocks of IP addresses. There were only
Speaker 1: five reserved blocks remaining, and so the I A n
Speaker 1: A ceremoniously granted one block to each of the regional
Speaker 1: Internet Address registries, and then all of those IP addresses
Speaker 1: were technically out in the wild. There were none left
Speaker 1: in reserve. By April two thousand eleven, app NICK ran
Speaker 1: out of freely allocated IPv VOORA addresses, which means that
Speaker 1: sometimes in that region you can't get an IPv for
Speaker 1: address when you need one, I mean, you can't connect
Speaker 1: to the Internet. So why hasn't that happened everywhere? Well,
Speaker 1: it's largely because engineers are very clever at figuring out
Speaker 1: workarounds or problems. There have been a few temporary measures
Speaker 1: that have extended the useful life of ip V four
Speaker 1: despite the growing number of connected devices. So remember when
Speaker 1: I mentioned that IP addresses could be divided up by
Speaker 1: classes based on how many bits are dedicated to the
Speaker 1: network address versus the host address. Well, there's also something
Speaker 1: called classless inter domain routing or c I d R
Speaker 1: or CIDER. The Internet Engineering Task Force introduced c I
Speaker 1: d R in as a way to simplify how data
Speaker 1: moved through routers on the Internet and to extend the
Speaker 1: useful life of IP v four, and it mostly has
Speaker 1: to do with the big drawback of the class full system.
Speaker 1: So the smallest allocation of addresses using the class full
Speaker 1: system is two hundred fifty six addresses, which is a
Speaker 1: pretty small number when you remember how many devices need
Speaker 1: more than one IP address. So that's the most addresses
Speaker 1: that eight bits can support. If you were in that class,
Speaker 1: if you moved up a class, suddenly the number of
Speaker 1: IP addresses you would get or for this particular class
Speaker 1: would go from two fifty six to sixty five thousand,
Speaker 1: five hundred thirty six. There's no in between there. You
Speaker 1: go to fifty six to sixty thirty six. That's a
Speaker 1: huge number. That's more than what most organizations need for
Speaker 1: the devices that are connecting through their networks. So there
Speaker 1: was no way to step between those two. From a
Speaker 1: protocol standpoint, you either ended up with too few addresses
Speaker 1: where people were not going to be able to connect
Speaker 1: their machines properly to too many addresses where a whole
Speaker 1: bunch we're just gonna go unused and wasted. Um, And
Speaker 1: that was a real issue. That's when c I d
Speaker 1: R was able to solve this problem. It was a
Speaker 1: new method to step around it. Rather than define networks
Speaker 1: and hosts by octets for bites, you know, sequences of
Speaker 1: eight bits, it divides networks into variously sized subnets. So
Speaker 1: when setting up a network, engineers can aim for a
Speaker 1: range of addresses that best suits the organization's needs and
Speaker 1: not go beyond that. Now you have to go for
Speaker 1: a consecutive addresses if you're using c I DR notation.
Speaker 1: Otherwise you have to keep using the notation repeatedly. Think
Speaker 1: it's pretty messy. We use c I DR notation to
Speaker 1: represent IP addresses in this way. If you've ever seen
Speaker 1: what looks like an I P address followed by a
Speaker 1: slash and then a decimal number, you've likely seen an
Speaker 1: example of c I d R notation. The decimal number
Speaker 1: represents the number of leading one bits in the routing mask. Essentially,
Speaker 1: it's a shorthand notation to express the range of addresses
Speaker 1: represented in a network, and it's not limited to octets
Speaker 1: the way class full representation was. One big benefit of
Speaker 1: c I d R was that fewer IP addresses would
Speaker 1: go to waste unused. If you were up a large
Speaker 1: but not ginormous network, you can set up a range
Speaker 1: of IP addresses sufficient to meet your needs without going
Speaker 1: overboard by tens of thousands of excess addresses, which in
Speaker 1: turn meant that those unused addresses could be freed up
Speaker 1: for other networks, and it allowed for a better distribution
Speaker 1: of IP addresses. In other words, Another solution is network
Speaker 1: address translation or in a t net. It's a set
Speaker 1: of rules that allows a single device to act a
Speaker 1: sort of a liaison between a specific network and the Internet.
Speaker 1: So remember the Internet is a network of networks, so
Speaker 1: a device like a router could act as the gateway
Speaker 1: between your local network, the one that just has a
Speaker 1: bunch of computers directly communicating with one another, and then
Speaker 1: everything else out there on the Internet. So I'll use
Speaker 1: my office as an example. When I log in from
Speaker 1: how stuff works, all traffic between the Internet, and my
Speaker 1: computer passes through our company's neat router. First, the router
Speaker 1: has a range of IP addresses that ultimately come from I, A,
Speaker 1: N A. You have to go up a couple of levels,
Speaker 1: several levels, as it turns out, but I A and
Speaker 1: A ultimately was the agency that granted this. My computer,
Speaker 1: on the other hand, has a non unique and therefore
Speaker 1: non routable address that works fine for communicating with other
Speaker 1: computers on my network, but wouldn't work if I could
Speaker 1: somehow bypass the router and try to communicate directly with
Speaker 1: the Internet. So what do I mean by that? Well,
Speaker 1: within a network, you need unique addresses, otherwise data is
Speaker 1: not going to know where to go to get to
Speaker 1: the right destination. But network A could have a series
Speaker 1: of addresses, and network B could have the exact same
Speaker 1: series of addresses, And as long as A and B
Speaker 1: are completely self contained, it doesn't matter. Right, all the
Speaker 1: computers on B know what it means to go to
Speaker 1: this particular address, and all the computers on A know
Speaker 1: what it means to go to that exact same address,
Speaker 1: because they only belong to their respective networks. When you
Speaker 1: connect through the Internet, you then have to have another
Speaker 1: layer something else to actually uniquely identify the machine. Otherwise
Speaker 1: it would be as if the house I live in
Speaker 1: and the house you live in have exactly the same
Speaker 1: physical address, but are in two different parts of town.
Speaker 1: That would be incredibly confusing, and we would constantly be
Speaker 1: receiving each other's mail. I think you have my socks,
Speaker 1: but my computer is behind the router. From the perspective
Speaker 1: of the Internet, so my computer is not communicating directly
Speaker 1: with the rest of the Internet. It's communicating through the router.
Speaker 1: It sends data to the router, and then the router
Speaker 1: in turn routes that out to the Internet. So on
Speaker 1: my side of the router, on the company side, I
Speaker 1: don't have a need for a unique IP address. Whenever
Speaker 1: I try to communicate with a machine that is not
Speaker 1: on my private network, non the house stuff works network,
Speaker 1: that message passes through the router, which uses an available
Speaker 1: IP address that it has assigned to it, and then
Speaker 1: sends that message out into the world. The router then
Speaker 1: has to consult what is called an address translation table
Speaker 1: whenever data is coming back to determine which machine on
Speaker 1: our network is the intended recipient. So if I go
Speaker 1: out to say look at a web page. That message
Speaker 1: will go out to the router, which then will assign
Speaker 1: an available IP address to send that out to the Internet.
Speaker 1: The response will come back, the router will look at
Speaker 1: the IP address on that that you know, the intended recipient.
Speaker 1: Use a trend a network translation table to say, all right,
Speaker 1: well who did I give this to? Again? Which which
Speaker 1: computer has this temporary IP address? Oh, it's Jonathan's machine.
Speaker 1: He's the one going to red versus Blue dot com
Speaker 1: and watching cartoons. That's typical, And then it would get
Speaker 1: to me, probably without the actual commentary. Network address translation
Speaker 1: has a lot of other uses, but for the purposes
Speaker 1: of this episode, it really kind of sums up what
Speaker 1: it does via visa the the IPv for shortage. So
Speaker 1: this is a lot of of useful treading a water,
Speaker 1: you might say. In fact, a lot of engineers said
Speaker 1: that the development of stuff like c I, d R
Speaker 1: and n A T extended the useful life of I
Speaker 1: p V four by about twenty years. That's pretty cool,
Speaker 1: but we still clearly have a need to move to
Speaker 1: I p V six, which is going to create so
Speaker 1: many addresses that is very difficult to imagine a time
Speaker 1: when we will run out of them anytime soon. It
Speaker 1: may one day happen, but we're talking trillions upon trillions
Speaker 1: of addresses here, so the deployment is going pretty well.
Speaker 1: It's been a slow process when you consider that it
Speaker 1: was back in that they were first proposing I p
Speaker 1: V six, But it's largely because, at least in the
Speaker 1: commercial world, a lot of entities don't make a move
Speaker 1: until it's absolutely necessary. So once I A and A
Speaker 1: allocated all those remaining I p v four addresses, that's
Speaker 1: when companies said, WHOA, we might need to start working
Speaker 1: on this I p v six thing. We might need
Speaker 1: to start rolling that out and making sure our websites
Speaker 1: are accessible, that our machines can communicate through I p
Speaker 1: V six, because otherwise we're going to run into some
Speaker 1: pretty tough situations. The migration requires software and firmware updates,
Speaker 1: sometimes hardware updates to stuff like routers across the Internet,
Speaker 1: but many I s p s, particularly those big ones
Speaker 1: like the ones that we have here in the United States,
Speaker 1: have largely addressed this. That no one's at a percent
Speaker 1: as far as I can tell, but uh, there are
Speaker 1: a lot of of companies that have gotten to you know,
Speaker 1: the eighties and ninety percentiles of deployment, which is pretty impressive.
Speaker 1: On the consumer side, smartphones pretty much are on the
Speaker 1: i p v six train already, and all current versions
Speaker 1: of operating systems support the i p v six protocol,
Speaker 1: so we're mostly waiting on web servers at this point,
Speaker 1: if I'm being honest. Now. Back in two thousands thirteen,
Speaker 1: cloud Flare CEO Matthew Prince projected that based on the
Speaker 1: adoption rate of i p v six at that time,
Speaker 1: we could celebrate a full migration to i p v
Speaker 1: six on May tenth of so market calendars. Also, I
Speaker 1: should point out it's quite quite likely we're never gonna
Speaker 1: see I p v four abandoned entirely. It's more likely
Speaker 1: that we're gonna see both sets of protocols continue side
Speaker 1: by side. It's just that I p v four addresses
Speaker 1: will eventually be more or less completely locked down. But
Speaker 1: it's very rare to abandon completely a legacy infrastructure, and
Speaker 1: the i p v four framework as a particularly large one.
Speaker 1: So we will continue to see this deployment, will see
Speaker 1: more development on the side of i p v six,
Speaker 1: and uh maybe in a few years it'll we'll see
Speaker 1: that percentage for the top one thousand sites go up
Speaker 1: to above the mark. But it's gonna take some time.
Speaker 1: And honestly, the the measures that have been put in
Speaker 1: place have created enough slack that a lot of people
Speaker 1: who obviously should be thinking hard about the future have
Speaker 1: kind of put it off a bit. They procrastinated. Uh,
Speaker 1: that's not great for all of us, But the bright
Speaker 1: side is we're not going to see the Internet fail.
Speaker 1: I p V six will be more than enough to
Speaker 1: solve this problem. It's just a question of when the
Speaker 1: various entities involved get motivated enough to switch over to
Speaker 1: I p V six. So I don't think that they
Speaker 1: were headed toward a catastrophe at this stage, at least
Speaker 1: not collectively. There might be individual companies out there that
Speaker 1: find themselves scrambling once it gets to a certain point,
Speaker 1: but maybe that'll just mean they'll learn a valuable lesson
Speaker 1: and then the board of directors will change the CEO
Speaker 1: and then the whole thing will start over again. That's cynical.
Speaker 1: We're not gonna talk about that. Let's wrap this up, Hey, guys,
Speaker 1: if you have any suggestions for future episodes of tech Stuff,
Speaker 1: I have a solution for you send me an email
Speaker 1: address is tech stuff at how stuff works dot com,
Speaker 1: or you can drop you a line on Facebook or Twitter.
Speaker 1: The hand over both of those is tech Stuff hs W.
Speaker 1: You can watch me live on twitch dot tv slash
Speaker 1: tech stuff most Wednesdays and Fridays. I'm recording episodes. I'm
Speaker 1: glad to have you guys watch me as I stumble
Speaker 1: through this. I'm so glad that right now I don't
Speaker 1: have anyone watching me because cold medication makes me do
Speaker 1: weird things. Oh and uh, make sure you follow our
Speaker 1: Instagram account. All right, that's it for this episode. Join
Speaker 1: us next time when we talk about something completely unrelated
Speaker 1: to Internet protocols, and I'll talk to you again really soon.
Speaker 1: For more on this and thousands of other topics, how
Speaker 1: stuff works dot com