WEBVTT - TCP and its History

0:00:04.120 --> 0:00:07.160
<v Speaker 1>Get in touch with technology with tech Stuff from how

0:00:07.200 --> 0:00:13.680
<v Speaker 1>stuff Works dot com. Hey there, and welcome to tech Stuff.

0:00:13.680 --> 0:00:16.880
<v Speaker 1>I'm your host, Jonathan Strickland. I'm an executive producer at

0:00:16.920 --> 0:00:20.560
<v Speaker 1>iHeart Radio and how Stuff Works in I love all

0:00:20.800 --> 0:00:25.680
<v Speaker 1>things tech, and recently, as I was looking over tech news,

0:00:25.760 --> 0:00:30.520
<v Speaker 1>I saw that the Venerable Transmission Control Protocol a a

0:00:30.680 --> 0:00:33.680
<v Speaker 1>t c P is getting ready to take its bow

0:00:33.920 --> 0:00:37.560
<v Speaker 1>upon the release of the next version of Hypertext Transfer

0:00:37.600 --> 0:00:40.920
<v Speaker 1>Protocol or h t t P. In other words, it

0:00:40.960 --> 0:00:44.960
<v Speaker 1>will no longer be part of how ht t P works.

0:00:44.960 --> 0:00:47.000
<v Speaker 1>So wait, what does all that mean? That's a whole

0:00:47.040 --> 0:00:50.680
<v Speaker 1>lot of initialisms, and why does it matter. Where did

0:00:50.720 --> 0:00:54.520
<v Speaker 1>TCP come from? Anyway? Well, most of the time we

0:00:54.680 --> 0:00:59.120
<v Speaker 1>group TCP together with Internet Protocol or i P, so

0:00:59.480 --> 0:01:03.000
<v Speaker 1>it's pretty comedy here. People talk about the TCP slash

0:01:03.120 --> 0:01:07.080
<v Speaker 1>i P protocol, but that name is misleading as generally

0:01:07.160 --> 0:01:10.000
<v Speaker 1>what is meant by that is a suite of protocols,

0:01:10.040 --> 0:01:13.320
<v Speaker 1>not just those two. Though. To be fair, when Robert

0:01:13.360 --> 0:01:16.600
<v Speaker 1>Khan invinced SURF we're first working on the transport rules

0:01:16.680 --> 0:01:19.520
<v Speaker 1>of the Internet, they lumped it all together in one

0:01:19.600 --> 0:01:24.160
<v Speaker 1>protocol called t c P, So just a reminder. Let's

0:01:24.160 --> 0:01:28.280
<v Speaker 1>start on the very basic definitions here. A protocol is

0:01:28.360 --> 0:01:32.200
<v Speaker 1>essentially a set of rules or directions. So it's the

0:01:32.200 --> 0:01:35.360
<v Speaker 1>parameters that we create so that computers know what to

0:01:35.440 --> 0:01:38.120
<v Speaker 1>do when we tell them to do stuff. And a

0:01:38.160 --> 0:01:41.520
<v Speaker 1>good protocol should be functional and consistent. You should be

0:01:41.520 --> 0:01:44.639
<v Speaker 1>able to get the same result every time you follow

0:01:44.640 --> 0:01:47.840
<v Speaker 1>those rules if you give the same inputs. Now, while

0:01:47.880 --> 0:01:51.640
<v Speaker 1>there are several protocols in the TCP I P suite,

0:01:51.880 --> 0:01:55.480
<v Speaker 1>the t c P and i P ones are particularly important.

0:01:55.600 --> 0:01:59.360
<v Speaker 1>No big surprise, since that's the ones we use whenever

0:01:59.400 --> 0:02:03.200
<v Speaker 1>we refer to these protocols. So a quick reminder about

0:02:03.320 --> 0:02:08.000
<v Speaker 1>how computers send data over the Internet. Computers do not

0:02:08.320 --> 0:02:11.640
<v Speaker 1>send enormous files all in one go, because that would

0:02:11.639 --> 0:02:14.960
<v Speaker 1>be difficult to scale as the network of computers got

0:02:15.040 --> 0:02:18.760
<v Speaker 1>larger and the file sizes got bigger as well, and

0:02:18.760 --> 0:02:20.640
<v Speaker 1>it would mean that if something were to go wrong

0:02:20.919 --> 0:02:23.799
<v Speaker 1>during the transmission of a file, you would at best

0:02:24.080 --> 0:02:26.680
<v Speaker 1>end up with a corrupt file and you'd have to

0:02:26.720 --> 0:02:29.040
<v Speaker 1>start all over again. At worst, you wouldn't end up

0:02:29.080 --> 0:02:31.840
<v Speaker 1>with anything at all. So either way, you would have

0:02:31.880 --> 0:02:34.360
<v Speaker 1>to figure out how to start up the process so

0:02:34.440 --> 0:02:38.000
<v Speaker 1>to facilitate sending this information across the network so that

0:02:38.080 --> 0:02:42.560
<v Speaker 1>it's not unmanageable. This protocol suite divvies up the file

0:02:42.680 --> 0:02:48.320
<v Speaker 1>into smaller packets of data. Each packet has information associated

0:02:48.360 --> 0:02:51.640
<v Speaker 1>with it that identifies where it is coming from, where

0:02:51.639 --> 0:02:55.000
<v Speaker 1>it is headed on the Internet, and how the information

0:02:55.040 --> 0:02:58.560
<v Speaker 1>contained within the packet fits in with all the other

0:02:58.639 --> 0:03:02.000
<v Speaker 1>packets of information for that same file, so that the

0:03:02.000 --> 0:03:05.239
<v Speaker 1>computer on the other end of the communication channel can

0:03:05.280 --> 0:03:07.200
<v Speaker 1>get all those packets and then put it all back

0:03:07.240 --> 0:03:09.560
<v Speaker 1>together so that you get the file that was sent

0:03:09.800 --> 0:03:15.960
<v Speaker 1>by the first computer. TCP defines how applications can create

0:03:16.080 --> 0:03:21.000
<v Speaker 1>channels of communication across a network. It also manages how

0:03:21.040 --> 0:03:25.120
<v Speaker 1>a message is assembled into those smaller packets before they

0:03:25.160 --> 0:03:28.960
<v Speaker 1>are then transmitted over the Internet and then reassembled at

0:03:28.960 --> 0:03:32.600
<v Speaker 1>the destination address, and it makes sure that the recipient

0:03:32.639 --> 0:03:37.440
<v Speaker 1>computer has actually received each packet in sequence to verify

0:03:37.440 --> 0:03:40.200
<v Speaker 1>that the entire file has made it across. So it's

0:03:40.280 --> 0:03:44.080
<v Speaker 1>kind of an error checking mechanism, or a way of

0:03:44.240 --> 0:03:48.000
<v Speaker 1>ensuring that the information computer A is sending to computer

0:03:48.080 --> 0:03:52.240
<v Speaker 1>B gets to where it's going. Without these rules, you

0:03:52.240 --> 0:03:55.480
<v Speaker 1>would never really be sure if you send something from

0:03:55.480 --> 0:03:58.600
<v Speaker 1>computer A. If computer B got it. This is a

0:03:58.640 --> 0:04:01.120
<v Speaker 1>set of rules that tells computer or be to say, hey,

0:04:01.160 --> 0:04:03.600
<v Speaker 1>by the way, once you get all these, let computer

0:04:03.680 --> 0:04:08.480
<v Speaker 1>A know so that everyone knows that the transmission is complete.

0:04:09.160 --> 0:04:12.080
<v Speaker 1>I P, by the way, defines how to address and

0:04:12.200 --> 0:04:16.240
<v Speaker 1>route each packet to make sure it reaches the right destination.

0:04:16.520 --> 0:04:22.560
<v Speaker 1>It's technically on a layer lower than the TCP protocol. Now,

0:04:22.600 --> 0:04:26.560
<v Speaker 1>way back in the early nineteen seventies, you had a

0:04:26.600 --> 0:04:30.839
<v Speaker 1>team working on a project called ARPA net. This is

0:04:30.839 --> 0:04:33.600
<v Speaker 1>going to go back to DARPA, which I covered in

0:04:33.640 --> 0:04:36.839
<v Speaker 1>a series of episodes recently, so this kind of ties

0:04:36.880 --> 0:04:40.320
<v Speaker 1>in with that more than a little bit. Ar Ponett

0:04:40.480 --> 0:04:43.520
<v Speaker 1>was an early computer network, and in a way it

0:04:43.560 --> 0:04:46.599
<v Speaker 1>was a precursor to the Internet. Remember the Internet is

0:04:46.640 --> 0:04:51.480
<v Speaker 1>a network of networks. Ar Ponnett was a network, period

0:04:52.480 --> 0:04:55.320
<v Speaker 1>and while the team was working on this, they realized

0:04:55.360 --> 0:04:58.320
<v Speaker 1>that the protocols they had been using for our bonnet

0:04:58.560 --> 0:05:02.000
<v Speaker 1>were functional but not scalable. If you were to go

0:05:02.080 --> 0:05:05.960
<v Speaker 1>beyond just one network, if you wanted to connect two

0:05:06.040 --> 0:05:09.560
<v Speaker 1>networks together, you really needed a different solution. And as

0:05:09.600 --> 0:05:13.200
<v Speaker 1>this network would get bigger, the situation would become untenable

0:05:13.640 --> 0:05:15.800
<v Speaker 1>and so some of the team got to work designing

0:05:15.839 --> 0:05:19.839
<v Speaker 1>new sets of rules for networked communication that could keep

0:05:19.880 --> 0:05:23.119
<v Speaker 1>things running smoothly even as the network would get bigger

0:05:23.120 --> 0:05:26.520
<v Speaker 1>and bigger, something that was truly scalable. One of the

0:05:26.560 --> 0:05:29.719
<v Speaker 1>people working on this was a guy named Robert Kahn,

0:05:29.880 --> 0:05:32.520
<v Speaker 1>one of the fathers of the Internet. You often hear

0:05:32.560 --> 0:05:36.360
<v Speaker 1>about him and his buddy Vents Surf, who together would

0:05:36.600 --> 0:05:40.680
<v Speaker 1>create TCP. So Robert Kahn comes on over to DARPA

0:05:40.720 --> 0:05:43.680
<v Speaker 1>and he's part of the I P. T O Department.

0:05:43.880 --> 0:05:48.160
<v Speaker 1>That's the department that's in charge of creating networks and

0:05:48.200 --> 0:05:51.240
<v Speaker 1>that sort of thing. He specifically wanted to replace an

0:05:51.279 --> 0:05:55.120
<v Speaker 1>earlier set of rules, an earlier protocol called the Network

0:05:55.240 --> 0:05:58.719
<v Speaker 1>Control Program or in c P. And the reason for

0:05:58.800 --> 0:06:01.400
<v Speaker 1>that gets a little technical, but I figure we can

0:06:01.440 --> 0:06:04.719
<v Speaker 1>go a bit further than just it doesn't scale well,

0:06:04.800 --> 0:06:07.120
<v Speaker 1>because that doesn't really tell you much. So for just

0:06:07.200 --> 0:06:10.200
<v Speaker 1>a second, let's talk about what con was envisioning back

0:06:10.240 --> 0:06:13.719
<v Speaker 1>in the early nineteen seventies. He wanted a protocol that

0:06:13.839 --> 0:06:16.200
<v Speaker 1>was going to do certain things. He felt that a

0:06:16.200 --> 0:06:19.880
<v Speaker 1>computer scientists had connected these distant computers together using the

0:06:19.920 --> 0:06:22.760
<v Speaker 1>telephone system that created the first wide area network, but

0:06:22.880 --> 0:06:26.799
<v Speaker 1>that was not going to be sustainable on a broader scale.

0:06:27.400 --> 0:06:30.120
<v Speaker 1>He knew that the key component of the network technology

0:06:30.120 --> 0:06:34.080
<v Speaker 1>at our ponet was the Interface Message Processor or i

0:06:34.320 --> 0:06:38.200
<v Speaker 1>MP and MP and an MP is kind of like

0:06:38.360 --> 0:06:41.920
<v Speaker 1>a router. It was a packet switching node that would

0:06:41.920 --> 0:06:45.799
<v Speaker 1>serve as a connection between different computers on our bonnet.

0:06:46.520 --> 0:06:49.880
<v Speaker 1>In addition to imps, the team on our Bonnet was

0:06:50.240 --> 0:06:52.920
<v Speaker 1>working on a host to host protocol which would become

0:06:52.960 --> 0:06:57.159
<v Speaker 1>the network control protocol, and developers began to create applications

0:06:57.440 --> 0:07:00.400
<v Speaker 1>to run on those networks like email and con would

0:07:00.440 --> 0:07:05.120
<v Speaker 1>demonstrate even a twenty node large network in nineteen seventy two,

0:07:05.160 --> 0:07:08.760
<v Speaker 1>so a network consisting of twenty computers. Khan was also

0:07:08.839 --> 0:07:14.000
<v Speaker 1>working on technology for a packet radio network that would

0:07:14.040 --> 0:07:17.440
<v Speaker 1>actually use radio waves to send data back and forth

0:07:17.440 --> 0:07:20.720
<v Speaker 1>across different computers, and that was going to use packet

0:07:20.760 --> 0:07:26.080
<v Speaker 1>switching specifically because radio is tricky stuff. If a signal

0:07:26.320 --> 0:07:30.360
<v Speaker 1>were lost or jammed, then the information that was being

0:07:30.400 --> 0:07:32.800
<v Speaker 1>sent across the network would be lost and you'd end

0:07:32.840 --> 0:07:35.600
<v Speaker 1>up with miscommunications and failures, so you had to have

0:07:35.640 --> 0:07:39.320
<v Speaker 1>a way to deal with this. Originally, Khan had intended

0:07:39.360 --> 0:07:43.440
<v Speaker 1>to develop a protocol specifically for radio packet networks to

0:07:44.040 --> 0:07:47.520
<v Speaker 1>have the sort of error correction mechanism in there, a

0:07:47.560 --> 0:07:51.600
<v Speaker 1>way of guaranteeing that the information from one system would

0:07:51.640 --> 0:07:55.720
<v Speaker 1>get to another, and then this network would be able

0:07:55.760 --> 0:08:00.400
<v Speaker 1>to interface with other networks like arpanet, using the already

0:08:00.520 --> 0:08:04.720
<v Speaker 1>established in CP as a transport layer. But there was

0:08:04.760 --> 0:08:08.120
<v Speaker 1>a big problem. N c P could only address networks

0:08:08.120 --> 0:08:12.000
<v Speaker 1>and machines down to the imp level. N CP would

0:08:12.000 --> 0:08:16.040
<v Speaker 1>rely upon our bonnet itself for end to end reliability,

0:08:16.120 --> 0:08:18.760
<v Speaker 1>so it worked just fine if you were in our

0:08:18.840 --> 0:08:22.680
<v Speaker 1>pannet if your machine was directly connected into that network,

0:08:23.040 --> 0:08:27.600
<v Speaker 1>But if you wanted to interconnect the arpanet network with

0:08:27.720 --> 0:08:31.760
<v Speaker 1>another network, something had to change because n c P

0:08:32.000 --> 0:08:36.280
<v Speaker 1>could not handle identifying and responding to errors and delivering

0:08:36.800 --> 0:08:40.120
<v Speaker 1>information to the computers that were outside of our bannet.

0:08:40.480 --> 0:08:43.800
<v Speaker 1>N CP just didn't have that capability. Arpanet handled everything

0:08:43.800 --> 0:08:46.600
<v Speaker 1>within the network, but it didn't have anything designed to

0:08:46.960 --> 0:08:51.160
<v Speaker 1>handle stuff from outside that network. So at first Kahn

0:08:51.320 --> 0:08:54.800
<v Speaker 1>had planned to only work on the packet radio networks

0:08:54.800 --> 0:08:57.760
<v Speaker 1>and just concentrate on that, but ultimately his quest to

0:08:57.800 --> 0:09:01.439
<v Speaker 1>create a protocol that could ensure message is were arriving

0:09:01.520 --> 0:09:07.200
<v Speaker 1>at their destinations across different networks, expanded beyond just the

0:09:07.200 --> 0:09:12.800
<v Speaker 1>packet radio application. So Cohn wanted an open network architecture,

0:09:13.160 --> 0:09:16.920
<v Speaker 1>something that would allow any sort of networked system to

0:09:17.120 --> 0:09:20.560
<v Speaker 1>interconnect with another and still have rules in place to

0:09:20.800 --> 0:09:24.040
<v Speaker 1>ensure that the data was getting to where it needed

0:09:24.080 --> 0:09:27.760
<v Speaker 1>to go. So Robert Kahn and vent Surf were two

0:09:27.800 --> 0:09:30.720
<v Speaker 1>computer scientists who were working on this. They were the

0:09:30.800 --> 0:09:34.720
<v Speaker 1>authors of these protocols. Vent Surf had been one of

0:09:34.720 --> 0:09:37.880
<v Speaker 1>the people to create in CP well fun fact, by

0:09:37.920 --> 0:09:41.880
<v Speaker 1>the way, TCP did not originally stand for Transmission control

0:09:41.960 --> 0:09:46.040
<v Speaker 1>Protocol back when con and Surf first proposed it. Instead,

0:09:46.559 --> 0:09:50.800
<v Speaker 1>it stood for Transmission Control Program, and that's a subtle difference,

0:09:50.840 --> 0:09:54.199
<v Speaker 1>to be sure. They wrote the first version of TCP

0:09:54.480 --> 0:09:58.280
<v Speaker 1>in ninety three, and they published a fully documented and

0:09:58.360 --> 0:10:04.760
<v Speaker 1>revised version in four under RFC six. It was specifically

0:10:04.760 --> 0:10:10.360
<v Speaker 1>titled Specification of Internet Transmission Control Program. Not long after

0:10:10.400 --> 0:10:13.280
<v Speaker 1>the initial creation, other folks began to realize that it

0:10:13.360 --> 0:10:16.280
<v Speaker 1>might be a better idea to break out the functions

0:10:16.320 --> 0:10:19.520
<v Speaker 1>of t c P into two sets of protocols, and

0:10:19.559 --> 0:10:22.760
<v Speaker 1>that's where we get t c P I P. Because, again,

0:10:22.800 --> 0:10:25.360
<v Speaker 1>before it was all lumped together, and then they figured

0:10:25.440 --> 0:10:28.800
<v Speaker 1>this would make more sense if we separated them out

0:10:28.880 --> 0:10:32.319
<v Speaker 1>into two sets of rules. The creation of t C

0:10:32.520 --> 0:10:37.040
<v Speaker 1>P I P predates the Open Systems Interconnection or O

0:10:37.280 --> 0:10:39.599
<v Speaker 1>S I layer model. And I've talked about the O

0:10:39.760 --> 0:10:42.600
<v Speaker 1>SI model in a past episode of tech Stuff. But

0:10:42.720 --> 0:10:45.800
<v Speaker 1>the O SI model describes how different parts of a

0:10:45.800 --> 0:10:50.600
<v Speaker 1>telecommunications or computer system communicate with one another. They have

0:10:50.880 --> 0:10:54.760
<v Speaker 1>layers to describe the different functions. But T C P

0:10:54.960 --> 0:10:57.959
<v Speaker 1>I P layers are are pretty similar to O SI layers,

0:10:58.160 --> 0:11:00.160
<v Speaker 1>so we can we can talk about the two as

0:11:00.200 --> 0:11:04.960
<v Speaker 1>being at least somewhat analogous. It's an abstract idea that's

0:11:05.000 --> 0:11:09.160
<v Speaker 1>meant to describe how each layer fits within a grand scheme.

0:11:09.400 --> 0:11:12.240
<v Speaker 1>So layers that are near the bottom of the stack

0:11:12.760 --> 0:11:15.319
<v Speaker 1>support all the layers that are on top of it.

0:11:15.720 --> 0:11:19.720
<v Speaker 1>Layers at the top do not necessarily support any other layers.

0:11:19.760 --> 0:11:22.600
<v Speaker 1>They rely on the ones below them, but they don't

0:11:22.640 --> 0:11:26.120
<v Speaker 1>support anything any layers above them. And again this is

0:11:26.160 --> 0:11:31.160
<v Speaker 1>an abstraction. There are not actual literal layers in these systems,

0:11:31.200 --> 0:11:34.840
<v Speaker 1>but within this framework, you could say TCP would be

0:11:34.920 --> 0:11:38.280
<v Speaker 1>on layer four. That would be the transport layer. The

0:11:38.320 --> 0:11:42.360
<v Speaker 1>Internet protocol is one layer further down. It's on layer three,

0:11:42.840 --> 0:11:46.640
<v Speaker 1>meaning it is a little closer to the basic hardware

0:11:46.760 --> 0:11:50.480
<v Speaker 1>layer of the system. That's the lowest layer is the hardware,

0:11:51.080 --> 0:11:55.080
<v Speaker 1>and that uh means that the i P protocol supports

0:11:55.120 --> 0:11:59.880
<v Speaker 1>the TCP protocols above it and above TCP are the

0:12:00.080 --> 0:12:03.880
<v Speaker 1>application layers where you have stuff like file Transfer Protocol,

0:12:04.360 --> 0:12:07.520
<v Speaker 1>email and h T t P. Those are all on

0:12:07.600 --> 0:12:10.400
<v Speaker 1>top of it. I've got more to say about what

0:12:10.520 --> 0:12:13.240
<v Speaker 1>TCP is and what it does in just a moment,

0:12:13.240 --> 0:12:16.440
<v Speaker 1>but first let's take a quick break to thank our sponsor.

0:12:23.960 --> 0:12:27.720
<v Speaker 1>So when laying out the rules for TCP, bob con

0:12:27.760 --> 0:12:31.160
<v Speaker 1>had a few requirements and this is from the Internet

0:12:31.160 --> 0:12:34.800
<v Speaker 1>Society's page on the History of the Internet, and they

0:12:34.800 --> 0:12:38.080
<v Speaker 1>were each distinct network would have to stand on its

0:12:38.080 --> 0:12:42.240
<v Speaker 1>own and no internal changes should be required to any

0:12:42.280 --> 0:12:47.320
<v Speaker 1>such network to connect it to the Internet. Next, communications

0:12:47.480 --> 0:12:50.600
<v Speaker 1>would be on a best effort basis, so if a

0:12:50.640 --> 0:12:53.920
<v Speaker 1>packet did not make it to the final destination, it

0:12:53.960 --> 0:12:57.920
<v Speaker 1>would shortly be retransmitted from the source. So this is

0:12:58.000 --> 0:13:02.640
<v Speaker 1>the error correction part. A packet on its way to

0:13:03.360 --> 0:13:07.240
<v Speaker 1>computer B never makes it, then computer A will retransmit

0:13:07.320 --> 0:13:10.720
<v Speaker 1>that same packet black boxes would be used to connect

0:13:10.760 --> 0:13:14.240
<v Speaker 1>these networks. These would later be called gateways and routers,

0:13:14.720 --> 0:13:18.160
<v Speaker 1>and there would be no information retained by the gateways

0:13:18.240 --> 0:13:22.120
<v Speaker 1>about the individual flows of packets passing through them, thereby

0:13:22.240 --> 0:13:25.640
<v Speaker 1>just keeping them very simple and avoiding complicated adaptation and

0:13:25.679 --> 0:13:28.880
<v Speaker 1>recovery from various failure modes. So they were really just

0:13:29.679 --> 0:13:35.480
<v Speaker 1>a means of controlling traffic flow, but not monitoring traffic flow,

0:13:35.920 --> 0:13:39.240
<v Speaker 1>and there would be no global control at the operations level.

0:13:39.400 --> 0:13:42.680
<v Speaker 1>Those were his requirements. Those would develop into more granular

0:13:42.760 --> 0:13:46.920
<v Speaker 1>requirements as the work would continue on the protocols. And

0:13:47.040 --> 0:13:51.240
<v Speaker 1>Vince Surf did a really really good explanation about how

0:13:51.320 --> 0:13:54.679
<v Speaker 1>TCP works in a short video, and he used a

0:13:54.720 --> 0:13:58.360
<v Speaker 1>postcard analogy, and I highly recommend checking it out because

0:13:59.040 --> 0:14:01.680
<v Speaker 1>he just puts it very simply. I'm gonna kind of

0:14:01.720 --> 0:14:06.000
<v Speaker 1>paraphrase what he said here. He compared TCP to sending

0:14:06.240 --> 0:14:09.080
<v Speaker 1>a book to a friend, and you're using the postal service,

0:14:10.080 --> 0:14:13.200
<v Speaker 1>except your postal service is very peculiar. They will not

0:14:13.400 --> 0:14:17.240
<v Speaker 1>carry anything other than postcards. So you cannot actually send

0:14:17.240 --> 0:14:20.720
<v Speaker 1>the physical book as is to your friend because the

0:14:20.800 --> 0:14:23.320
<v Speaker 1>post office is not gonna carry that. So what you

0:14:23.400 --> 0:14:27.040
<v Speaker 1>have to do is cut your book up so that

0:14:27.080 --> 0:14:31.920
<v Speaker 1>you can fit maybe about half a page on a postcard,

0:14:32.240 --> 0:14:34.280
<v Speaker 1>and then you can send that postcard through the mail,

0:14:34.680 --> 0:14:37.240
<v Speaker 1>and then you have to send all of the book

0:14:37.560 --> 0:14:39.520
<v Speaker 1>in a series of postcards to your friend. But then

0:14:39.600 --> 0:14:42.040
<v Speaker 1>you realize, hey, wait, because of the way I have

0:14:42.120 --> 0:14:46.000
<v Speaker 1>to cut up this book, sometimes there's no indication there

0:14:46.040 --> 0:14:48.760
<v Speaker 1>about a page number, so there's no way of knowing

0:14:48.920 --> 0:14:52.440
<v Speaker 1>just on the page where this page fits in relation

0:14:52.480 --> 0:14:55.080
<v Speaker 1>to the rest of the book. So then you number

0:14:55.480 --> 0:14:58.840
<v Speaker 1>every single postcard, and that way your friend knows what

0:14:59.120 --> 0:15:01.960
<v Speaker 1>order they go in, they know the sequence, so there's

0:15:02.320 --> 0:15:05.760
<v Speaker 1>no guarantee that any one postcard will actually make it

0:15:05.760 --> 0:15:08.240
<v Speaker 1>all the way through. There's also no guarantee your friend

0:15:08.280 --> 0:15:10.880
<v Speaker 1>will receive the postcards in the same order that you

0:15:11.000 --> 0:15:14.360
<v Speaker 1>sent them. But by numbering, your friend will know which

0:15:14.400 --> 0:15:17.800
<v Speaker 1>postcards they have received. So if they get postcard number

0:15:17.840 --> 0:15:21.080
<v Speaker 1>eighty three but they didn't get postcard number A D two,

0:15:21.360 --> 0:15:23.960
<v Speaker 1>they can send you a message alerting you that they

0:15:24.000 --> 0:15:27.200
<v Speaker 1>are missing one, and you can read, transmit or re send,

0:15:27.640 --> 0:15:29.840
<v Speaker 1>so your friend can send a postcard back to you.

0:15:30.040 --> 0:15:32.680
<v Speaker 1>Essentially says, hey, I got all the postcards up to

0:15:32.760 --> 0:15:35.560
<v Speaker 1>number eighty two or whatever. But that's it, and this

0:15:35.560 --> 0:15:38.160
<v Speaker 1>would let you know that you need to resend those postcards,

0:15:38.240 --> 0:15:40.280
<v Speaker 1>which means you have to keep a copy of the

0:15:40.320 --> 0:15:43.560
<v Speaker 1>postcards you've submitted. You can't just send your only copy

0:15:43.720 --> 0:15:48.200
<v Speaker 1>because you'd be up the creek if your buddy says, hey,

0:15:48.240 --> 0:15:51.160
<v Speaker 1>I didn't get that, and if nothing comes back to you,

0:15:51.200 --> 0:15:55.120
<v Speaker 1>if your friend never says, oh, I received everything, then

0:15:55.160 --> 0:15:58.200
<v Speaker 1>you would have to start re sending postcards until you

0:15:58.320 --> 0:16:00.800
<v Speaker 1>finally got a message that says, hey, a toad, scut

0:16:00.800 --> 0:16:02.480
<v Speaker 1>all the postcards, thank you, I'm going to read the

0:16:02.520 --> 0:16:04.720
<v Speaker 1>book now, or whatever it might be. But that's how

0:16:04.760 --> 0:16:08.280
<v Speaker 1>TCP works. But instead of it being you know, physical postcards,

0:16:08.320 --> 0:16:12.320
<v Speaker 1>we're talking digital information. There's never a guarantee that the

0:16:12.360 --> 0:16:14.880
<v Speaker 1>information you send is actually going to get to your

0:16:14.920 --> 0:16:19.160
<v Speaker 1>destination or that will all arrive sequentially. But these safeguards

0:16:19.200 --> 0:16:21.920
<v Speaker 1>mean that your computer will know when to send stuff

0:16:21.960 --> 0:16:26.280
<v Speaker 1>again to guarantee transmission. The United States Department of Defense

0:16:26.360 --> 0:16:31.080
<v Speaker 1>adopted TCP i P as a standard in nineteen eighty.

0:16:31.280 --> 0:16:35.200
<v Speaker 1>DARPA was able to change over in advance of everyone else,

0:16:35.480 --> 0:16:39.240
<v Speaker 1>which allowed for partitioning of the military networks from non

0:16:39.320 --> 0:16:42.120
<v Speaker 1>military networks, and that would carry forward, so you have

0:16:42.240 --> 0:16:44.920
<v Speaker 1>mill net that's its own separate network that's based on

0:16:45.440 --> 0:16:49.120
<v Speaker 1>essentially the same architecture as the general Internet. T c

0:16:49.320 --> 0:16:52.880
<v Speaker 1>P i P would become the official transport layer for

0:16:53.080 --> 0:16:57.680
<v Speaker 1>ar PONNETT on January one, nine three. This was called

0:16:57.760 --> 0:17:00.720
<v Speaker 1>a flag day. Now, that is an event that involves

0:17:00.920 --> 0:17:06.040
<v Speaker 1>incorporating a critical change in a very large system UH

0:17:06.040 --> 0:17:08.800
<v Speaker 1>in a simultaneous way, like it has to change throughout

0:17:08.840 --> 0:17:12.160
<v Speaker 1>the system the same time, UH, and that is really

0:17:12.200 --> 0:17:14.480
<v Speaker 1>tricky to do. The bigger the system, obviously, the harder

0:17:14.520 --> 0:17:17.400
<v Speaker 1>it is for you to make a global change all

0:17:17.440 --> 0:17:20.400
<v Speaker 1>at the same time. The transition had been planned out

0:17:20.400 --> 0:17:24.400
<v Speaker 1>for years in advance because this would require network administrators

0:17:24.400 --> 0:17:26.400
<v Speaker 1>to change over to the t c P i P

0:17:26.400 --> 0:17:29.920
<v Speaker 1>protocol all at the same time, and surprisingly it went

0:17:29.960 --> 0:17:33.359
<v Speaker 1>off without any really major problems, So that's pretty cool.

0:17:34.000 --> 0:17:38.359
<v Speaker 1>By the mid nineteen eighties, the Internet was an established thing,

0:17:38.680 --> 0:17:41.480
<v Speaker 1>though really only a relatively small number of people were

0:17:41.520 --> 0:17:44.280
<v Speaker 1>aware of it. If you worked at DARPA, or if

0:17:44.320 --> 0:17:46.880
<v Speaker 1>you were at a university with a really good computer

0:17:46.960 --> 0:17:50.280
<v Speaker 1>science curriculum, or maybe you worked in a research facility,

0:17:51.200 --> 0:17:54.400
<v Speaker 1>or maybe you were in the military, then you might

0:17:54.720 --> 0:17:57.640
<v Speaker 1>know about it. A few other government offices also were

0:17:57.720 --> 0:18:02.560
<v Speaker 1>on the early Internet, but apart from that and a

0:18:02.600 --> 0:18:06.080
<v Speaker 1>few major businesses, it was largely a thing of mystery.

0:18:06.440 --> 0:18:09.480
<v Speaker 1>The general public was pretty much ignorant of the Internet

0:18:09.560 --> 0:18:12.520
<v Speaker 1>for almost a decade. It wouldn't be until the emergence

0:18:12.520 --> 0:18:14.960
<v Speaker 1>of the World Wide Web that more people would become

0:18:15.000 --> 0:18:18.000
<v Speaker 1>aware of the Internet, and in fact, at that point,

0:18:18.080 --> 0:18:21.320
<v Speaker 1>the Worldwide Web and the Internet would often be confused

0:18:21.320 --> 0:18:24.160
<v Speaker 1>as meaning the same thing for a lot of people.

0:18:24.200 --> 0:18:26.880
<v Speaker 1>A lot of people would refer to the Worldwide Web

0:18:26.920 --> 0:18:30.240
<v Speaker 1>as the Internet, not realizing that really the world Wide

0:18:30.240 --> 0:18:34.560
<v Speaker 1>Web is one application built on top of the Internet,

0:18:35.040 --> 0:18:38.800
<v Speaker 1>it is not itself the Internet. In the early nineties, uh,

0:18:38.840 --> 0:18:42.120
<v Speaker 1>speaking of the Web, a guy named Tim berners Lee,

0:18:42.400 --> 0:18:46.000
<v Speaker 1>he was working for a little scientific research organization called CERN,

0:18:46.400 --> 0:18:48.600
<v Speaker 1>had a bright idea. And his idea was for an

0:18:48.640 --> 0:18:52.800
<v Speaker 1>application protocol on top of the Internet that would facilitate

0:18:52.840 --> 0:18:58.520
<v Speaker 1>communications between client computers and server computers, including file transfers

0:18:58.640 --> 0:19:00.879
<v Speaker 1>and the ability for a sir her to refer a

0:19:00.960 --> 0:19:03.879
<v Speaker 1>client to a different server. And that would be the

0:19:03.920 --> 0:19:07.119
<v Speaker 1>foundation for the Worldwide Web. And just in case you

0:19:07.119 --> 0:19:10.080
<v Speaker 1>didn't pick up on my stupid joke. CERN is not

0:19:10.320 --> 0:19:14.720
<v Speaker 1>a little scientific research organization. It's the European Organization for

0:19:14.840 --> 0:19:19.479
<v Speaker 1>Nuclear Research and it is a huge, huge deal. Among

0:19:19.800 --> 0:19:24.120
<v Speaker 1>the many things it does is oversee the large Hadron collider,

0:19:24.520 --> 0:19:29.920
<v Speaker 1>so big, big organization. Ultimately, the purpose of h t

0:19:30.119 --> 0:19:33.639
<v Speaker 1>t P, which was created by Tim berners Lee, was

0:19:33.800 --> 0:19:37.760
<v Speaker 1>to create a means of linking different documents together through

0:19:37.880 --> 0:19:40.640
<v Speaker 1>what is called hypertext. And you've seen these. These are

0:19:40.640 --> 0:19:43.480
<v Speaker 1>those highlighted words and web pages, and when you click

0:19:43.520 --> 0:19:45.959
<v Speaker 1>on it, you go to a different web page. And

0:19:46.000 --> 0:19:48.679
<v Speaker 1>that's the whole point is clicking on hypertext sends a

0:19:48.680 --> 0:19:52.119
<v Speaker 1>command to navigate to a new page. And because the

0:19:52.240 --> 0:19:55.639
<v Speaker 1>rules for h T t P allow for one server

0:19:56.080 --> 0:19:59.240
<v Speaker 1>to refer a client to another server, those two web

0:19:59.240 --> 0:20:02.320
<v Speaker 1>pages don't have a quote unquote live on the same

0:20:02.359 --> 0:20:06.520
<v Speaker 1>server together. So we're talking about the very basic foundation

0:20:06.560 --> 0:20:10.919
<v Speaker 1>of how the Worldwide Web works with the interlinking documents

0:20:10.960 --> 0:20:13.720
<v Speaker 1>that allow you to hop from one page or one

0:20:13.800 --> 0:20:19.680
<v Speaker 1>site to another. The features of HTTP version zero point nine,

0:20:19.920 --> 0:20:23.000
<v Speaker 1>which was the first one released to the public, included

0:20:23.119 --> 0:20:29.200
<v Speaker 1>the following clients Server Request Response Protocol as key protocol

0:20:29.320 --> 0:20:32.600
<v Speaker 1>running over a t C p I P link. It

0:20:32.720 --> 0:20:36.000
<v Speaker 1>was designed to transfer hypertext documents or h t m

0:20:36.160 --> 0:20:39.600
<v Speaker 1>L and the connection between server and client is closed

0:20:39.680 --> 0:20:43.439
<v Speaker 1>after every request. And that's it. It was bare bones stuff,

0:20:43.720 --> 0:20:47.520
<v Speaker 1>but this was the beginning of something truly transformational. In fact,

0:20:48.280 --> 0:20:50.919
<v Speaker 1>I could honestly say I would not have the career

0:20:51.000 --> 0:20:58.480
<v Speaker 1>I have without this invention. So from the h t

0:20:58.480 --> 0:21:02.520
<v Speaker 1>t P standard of pretty quickly, Tim burns Lee had

0:21:02.520 --> 0:21:05.040
<v Speaker 1>set the stage, and then a team at the National

0:21:05.119 --> 0:21:09.359
<v Speaker 1>Center of Supercomputing Applications or in c s A made

0:21:09.400 --> 0:21:13.359
<v Speaker 1>the first popular web browser called Mosaic. One of the

0:21:13.400 --> 0:21:16.880
<v Speaker 1>programmers on that team was a guy named Mark Andreason,

0:21:17.240 --> 0:21:20.359
<v Speaker 1>who went on to co found the Mosaic Corporation and

0:21:20.400 --> 0:21:25.119
<v Speaker 1>eventually publish a new browser called Netscape. Now, at that

0:21:25.240 --> 0:21:29.480
<v Speaker 1>same time, the Internet Engineering Task Force was organizing a

0:21:29.480 --> 0:21:33.720
<v Speaker 1>team called the ht t P Working Group dedicated to

0:21:33.840 --> 0:21:39.240
<v Speaker 1>improving this HTTP protocol, and it was quickly developing in

0:21:39.440 --> 0:21:42.360
<v Speaker 1>several different directions. And by that I mean a lot

0:21:42.359 --> 0:21:46.200
<v Speaker 1>of different people had started by taking the version zero

0:21:46.280 --> 0:21:49.800
<v Speaker 1>point nine h t t P and then tweaking it

0:21:50.200 --> 0:21:55.560
<v Speaker 1>independently of each other. So it's evolving in different directions simultaneously.

0:21:56.560 --> 0:22:00.359
<v Speaker 1>So while there's a shorthand that refers to h t

0:22:00.359 --> 0:22:04.000
<v Speaker 1>t P one point oh. There is not an actual

0:22:04.359 --> 0:22:09.040
<v Speaker 1>standard one point oh. There were many quote unquote flavors

0:22:09.040 --> 0:22:11.320
<v Speaker 1>of one point oh because there were so many different

0:22:11.880 --> 0:22:15.480
<v Speaker 1>variations on that, the I E. T F Working Group

0:22:15.760 --> 0:22:20.399
<v Speaker 1>would publish a standard for HTTP Protocol version one point

0:22:20.520 --> 0:22:25.800
<v Speaker 1>one under RFC two zero six eight if you want

0:22:25.800 --> 0:22:29.560
<v Speaker 1>to read it. It's a little technical, but this version

0:22:29.600 --> 0:22:32.720
<v Speaker 1>would be tweaked and updated before it was officially released.

0:22:32.760 --> 0:22:37.960
<v Speaker 1>In Version two point oh of h T t P

0:22:38.480 --> 0:22:42.959
<v Speaker 1>wouldn't come out until two thousand fifteen. That is a

0:22:43.040 --> 0:22:46.080
<v Speaker 1>long time between versions one point one came out in

0:22:47.080 --> 0:22:51.480
<v Speaker 1>two point oh and two thousand fifteen, and only about

0:22:51.480 --> 0:22:55.080
<v Speaker 1>a third of all websites in the world today support

0:22:55.680 --> 0:22:59.240
<v Speaker 1>version two point oh as the standard. Most websites are

0:22:59.240 --> 0:23:02.920
<v Speaker 1>still using one point oh or one point one, So

0:23:03.200 --> 0:23:06.440
<v Speaker 1>it may come as something of a surprise to hear

0:23:06.800 --> 0:23:09.600
<v Speaker 1>that h T t P three point oh is right

0:23:09.640 --> 0:23:12.359
<v Speaker 1>around the corner when not even a majority of sites

0:23:12.680 --> 0:23:15.240
<v Speaker 1>are on the most recent version of two point oh,

0:23:15.359 --> 0:23:19.320
<v Speaker 1>and perhaps an even bigger surprises that, unlike the earlier versions,

0:23:19.920 --> 0:23:24.600
<v Speaker 1>this h T t P protocol will not rely upon

0:23:24.720 --> 0:23:27.320
<v Speaker 1>t c P. I'll explain more in just a second,

0:23:27.320 --> 0:23:39.080
<v Speaker 1>but first let's take another quick break to thank our sponsor. Okay,

0:23:39.760 --> 0:23:44.160
<v Speaker 1>So why would h T t P three point oh

0:23:44.560 --> 0:23:47.480
<v Speaker 1>ditch TCP, which has been a part of the framework

0:23:47.680 --> 0:23:51.640
<v Speaker 1>of the Internet since the very beginning, since before there

0:23:51.960 --> 0:23:55.560
<v Speaker 1>was an Internet. Well, it mostly comes down to two

0:23:55.600 --> 0:24:00.240
<v Speaker 1>big things, speed and efficiency. So when Robert Cohn and

0:24:00.280 --> 0:24:03.280
<v Speaker 1>when vent surf we're working on TCP, they were building

0:24:03.280 --> 0:24:07.240
<v Speaker 1>out a protocol to handle any sort of application that

0:24:07.280 --> 0:24:10.280
<v Speaker 1>would be built on top of what was to become

0:24:10.280 --> 0:24:13.520
<v Speaker 1>the Internet. So and it has a very much a

0:24:13.600 --> 0:24:17.399
<v Speaker 1>one size fits all kind of approach to that it

0:24:17.480 --> 0:24:20.280
<v Speaker 1>provided useful or really I mean, at this point I

0:24:20.280 --> 0:24:25.440
<v Speaker 1>should just say necessary set of features to facilitate communication.

0:24:25.960 --> 0:24:30.880
<v Speaker 1>But some of those are excessive or not as pertinent

0:24:31.080 --> 0:24:33.560
<v Speaker 1>to the types of traffic that happened over h T

0:24:33.760 --> 0:24:38.320
<v Speaker 1>t P, or they impede some of the functions that

0:24:38.600 --> 0:24:42.520
<v Speaker 1>htt P handles. For example, in an effort to establish

0:24:42.880 --> 0:24:47.360
<v Speaker 1>a connection between a client and a server, TCP requires

0:24:47.400 --> 0:24:51.880
<v Speaker 1>a number of back and forth messages, essentially saying, hey

0:24:51.920 --> 0:24:55.840
<v Speaker 1>over there, services, Yeah, what is it? Client says, I

0:24:55.840 --> 0:24:57.880
<v Speaker 1>want to talk to you? The services all right? Hang

0:24:57.920 --> 0:25:00.760
<v Speaker 1>on a second, and the computer says now, good time,

0:25:00.800 --> 0:25:02.639
<v Speaker 1>and the services yeah, yeah, let's go ahead and do that.

0:25:03.640 --> 0:25:06.199
<v Speaker 1>It's far more technical than that, but there's this series

0:25:06.240 --> 0:25:09.280
<v Speaker 1>that goes back and forth in order for a communication

0:25:09.359 --> 0:25:13.480
<v Speaker 1>channel to be established between client and server. That gets

0:25:13.520 --> 0:25:17.040
<v Speaker 1>even more complicated if you want to have an encrypted

0:25:17.160 --> 0:25:21.840
<v Speaker 1>connection over Secure socket Layer or s s L using

0:25:21.920 --> 0:25:24.879
<v Speaker 1>a website. So you know the little lock that you

0:25:24.960 --> 0:25:28.000
<v Speaker 1>see in the address bar when you visit a secure website,

0:25:28.240 --> 0:25:31.800
<v Speaker 1>that's part of s SL. Well, to establish that kind

0:25:31.840 --> 0:25:35.400
<v Speaker 1>of connection between your computer or your computer's browser, which

0:25:35.440 --> 0:25:39.160
<v Speaker 1>is the client, and the server which houses the website

0:25:39.160 --> 0:25:42.680
<v Speaker 1>you're visiting to, it requires even more round trips between

0:25:42.800 --> 0:25:46.560
<v Speaker 1>the two to first establish the connectivity and then established

0:25:46.640 --> 0:25:50.879
<v Speaker 1>the encrypted communications. So the process is good for making

0:25:50.920 --> 0:25:54.280
<v Speaker 1>sure that there is an actual route for data to follow,

0:25:54.480 --> 0:25:57.520
<v Speaker 1>but it's not the most straightforward approach if you want

0:25:57.520 --> 0:26:03.040
<v Speaker 1>to use HTTP, particularly if you want to use encrypted connections.

0:26:03.720 --> 0:26:08.879
<v Speaker 1>There is another protocol, however, called User Data Gram Protocol

0:26:09.400 --> 0:26:12.399
<v Speaker 1>or u d P, and that can serve as the

0:26:12.480 --> 0:26:16.119
<v Speaker 1>foundation for a new transport layer for h T t

0:26:16.280 --> 0:26:19.960
<v Speaker 1>P three point oh. U d P has a big

0:26:20.000 --> 0:26:23.919
<v Speaker 1>advantage over TCP. It is incredibly simple and it is

0:26:23.960 --> 0:26:28.360
<v Speaker 1>incredibly fast. It is a transport layer protocol just like TCP,

0:26:28.800 --> 0:26:33.640
<v Speaker 1>but unlike TCP, u DP does not have the same

0:26:33.680 --> 0:26:38.480
<v Speaker 1>features to ensure communications are established or successful, so that

0:26:38.560 --> 0:26:42.600
<v Speaker 1>could be a big drawback. Right. U DP transmissions are unordered,

0:26:43.040 --> 0:26:47.200
<v Speaker 1>so a later message can arrive ahead of an earlier one,

0:26:47.520 --> 0:26:49.679
<v Speaker 1>and that can be very confusing if you haven't built

0:26:49.680 --> 0:26:52.680
<v Speaker 1>in a way of dealing with that. There's also no

0:26:52.800 --> 0:26:55.880
<v Speaker 1>means for the receiving computer to know if something has

0:26:55.920 --> 0:26:59.200
<v Speaker 1>gone wrong, if packets go missing, like it doesn't know

0:26:59.680 --> 0:27:02.600
<v Speaker 1>if doesn't have all the different pieces, if it's just

0:27:02.680 --> 0:27:05.680
<v Speaker 1>over pure U d P. But U d P can

0:27:05.720 --> 0:27:08.280
<v Speaker 1>act as a base to build upon. It doesn't have

0:27:08.440 --> 0:27:10.919
<v Speaker 1>to be uh. The protocols don't have to be the

0:27:11.000 --> 0:27:14.240
<v Speaker 1>end all be all. That's your starting point. So Google

0:27:14.600 --> 0:27:17.040
<v Speaker 1>has taken you U d P as its starting point

0:27:17.520 --> 0:27:20.919
<v Speaker 1>and built upon it to create an experimental network protocol

0:27:21.520 --> 0:27:25.320
<v Speaker 1>called q U I C for Quick U d P

0:27:25.960 --> 0:27:29.959
<v Speaker 1>Internet Connections. The I E t F has taken this

0:27:30.040 --> 0:27:34.359
<v Speaker 1>experimental protocol and worked on creating a standardized version, which

0:27:34.560 --> 0:27:38.080
<v Speaker 1>in some ways has moved away from what Google's initial

0:27:38.160 --> 0:27:40.760
<v Speaker 1>design was all about, But the writing is on the

0:27:40.800 --> 0:27:43.520
<v Speaker 1>wall for t c P as far as the h

0:27:43.680 --> 0:27:47.760
<v Speaker 1>t t P standard is concerned. Moving forward, the transport

0:27:47.840 --> 0:27:51.240
<v Speaker 1>layer that was initially published in the nineteen seventies is

0:27:51.280 --> 0:27:54.840
<v Speaker 1>going to have to make way for a lighter, more agile,

0:27:55.000 --> 0:27:58.760
<v Speaker 1>and less cumbersome standard. In addition to the move away

0:27:58.840 --> 0:28:01.600
<v Speaker 1>from t c P, the new version of h T

0:28:01.760 --> 0:28:06.080
<v Speaker 1>t P will be more secure. QUICK, as designed by Google,

0:28:06.280 --> 0:28:11.040
<v Speaker 1>transports data by encrypting it by default, is not the

0:28:11.119 --> 0:28:14.760
<v Speaker 1>added layer on top of everything. It is the default layer.

0:28:15.200 --> 0:28:18.159
<v Speaker 1>Google's build, which is sometimes called h t t P

0:28:18.600 --> 0:28:23.119
<v Speaker 1>over QUICK, is supported in the latest versions of Google

0:28:23.200 --> 0:28:27.040
<v Speaker 1>Chrome and in the Opera web browser. Right now, only

0:28:27.080 --> 0:28:29.520
<v Speaker 1>a few websites actually make use of it, most of

0:28:29.520 --> 0:28:33.520
<v Speaker 1>them belong to Google, though Facebook has also been incorporating it.

0:28:33.520 --> 0:28:35.920
<v Speaker 1>It's going to be a really long path to travel

0:28:36.320 --> 0:28:40.640
<v Speaker 1>to get widespread adoption because right now less than two

0:28:40.640 --> 0:28:46.640
<v Speaker 1>percent of all websites support QUICK. Meanwhile, TCP will still

0:28:46.680 --> 0:28:49.400
<v Speaker 1>be in use. Just because it's being phased out of

0:28:49.440 --> 0:28:52.840
<v Speaker 1>future versions of h T t P does not mean

0:28:52.840 --> 0:28:56.600
<v Speaker 1>that this protocol is completely obsolete. As I mentioned earlier

0:28:56.600 --> 0:29:00.480
<v Speaker 1>in this episode, the Worldwide Web is just one implication

0:29:00.560 --> 0:29:03.040
<v Speaker 1>on top of the Internet, there are lots of others

0:29:03.280 --> 0:29:06.960
<v Speaker 1>that will still make use of that venerable set of rules,

0:29:07.240 --> 0:29:10.680
<v Speaker 1>and some websites may never move off of it, since

0:29:10.720 --> 0:29:15.040
<v Speaker 1>it requires work to make the transition, and let's be honest,

0:29:15.120 --> 0:29:18.480
<v Speaker 1>it's not always the highest priority for some businesses that

0:29:18.600 --> 0:29:22.200
<v Speaker 1>maintain websites out there. But it is interesting to me

0:29:22.280 --> 0:29:25.560
<v Speaker 1>to see this move away from TCP. I have always

0:29:25.600 --> 0:29:30.240
<v Speaker 1>associated TCP as being a truly integral part of the Internet,

0:29:30.320 --> 0:29:33.400
<v Speaker 1>and it still will be. It just won't necessarily be

0:29:33.800 --> 0:29:38.120
<v Speaker 1>as integral to web browsing as it used to be.

0:29:38.640 --> 0:29:41.960
<v Speaker 1>Fascinating stuff to me. I hope you guys enjoyed this episode.

0:29:41.960 --> 0:29:44.600
<v Speaker 1>I know it got a little more uh techie with

0:29:44.720 --> 0:29:48.080
<v Speaker 1>the protocols than usual, but I thought this was a

0:29:48.080 --> 0:29:51.240
<v Speaker 1>big deal and one that maybe, probably I'm guessing, is

0:29:51.280 --> 0:29:54.760
<v Speaker 1>not going to get widely reported outside of tech news circles.

0:29:55.160 --> 0:29:57.720
<v Speaker 1>I doubt that you're gonna, you know, turn on the

0:29:57.760 --> 0:30:00.960
<v Speaker 1>local news and some anchor is going to say and

0:30:01.160 --> 0:30:05.120
<v Speaker 1>another news, the Worldwide Web is moving away from this

0:30:06.760 --> 0:30:10.600
<v Speaker 1>ancient set of rules. I just don't see that making

0:30:10.640 --> 0:30:14.200
<v Speaker 1>the news, but it is important anyway. If you guys

0:30:14.200 --> 0:30:17.280
<v Speaker 1>have any suggestions for future episodes of tech Stuff. Maybe

0:30:17.320 --> 0:30:20.600
<v Speaker 1>it's a technology, a company, a person in tech. Maybe

0:30:20.800 --> 0:30:24.520
<v Speaker 1>there's someone you would want me to talk with about technology.

0:30:24.680 --> 0:30:27.760
<v Speaker 1>You should send me those thoughts. You can email the

0:30:27.760 --> 0:30:30.800
<v Speaker 1>show it is tech Stuff at how stuff works dot com,

0:30:30.920 --> 0:30:33.280
<v Speaker 1>or you can go to our website that's text Stuff

0:30:33.360 --> 0:30:36.680
<v Speaker 1>podcast dot com and you can find other ways to

0:30:36.720 --> 0:30:39.400
<v Speaker 1>contact me there. Don't forget to head on over to

0:30:39.600 --> 0:30:43.120
<v Speaker 1>our merchandise store that's at t public dot com slash

0:30:43.160 --> 0:30:46.600
<v Speaker 1>tech Stuff. Everything you purchased there goes to benefit the show.

0:30:46.680 --> 0:30:50.040
<v Speaker 1>We greatly appreciate that, and there's some pretty cool things

0:30:50.120 --> 0:30:52.320
<v Speaker 1>over there. If you haven't checked it out, go see

0:30:52.360 --> 0:30:55.680
<v Speaker 1>if there are any designs that you particularly like. And oh,

0:30:56.000 --> 0:31:00.280
<v Speaker 1>remember we've been nominated in the Science and Technology category

0:31:00.320 --> 0:31:03.920
<v Speaker 1>of the I Heart Radio Podcast Awards. You can head

0:31:04.000 --> 0:31:06.440
<v Speaker 1>on over to the website for the I Heart Radio

0:31:06.520 --> 0:31:09.640
<v Speaker 1>Podcast Awards and vote up to five times a day.

0:31:09.880 --> 0:31:12.040
<v Speaker 1>You can dedicate all five of those votes to tech

0:31:12.120 --> 0:31:16.600
<v Speaker 1>Stuff if that is your desire. But whatever you want

0:31:16.600 --> 0:31:18.560
<v Speaker 1>to do, you should go check out all of those

0:31:18.560 --> 0:31:21.080
<v Speaker 1>different categories see if there are any other shows you

0:31:21.120 --> 0:31:23.840
<v Speaker 1>really like. Maybe you can discover some shows you didn't

0:31:23.840 --> 0:31:27.120
<v Speaker 1>even know existed. I always love finding new podcasts. This

0:31:27.200 --> 0:31:29.600
<v Speaker 1>is a great way of finding some really high quality ones,

0:31:30.440 --> 0:31:39.480
<v Speaker 1>and I'll talk to you again really soon for more

0:31:39.560 --> 0:31:41.840
<v Speaker 1>on this and thousands of other topics, because it how

0:31:41.880 --> 0:31:52.760
<v Speaker 1>stuff works. Dot com