All language subtitles for ip-720p-en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian Download
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 0 00:00:00,000 --> 00:00:05,152 1 00:00:05,152 --> 00:00:07,360 DOUG LLOYD: If you watched our internet primer video, 2 00:00:07,360 --> 00:00:10,020 I left a bit of a cliffhanger by talking about the internet 3 00:00:10,020 --> 00:00:11,857 and how it's a system of protocols. 4 00:00:11,857 --> 00:00:14,190 Well, let's talk about the first of those protocols that 5 00:00:14,190 --> 00:00:15,710 actually comprises the internet. 6 00:00:15,710 --> 00:00:18,490 And interestingly enough, it's called the Internet Protocol, 7 00:00:18,490 --> 00:00:20,960 which we usually refer to as IP. 8 00:00:20,960 --> 00:00:24,810 >> So the internet, as I said, is an interconnected network, an internet, 9 00:00:24,810 --> 00:00:28,990 which is really just several networks woven together and agreeing somehow 10 00:00:28,990 --> 00:00:31,490 to communicate with one another. 11 00:00:31,490 --> 00:00:33,220 What is this somehow I'm talking about? 12 00:00:33,220 --> 00:00:34,720 Well, this is the Internet Protocol. 13 00:00:34,720 --> 00:00:39,190 This dictates how information is transmitted from point A to point B. 14 00:00:39,190 --> 00:00:43,410 And this is sort of a condition of joining the network of the internet 15 00:00:43,410 --> 00:00:45,830 is agreeing to follow this protocol when information needs 16 00:00:45,830 --> 00:00:49,330 to be moved from point A to point B. 17 00:00:49,330 --> 00:00:51,700 >> So at the very end of that internet primer video, 18 00:00:51,700 --> 00:00:55,320 I showed this image of what the internet was. 19 00:00:55,320 --> 00:00:58,649 And on a small scale, this is actually probably pretty accurate. 20 00:00:58,649 --> 00:01:01,190 This might be how three networks actually talk to each other. 21 00:01:01,190 --> 00:01:02,570 But it's a bit misleading. 22 00:01:02,570 --> 00:01:04,845 And the reason it's a bit misleading is because-- if I 23 00:01:04,845 --> 00:01:07,220 just number the networks for the sake of convenience here 24 00:01:07,220 --> 00:01:10,350 and we get rid of everything else and just focus on the networks-- 25 00:01:10,350 --> 00:01:13,750 it's a bit misleading because it implies that all three network have 26 00:01:13,750 --> 00:01:15,280 a connection to one another. 27 00:01:15,280 --> 00:01:16,365 >> One is connected to two. 28 00:01:16,365 --> 00:01:17,610 Two is connected to three. 29 00:01:17,610 --> 00:01:18,990 And three is connected to one. 30 00:01:18,990 --> 00:01:20,823 And when I talk about a connection here, I'm 31 00:01:20,823 --> 00:01:23,920 talking about a physical, wired connection. 32 00:01:23,920 --> 00:01:25,170 We do have wireless. 33 00:01:25,170 --> 00:01:28,390 But it's really impractical for data to be transmitted wirelessly 34 00:01:28,390 --> 00:01:29,440 over a large scale. 35 00:01:29,440 --> 00:01:35,200 And so at some point, we really do rely on wired technology-- telephone wires, 36 00:01:35,200 --> 00:01:39,980 fiber optic wires, various technologies that are physically connecting 37 00:01:39,980 --> 00:01:41,560 point A to point B. 38 00:01:41,560 --> 00:01:44,110 >> And on a small scale like this-- this might be accurate, 39 00:01:44,110 --> 00:01:46,480 but as the image gets a little bigger, let's now 40 00:01:46,480 --> 00:01:49,410 imagine we have six different networks. 41 00:01:49,410 --> 00:01:52,740 If that's true, now we have something like this for every network 42 00:01:52,740 --> 00:01:55,100 to be connected to every other network. 43 00:01:55,100 --> 00:01:58,540 And if you look, every network has five arrows connected to it. 44 00:01:58,540 --> 00:02:01,450 So everything is connected to every other network. 45 00:02:01,450 --> 00:02:05,840 >> We only have six networks here, and already look at how much wiring 46 00:02:05,840 --> 00:02:08,630 we have to employ, right? 47 00:02:08,630 --> 00:02:12,650 And the internet consists of a lot more than six networks. 48 00:02:12,650 --> 00:02:17,410 We can't afford to wire each network to each other network, 49 00:02:17,410 --> 00:02:20,940 especially considering some of these networks span oceans, right? 50 00:02:20,940 --> 00:02:23,810 If we're trying to connect to a network in Asia or in Europe, 51 00:02:23,810 --> 00:02:27,502 we're going to have to span an entire ocean. 52 00:02:27,502 --> 00:02:29,460 We're going to need to use wires at some point, 53 00:02:29,460 --> 00:02:33,900 but we want to minimize the number of wires we actually use. 54 00:02:33,900 --> 00:02:36,690 We don't want to send a million wires across the ocean, 55 00:02:36,690 --> 00:02:40,700 because they cost millions of dollars apiece to lie down. 56 00:02:40,700 --> 00:02:44,430 And so rapidly, we wouldn't be able to afford the internet anymore. 57 00:02:44,430 --> 00:02:47,080 So we have to have another way for every network 58 00:02:47,080 --> 00:02:49,730 to talk to every other network or else we 59 00:02:49,730 --> 00:02:51,784 have pieces of the internet that are disconnected 60 00:02:51,784 --> 00:02:53,200 from other pieces of the internet. 61 00:02:53,200 --> 00:02:55,150 And that's not what we want. 62 00:02:55,150 --> 00:02:57,890 But we don't want to have them all wired together. 63 00:02:57,890 --> 00:03:00,760 >> And this is where routers come back into play. 64 00:03:00,760 --> 00:03:02,870 We can use routers in the following way. 65 00:03:02,870 --> 00:03:05,150 What if instead of every network being physically 66 00:03:05,150 --> 00:03:09,700 connected to every other network, we had these intermediary pieces, where 67 00:03:09,700 --> 00:03:12,460 the networks were connected to these intermediaries, which 68 00:03:12,460 --> 00:03:14,840 are connected to a few networks. 69 00:03:14,840 --> 00:03:19,290 So instead of having one connect to two, three, four, five, six, maybe one 70 00:03:19,290 --> 00:03:21,360 connects to a router, which maybe connects 71 00:03:21,360 --> 00:03:23,840 to one or two of those networks, but also 72 00:03:23,840 --> 00:03:25,850 maybe connects to other routers, which also 73 00:03:25,850 --> 00:03:28,510 will connect to those other networks. 74 00:03:28,510 --> 00:03:31,160 >> And the router's job is-- it contains information 75 00:03:31,160 --> 00:03:34,620 called a routing table that dictates where do 76 00:03:34,620 --> 00:03:37,250 I go if I see a particular IP address? 77 00:03:37,250 --> 00:03:41,080 If I see an IP address starting with four, I'm going to go this way. 78 00:03:41,080 --> 00:03:45,250 If I seen IP address starting with a 12, I'm going to go that way. 79 00:03:45,250 --> 00:03:49,230 We don't need to be connected physically to network number four 80 00:03:49,230 --> 00:03:52,010 or network number 12 in this example. 81 00:03:52,010 --> 00:03:53,941 We just know generally where we want to go. 82 00:03:53,941 --> 00:03:57,190 And if you think about it, this is sort of similar to the concept of recursion 83 00:03:57,190 --> 00:03:59,445 that we talked about when we were talking about it 84 00:03:59,445 --> 00:04:04,060 in C. I'm not going to connect you to exactly where you want to go. 85 00:04:04,060 --> 00:04:08,130 I'm just going to move you one step closer to where you want to go. 86 00:04:08,130 --> 00:04:11,739 And I'll let somebody else deal with solving the rest of the problem. 87 00:04:11,739 --> 00:04:14,780 I'll just solve this little piece of the problem and defer the rest of it 88 00:04:14,780 --> 00:04:15,940 to somebody else. 89 00:04:15,940 --> 00:04:19,240 So routing information is actually kind of similar to recursion. 90 00:04:19,240 --> 00:04:24,010 If that's a concept that you understand well, maybe that analogy would help. 91 00:04:24,010 --> 00:04:26,950 >> So let's take a look at this networking example 92 00:04:26,950 --> 00:04:30,130 again and assume that, again, we're going to use those same six 93 00:04:30,130 --> 00:04:31,470 networks, one through six. 94 00:04:31,470 --> 00:04:34,220 So let's just say that every IP address on network one 95 00:04:34,220 --> 00:04:36,200 starts with one dot something. 96 00:04:36,200 --> 00:04:38,800 And we'll say that there's some other thing that 97 00:04:38,800 --> 00:04:42,110 deals with how all the systems are connected to network one. 98 00:04:42,110 --> 00:04:46,000 We just care about connecting all of those networks together in an internet. 99 00:04:46,000 --> 00:04:49,350 So every device that is connected to network one 100 00:04:49,350 --> 00:04:53,460 has an IP address that starts with one dot and then three other numbers. 101 00:04:53,460 --> 00:04:56,300 >> This is a generalization of the way things actually work. 102 00:04:56,300 --> 00:04:58,260 It's quite a bit more precise than this. 103 00:04:58,260 --> 00:05:00,760 But this should give you a general idea of what the Internet 104 00:05:00,760 --> 00:05:02,637 Protocol is actually doing. 105 00:05:02,637 --> 00:05:04,220 So this was the diagram we had before. 106 00:05:04,220 --> 00:05:06,410 This was the system that was not sustainable. 107 00:05:06,410 --> 00:05:07,760 Even six, this might be OK. 108 00:05:07,760 --> 00:05:11,990 But if we get to 10 or 20 or 50, we're going to be lying a lot of wires. 109 00:05:11,990 --> 00:05:15,139 And 50 is still also not even the tip of the iceberg 110 00:05:15,139 --> 00:05:16,680 as to the number of networks we have. 111 00:05:16,680 --> 00:05:18,510 So this model is unsustainable. 112 00:05:18,510 --> 00:05:20,660 We can't stick with this. 113 00:05:20,660 --> 00:05:23,200 >> So let's instead adopt this model where we get rid 114 00:05:23,200 --> 00:05:28,030 of all the wires between the networks and we add routers. 115 00:05:28,030 --> 00:05:30,210 So these yellow boxes represent routers. 116 00:05:30,210 --> 00:05:32,550 And their job is to move information generally 117 00:05:32,550 --> 00:05:36,040 closer to where it's supposed to go. 118 00:05:36,040 --> 00:05:40,330 And maybe these are the connections that these networks have. 119 00:05:40,330 --> 00:05:43,670 And maybe these are the tables that are built into the routers. 120 00:05:43,670 --> 00:05:47,870 >> So if we just start by looking at network one, for example, 121 00:05:47,870 --> 00:05:50,450 basically what it says is if I ever see an address that 122 00:05:50,450 --> 00:05:54,300 doesn't start with a one-- that's what the exclamation point one or the bang 123 00:05:54,300 --> 00:05:58,550 one there, not one-- I'm going to pass it off to a router. 124 00:05:58,550 --> 00:06:00,680 And from there, the router can make a decision. 125 00:06:00,680 --> 00:06:04,570 The router says if I see a one, I'm going to move to network number one. 126 00:06:04,570 --> 00:06:07,610 That's the green arrow heading to the left out of that top left box. 127 00:06:07,610 --> 00:06:09,660 >> If I see a two-- that's the arrow sort of heading 128 00:06:09,660 --> 00:06:11,950 to the top right towards the purple network-- 129 00:06:11,950 --> 00:06:14,920 if I see an IP address starting with a two, 130 00:06:14,920 --> 00:06:16,920 I'm going to go towards the two network. 131 00:06:16,920 --> 00:06:21,250 If I see a three, a four, a five, or a six-- that's that red arrow coming out 132 00:06:21,250 --> 00:06:25,800 of the top left router-- I'm not connected to three, four, five, or six. 133 00:06:25,800 --> 00:06:28,897 But I know somebody who is or who's a little bit closer to there. 134 00:06:28,897 --> 00:06:31,230 So I'm just going to say, every time I see an IP address 135 00:06:31,230 --> 00:06:33,810 starting with three, four, five, or six, I'm just 136 00:06:33,810 --> 00:06:35,250 going to send it to that router. 137 00:06:35,250 --> 00:06:38,090 So I'll move it a little closer to where it's supposed to go and let 138 00:06:38,090 --> 00:06:39,830 that router deal with the problem. 139 00:06:39,830 --> 00:06:42,980 >> And as you can see-- if you wanted to pause here and trace-- 140 00:06:42,980 --> 00:06:47,600 you can get to every other point in the network from wherever you are. 141 00:06:47,600 --> 00:06:50,190 All six networks can still connect to every other network 142 00:06:50,190 --> 00:06:52,250 but they're not physically connected anymore. 143 00:06:52,250 --> 00:06:54,046 They're now these intermediate steps. 144 00:06:54,046 --> 00:06:56,170 Now, of course there's a trade off of speed, right? 145 00:06:56,170 --> 00:06:58,240 If one was directly connected to six, we wouldn't 146 00:06:58,240 --> 00:07:00,390 have to go through two routers along the way. 147 00:07:00,390 --> 00:07:03,377 So we may be able to get the connection a little bit faster. 148 00:07:03,377 --> 00:07:05,210 But maybe that trade-off is worth it, right? 149 00:07:05,210 --> 00:07:09,850 If it's going to be so expensive in terms of actual cost, dollars 150 00:07:09,850 --> 00:07:13,150 and cents, to physically wire all these networks together, 151 00:07:13,150 --> 00:07:16,150 maybe a little bit of a slowdown in speed is OK. 152 00:07:16,150 --> 00:07:18,530 We can tolerate that. 153 00:07:18,530 --> 00:07:22,490 >> So again, in that example we were just talking about, none of the networks 154 00:07:22,490 --> 00:07:24,086 directly connect to each other all. 155 00:07:24,086 --> 00:07:25,960 There could have been-- maybe in that example 156 00:07:25,960 --> 00:07:28,659 we could have made it so that maybe network one and two were 157 00:07:28,659 --> 00:07:29,450 directly connected. 158 00:07:29,450 --> 00:07:30,410 And that would be OK. 159 00:07:30,410 --> 00:07:33,040 Some networks are physically connected to other networks. 160 00:07:33,040 --> 00:07:34,940 But they're not all connected to each other. 161 00:07:34,940 --> 00:07:37,360 They rely on the routers-- in this particular example-- 162 00:07:37,360 --> 00:07:40,899 to distribute the communication from point A to point B. 163 00:07:40,899 --> 00:07:43,190 On a small scale-- like what we're talking about here-- 164 00:07:43,190 --> 00:07:45,850 this configuration actually might be more inefficient than just 165 00:07:45,850 --> 00:07:47,420 having direct connections. 166 00:07:47,420 --> 00:07:52,547 But on a large scale, we can scale the system a lot better. 167 00:07:52,547 --> 00:07:55,130 It's really going to reduce our cost of network infrastructure 168 00:07:55,130 --> 00:07:59,450 to have intermediary routers whose job it is to move traffic from the sender 169 00:07:59,450 --> 00:08:03,500 to the receiver, from point A to point B, as opposed to wiring everybody 170 00:08:03,500 --> 00:08:05,320 together. 171 00:08:05,320 --> 00:08:07,380 >> So let's take a look at an example of information 172 00:08:07,380 --> 00:08:09,220 traveling using this Internet Protocol. 173 00:08:09,220 --> 00:08:15,250 Let's say that I am physically located at IP 1.208.12.37 174 00:08:15,250 --> 00:08:17,450 so I exist somewhere on the one network. 175 00:08:17,450 --> 00:08:19,260 And I want to send a message to you. 176 00:08:19,260 --> 00:08:23,085 And you're on the five network at 5.188.109.14. 177 00:08:23,085 --> 00:08:26,210 Your IP address specifically doesn't matter, but in this particular example 178 00:08:26,210 --> 00:08:29,740 we're talking about this generalization of what the internet protocol is all 179 00:08:29,740 --> 00:08:30,429 about. 180 00:08:30,429 --> 00:08:32,720 You're on the five network, and I'm on the one network. 181 00:08:32,720 --> 00:08:36,309 As you can see, we're not connected to each other at all. 182 00:08:36,309 --> 00:08:37,335 >> So I start out. 183 00:08:37,335 --> 00:08:38,710 And I want to send you a message. 184 00:08:38,710 --> 00:08:41,650 And so somehow I communicate that message to the router. 185 00:08:41,650 --> 00:08:44,039 The router is the one that actually has the IP address. 186 00:08:44,039 --> 00:08:45,955 And it's looking at where it's supposed to go. 187 00:08:45,955 --> 00:08:47,655 We're going to five dot something. 188 00:08:47,655 --> 00:08:49,780 So now I'm going to start using my-- or the router, 189 00:08:49,780 --> 00:08:53,370 rather, is going to start using its router table to pass information along. 190 00:08:53,370 --> 00:08:59,149 It sees that five is not one, so it says I'm going to pass it to this guy. 191 00:08:59,149 --> 00:09:00,690 Then this guy has to make a decision. 192 00:09:00,690 --> 00:09:01,520 Where am I going to go? 193 00:09:01,520 --> 00:09:03,705 Well, it's not a one, so I'm not going to move to the one network. 194 00:09:03,705 --> 00:09:04,770 And it's not a two. 195 00:09:04,770 --> 00:09:06,478 I'm not going to move to the two network. 196 00:09:06,478 --> 00:09:07,410 It starts with a five. 197 00:09:07,410 --> 00:09:09,500 I'm not connected to five, this router says. 198 00:09:09,500 --> 00:09:12,950 And so I'm just going to pass it off to-- I'm going to go down this path. 199 00:09:12,950 --> 00:09:15,462 This is where threes and fours and fives and sixes go. 200 00:09:15,462 --> 00:09:16,920 And I'll let that guy deal with it. 201 00:09:16,920 --> 00:09:18,710 I'll get it a little closer to where it's supposed to go. 202 00:09:18,710 --> 00:09:21,350 I know it's supposed to go in that general direction. 203 00:09:21,350 --> 00:09:23,110 But maybe that guy can deal with it. 204 00:09:23,110 --> 00:09:23,840 OK. 205 00:09:23,840 --> 00:09:24,650 So that guy looks. 206 00:09:24,650 --> 00:09:27,580 He says, OK, this IP address starts with a five. 207 00:09:27,580 --> 00:09:31,590 Well, I'm connected to three and to six, so I can't get the message directly 208 00:09:31,590 --> 00:09:32,780 where it needs to go. 209 00:09:32,780 --> 00:09:36,970 But that other router over there, I know if I send it fours and fives, 210 00:09:36,970 --> 00:09:38,430 it can handle those. 211 00:09:38,430 --> 00:09:41,269 >> So it passes it along down the path. 212 00:09:41,269 --> 00:09:44,310 And then this router says, well, I'm connected to networks four and five. 213 00:09:44,310 --> 00:09:45,727 So, yes, I can help you. 214 00:09:45,727 --> 00:09:47,810 I'll take your IP address that starts with a five. 215 00:09:47,810 --> 00:09:49,450 I'll give it to the five network. 216 00:09:49,450 --> 00:09:53,220 The five network will do some work on its end and give the message to you. 217 00:09:53,220 --> 00:09:56,580 And now we've successfully transmitted a message from me 218 00:09:56,580 --> 00:09:58,930 to you using the Internet Protocol. 219 00:09:58,930 --> 00:10:03,020 >> Again, very generalized for purposes of illustration as to what's happening. 220 00:10:03,020 --> 00:10:05,840 But that's pretty much how the Internet Protocol works. 221 00:10:05,840 --> 00:10:08,050 The routers know generally where to send it 222 00:10:08,050 --> 00:10:11,170 and will send it one step along the way, getting it closer and closer 223 00:10:11,170 --> 00:10:15,130 to its destination until one router is physically connected 224 00:10:15,130 --> 00:10:17,990 to the network or the address or whatever 225 00:10:17,990 --> 00:10:21,600 in question and gives it there. 226 00:10:21,600 --> 00:10:28,780 >> Now, in general, except for really, really small, small messages, 227 00:10:28,780 --> 00:10:31,830 it's not going to send it as one big chunk of data. 228 00:10:31,830 --> 00:10:34,870 If I'm sending you an email-- a very long email, 229 00:10:34,870 --> 00:10:37,270 say-- it's not going to take that entire email, 230 00:10:37,270 --> 00:10:40,660 bundle it up in a ball or a package or whatever, 231 00:10:40,660 --> 00:10:43,460 and send that entire thing down the network. 232 00:10:43,460 --> 00:10:46,580 >> First of all, sending information along the network is expensive. 233 00:10:46,580 --> 00:10:47,560 It does add up. 234 00:10:47,560 --> 00:10:49,760 And the larger the chunk, the more costly 235 00:10:49,760 --> 00:10:53,240 it is to move every step of the way. 236 00:10:53,240 --> 00:10:55,260 And if there's somehow a slowdown and then 237 00:10:55,260 --> 00:10:58,010 there's this giant-- sort of like if you're driving on the highway 238 00:10:58,010 --> 00:11:00,246 and there's this giant truck kind of blocking the way 239 00:11:00,246 --> 00:11:03,370 and you can't get around it on either lane because it's kind of spread out. 240 00:11:03,370 --> 00:11:05,227 It slows everybody else down behind it. 241 00:11:05,227 --> 00:11:07,060 But small cars, if they were all small cars, 242 00:11:07,060 --> 00:11:10,290 they might be able to move around, if that analogy sort of helps 243 00:11:10,290 --> 00:11:11,650 a little bit. 244 00:11:11,650 --> 00:11:17,170 >> So one big block in the system can really slow everybody else down. 245 00:11:17,170 --> 00:11:20,570 And so what IP is going to do is split this data into packets. 246 00:11:20,570 --> 00:11:26,560 It's going to take this big email or FTP transfer or a file transfer, 247 00:11:26,560 --> 00:11:28,700 or maybe I'm making a request to a web browser 248 00:11:28,700 --> 00:11:30,205 because I want a picture of cat. 249 00:11:30,205 --> 00:11:33,570 And it's going to take that request or that email or that file 250 00:11:33,570 --> 00:11:37,950 and break it up into many pieces and send all of the pieces separately. 251 00:11:37,950 --> 00:11:41,120 So in fact, I'm filling the highway with a lot of small cars, which can all 252 00:11:41,120 --> 00:11:47,320 move instead of a big truck that might, if something goes wrong, 253 00:11:47,320 --> 00:11:49,970 throttle the traffic for everybody else. 254 00:11:49,970 --> 00:11:51,850 >> Another side effect of this is if there's 255 00:11:51,850 --> 00:11:57,170 some sort of catastrophic failure and something goes wrong 256 00:11:57,170 --> 00:11:58,890 and the packet gets dropped. 257 00:11:58,890 --> 00:12:01,670 Something is failed and the message can't be communicated. 258 00:12:01,670 --> 00:12:04,090 The router maybe had too much stuff going in. 259 00:12:04,090 --> 00:12:05,340 It couldn't juggle everything. 260 00:12:05,340 --> 00:12:06,840 And so it just literally dropped it. 261 00:12:06,840 --> 00:12:08,630 That's sort of the analogy, right? 262 00:12:08,630 --> 00:12:10,046 >> It's got a lot of things going on. 263 00:12:10,046 --> 00:12:12,010 It's passing information from point A to point 264 00:12:12,010 --> 00:12:14,090 B. We're not the only two people on the internet, 265 00:12:14,090 --> 00:12:16,264 so it has to process a lot of traffic. 266 00:12:16,264 --> 00:12:19,430 And if it doesn't have enough hands and it can't figure out what it's doing, 267 00:12:19,430 --> 00:12:21,350 it might just drop something. 268 00:12:21,350 --> 00:12:23,570 So it can do something else. 269 00:12:23,570 --> 00:12:25,390 It's got too much going on. 270 00:12:25,390 --> 00:12:29,560 >> If we had our message as one huge block and that was what got dropped, 271 00:12:29,560 --> 00:12:31,770 now we have to send the message again. 272 00:12:31,770 --> 00:12:34,500 And we are now possibly causing traffic again. 273 00:12:34,500 --> 00:12:37,640 And we run the risk of that huge block being dropped again. 274 00:12:37,640 --> 00:12:41,060 But if the data's been broken up into packets and we drop one of those, 275 00:12:41,060 --> 00:12:45,100 it's a lot less costly to send that packet one more time as opposed 276 00:12:45,100 --> 00:12:47,220 to the entire thing one more time. 277 00:12:47,220 --> 00:12:51,680 So IP is responsible for getting information from point A to point B 278 00:12:51,680 --> 00:12:54,500 and also breaking the information into small pieces 279 00:12:54,500 --> 00:12:57,880 so that the network isn't overly taxed. 280 00:12:57,880 --> 00:13:00,760 >> IP is also known as a connectionless protocol. 281 00:13:00,760 --> 00:13:05,350 There's not necessarily a defined path from the sender to the receiver or vice 282 00:13:05,350 --> 00:13:05,850 versa. 283 00:13:05,850 --> 00:13:08,808 Now, in this example we've talked about, there actually is only one way 284 00:13:08,808 --> 00:13:11,020 to get to every network. 285 00:13:11,020 --> 00:13:13,110 So in this particular illustration, there actually 286 00:13:13,110 --> 00:13:15,560 is a defined path from point A to point B. 287 00:13:15,560 --> 00:13:19,270 But we can change that by just making one modification to the two routers 288 00:13:19,270 --> 00:13:22,640 on the left by adding this condition to the router tables. 289 00:13:22,640 --> 00:13:24,960 >> Now notice that from the top left router, 290 00:13:24,960 --> 00:13:29,340 there are actually two ways to deal with a four or a five IP address. 291 00:13:29,340 --> 00:13:33,100 It can go down to the lower left router, or can go to the right, 292 00:13:33,100 --> 00:13:34,090 to the right router. 293 00:13:34,090 --> 00:13:35,532 It has multiple options. 294 00:13:35,532 --> 00:13:37,240 And this is actually kind of a good thing 295 00:13:37,240 --> 00:13:39,690 because it makes our network more responsive. 296 00:13:39,690 --> 00:13:42,510 >> If for example-- it's sort of like a GPS. 297 00:13:42,510 --> 00:13:44,760 If you've ever been driving on the highway 298 00:13:44,760 --> 00:13:49,610 and suddenly your GPS warns you that traffic is ahead, 299 00:13:49,610 --> 00:13:51,230 you want to avoid it if you can. 300 00:13:51,230 --> 00:13:53,710 And so you can recalculate your route. 301 00:13:53,710 --> 00:14:00,330 And a router network, in addition to having information 302 00:14:00,330 --> 00:14:05,110 about where packets should go or where data should go, 303 00:14:05,110 --> 00:14:09,140 there's also sort of this general pulse on the state of its local network. 304 00:14:09,140 --> 00:14:13,930 What's going to happen if I send it down this path versus this path? 305 00:14:13,930 --> 00:14:19,640 >> And so in light of heavy traffic situations on the network, maybe 306 00:14:19,640 --> 00:14:22,630 things will get routed a more inefficient way or a more generally 307 00:14:22,630 --> 00:14:24,939 inefficient way, because if we go the regular way, 308 00:14:24,939 --> 00:14:26,480 there's going to be a lot of traffic. 309 00:14:26,480 --> 00:14:28,470 The highway is completely jammed. 310 00:14:28,470 --> 00:14:30,880 So maybe what we'll do is instead take side roads, which 311 00:14:30,880 --> 00:14:33,070 ordinarily would take a lot more time, but no one's 312 00:14:33,070 --> 00:14:34,320 really using those side roads. 313 00:14:34,320 --> 00:14:37,300 And so we can route our packets that way. 314 00:14:37,300 --> 00:14:40,190 >> So not every packet of a big chunk of data 315 00:14:40,190 --> 00:14:42,620 might take the same path from the beginning to the end. 316 00:14:42,620 --> 00:14:45,080 And our network becomes a lot more responsive 317 00:14:45,080 --> 00:14:49,720 if our router tables allow for there to be multiple options for where to go. 318 00:14:49,720 --> 00:14:53,054 We're not depending on that one truck moving out of the way. 319 00:14:53,054 --> 00:14:55,970 We can get off the highway at the next exit and take a different path. 320 00:14:55,970 --> 00:15:01,250 And so the Internet Protocol sort of does a little bit of that, too. 321 00:15:01,250 --> 00:15:05,110 >> So that's the basics of the Internet Protocol. 322 00:15:05,110 --> 00:15:07,780 But there's one more issue to deal with, which 323 00:15:07,780 --> 00:15:10,810 is what happens if we do drop a packet? 324 00:15:10,810 --> 00:15:14,490 How do we know we're going to send that packet again? 325 00:15:14,490 --> 00:15:15,750 Right? 326 00:15:15,750 --> 00:15:18,632 Well, Internet Protocol doesn't guarantee delivery. 327 00:15:18,632 --> 00:15:20,590 We're going to be depending on another protocol 328 00:15:20,590 --> 00:15:25,027 to deal with that called Transmission Control Protocol, TCP. 329 00:15:25,027 --> 00:15:27,110 And we're going to talk about Transmission Control 330 00:15:27,110 --> 00:15:29,470 Protocol in the next video. 331 00:15:29,470 --> 00:15:30,460 I'm Doug Lloyd. 332 00:15:30,460 --> 00:15:32,350 This is CS50. 333 00:15:32,350 --> 00:15:34,253 28298

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.