WEBVTT 00:00:00.000 --> 00:00:04.079 So, welcome back. Now the purpose, of course, of all this stuff that you had in 00:00:04.079 --> 00:00:09.091 your office, and all that banging, and all the sqweeee squealing noise where we're 00:00:09.091 --> 00:00:15.046 sending the data across the across the phone using sound. All the purpose was the 00:00:15.046 --> 00:00:21.010 fact that computation was rare and extremely valuable. And for scientists who 00:00:21.010 --> 00:00:27.005 were trying to solve research problems, access to computers was essential. And you 00:00:27.005 --> 00:00:33.021 couldn't all sit, sort of in a little ring around the computer. It's so we would have 00:00:33.021 --> 00:00:38.089 phones in our offices and we would, you know, work in our office, just like I'm 00:00:38.089 --> 00:00:45.024 working in my office right now. But there wasn't enough computation [inaudible], any 00:00:45.024 --> 00:00:51.058 work in my office so I had to connect to something outside. And so this was the way 00:00:51.058 --> 00:00:57.078 of science. And, it, it, it was the fact that comp-, computing was rare, and access 00:00:57.078 --> 00:01:03.066 to computing was a critical enabler of scientific research. Now, I'd mentioned 00:01:03.066 --> 00:01:09.075 earlier, data transfer with leased lines. And so, while it. You tended to interact 00:01:09.075 --> 00:01:14.045 with the computer that was rather local, geographically to you because you could 00:01:14.045 --> 00:01:19.009 have this permanent dial up connection all day long without paying a permanent 00:01:19.009 --> 00:01:23.096 charge. If you were a bank, or you had some really critical need you would lease 00:01:23.096 --> 00:01:28.656 some line from the phone company 24 hours a day, seven days a week so you could send 00:01:28.656 --> 00:01:33.044 data across that anytime that you wanted. No dialing, it's always connected and, 00:01:33.044 --> 00:01:38.618 after while, I mean you can send data, we academics wanted to communicate with each 00:01:38.618 --> 00:01:43.938 other. It would be nice to be able to use each other's computers, but we tended to 00:01:43.938 --> 00:01:47.898 have too much, but sometimes we don't want to send a file, or some email, or 00:01:47.898 --> 00:01:52.623 something like that. And so this led to the invention and the creation of store 00:01:52.623 --> 00:01:57.772 and forward networking. And how this would work is we would sort of, you would sort 00:01:57.772 --> 00:02:03.796 of have some thing and you would use a modem to do all your dialing, like that. I 00:02:03.796 --> 00:02:08.957 mean maybe they had paper and, and didn't. That looks a little too advanced, but you 00:02:08.957 --> 00:02:13.175 would have some geographically local computer that was your, sort of the compu 00:02:13.175 --> 00:02:17.237 ter that did most of your work. You didn't have a computer in your office, you just 00:02:17.237 --> 00:02:21.242 had a connection to the single campus computer or on a few campus computers. And 00:02:21.242 --> 00:02:25.753 then what universities would do is they would lease a line. And then we could 00:02:25.753 --> 00:02:31.183 send, write a mail program that would run on this computer and then would send mail 00:02:31.183 --> 00:02:36.320 and then everyone else would read it. And what happened was is we sort of started 00:02:36.320 --> 00:02:41.835 stringing them together in these snakelike structures and so, we could share this. 00:02:41.835 --> 00:02:47.545 And so let me just show you kind of how the store and forward networking works. So 00:02:47.545 --> 00:02:52.316 somebody sends a mail message in. Now let's say, let's say we are this bottom 00:02:52.316 --> 00:02:56.982 person down here, okay. And so someone else has sent a mail message in, they're 00:02:56.982 --> 00:03:01.460 sitting in there. And now the next person sends a mail message in and now ten 00:03:01.460 --> 00:03:05.794 seconds later, you send a mail message in. Those mail messengers are sitting in a 00:03:05.794 --> 00:03:10.665 cue. They're waiting just like waiting in line at the bus stop or waiting in line in 00:03:10.665 --> 00:03:15.269 a train station. Waiting in line for a cup of coffee at Starbucks. They're waiting in 00:03:15.269 --> 00:03:19.498 line, and what would happen is the computer that was our local computer would 00:03:19.498 --> 00:03:24.498 then start sending that data across the line. Okay, and slowly but surely it would 00:03:24.498 --> 00:03:29.686 take awhile. And everyone else had to sit and wait. Your poor message is last in 00:03:29.686 --> 00:03:34.199 line so you have to wait. So finally this message gets across the closest link. And 00:03:34.199 --> 00:03:38.878 then the, the next message starts being sent and you have to wait for that message 00:03:38.878 --> 00:03:43.495 and wait and wait and wait and wait and wait. Wait and wait and wait! Hey wait. 00:03:43.495 --> 00:03:48.807 Okay. Now its finally your turn. So your message finally gets to use the one 00:03:48.807 --> 00:03:53.162 connected line. So they, they are sought of stand in line until your turn 00:03:53.162 --> 00:03:57.736 [inaudible] runs acrossed. And they all, these messages aren't destined for just 00:03:57.736 --> 00:04:02.932 one computer away, then they got to go through the whole thing again, move across 00:04:02.932 --> 00:04:07.748 the next link until you know eventually you move across one link over here and 00:04:07.748 --> 00:04:12.396 then go another, and then finally talks to the people who get their email. So its a 00:04:12.396 --> 00:04:17.415 sought of dedicat ed line and you had to stand in line to get your chance. And the 00:04:17.415 --> 00:04:23.138 key thing here is each of these lease lines has a fixed cost 24 hours a day 00:04:23.138 --> 00:04:28.940 seven days a week, and it's very dependent on the distance, so we saw a weird 00:04:28.940 --> 00:04:33.464 phenomena. ≫> And that is. ≫> If we could add hops, it would slow our 00:04:33.464 --> 00:04:38.491 message down, but it would reduce our cost greatly. And so let's just say we have 00:04:38.491 --> 00:04:43.985 Michigan State University, which is where I got all my degrees from. University of 00:04:43.985 --> 00:04:48.944 Michigan here in Ann Arbor, which is where I work. And let's say, you know, we're 00:04:48.944 --> 00:04:54.081 connecting to the rest of the world, and we're going through Cleveland, where Case 00:04:54.081 --> 00:04:59.566 Western Reserve is. Case Western Reserve was the early innovator in, in networking, 00:04:59.566 --> 00:05:04.019 and so we have two leased lines with a certain distance, right? One from East 00:05:04.019 --> 00:05:08.646 Lansing to Ann Arbor and one from Ann Arbor to Cleveland and so we're sharing 00:05:08.646 --> 00:05:14.112 the cost of these lines between three schools and we can all kind of connect to 00:05:14.112 --> 00:05:19.427 the rest of the internet, all connect to the rest of the internet out here and, and 00:05:19.427 --> 00:05:24.029 we just, some of us have, are farther away, and so we take longer. The folks in 00:05:24.029 --> 00:05:28.921 Cleveland are closer. Like all the rest of the connection to like the East Coast and 00:05:28.921 --> 00:05:34.955 the West Coast come through, say like here Cleveland, but if we can simply convince 00:05:34.955 --> 00:05:43.118 somebody in between us like say Toledo to add a connection. Now of course. Of 00:05:43.118 --> 00:05:51.095 course, this, [inaudible] Give me green. There we go.'Course this line probably 00:05:51.095 --> 00:05:56.312 goes, probably went around when we just went straight to Cleveland, here. But 00:05:56.312 --> 00:06:01.815 basically if we can convince Toledo to sort of put in their computer and hold 00:06:01.815 --> 00:06:06.892 onto our messages for a while, we could send now one hop, two hops, three hops. 00:06:06.892 --> 00:06:12.171 But the cost now is not that different, because the original long line between Ann 00:06:12.171 --> 00:06:16.645 Arbor and Cleveland was distance sensitive. And, so, you can think of this 00:06:16.645 --> 00:06:21.800 as, you can get this almost for free. And now we have a whole additional university. 00:06:21.800 --> 00:06:26.711 Both to send stuff to, and they can send to the whole world as well. And so this 00:06:26.711 --> 00:06:31.872 motivation to effectively take the same c ost, and now basically we're taking this 00:06:31.872 --> 00:06:36.784 cost, and dividing it by four schools. And if you start thinking about it, it doesn't 00:06:36.784 --> 00:06:40.857 take long to say, "You know what, let's put one here, one here, one here, one 00:06:40.857 --> 00:06:45.588 here, and one here." Because the cost of the phone company isn't that different. 00:06:45.588 --> 00:06:50.177 You can think of each of these as adding some delay to your message. You know, and 00:06:50.177 --> 00:06:54.868 given the fact that each of these represents an outbound queue of messages 00:06:54.868 --> 00:07:00.478 that are waiting to be sent, there's some delay. There's some cost adding this, but 00:07:00.478 --> 00:07:05.929 It's so much cheaper. So our faculty have to wait another twenty minutes to get 00:07:05.929 --> 00:07:11.126 their mail through if we can bring that many more universities on. And so this 00:07:11.126 --> 00:07:15.881 just works out. There's this sorta motivation that if you can find an 00:07:15.881 --> 00:07:19.992 intermediate person, geographically intermediate school or university or 00:07:19.992 --> 00:07:25.133 company, and you can add them in, you can replace one long link with two short 00:07:25.133 --> 00:07:30.801 links. And this led to long chains of mail. And so from the mid 70s to the late 00:07:30.801 --> 00:07:37.095 80s most academics were communicating through a network that was like this. It 00:07:37.095 --> 00:07:43.450 typically was email and I recall when I first started to use national email. It 00:07:43.450 --> 00:07:49.510 took a long time for mail to go back and forth but it was actually quite magical I 00:07:49.510 --> 00:07:54.102 mean who cares if it took an hour. Now we expect it in three seconds. We send an 00:07:54.102 --> 00:07:58.243 email and hit the refresh buttons, hurry up, hurry up. You know, it could be hours, 00:07:58.243 --> 00:08:02.293 it could be days if you were going far enough and your message was long enough 00:08:02.293 --> 00:08:06.276 and you end up behind too many queues. And so you had this one computer locally and 00:08:06.276 --> 00:08:09.856 every once in a while you'd do most of your communication computation locally. 00:08:09.856 --> 00:08:14.303 And every once in a while you would fire a note off and that would kind of fight its 00:08:14.303 --> 00:08:18.571 way through all those successive connections. This is sort of the life in 00:08:18.571 --> 00:08:24.093 the early 1980s. One of the, most widely distributed networks of this kind was a 00:08:24.093 --> 00:08:29.024 thing called Bitnet. And Princeton was kinda the hub of this and these tendrils 00:08:29.024 --> 00:08:33.657 of connections ran out from Princeton. And by connecting to a, a network with lots of 00:08:33.657 --> 00:08:38.479 oth er folks, then you had more people to talk to. And the more people that you, 00:08:38.479 --> 00:08:43.540 that were connected the cheaper that it was for everybody. So it was a pretty, it 00:08:43.540 --> 00:08:48.407 was the perfect kinda thing that caused people and com-, universities to want to 00:08:48.407 --> 00:08:52.841 work together, because together their shared cost was much, much lower than to, 00:08:52.841 --> 00:08:58.002 to provide this uniform connectivity and email. So at the same time, during that 00:08:58.002 --> 00:09:04.275 same period, where most of us were using store and forward network, with our one on 00:09:04.275 --> 00:09:09.557 campus computer, a bunch of computer scientists were funded by DARPA. The 00:09:09.557 --> 00:09:14.482 Defense Advanced Research Projects Administration, to imagine a different 00:09:14.482 --> 00:09:20.559 kind of network. And the idea was direct connections are expensive. The long trails 00:09:20.559 --> 00:09:26.166 of store and forward networks, they're very slow, and if you had a giant message 00:09:26.166 --> 00:09:32.062 that you got behind, then what, how do you get past that. It could clog the system up 00:09:32.062 --> 00:09:37.318 for, for hours, if not days. And, and how do you keep from failures breaking the 00:09:37.318 --> 00:09:42.443 entire system? If you think about a store and forward network, one computer going 00:09:42.443 --> 00:09:47.515 down would cause data to back up on both sides of that computer until it's done. 00:09:47.515 --> 00:09:52.391 And so, you don't really wanna have one outage and, and how if we have sort of 00:09:52.391 --> 00:09:57.460 instead, instead of just a few messages, what if we just wanted all the messages to 00:09:57.460 --> 00:10:03.214 go simultaneously, so that there's more of a fair allocation of the network, rather 00:10:03.214 --> 00:10:09.124 than whoever gets there first gets it all until they're done with it. And, and so 00:10:09.124 --> 00:10:14.951 Darpa wanted to solve the problem of outages. You know, many will say that it 00:10:14.951 --> 00:10:21.549 had to do with, battlefield conditions, which is probably true They expected that 00:10:21.549 --> 00:10:27.784 various connections would go out in, in, in dynamic situations. Maybe it was that 00:10:27.784 --> 00:10:34.027 stuff was moving. But also how to be more efficient. And so, in effect, you can kind 00:10:34.027 --> 00:10:40.393 of think of this as all a game, where the phone companies own the wire. So everyone, 00:10:40.393 --> 00:10:45.558 even government, even military has to lease the wire from the phone companies. 00:10:45.558 --> 00:10:51.274 And so everyone is like doing research to figure out or creating systems to figure 00:10:51.274 --> 00:10:56.625 how not to pay t he phone company so much money, okay. So these research networks, 00:10:56.625 --> 00:11:02.799 and so if we look for example at this one down here by 1972 they had this network. I 00:11:02.799 --> 00:11:08.396 have my, I, yes I got a caller. So they have this network by 1972 and it's got, 00:11:08.396 --> 00:11:14.076 like some [inaudible] right around twelve, fourteen, fifteen hosts in it, and it goes 00:11:14.076 --> 00:11:19.028 cross-country. Now, now, the, the key about this is in 1972 to have leased lines 00:11:19.028 --> 00:11:24.428 that were up 24 hours a day, seven days a week, all the way across the country? Very 00:11:24.428 --> 00:11:29.258 expensive. But hey, it's a government project, and the government says this is 00:11:29.258 --> 00:11:34.169 important so we're gonna spend the money because, so we're imagining battlefield 00:11:34.169 --> 00:11:39.379 communications of the future and our own ability to do computations so they could 00:11:39.379 --> 00:11:44.098 have comp-, computational equipment all over the place. So this was very 00:11:44.098 --> 00:11:49.365 expensive, but research dollars were being flooded into it, because the q, they were 00:11:49.365 --> 00:11:54.291 solving a research question. If you just think about this as a network, it was not 00:11:54.291 --> 00:11:58.636 all [laugh], it wasn't sorta like, it was so costly that the average person wouldn't 00:11:58.636 --> 00:12:03.343 like, pay $fifteen a month to use it. It would just be that costly. But it's okay. 00:12:03.343 --> 00:12:08.455 Now if you look at this, you see that across the United States, there was always 00:12:08.455 --> 00:12:12.436 at least one connection. They had three cross country links with totally 00:12:12.436 --> 00:12:17.381 independent cross country links, with the ideas that you could take one of these 00:12:17.381 --> 00:12:21.894 things out, and you could still be functioning. So they, they were able to 00:12:21.894 --> 00:12:26.797 research all these things right, as well as the efficiency problem, which they 00:12:26.797 --> 00:12:32.501 solved using packet switching. So, by the mid 70's there was quite a few folks on 00:12:32.501 --> 00:12:37.751 this. And for a group of people they just started using it in production. It was 00:12:37.751 --> 00:12:42.649 pretty cool, right? If you were, if you were one of these universities or 00:12:42.649 --> 00:12:47.801 companies, you had a pretty cool, futuristic world. You could, you could 00:12:47.801 --> 00:12:53.300 send email and get an answer back in two minutes, or a minute, or 30 seconds, even. 00:12:53.300 --> 00:12:58.520 And so it was kind of this futuristic world that was heavily subsidized by the 00:12:58.520 --> 00:13:04.564 government in the name of researching. And so there are two essential things that 00:13:04.564 --> 00:13:10.747 really came out of this research. And one is the notion of what was called Packet 00:13:10.747 --> 00:13:16.222 Switching. Packet Switching basically eliminates the problem where once the 00:13:16.222 --> 00:13:22.066 message starts using that leased line wire, you have to wait till they're done. 00:13:22.066 --> 00:13:27.933 As, as I showed in that in that store and forward. What you want is to be able to 00:13:27.933 --> 00:13:33.101 send little pieces. Break the messages up into little pieces, and then they, they 00:13:33.101 --> 00:13:37.745 Each, each message has a little bit of the network connectivity and then the next one 00:13:37.745 --> 00:13:42.302 comes after it. And so you could have many messages going at the same time. And a 00:13:42.302 --> 00:13:46.462 real long message won't fill up the network, fill up the connection forever 00:13:46.462 --> 00:13:50.783 and ever and ever. So it and it also allows, if you to break the message up 00:13:50.783 --> 00:13:55.530 into small parts, they can flow over different paths. The other thing that they 00:13:55.530 --> 00:13:59.989 figured out was this notion of instead of oop, oop, oop come back here, come back 00:13:59.989 --> 00:14:04.233 here. Instead of using computers as the intermediate stop points, because in store 00:14:04.233 --> 00:14:08.482 and forward you could have a lot of messages so you tend to store them on 00:14:08.482 --> 00:14:13.413 disks. Whereas routers, these packets were smaller individually than the entire 00:14:13.413 --> 00:14:18.515 message and so they didn't need to store them nearly as long and they didn't need 00:14:18.515 --> 00:14:22.953 as much storage. So these are, routers are just a form of computer, right? But they 00:14:22.953 --> 00:14:27.563 were specialized for moving just data from one connection to the other without long 00:14:27.563 --> 00:14:33.404 term, without storing that data for a long time. So, I like to think of packets as 00:14:33.404 --> 00:14:40.781 postcards, letters and think of the Packet Switching Network as the postal system. So 00:14:40.781 --> 00:14:47.226 let's say, for example, I had a friend, and his name is Glen, and I want to send 00:14:47.226 --> 00:14:52.645 him a message. I want to send him a message that's hello there, have a nice 00:14:52.645 --> 00:14:57.543 day. But I have a limitation. I have limitation. All I have is postcards that 00:14:57.543 --> 00:15:02.963 it can, that can store ten characters on them, and I have to send my message to 00:15:02.963 --> 00:15:08.530 Glenn using only 10-character postcards. And so, before Glenn and I part ways, we 00:15:08.530 --> 00:15:14.073 agree on the following protocol: that I will take the first ten characters of the 00:15:14.073 --> 00:15:19.586 me ssage and put them on one postcard, and then I will put an address from Chuck to 00:15:19.586 --> 00:15:25.075 Glenn, and I'll put a sequence number. So that says that hey, hey Glenn, here comes 00:15:25.075 --> 00:15:31.067 a message, this is part one. Then we take the next ten characters. And I mark that 00:15:31.067 --> 00:15:37.203 as part two, from Chuck to Glen. And then here's the third part, it's marked as part 00:15:37.203 --> 00:15:42.532 three, from Chuck to Glenn. And, so, what can I do now? Well, I walk out to my post 00:15:42.532 --> 00:15:48.047 office box, and I send'em, I just stack'em in. I might stack them neatly in order. 00:15:48.047 --> 00:15:53.545 Now, they go through the postal system. Like, they get dropped, some get dropped 00:15:53.545 --> 00:15:59.288 on the ground. A couple of them get lost. Or they end up on the wrong truck. They go 00:15:59.288 --> 00:16:04.513 through Kansas City by mistake. Blah, blah, blah, blah, blah, blah, blah. Blah, 00:16:04.513 --> 00:16:09.612 blah, blah, blah, blah, blah, blah, blah, blah, blah, blah. But, you know, some days 00:16:09.612 --> 00:16:14.653 later. They start arriving at Glen's house. And so, Glenn goes out to his post 00:16:14.653 --> 00:16:19.834 office box, and he gets a message. It's hello ther-, and it's sequence number one. 00:16:19.835 --> 00:16:25.074 So it looks like Chuck is going to send me a message, and I've got the first part of 00:16:25.074 --> 00:16:29.785 it. That's pretty cool. So then he goes out the next day, and out comes, nice day. 00:16:29.785 --> 00:16:34.602 But this is #three. So, because I've numbered them, Glenn knows that there's 00:16:34.602 --> 00:16:39.569 some missing bits, right? So Glenn just can hold on to them, and leave a little 00:16:39.569 --> 00:16:44.311 space on his kitchen table for what he hopes to be message number two. And so 00:16:44.311 --> 00:16:49.007 message two finally comes out. And now Glen is capable of saying, "Looks like I 00:16:49.007 --> 00:16:53.922 got the whole message and I can reassemble them. And, surprise, surprise. I have just 00:16:53.922 --> 00:16:58.363 sent him. With a lot of effort in three packets. Hello there! Have a nice day." 00:16:58.363 --> 00:17:03.561 And so this notion of breaking the message into packets, labeling each packet with a 00:17:03.561 --> 00:17:08.750 sequence number, and then sending them to this network that can take multiple paths, 00:17:08.750 --> 00:17:13.173 You can even have a situation where the you know, the message would go across one 00:17:13.173 --> 00:17:17.975 link, it would get lost and then it would, you know go across a different link. So 00:17:17.975 --> 00:17:21.961 you have ways of recovering. You can recover the messages. We'll talk about 00:17:21.961 --> 00:17:28.275 that later as well. So this ends up with a sort of a structure that has these 00:17:28.275 --> 00:17:36.238 computers that are specialized routers in the middle. And the routers have multiple 00:17:36.238 --> 00:17:43.091 connections. And if we take a campus, for example, and the campus has some computers 00:17:43.091 --> 00:17:47.484 and we have high-speed networking on this campus. We have some, you know, stuff in 00:17:47.484 --> 00:17:52.213 our offices on the campus, and then we have some stuff in the machine room and we 00:17:52.213 --> 00:17:56.461 talk to these things. And then, somehow, our entire campus has a little spicket to 00:17:56.461 --> 00:18:01.420 the outside world and this is our, sort of, campus router and we get this router, 00:18:01.420 --> 00:18:05.672 and then there are, sort of, intermediate routers that are inside the network. And 00:18:05.672 --> 00:18:09.688 if you sort of look at a router, a router sort of simply forwards traffic and the 00:18:09.688 --> 00:18:14.706 traffic now is these small packets, rather than whole messages, so you don't need a 00:18:14.706 --> 00:18:18.797 disk drive on these, on these routers. There's no disk drive on these routers, so 00:18:18.797 --> 00:18:22.689 that they just kind of grab a packet and they forward it. And the systems are 00:18:22.689 --> 00:18:27.084 trained. And the software does not overflow the network. We'll talk about 00:18:27.084 --> 00:18:31.968 that later, much later. And so these routers have these real simple view of the 00:18:31.968 --> 00:18:36.594 world, they've got some incoming traffic, they've got some outgoing traffic, 00:18:36.594 --> 00:18:41.537 outgoing traffic. And so they just grab and forward. It's like a intermediate 00:18:41.537 --> 00:18:47.240 postal spot, right? They, they grab big thing of. Postcards and books. Send them 00:18:47.240 --> 00:18:53.696 to the right place and, and they get where they do and so eventually the data gets. 00:18:53.696 --> 00:18:58.385 Getting a little sloppy, getting a little messy, here. Eventually, the data sort of 00:18:58.385 --> 00:19:03.304 is broken up, finds its way to the other end, and then dumps out in some campus 00:19:03.304 --> 00:19:07.743 local area network and then somebody sees the data on the far end, okay? And so it 00:19:07.743 --> 00:19:12.658 might different, take different routes, you know? It might get lost that might 00:19:12.658 --> 00:19:17.089 crash and then it has to get sent again on a different route. And so these things, 00:19:17.089 --> 00:19:21.097 these little pieces, these little postcards, find their way through the 00:19:21.097 --> 00:19:26.086 series of routers. And we can, we both can see sort of like a, a whole campus being 00:19:26.086 --> 00:19:32.006 connected. We can see individual folks who are, buying, buying some dial up through 00:19:32.006 --> 00:19:37.030 cable or DSL, and at some point we like to represent this whole thing. Here is this 00:19:37.030 --> 00:19:42.034 big cloud, this you don't worry about the detail inside here. Call that the cloud. 00:19:42.034 --> 00:19:45.757 We'll see it in the future slides it`s just a cloud, a white, fluffy cloud. That 00:19:45.757 --> 00:19:49.498 means that we are trying to hide the detail. But in there it`s just a bunch of 00:19:49.498 --> 00:19:53.265 things that are connected. In a way it`s not that different in the store and 00:19:53.265 --> 00:19:57.974 forward network, except for the fact that every message is tiny, so it doesn't clog 00:19:57.974 --> 00:20:01.665 the whole network up, which means that routers don`t have to have a lot of 00:20:01.665 --> 00:20:06.470 intermediate storage to hold on to these packets in flight. And it also means that 00:20:06.470 --> 00:20:10.747 every packet can take a different path and if things get loaded up, they can 00:20:10.747 --> 00:20:14.941 dynamically move. And so. Here's just sort of an example problem to solve. If you 00:20:14.941 --> 00:20:19.706 think about it, these routers have a very limited view of the world. And there are 00:20:19.706 --> 00:20:24.795 hundreds of thousands of routers around this world right now. And they don't know 00:20:24.795 --> 00:20:29.210 the entire network, they kind of know the lines that come in to them and the lines 00:20:29.210 --> 00:20:33.866 that go out, just like a post office in Kansas city doesn't know every address, 00:20:33.866 --> 00:20:38.583 every house in the world. It just knows the trucks that are coming in and the 00:20:38.583 --> 00:20:44.556 trucks going out. And so these packets that have to and from addresses can get a 00:20:44.556 --> 00:20:51.133 little confused at times. So we won't solve this but if, if we had a situation 00:20:51.133 --> 00:20:55.981 where This particular packet would come into a router, and it would route it here, 00:20:55.981 --> 00:20:59.426 and then this packet would see it and then it would route it this way, this packet 00:20:59.426 --> 00:21:03.228 would see it and route it this way, this packet would see that this router would 00:21:03.228 --> 00:21:06.864 see it again and say, oh, I gotta route it that way. And so we end up in this 00:21:06.864 --> 00:21:11.938 situation where we would create a loop. Okay. So this is the kind of technical 00:21:11.938 --> 00:21:17.157 things they had to solve to keep these things from going round and round and 00:21:17.157 --> 00:21:22.954 round and sort of melting the network. We'll talk more about that in a bit. So. 00:21:22.954 --> 00:21:28.364 This was DARPANET. It was doing research on these kin ds of problems. The kinds of 00:21:28.364 --> 00:21:32.988 problems of, you know what's the best way to do this? How big should packets be? 00:21:32.988 --> 00:21:38.392 What should, how long should we wait until we send a packet again? You know, this 00:21:38.392 --> 00:21:43.428 kind of thing. And so that was our research network. And the, that could've 00:21:43.428 --> 00:21:49.654 gone on forever, it might've been a purely military project, but. At the University 00:21:49.654 --> 00:21:57.237 of Illinois - Urbana Champagne - folks started to think about super computers and 00:21:57.237 --> 00:22:03.506 starting all the way back to Bletchley Park, science was enhanced by the use of 00:22:03.506 --> 00:22:08.802 computations. And so as the 70's and 80's were happening, all these scientists were 00:22:08.802 --> 00:22:13.037 sort of like, "Wow, I can do better physics. I can do better chemistry. I can 00:22:13.037 --> 00:22:17.607 do better material science. I can invent new plastics. I can do pharmacy. I can do 00:22:17.607 --> 00:22:22.741 all kinds of things. With computers. And so what happened was is everyone started 00:22:22.741 --> 00:22:27.448 asking the government. For money. For computers. It's like, "I need a bigger 00:22:27.448 --> 00:22:32.077 computer. And if I, if I had this bigger computer. I could do research." Matter of 00:22:32.077 --> 00:22:35.972 fact. I was part of all this. Matter of fact I wrote a book. High Performance 00:22:35.972 --> 00:22:40.569 Computing. Here's the book. That's kind of what I did before I became an internet 00:22:40.569 --> 00:22:45.606 guy. These are beautiful things. Here's, this isn't, was my baby, I never got this. 00:22:45.606 --> 00:22:50.965 This is like about $8,000,000, it's not small like this, this is a model of a 00:22:50.965 --> 00:22:56.575 Convex C3800 supercomputer. And each of these was the size of a refrigerator, it's 00:22:56.575 --> 00:23:02.109 slightly taller than me. I would be about this tall, right here. And each of these, 00:23:02.109 --> 00:23:08.160 I think this is like, like I said, like $8,000,000 or something. And I wanted one 00:23:08.160 --> 00:23:13.164 just for me. And so the problem is, is that, you know, I'm a nice guy, and I'm 00:23:13.164 --> 00:23:17.093 probably worth $8,000,000 of the governments money without a doubt, but not 00:23:17.093 --> 00:23:21.451 that the government didn't always think about that. So we couldn't all have out 00:23:21.451 --> 00:23:26.994 own personal computer, or at least our own personal supercomputers. Today, of course. 00:23:26.994 --> 00:23:32.807 This has about as much power as this, but this is not a history of computers. 00:23:32.807 --> 00:23:38.542 Computation. The iPhone is as powerful as this thing, it literally with abou t as 00:23:38.542 --> 00:23:42.625 much storage, But what happened was, is, all these scientists would say give me, 00:23:42.625 --> 00:23:45.860 give me this supercomputer. I need a supercomputer to do this, I need a 00:23:45.860 --> 00:23:50.216 supercomputer to do that. And the National Science Foundation said oh, hmm, well, why 00:23:50.216 --> 00:23:53.446 don't we just buy a few of these supercomputers and put them in these 00:23:53.446 --> 00:23:57.081 supercomputer centers and then let people connect to them. And then make people, and 00:23:57.081 --> 00:24:01.700 make it so they could share, so we didn't have to give every single scientist one of 00:24:01.700 --> 00:24:08.181 these things. And so. The notion that we would create a network to connect these 00:24:08.181 --> 00:24:16.069 things, again, seems completely logical today, but in 1981, 1982, 1983, it wasn't 00:24:16.069 --> 00:24:23.154 entirely the most logical idea. And of course, the telephone companies might have 00:24:23.154 --> 00:24:28.523 something to say about that and so the next person that you're going to meet is 00:24:28.523 --> 00:24:34.029 Larry Smarr from NCSA, the National Center for Supercomputing Applications. And Larry 00:24:34.029 --> 00:24:39.440 Smarr was one of the early innovators that sort of realized that we had to build 00:24:39.440 --> 00:24:44.684 computational infrastructure and internet computational infrastructure. And did a 00:24:44.684 --> 00:24:50.098 lot of work to convince the federal government that this is something that we 00:24:50.098 --> 00:24:54.020 should do. And so let's go ahead and meet Larry Smarr.