1 00:00:07,910 --> 00:00:11,460 Welcome back. Let's talk about how 2 00:00:11,460 --> 00:00:14,430 data gets from one computer to another on the Internet. 3 00:00:14,430 --> 00:00:21,705 When your browser talks to some remote server, say www.si.umich.edu, 4 00:00:21,705 --> 00:00:26,460 it establishes a connection and then it sends some data, 5 00:00:26,460 --> 00:00:29,550 pieces of text or other formatted data, 6 00:00:29,550 --> 00:00:37,115 and each of those pieces of content gets chopped up into a bunch of packets. 7 00:00:37,115 --> 00:00:41,480 Each of those small packets gets sent out onto 8 00:00:41,480 --> 00:00:45,410 this big routing system that consists of a whole bunch of routers. 9 00:00:45,410 --> 00:00:47,900 Routers are just computers whose sole job 10 00:00:47,900 --> 00:00:51,900 is to receive these data packets and pass them on. 11 00:00:52,300 --> 00:00:55,635 Each packet will go along, 12 00:00:55,635 --> 00:00:57,775 goes from one router to the next. 13 00:00:57,775 --> 00:01:01,460 Each of those routers has a big lookup table that says, 14 00:01:01,460 --> 00:01:08,300 "If this packet that I've received is destined for some particular address, 15 00:01:08,300 --> 00:01:11,005 what's the next hop? 16 00:01:11,005 --> 00:01:13,640 What's the next router I should send it to?" 17 00:01:13,640 --> 00:01:18,515 Magically all of these routers have managed to coordinate their routing tables, 18 00:01:18,515 --> 00:01:20,915 so that when a packet gets sent here, 19 00:01:20,915 --> 00:01:25,590 it eventually makes its way to the destination. 20 00:01:25,780 --> 00:01:29,630 It's a rather remarkable system that there are now 21 00:01:29,630 --> 00:01:32,620 trillions of these packets getting routed around, 22 00:01:32,620 --> 00:01:36,635 and they all mostly manage to get to their destination, 23 00:01:36,635 --> 00:01:40,470 occasionally things go wrong and packets don't make it. 24 00:01:40,470 --> 00:01:46,205 Here's the first few lines of a trace route that I did. 25 00:01:46,205 --> 00:01:50,840 This is something that gives some diagnostics about if I'm trying to send data packets 26 00:01:50,840 --> 00:01:55,565 from my computer to si.umich.edu, 27 00:01:55,565 --> 00:01:57,470 what happens to them? 28 00:01:57,470 --> 00:02:03,009 The first line is telling me where does that packet go first. 29 00:02:03,009 --> 00:02:07,970 Well, first it goes to a computer that has the address 30 00:02:07,970 --> 00:02:15,460 100.68.0.5 and it took 71 milliseconds to get it there. 31 00:02:15,460 --> 00:02:18,860 In fact, when I run this trace route program it does 32 00:02:18,860 --> 00:02:22,699 this three times and so one time took 71 milliseconds, 33 00:02:22,699 --> 00:02:25,010 the next time it took somewhat less, 34 00:02:25,010 --> 00:02:29,635 the third time somewhere in the middle of 58.4 milliseconds. 35 00:02:29,635 --> 00:02:32,630 The second line is saying where does 36 00:02:32,630 --> 00:02:36,635 a data packet go if it's eventually trying to get to si.umich.edu, 37 00:02:36,635 --> 00:02:38,435 where does it go next? 38 00:02:38,435 --> 00:02:43,345 Well, it went from a computer at address 100.68.0.5 39 00:02:43,345 --> 00:02:50,955 to a computer at 172.19.242.241. 40 00:02:50,955 --> 00:02:55,035 We can see this is called two hops; 41 00:02:55,035 --> 00:02:57,420 the first hop went to 100.68, 42 00:02:57,420 --> 00:03:00,405 the second hop to 172.19, 43 00:03:00,405 --> 00:03:06,900 the third hop was another router at 10.255.255.253, and so on. 44 00:03:06,900 --> 00:03:08,520 I haven't shown you all the way, 45 00:03:08,520 --> 00:03:10,290 but after eight or 10 hops, 46 00:03:10,290 --> 00:03:14,330 the packets eventually get to si.umich.edu. 47 00:03:14,330 --> 00:03:20,415 Typically to go two hops it takes a little longer than to go one hop. 48 00:03:20,415 --> 00:03:24,080 So, that gives you a little sense of what's going on behind the scenes. 49 00:03:24,080 --> 00:03:26,750 We're not going to have to deal with all of this technical detail. 50 00:03:26,750 --> 00:03:29,060 I just wanted to give you a sense of what's happening 51 00:03:29,060 --> 00:03:32,390 when one computer is talking to another. 52 00:03:32,390 --> 00:03:35,445 So, that's the basics of Internet routing, 53 00:03:35,445 --> 00:03:39,320 how one computer can send data to another computer by 54 00:03:39,320 --> 00:03:44,250 way of intermediate routers. We'll see you next time.