1 00:00:00,000 --> 00:00:03,395 >> [Speel van musiek] 2 00:00:03,395 --> 00:00:13,100 3 00:00:13,100 --> 00:00:15,570 >> DAVID J. MALAN: So het ek net wou sus om. 4 00:00:15,570 --> 00:00:18,260 Ek sou presies wat Scaz eggo gesê oor institusionele geheue. 5 00:00:18,260 --> 00:00:20,350 CS50 is om vir sowat 20 jaar aan die Harvard. 6 00:00:20,350 --> 00:00:22,280 En die werklikheid is, van die seniors op af, 7 00:00:22,280 --> 00:00:25,045 Daar is jaarliks ​​gerusstelling dat die eerstejaars, die sophomores, 8 00:00:25,045 --> 00:00:26,870 en die juniors en ook die seniors neem 9 00:00:26,870 --> 00:00:30,360 CS50, dat jy uiteindelik doen goed. 10 00:00:30,360 --> 00:00:32,680 >> Die werklikheid is, studente misluk nie CS50. 11 00:00:32,680 --> 00:00:35,740 In werklikheid, in die seldsame gevalle waar ons Es of Fs gehad het, 12 00:00:35,740 --> 00:00:37,990 dit is regtig nie as gevolg van versagtende omstandighede, 13 00:00:37,990 --> 00:00:39,840 of dit nou mediese of persoonlik. 14 00:00:39,840 --> 00:00:41,830 Ds is ongelooflik ongewoon as well. 15 00:00:41,830 --> 00:00:45,270 En ek kan gemaklik sê, maar ons gewoonlik nie statistieke bekend te maak, 16 00:00:45,270 --> 00:00:48,450 maar gegee dat daar geen institusionele geheue hier hoegenaamd, 17 00:00:48,450 --> 00:00:51,810 'n meerderheid van die studente in CS50 beland om 'n verskeidenheid grade. 18 00:00:51,810 --> 00:00:54,720 'N Beduidende deel beland eindig in die B-reeks ook. 19 00:00:54,720 --> 00:00:57,490 >> So selfs al is jy dalk gelyk is in jou gedagtes drieë 20 00:00:57,490 --> 00:01:00,690 met 60% en dus Ds of Cs, of die wil, 21 00:01:00,690 --> 00:01:02,530 is dit regtig nie in lyn met die werklikheid. 22 00:01:02,530 --> 00:01:05,238 In werklikheid, bedoel ons presies wat ons sê aan die begin van die kwartaal 23 00:01:05,238 --> 00:01:08,380 dat so baie studente in CS50, beide in Cambridge en hier in New Haven, 24 00:01:08,380 --> 00:01:10,220 Het jy 'n CS natuurlik nog nooit tevore geneem. 25 00:01:10,220 --> 00:01:13,090 En wat inderdaad uiteindelik saak maak is waar jy beland in week 12 26 00:01:13,090 --> 00:01:15,882 relatief tot jouself in week nul. 27 00:01:15,882 --> 00:01:17,590 Nou het ons verskeie spore in die kursus 28 00:01:17,590 --> 00:01:20,548 as jy know-- minder gemaklik, meer gemaklik, iewers tussen in. 29 00:01:20,548 --> 00:01:23,790 En inderdaad, wanneer jy statistieke oor hierdie week se quiz, 30 00:01:23,790 --> 00:01:27,460 nie ontmoedig word as, veral as jy voel dat jy rondom die gemiddelde 31 00:01:27,460 --> 00:01:30,780 of onder die gemiddelde of die mediaan, veral omdat ons dit nie doen nie noodwendig 32 00:01:30,780 --> 00:01:33,560 neem al die demografie in ag mid-semester 33 00:01:33,560 --> 00:01:35,000 met die gradering statistieke. 34 00:01:35,000 --> 00:01:37,250 >> Met ander woorde, ons weet statisties elke jaar 35 00:01:37,250 --> 00:01:39,570 dat studente wat minder gemaklike, doen 'n bietjie erger op die quiz. 36 00:01:39,570 --> 00:01:42,050 En studente wat meer gemaklik doen 'n bietjie beter op die quiz. 37 00:01:42,050 --> 00:01:45,430 Maar per belofte in die leerplan en ook in die eerste week van lesings, 38 00:01:45,430 --> 00:01:46,880 ons almal wat in ag. 39 00:01:46,880 --> 00:01:48,900 >> Trouens, op jare einde wat ons uiteindelik doen 40 00:01:48,900 --> 00:01:52,154 is normaliseer al die tellings oor afdelings, beide in Cambridge 41 00:01:52,154 --> 00:01:54,570 en nou hier in New Haven, wat beteken inagneming 42 00:01:54,570 --> 00:01:57,310 die uiteenlopende style, die uiteenlopende hardheid, die ander soort 43 00:01:57,310 --> 00:02:00,722 persoonlikhede wat die individu Tas het hier en in Cambridge 44 00:02:00,722 --> 00:02:02,930 sodat jy nie op 'n nadeel selfs as jy net 45 00:02:02,930 --> 00:02:06,120 gebeur nie 'n TF of 'n TA moes wat 'n bietjie harder was op jou 46 00:02:06,120 --> 00:02:07,170 in jou gedagtes. 47 00:02:07,170 --> 00:02:10,139 >> Twee, ons neem in ag troos vlak en die werklike agtergrond, of 'n gebrek 48 00:02:10,139 --> 00:02:13,310 daarvan, wanneer die neem van quiz tellings in ag. 49 00:02:13,310 --> 00:02:14,830 So die twee is ingereken in. 50 00:02:14,830 --> 00:02:17,142 En aan die einde van die dag, want dit is altyd die geval 51 00:02:17,142 --> 00:02:19,100 dat 'n student beland in 'n minder gemaklike artikel 52 00:02:19,100 --> 00:02:24,250 wanneer hy of sy werklik behoort in 'n tussen-in of andersom, 53 00:02:24,250 --> 00:02:26,230 alles is so ongelooflik geïndividualiseerde. 54 00:02:26,230 --> 00:02:29,560 Inderdaad, sal jy geirriteerd by ons by te kry die einde van die termyn wanneer ons laat 55 00:02:29,560 --> 00:02:32,630 die indiening van jou grade, want met Scaz en Jason en Andy, en ek, 56 00:02:32,630 --> 00:02:35,430 en die span sal gedoen in Cambridge is letterlik 57 00:02:35,430 --> 00:02:38,480 het honderde e-posse heen en saam met al honderd van die kursusse 58 00:02:38,480 --> 00:02:41,279 Tas, hier en in Cambridge, vra hulle wat 59 00:02:41,279 --> 00:02:44,070 hulle dink van al hul studente gebaseer op 'n konsep van die grade. 60 00:02:44,070 --> 00:02:46,230 En alles wat daar na is ongelooflik geïndividualiseerde. 61 00:02:46,230 --> 00:02:49,230 So in die mate wat ons kry om te weet jy in kantoorure, afdelings, en meer, 62 00:02:49,230 --> 00:02:51,350 al wat te in ag geneem word. 63 00:02:51,350 --> 00:02:55,210 >> So asof ons geneig is om te gebruik hierdie vyf punt skaal, asseblief, los jouself 64 00:02:55,210 --> 00:02:57,492 van die veronderstelling dat 'n drie is inderdaad 'n 60%. 65 00:02:57,492 --> 00:02:58,450 Dit is bedoel om goed te wees. 66 00:02:58,450 --> 00:03:01,360 En die onderrig assistente word gehef teen termyn begin 67 00:03:01,360 --> 00:03:04,050 om te probeer om tellings te hou in die twee-twee, en drieë, 68 00:03:04,050 --> 00:03:06,590 en viere wissel sodat ons eintlik ruimte om te groei. 69 00:03:06,590 --> 00:03:08,610 En ons het eintlik ' 'n maatstaf waarvolgens 70 00:03:08,610 --> 00:03:11,086 ons kan jou nuttige gee terugvoer oor hoe jy doen 71 00:03:11,086 --> 00:03:12,210 en hoe jy vorder. 72 00:03:12,210 --> 00:03:15,130 So asseblief neem dat die hart. 73 00:03:15,130 --> 00:03:20,565 >> Is daar enige vrae wat ek kan help spreek of bekommernisse ek kan help sus? 74 00:03:20,565 --> 00:03:23,800 Of beloftes kan ek probeer om te hou? 75 00:03:23,800 --> 00:03:24,690 Geen? 76 00:03:24,690 --> 00:03:25,330 OK. 77 00:03:25,330 --> 00:03:26,010 >> Alles reg. 78 00:03:26,010 --> 00:03:28,970 So met wat gesê het, dit is CS50. 79 00:03:28,970 --> 00:03:31,670 Dit is die begin van die week ses hier in New Haven. 80 00:03:31,670 --> 00:03:33,820 Kom ons begin met 'n kort verduistering van die ligte 81 00:03:33,820 --> 00:03:37,439 die stadium vir die inhoud vandag se stel. 82 00:03:37,439 --> 00:03:38,105 [Video speel] 83 00:03:38,105 --> 00:03:44,045 [Speel van musiek] 84 00:03:44,045 --> 00:03:46,600 -hy Het gekom met 'n boodskap. 85 00:03:46,600 --> 00:03:50,300 86 00:03:50,300 --> 00:03:52,900 Met 'n protokol al sy eie. 87 00:03:52,900 --> 00:04:06,417 88 00:04:06,417 --> 00:04:13,090 Hy het gekom om 'n wêreld van die koel firewalls, hartelose routers, en gevare veel erger 89 00:04:13,090 --> 00:04:16,079 dat die dood. 90 00:04:16,079 --> 00:04:21,079 Hy is vinnig, hy is sterk, hy is TCP / IP. 91 00:04:21,079 --> 00:04:23,120 En hy het jou adres. 92 00:04:23,120 --> 00:04:25,820 93 00:04:25,820 --> 00:04:29,268 Warriors van die netto. 94 00:04:29,268 --> 00:04:29,917 >> [Einde afspeel] 95 00:04:29,917 --> 00:04:31,000 DAVID J. MALAN: Alle reg. 96 00:04:31,000 --> 00:04:32,030 Dit is CS50. 97 00:04:32,030 --> 00:04:33,820 Dit is die begin van die week ses. 98 00:04:33,820 --> 00:04:37,270 En dit is die begin van ons kyk by die internet en web ontwikkeling. 99 00:04:37,270 --> 00:04:41,220 En, miskien die meeste spannende, vandag die oorgang vir ons 100 00:04:41,220 --> 00:04:43,780 van ons command line wêreld van die web C 101 00:04:43,780 --> 00:04:47,020 gebaseer wêreld van PHP en HTML, en CSS, en SQL, en JavaScript, 102 00:04:47,020 --> 00:04:49,800 en soveel meer wat is op die horison. 103 00:04:49,800 --> 00:04:53,390 >> Maar eers, het dit onder ons aandag gekom in die loop oor die kampus dat daar 104 00:04:53,390 --> 00:04:57,914 is 'n sekere badkamer hier in New Haven genoem die Harvard kamer, wat 105 00:04:57,914 --> 00:04:59,080 is 'n bietjie vergrys hier uit. 106 00:04:59,080 --> 00:05:03,830 Maar inderdaad, iemand het na die tyd en koste van ets Harvard kamer 107 00:05:03,830 --> 00:05:05,700 oor hierdie hier kamer. 108 00:05:05,700 --> 00:05:07,790 Dankie vir dit. 109 00:05:07,790 --> 00:05:11,020 Ek kan nie sê ons het 'n analoog in Cambridge nog, 110 00:05:11,020 --> 00:05:14,060 maar ek dink ons ​​het 'n klein projek vir onsself nou wanneer ons gaan terug. 111 00:05:14,060 --> 00:05:15,890 So dankie vir dit. 112 00:05:15,890 --> 00:05:18,340 >> So 'n vinnige terug kyk op waar ons verlede week opgehou 113 00:05:18,340 --> 00:05:21,010 en waar jy gaan hierdie komende week met probleme stel vyf. 114 00:05:21,010 --> 00:05:24,350 So in die probleem stel vyf, sal jy uitgedaag om 'n speltoetser te implementeer. 115 00:05:24,350 --> 00:05:26,630 En om dit te doen, sal jy oorhandig 'n mooi groot teks 116 00:05:26,630 --> 00:05:29,160 lêer met soos 140,000 Engelse woorde. 117 00:05:29,160 --> 00:05:32,610 En jy sal uitgedaag word om te besluit op 'n datastruktuur waarmee jy 118 00:05:32,610 --> 00:05:35,340 wil al daardie woorde te laai in die geheue en in die geheue, 119 00:05:35,340 --> 00:05:38,470 en dan te implementeer 'n paar funksies, waarvan een gaan wees gaan. 120 00:05:38,470 --> 00:05:41,555 Waardeur wanneer geslaag 'n argument, 'n woord, jou funksie tjek 121 00:05:41,555 --> 00:05:43,430 eenvoudig gaan hê om te sê waar of vals, 122 00:05:43,430 --> 00:05:44,990 dit is 'n woord in die woordeboek. 123 00:05:44,990 --> 00:05:47,110 >> Maar jy gaan sommige het ontwerp diskresie en uitdagings 124 00:05:47,110 --> 00:05:48,568 wanneer dit kom by die uitvoering van daardie. 125 00:05:48,568 --> 00:05:51,250 In die eenvoudigste implementering, jy kan beslis 126 00:05:51,250 --> 00:05:53,960 implementering van 'n speltoetser in die onderliggende woordeboek 127 00:05:53,960 --> 00:05:55,380 met watter soort data struktuur? 128 00:05:55,380 --> 00:05:57,796 Jy hoef net 'n hele berg n klomp van die snare in die geheue? 129 00:05:57,796 --> 00:06:00,074 Wat is die pad om te antwoord van week twee miskien? 130 00:06:00,074 --> 00:06:00,740 GEHOOR: Array. 131 00:06:00,740 --> 00:06:01,500 DAVID J. MALAN: Jy kan 'n verskeidenheid te gebruik. 132 00:06:01,500 --> 00:06:02,750 En dit is nie al wat sleg is. 133 00:06:02,750 --> 00:06:05,631 Maar jy hoef nie noodwendig weet vooraf hoe groot van 'n skikking 134 00:06:05,631 --> 00:06:08,630 jy gaan nodig het, as jy dit nie doen nie weet wat die lêer noodwendig in advance. 135 00:06:08,630 --> 00:06:10,110 So jy gaan hê om gebruik 'n bietjie van kullery 136 00:06:10,110 --> 00:06:11,970 soos malloc, soos ons begin gebruik nie. 137 00:06:11,970 --> 00:06:13,977 Of ons kan aanspreek wat deur die gebruik van kommer 138 00:06:13,977 --> 00:06:16,810 wat ander data struktuur wat was soort van 'n marginale verbetering 139 00:06:16,810 --> 00:06:17,894 op 'n verskeidenheid? 140 00:06:17,894 --> 00:06:18,810 GEHOOR: Gekoppel lys. 141 00:06:18,810 --> 00:06:21,270 DAVID J. MALAN: Soos 'n gekoppelde lys, waarin ons kry 'n paar dinamika. 142 00:06:21,270 --> 00:06:22,686 Maar daar is 'n bietjie meer koste. 143 00:06:22,686 --> 00:06:24,150 Ons het wenke om te onderhou. 144 00:06:24,150 --> 00:06:25,890 En jy het nog nie hierdie gekodeerde , maar daar is beslis 145 00:06:25,890 --> 00:06:28,473 om 'n bietjie meer ingewikkeld wees as net die gebruik vierkantige hakies 146 00:06:28,473 --> 00:06:30,080 en spring om 'n skikking. 147 00:06:30,080 --> 00:06:33,340 >> Maar 'n skikking se loop van tyd, As jy op soek is vir 'n woord, 148 00:06:33,340 --> 00:06:34,179 kan teken van n. 149 00:06:34,179 --> 00:06:35,970 Maar weereens, is dit dalk 'n bietjie nie-triviale 150 00:06:35,970 --> 00:06:38,734 om op te bou wat array nie wetende dat die grootte in advance. 151 00:06:38,734 --> 00:06:41,150 'N geskakelde lys al is, as jy net slaan 'n klomp van snare 152 00:06:41,150 --> 00:06:43,300 in 'n geskakelde lys, Wat is jou bogrens 153 00:06:43,300 --> 00:06:46,920 op looptyd gaan wees om te soek vir of tjek 'n woord in die lys? 154 00:06:46,920 --> 00:06:47,700 >> GEHOOR: n. 155 00:06:47,700 --> 00:06:50,575 >> DAVID J. MALAN: Ja, groot O van n of lineêre want in die ergste geval, 156 00:06:50,575 --> 00:06:52,640 die woord is soos 'n Z woord al die pad aan die einde. 157 00:06:52,640 --> 00:06:55,350 En as gevolg van 'n geskakelde lys, omdat diegene pyle by verstek, 158 00:06:55,350 --> 00:06:58,280 in 'n enkel geskakelde lys, gaan net van die een rigting na die ander, 159 00:06:58,280 --> 00:06:59,590 jy kan nie spring rond. 160 00:06:59,590 --> 00:07:01,160 Jy het al van hulle te volg. 161 00:07:01,160 --> 00:07:05,505 >> Sodat ons aan die einde van verlede week voorgestel, week vyf, dat daar beter maniere. 162 00:07:05,505 --> 00:07:08,727 En in die feit, die heilige graal sou werklik konstant tyd 163 00:07:08,727 --> 00:07:10,560 waardeur wanneer jy wil om te kyk op 'n woord, jy 164 00:07:10,560 --> 00:07:13,370 kry 'n direkte antwoord ongeag hoeveel woorde is reeds 165 00:07:13,370 --> 00:07:14,350 in jou woordeboek. 166 00:07:14,350 --> 00:07:17,680 >> Dit is weergawe van 'n kunstenaar se wat jy 'n hash tafel kan noem. 167 00:07:17,680 --> 00:07:21,900 En 'n hash tafel is soort van 'n mooi mengsel van 'n array-- vertikaal geteken 168 00:07:21,900 --> 00:07:26,416 hier, net because-- en dan 'n gekoppel list-- horisontaal hier vestig. 169 00:07:26,416 --> 00:07:28,790 En die hash tafel kan wees geïmplementeer in trosse van maniere. 170 00:07:28,790 --> 00:07:34,110 Hierdie uittreksel uit 'n handboek gebeur om hierdie mense se geboortedatums gebruik 171 00:07:34,110 --> 00:07:38,940 as die wyse waarop dit besluit waar om iemand se naam te sit. 172 00:07:38,940 --> 00:07:41,230 So, dit is 'n woordeboek as jy wil van name. 173 00:07:41,230 --> 00:07:45,240 En om te bespoedig om name in hierdie data struktuur, 174 00:07:45,240 --> 00:07:49,280 hulle kyk na, blykbaar, hierdie mense se geboortedatums met betrekking tot 'n maand. 175 00:07:49,280 --> 00:07:50,570 >> Dus is dit 1-31. 176 00:07:50,570 --> 00:07:52,910 En vergeet van Februarie en die hoek gevalle soos dit. 177 00:07:52,910 --> 00:07:57,050 En as jou verjaarsdag is op Januarie 1 of 1 Februarie of 1 Desember 178 00:07:57,050 --> 00:07:59,890 jy gaan om te eindig op die heel eerste ketting top. 179 00:07:59,890 --> 00:08:02,150 As jou geboorte datum is soos die 25 van 'n maand, 180 00:08:02,150 --> 00:08:04,567 jy gaan om te eindig by emmer nommer 25. 181 00:08:04,567 --> 00:08:07,400 En as daar reeds iemand daar in enige van daardie plekke wat 182 00:08:07,400 --> 00:08:10,470 jy begin doen met hierdie verband lyste saam vas te steek 183 00:08:10,470 --> 00:08:14,320 sodat jy 'n arbitrêre kan hê aantal mense, of enigiets, 184 00:08:14,320 --> 00:08:15,580 op die plek. 185 00:08:15,580 --> 00:08:18,400 >> So jy het soort van 'n mengsel van konstante tyd vir hashing. 186 00:08:18,400 --> 00:08:21,160 En hash iets beteken om neem as toevoer soos 'n persoon, 187 00:08:21,160 --> 00:08:25,360 of sy of haar naam, of sy of haar geboorte datum, en dan besluit op 'n paar uitset 188 00:08:25,360 --> 00:08:29,780 gebaseer op wat, soos op soek na hul verjaardag en uitdruk een deur 31. 189 00:08:29,780 --> 00:08:31,900 >> So dan is jy dalk 'n bietjie van lineêre tyd, 190 00:08:31,900 --> 00:08:34,429 maar in werklikheid, en soos in die die geval van die probleem stel vyf 191 00:08:34,429 --> 00:08:36,220 ons gaan nie te wees werk in P stel vyf 192 00:08:36,220 --> 00:08:40,059 so baie oor asimptotiese loop tyd, soos die teoretiese traagheid 193 00:08:40,059 --> 00:08:41,809 waarmee 'n algoritme kan hardloop. 194 00:08:41,809 --> 00:08:44,330 Ons gaan omgee die werklike aantal sekondes 195 00:08:44,330 --> 00:08:47,350 en die werklike bedrag van die geheue, die werklike aantal grepe van die geheue 196 00:08:47,350 --> 00:08:48,140 jy gebruik. 197 00:08:48,140 --> 00:08:52,710 So gesê, met een groot ketting van soos 'n miljoen mense 198 00:08:52,710 --> 00:08:56,710 is pretty damn stadig as jy soek vir 'n naam in 'n lys van die grootte miljoen. 199 00:08:56,710 --> 00:08:59,830 >> Maar wat as jy verdeel hierdie lys in 31 dele? 200 00:08:59,830 --> 00:09:04,400 Soek 31/01 van daardie super lang lys, in werklikheid, 201 00:09:04,400 --> 00:09:05,741 is beslis gaan om vinniger te wees. 202 00:09:05,741 --> 00:09:07,240 Asimptoties, dit is dieselfde ding. 203 00:09:07,240 --> 00:09:08,860 Jy is net te verdeel deur 'n konstante faktor. 204 00:09:08,860 --> 00:09:10,651 En onthou dat ons gooi die dinge weg. 205 00:09:10,651 --> 00:09:13,486 Maar in werklikheid is, gaan dit te wees 31 keer vinniger. 206 00:09:13,486 --> 00:09:16,110 En dit is wat ons gaan begin om invloed in P stel vyf. 207 00:09:16,110 --> 00:09:18,750 >> So P stel vyf te ook stel voor dat jy dit oorweeg 208 00:09:18,750 --> 00:09:21,810 effens meer gesofistikeerd data struktuur bekend as 'n Trie. 209 00:09:21,810 --> 00:09:24,420 En 'n Trie is net 'n boom soos struktuur data. 210 00:09:24,420 --> 00:09:26,672 Maar in plaas van om bietjie sirkels of reghoeke 211 00:09:26,672 --> 00:09:28,380 as ons hou teken vir nodes, is dit eintlik 212 00:09:28,380 --> 00:09:30,840 het die hele skikkings vir sy nodes. 213 00:09:30,840 --> 00:09:33,430 En selfs al is dit 'n bietjie abstrakte hier om te kyk na, 214 00:09:33,430 --> 00:09:35,450 Zamyla in die P stel loop deur sal loop jy 215 00:09:35,450 --> 00:09:37,580 deur in meer besonderhede hieroor. 216 00:09:37,580 --> 00:09:39,980 Dit is 'n datastruktuur dat daar eerder slim 217 00:09:39,980 --> 00:09:44,130 kan elke knoop om 'n skikking te hê grootte 26, 'n deur of Z nul 218 00:09:44,130 --> 00:09:45,320 deur middel van 25. 219 00:09:45,320 --> 00:09:49,260 En wanneer jy wil plaas 'n persoon se noem in hierdie data struktuur of vind 220 00:09:49,260 --> 00:09:53,990 hom of haar, wat jy doen, indien die naam is soos Maxwell, M-A-X-W-E-L-L, 221 00:09:53,990 --> 00:09:57,900 jy eers kyk na M. En dan moet jy spring na die ooreenstemmende M plek 222 00:09:57,900 --> 00:09:59,100 in die eerste reeks. 223 00:09:59,100 --> 00:10:02,400 Jy spring dan na A, die eerste plek in die volgende skikking, 224 00:10:02,400 --> 00:10:03,610 na aanleiding van die pyle. 225 00:10:03,610 --> 00:10:08,300 Toe X, dan W, dan E, dan L, dan L, en dan miskien 'n paar spesiale einde 226 00:10:08,300 --> 00:10:11,850 karakter, sommige brandwag wat sê 'n woord stop hier. 227 00:10:11,850 --> 00:10:14,780 >> En wat is lekker oor this-- en in gedagte hou dat die prentjie hier 228 00:10:14,780 --> 00:10:16,797 sien hoe kante van elke array word uitgeroei. 229 00:10:16,797 --> 00:10:19,630 Dit is net omdat hierdie ding sou massiewe en gruwelike om te kyk 230 00:10:19,630 --> 00:10:20,338 op op die skerm. 231 00:10:20,338 --> 00:10:21,820 So dit is excerpted. 232 00:10:21,820 --> 00:10:25,920 Wat is lekker oor hierdie benadering is dat as daar 'n miljoen name reeds 233 00:10:25,920 --> 00:10:30,890 in hierdie data struktuur, hoeveel stappe beteken dit my na Maxwell voeg? 234 00:10:30,890 --> 00:10:36,450 M-A-X-W-E-L-L-- soos sewe-ish stappe te voeg of kyk vir Maxwell. 235 00:10:36,450 --> 00:10:39,320 >> Veronderstel daar is 'n triljoen name in hierdie data struktuur. 236 00:10:39,320 --> 00:10:41,900 Hoeveel stappe neem dit my om te kyk vir Maxwell? 237 00:10:41,900 --> 00:10:43,450 M-A-X-- nog sewe. 238 00:10:43,450 --> 00:10:45,770 >> En daarin lê die sogenaamde konstante tyd. 239 00:10:45,770 --> 00:10:47,960 As ons aanvaar dat woorde beslis begrens 240 00:10:47,960 --> 00:10:52,150 20 karakters, of 46 karakters, of 'n redelik klein heelgetal, 241 00:10:52,150 --> 00:10:53,790 dan is dit effektief 'n konstante. 242 00:10:53,790 --> 00:10:57,790 En so inplanting en soek 'n Trie is super vinnig. 243 00:10:57,790 --> 00:10:59,540 Natuurlik, ons nooit iets kry wat gratis. 244 00:10:59,540 --> 00:11:02,740 En selfs al is jy waarskynlik het nie geduik in P stel nog vyf 245 00:11:02,740 --> 00:11:06,596 watter prys is ons waarskynlik betaal om kry dat die groter doeltreffendheid tyd wys? 246 00:11:06,596 --> 00:11:07,470 >> GEHOOR: Memory. 247 00:11:07,470 --> 00:11:08,390 >> DAVID J. MALAN: Memory, reg? 248 00:11:08,390 --> 00:11:10,240 Ek bedoel, ons het nie getrek die hele prentjie hier. 249 00:11:10,240 --> 00:11:12,823 Hierdie uittreksel uit die handboek het nie al die skikkings getrek. 250 00:11:12,823 --> 00:11:16,687 Daar is 'n groot hoeveelheid van die geheue en net null pointers wat nie gebruik word nie. 251 00:11:16,687 --> 00:11:17,520 So dit is 'n kompromis. 252 00:11:17,520 --> 00:11:21,050 En dit sal gelaat word om jou in P stel vyf om te besluit oor watter pad jy wil gaan. 253 00:11:21,050 --> 00:11:24,460 >> Nou is hierdie idee van hashing, as 'n eenkant, is eintlik super algemeen. 254 00:11:24,460 --> 00:11:27,980 So om hash 'n waarde beteken, heel eenvoudig, om iets as toevoer te neem 255 00:11:27,980 --> 00:11:29,220 en produseer 'n uitset. 256 00:11:29,220 --> 00:11:31,270 So 'n hash funksie is net 'n algoritme. 257 00:11:31,270 --> 00:11:34,990 >> En in die algemeen, 'n hash funksies doel in die lewe is om iets as toevoer te neem 258 00:11:34,990 --> 00:11:39,655 en produseer 'n getal as uitset, soos die nommer een deur 31 of 'n deur Z, 259 00:11:39,655 --> 00:11:40,960 zero deur middel van 25. 260 00:11:40,960 --> 00:11:44,250 So dit neem 'n komplekse uitset en krimp dit af om iets 261 00:11:44,250 --> 00:11:46,310 dit is 'n bietjie meer nuttig en hanteerbaar. 262 00:11:46,310 --> 00:11:49,250 >> En so dit blyk in 'n baie gewilde funksie 263 00:11:49,250 --> 00:11:51,160 dat die sekuriteit wêreld en die menslike wêreld se 264 00:11:51,160 --> 00:11:53,060 gebruik vir die jaar word genoem SHA1. 265 00:11:53,060 --> 00:11:56,260 Dit is 'n mooi fancy wiskundige formule wat in wese doen dit. 266 00:11:56,260 --> 00:11:58,870 >> Jy neem 'n baie groot stuk van nulle en ones-- 267 00:11:58,870 --> 00:12:01,530 dat 'n megabyte kan wees lang, 'n gigagreep long-- 268 00:12:01,530 --> 00:12:05,930 en dit krimp dit af na net 'n paar stukkies, 'n paar stukkies, 269 00:12:05,930 --> 00:12:09,082 sodat jy 'n nommer soos een deur 31, of 'n deur Z. 270 00:12:09,082 --> 00:12:11,540 Maar in werklikheid, is dit 'n bietjie groter is as net 'n middel Z. 271 00:12:11,540 --> 00:12:16,640 >> Ongelukkig kan ons op die punt van wat iemand speels genoem SHAppening 272 00:12:16,640 --> 00:12:19,840 waardeur die wêreld is om te eindig in waarskynlik 'n paar maande 273 00:12:19,840 --> 00:12:22,617 tyd, want navorsers, net die afgelope week, 274 00:12:22,617 --> 00:12:25,700 'n verslag wat in stryd met gepubliseerde wat sekuriteit navorsers het gedink 275 00:12:25,700 --> 00:12:29,810 vir 'n geruime tyd, deur net spandeer oor, wat was dit, 276 00:12:29,810 --> 00:12:33,420 Ek dink dit was $ 175,000-- baie geld, 277 00:12:33,420 --> 00:12:36,540 maar nie buite die bereik van veral sleg slegte ouens, 278 00:12:36,540 --> 00:12:41,560 of veral sleg countries-- $ 175,000 kon koop jy 'n baie gehuur bediener 279 00:12:41,560 --> 00:12:42,690 ruimte in die wolk. 280 00:12:42,690 --> 00:12:44,619 En ons sal terug te kom die wolk voor lank. 281 00:12:44,619 --> 00:12:47,410 Maar dit beteken net die huur bediener ruimte op soos bedieners Microsoft se 282 00:12:47,410 --> 00:12:50,285 of Google of Amazon, of die soos waar jy kan betaal deur die minuut 283 00:12:50,285 --> 00:12:51,670 rekenaars iemand anders se gebruik. 284 00:12:51,670 --> 00:12:54,250 >> En dit blyk as jy kan betaal iemand anders om hul rekenaars te leen 285 00:12:54,250 --> 00:12:56,730 en run kode wat jy geskryf het op dit en gebruik mooi fancy 286 00:12:56,730 --> 00:13:01,580 wiskunde, kan jy in wese figuur hoe iemand se hash funksie is 287 00:13:01,580 --> 00:13:05,320 werk, en die lig van sy uitvoer, reverse engineer wat sy insette is. 288 00:13:05,320 --> 00:13:08,590 En vir die doeleindes vandag se is dit voldoende om te sê, dit is sleg. 289 00:13:08,590 --> 00:13:12,540 Omdat SHA1 hash funksies en soos dit is super algemeen 290 00:13:12,540 --> 00:13:17,050 gebruik word in die veiligheid toepassings, geënkripteerde verbindings op die web, 291 00:13:17,050 --> 00:13:21,890 bank transaksies, sellulêre enkripsie vir jou selfone, en dies meer. 292 00:13:21,890 --> 00:13:24,880 En so enige tyd iemand vind 'n manier om te keer 293 00:13:24,880 --> 00:13:28,510 ingenieur een van hierdie tegnologie of breek, kan slegte dinge gebeur. 294 00:13:28,510 --> 00:13:30,300 >> Nou al die wêreld geweet hierdie. 295 00:13:30,300 --> 00:13:31,310 Dit was afsienbare. 296 00:13:31,310 --> 00:13:34,670 En die wêreld het sedertdien verskuif vanaf SHA1 om SHA256, 297 00:13:34,670 --> 00:13:37,320 wat net 'n fancy manier sê hulle gebruik groter stukkies. 298 00:13:37,320 --> 00:13:40,570 En in die feit, selfs CS50 se eie webwerf opgegradeer verlede jaar aan- 299 00:13:40,570 --> 00:13:43,290 nie dat ons in die gesig staar al hierdie baie dreigemente probeer om die PDFs te kry 300 00:13:43,290 --> 00:13:46,520 en whatnot-- maar webwerf CS50 se gebruik die groter hash funksie, 301 00:13:46,520 --> 00:13:47,980 wat beteken dat ons veilig sal wees. 302 00:13:47,980 --> 00:13:50,020 So al jou PDFs veilig sal wees, maar nie 303 00:13:50,020 --> 00:13:52,880 noodwendig jou geld of enigiets veral private of persoonlike 304 00:13:52,880 --> 00:13:53,380 om te gebruik. 305 00:13:53,380 --> 00:13:56,550 Check Sp dat URL as jy wil soos 'n paar ekstra inligting. 306 00:13:56,550 --> 00:13:59,840 >> So probleem stel vyf is inderdaad op die horison. 307 00:13:59,840 --> 00:14:01,560 Quiz een is eerskomende Woensdag. 308 00:14:01,560 --> 00:14:04,479 Maar neem voordeel van die kantoor ure, beide vanaand en môre. 309 00:14:04,479 --> 00:14:07,770 En ook die voordeel van die kantoor-ure, as jy beskikbaar is, net ná hierdie is. 310 00:14:07,770 --> 00:14:11,550 Die personeel en ek sal hou om te doen en meer gemaklik Q & A bykomend tot vanaand. 311 00:14:11,550 --> 00:14:16,610 En laat my sterk daarop hier vir diegene van ons hier in New Haven-- 312 00:14:16,610 --> 00:14:19,360 so dit is absoluut per Scaz se opmerkings gevoel, ek is seker, 313 00:14:19,360 --> 00:14:21,140 soos 'n bietjie van 'n opdraande stryd. 314 00:14:21,140 --> 00:14:24,627 En deur die reputasie, as jy nie reeds geleer of gehoor 315 00:14:24,627 --> 00:14:27,710 van 'n paar vriende by Harvard, weet hier is 'n paar nuwe institusionele geheue. 316 00:14:27,710 --> 00:14:30,790 P stel vyf soort soort geneig is om die hardste in CS50 wees, 317 00:14:30,790 --> 00:14:32,590 of die mees uitdagende vir die meeste studente. 318 00:14:32,590 --> 00:14:37,180 >> Maar wat dit beteken is dat ons amper by die top van die heuwel. 319 00:14:37,180 --> 00:14:38,270 En Ek het regtig bedoel dit. 320 00:14:38,270 --> 00:14:40,728 Dit is die mees uitdagende, maar dit is ook die mees lonende 321 00:14:40,728 --> 00:14:43,560 in teenstelling met die meeste wat elke ander inleidende rekenaarwetenskap 322 00:14:43,560 --> 00:14:47,980 kursus in die VSA wat ons weet van, die meeste studente nie 'n intro voltooi 323 00:14:47,980 --> 00:14:51,400 Natuurlik het reeds geïmplementeer dinge soos bome, en drieë, 324 00:14:51,400 --> 00:14:52,880 en hash tabelle, en dies meer. 325 00:14:52,880 --> 00:14:54,770 >> En so het ek hoop, en Ons hoop dat jy 326 00:14:54,770 --> 00:14:57,280 het 'n enorme gevoel van tevredenheid selfs 327 00:14:57,280 --> 00:15:00,760 indien die week of twee via wat jy wat tevredenheid 328 00:15:00,760 --> 00:15:02,490 nie voel 'n bietjie soos hierdie. 329 00:15:02,490 --> 00:15:05,250 Maar laat my gerus te stel, het ons net vier P stelle gelaat. 330 00:15:05,250 --> 00:15:07,380 So soort van wat bo in sig. 331 00:15:07,380 --> 00:15:12,370 >> Aan die ander kant is, ons vertrou, dit is net golwende heuwels en wolke. 332 00:15:12,370 --> 00:15:16,000 En sal ons sê, hondjies is aan die ander kant. 333 00:15:16,000 --> 00:15:18,340 So jy moet net op te hang daar 'n bietjie langer. 334 00:15:18,340 --> 00:15:22,050 Ek bedoel, inderdaad soos ons begin om die oorgang in die wêreld van die web programmering, 335 00:15:22,050 --> 00:15:26,060 sal jy vind dat dinge become-- dit is eintlik adorable. 336 00:15:26,060 --> 00:15:29,680 337 00:15:29,680 --> 00:15:33,490 OK, ons sal hierdie URL later plaas. 338 00:15:33,490 --> 00:15:36,140 Jy sal ook vind dat ons bereik 'n plato soort 339 00:15:36,140 --> 00:15:38,150 waar alles is inderdaad nog gesofistikeerde 340 00:15:38,150 --> 00:15:40,170 en uitdagende deur ontwerp, maar jy is nie 341 00:15:40,170 --> 00:15:42,590 gaan om te voel soos ons is voortdurend gaan hierdie heuwel. 342 00:15:42,590 --> 00:15:44,390 So neem 'n troos in daardie. 343 00:15:44,390 --> 00:15:47,409 >> So sonder verdere uitstel het, laat ons begin om hierdie mark oorgang te maak 344 00:15:47,409 --> 00:15:49,950 in die semester aan die wêreld van die web, en regtig die wêreld 345 00:15:49,950 --> 00:15:51,420 waarmee almal van ons is meer vertroud. 346 00:15:51,420 --> 00:15:53,753 Ons het die internet toestelle het in ons sakke, op ons lessenaars, 347 00:15:53,753 --> 00:15:55,127 in ons rugsakke, en dies meer. 348 00:15:55,127 --> 00:15:56,210 Hoe al hierdie werk? 349 00:15:56,210 --> 00:15:59,077 En hoe kan ons begin skryf kode wat is nie super arcane 350 00:15:59,077 --> 00:16:01,910 en in sommige flikkerende teks vinnige dat nie een van jou vriende of familie 351 00:16:01,910 --> 00:16:04,659 is ooit gaan wil om te kommunikeer met, maar iets wat jy kan sit 352 00:16:04,659 --> 00:16:06,660 op hul selfone, of op hul webblaaiers, 353 00:16:06,660 --> 00:16:09,010 of op enige toestelle met wat hulle interaksie het. 354 00:16:09,010 --> 00:16:10,430 >> So hier is iemand se huis. 355 00:16:10,430 --> 00:16:14,040 En binnekant van hierdie huis is 'n paar van die skootrekenaars, 'n paar van die ou skool lessenaar 356 00:16:14,040 --> 00:16:17,470 rekenaars, iets genaamd 'n router of hub in die middel, 357 00:16:17,470 --> 00:16:20,310 en dan 'n soort van kabelmodem of DSL modem. 358 00:16:20,310 --> 00:16:24,560 En dan is daar die internet, oor die algemeen geteken as 'n wolk daar in die lug. 359 00:16:24,560 --> 00:16:29,230 >> So hierdie foto, maar 'n bietjie soort gedateer, 360 00:16:29,230 --> 00:16:32,604 beslis vang wat die meeste van het jy waarskynlik in jou huise, 361 00:16:32,604 --> 00:16:35,520 of effektief wat almal van julle het in jou koshuiskamer kamers, of woonstelle, 362 00:16:35,520 --> 00:16:36,480 of die wil. 363 00:16:36,480 --> 00:16:40,010 >> So, wat is eintlik gaan oor wanneer jy probeer om die gebruik van die internet vandag? 364 00:16:40,010 --> 00:16:42,010 Sodat elke rekenaar op die internet, dit blyk, 365 00:16:42,010 --> 00:16:46,860 moet 'n unieke adres het nie, baie soos ons in die werklike wêreld behoefte 366 00:16:46,860 --> 00:16:52,050 'n posadres, soos 51 Prospect Street, New Haven, Connecticut, of 33 367 00:16:52,050 --> 00:16:54,170 Oxford Street, Cambridge, Massachusetts. 368 00:16:54,170 --> 00:16:58,520 So doen rekenaars op die internet het 'n manier om hulself uniek aanspreek. 369 00:16:58,520 --> 00:17:01,180 >> Dit is so dat wanneer 'n rekenaar wil 'n ander om te praat, 370 00:17:01,180 --> 00:17:04,525 dit kan 'n boodskap te stuur en stel die ontvanger aan wie 371 00:17:04,525 --> 00:17:05,900 dit moet die reaksie terug te stuur. 372 00:17:05,900 --> 00:17:07,900 So dit maak net soort van intuïtief sin dalk 373 00:17:07,900 --> 00:17:09,980 dat alles het 'n adres van 'n soort. 374 00:17:09,980 --> 00:17:11,240 >> Maar hoe weet jy 'n adres te kry? 375 00:17:11,240 --> 00:17:13,589 Wel, as jy kry op hier kampus, of jy by die huis te gaan 376 00:17:13,589 --> 00:17:15,760 en jy op jou laptop of desktop rekenaar, 377 00:17:15,760 --> 00:17:17,770 en óf prop dit in of toegang tot Wi-Fi, 378 00:17:17,770 --> 00:17:19,569 dit blyk dat daar is 'n spesiale bediener 379 00:17:19,569 --> 00:17:22,089 op die meeste netwerke bekend as 'n DHCP-bediener. 380 00:17:22,089 --> 00:17:23,880 Maak nie regtig saak wat dit staan, 381 00:17:23,880 --> 00:17:26,660 maar dit is dinamiese gasheer opset protokol, wat net 382 00:17:26,660 --> 00:17:29,760 'n fancy manier om te sê, dit is 'n rekenaar wat óf Yale het, 383 00:17:29,760 --> 00:17:32,600 of Harvard het, of Comcast het, of Verizon het, 384 00:17:32,600 --> 00:17:35,100 of jou maatskappy het, wie se doel in die lewe, 385 00:17:35,100 --> 00:17:38,810 wanneer dit hoor iemand wat nuut is bygevoeg aan die netwerk, is om hier te sê, 386 00:17:38,810 --> 00:17:40,010 gebruik hierdie adres. 387 00:17:40,010 --> 00:17:42,790 >> Sodat ons mense nie hoef te hard kode in ons rekenaars 388 00:17:42,790 --> 00:17:44,040 wat ons unieke adres is. 389 00:17:44,040 --> 00:17:47,070 Ons draai dit op, maak die deksel en een of ander manier hierdie bediener 390 00:17:47,070 --> 00:17:52,210 op die plaaslike netwerk net vertel my dat my adres is 51 Prospect Street, of 33 391 00:17:52,210 --> 00:17:53,940 Oxford Street, of die wil. 392 00:17:53,940 --> 00:17:56,000 >> Nou is dit nie van plan om so verbose soos dit. 393 00:17:56,000 --> 00:18:00,210 Eerder wat ek gaan om te kry is 'n numeriese adres genoem 'n IP-adres. 394 00:18:00,210 --> 00:18:01,960 IP beteken internet protokol. 395 00:18:01,960 --> 00:18:06,025 En die kans is teen hierdie tyd in jou lewe, jy waarskynlik gehoor of gesien dat die woord IP, 396 00:18:06,025 --> 00:18:08,140 of oor die algemeen gegooi dit om miskien. 397 00:18:08,140 --> 00:18:10,720 Maar in werklikheid, dit is redelik reguit vorentoe 'n ding. 398 00:18:10,720 --> 00:18:13,610 >> 'N IP-adres is net 'n stippellyn desimale getal, 399 00:18:13,610 --> 00:18:17,150 wat beteken dit is iets dot iets dot dot iets iets. 400 00:18:17,150 --> 00:18:21,980 En elkeen van daardie Iets gebeur om 'n getal tussen 0 en 255 wees. 401 00:18:21,980 --> 00:18:26,710 >> So gebaseer op vyf plus weke CS50, as hierdie getalle elke reeks 0-255, 402 00:18:26,710 --> 00:18:28,713 hoeveel stukkies is elke van daardie getal tekens? 403 00:18:28,713 --> 00:18:29,420 >> GEHOOR: Agt. 404 00:18:29,420 --> 00:18:30,100 >> DAVID J. MALAN: Dit moet wees agt. 405 00:18:30,100 --> 00:18:31,933 So in totaal, hoeveel stukkies is 'n IP-adres? 406 00:18:31,933 --> 00:18:32,710 GEHOOR: 32. 407 00:18:32,710 --> 00:18:33,820 >> DAVID J. MALAN: So 32. 408 00:18:33,820 --> 00:18:35,830 8 plus 8 plus 8 plus 8 is 32. 409 00:18:35,830 --> 00:18:38,767 Hoeveel totale IP adresse kan daar in die wêreld? 410 00:18:38,767 --> 00:18:39,600 GEHOOR: 4000000000. 411 00:18:39,600 --> 00:18:42,410 DAVID J. MALAN: So ongeveer vier miljard, want dit is die 2 32 krag. 412 00:18:42,410 --> 00:18:44,410 En as jy nie kan nie soort van grok wat in jou gedagtes, 413 00:18:44,410 --> 00:18:47,470 weet net dat 32-bit waardes kan so groot soos 4000000000 wees 414 00:18:47,470 --> 00:18:49,140 As dit is alles positiewe waardes. 415 00:18:49,140 --> 00:18:52,500 So dit beteken daar is 4000000000 moontlik IP adresse in die wêreld. 416 00:18:52,500 --> 00:18:55,090 >> En snaakse storie, ons is soort van die bestuur van hulle. 417 00:18:55,090 --> 00:18:59,720 En in werklikheid is dit 'n groot probleem in die sin dat die wêreld het ook hierdie probleem kom, 418 00:18:59,720 --> 00:19:03,639 maar nie noodwendig gereageer dit in die meeste vinnige manier moontlik. 419 00:19:03,639 --> 00:19:05,680 En inderdaad, sodra jy klaar CS50 en begin 420 00:19:05,680 --> 00:19:06,950 aandag in die tegnologie wêreld, sal jy 421 00:19:06,950 --> 00:19:08,520 sien dit is baie algemeen tematiese. 422 00:19:08,520 --> 00:19:12,260 >> Byvoorbeeld, as ons gaan regtig ou skool deesdae, Y2K. 423 00:19:12,260 --> 00:19:13,570 Dit was nie regtig 'n verrassing. 424 00:19:13,570 --> 00:19:15,700 Soos almal weet vir 1000 jaar dat 425 00:19:15,700 --> 00:19:20,250 was-- meer as 'n duisend years-- dat wat uiteindelik gaan gebeur nie. 426 00:19:20,250 --> 00:19:23,295 En tog, ons gereageer om dit baie op die laaste minuut. 427 00:19:23,295 --> 00:19:24,420 En dit is weer gebeur. 428 00:19:24,420 --> 00:19:26,740 So vandag sal ons praat oor IP weergawe 4. 429 00:19:26,740 --> 00:19:29,250 Maar weet dat die wêreld is uiteindelik om 430 00:19:29,250 --> 00:19:31,590 om na die opgradering van iets genoem IPv6, 431 00:19:31,590 --> 00:19:34,540 wat in die plek van die 32-bit adresse, uses-- iemand 432 00:19:34,540 --> 00:19:36,443 wil 'n raaiskoot, hoeveel stukkies neem? 433 00:19:36,443 --> 00:19:37,310 >> GEHOOR: 64? 434 00:19:37,310 --> 00:19:38,380 >> DAVID J. MALAN: Goeie raaiskoot, maar geen. 435 00:19:38,380 --> 00:19:39,975 Ons het uiteindelik probeer om kry voor die kurwe. 436 00:19:39,975 --> 00:19:40,558 >> GEHOOR: 128. 437 00:19:40,558 --> 00:19:43,490 DAVID J. MALAN: 128, wat is 'n freaking groot aantal 438 00:19:43,490 --> 00:19:46,250 IP adresse, want dit is soos tye 2, tye 2, 439 00:19:46,250 --> 00:19:49,620 keer 2, 'n baie van die tye twees uit 4000000000. 440 00:19:49,620 --> 00:19:50,530 >> So as nuuskierig. 441 00:19:50,530 --> 00:19:54,110 Dit blyk out-- en ek dit net googled om hierdie te vind out-- Yale rekenaars, 442 00:19:54,110 --> 00:19:58,910 hier by Yale, is geneig om te begin met hierdie numbers-- 130,132 dot iets 443 00:19:58,910 --> 00:20:00,669 en 128,36 dot iets. 444 00:20:00,669 --> 00:20:02,710 Maar daar is beslis uitsonderings in die raad 445 00:20:02,710 --> 00:20:05,334 afhangende van wat die departement en bou en die kampus is jy op. 446 00:20:05,334 --> 00:20:09,310 Harvard geneig om 140,247 of 128,103. 447 00:20:09,310 --> 00:20:11,530 En oor die algemeen is dit nuttelose inligting, 448 00:20:11,530 --> 00:20:13,260 maar dit is iets wat jy kan nou sien. 449 00:20:13,260 --> 00:20:15,593 Wanneer jy begin skeer rond instellings op jou rekenaar, 450 00:20:15,593 --> 00:20:18,540 jy kan begin om hierdie sien soorte patrone voor lank. 451 00:20:18,540 --> 00:20:23,470 >> Maar wanneer jy by die huis en het 'n Apple AirPort, of 'n Linksys toestel 452 00:20:23,470 --> 00:20:26,560 of 'n D-Link, of wat ook al is dit jou ouers of broers en susters geïnstalleer 453 00:20:26,560 --> 00:20:28,890 in jou huis, goed wat jy waarskynlik 454 00:20:28,890 --> 00:20:30,800 is wat 'n private IP-adres genoem. 455 00:20:30,800 --> 00:20:34,850 En dit was eintlik 'n mooi, tydelike oplossing 456 00:20:34,850 --> 00:20:38,050 om die probleem van die bestuur kort op IP adresse. 457 00:20:38,050 --> 00:20:40,382 >> En wat jy kan doen met huis netwerke, typically-- 458 00:20:40,382 --> 00:20:42,340 en eerlik, selfs Yale en Harvard begin 459 00:20:42,340 --> 00:20:46,840 om dit te doen in verskillende areas-- is jy kan 'n hele klomp van die rekenaars gee 460 00:20:46,840 --> 00:20:50,360 een IP adres so lank as wat jy sit 'n spesiale toestel in die voorkant van hulle, 461 00:20:50,360 --> 00:20:52,410 iets wat 'n router genoem, of dit kan genoem word 462 00:20:52,410 --> 00:20:54,060 'n gevolmagtigde of enige aantal ander dinge. 463 00:20:54,060 --> 00:20:56,710 Maar 'n sekere toestel wat het dat een IP adres. 464 00:20:56,710 --> 00:20:59,450 En dan agter dat die apparaat, binne 'n gebou, 465 00:20:59,450 --> 00:21:03,030 binne 'n huis of 'n woonstel, kan enige aantal rekenaars, wat almal 466 00:21:03,030 --> 00:21:06,460 'n IP-adres wat begin met een van hierdie syfers hier. 467 00:21:06,460 --> 00:21:08,590 En so lank as wat die rekenaar weet hoe om te skakel 468 00:21:08,590 --> 00:21:10,900 die openbare adres die private-adres, 469 00:21:10,900 --> 00:21:13,340 alles kan sorteer van die werk as wat verwag is. 470 00:21:13,340 --> 00:21:17,290 >> Maar die omgekeerde hiervan is dat indien jy by die huis en jy het 'n broer of suster, 471 00:21:17,290 --> 00:21:19,650 en beide van julle is besoek 'n paar webwerf, 472 00:21:19,650 --> 00:21:23,520 daardie webwerf weet nie of dit is wat jy of jou broer besoek die webwerf, 473 00:21:23,520 --> 00:21:26,780 omdat jy lyk dieselfde wees persoon omdat al jou data 474 00:21:26,780 --> 00:21:30,050 gaan deur daardie router of dat die sentrale punt. 475 00:21:30,050 --> 00:21:32,220 >> Maar genoeg oor hierdie laer vlak besonderhede. 476 00:21:32,220 --> 00:21:37,770 Kom ons neem 'n blik op hoe IP adresse soms kom miskien in die media 477 00:21:37,770 --> 00:21:41,370 en hoe ons nou kan begin om te ruïneer, eerlik, selfs nog meer shows vir jou. 478 00:21:41,370 --> 00:21:45,010 As ons kon verdof die ligte vir 'n paar sekondes. 479 00:21:45,010 --> 00:21:46,550 >> [Video speel] 480 00:21:46,550 --> 00:21:49,310 >> -Dit Is 'n 32-bit op IPP 4 adres. 481 00:21:49,310 --> 00:21:50,650 >> -IP ES internet-- 482 00:21:50,650 --> 00:21:52,800 >> -Private Netwerk, Tamia se private netwerk. 483 00:21:52,800 --> 00:22:05,670 484 00:22:05,670 --> 00:22:08,145 Sy is so amazing. 485 00:22:08,145 --> 00:22:09,630 -Come Op Charlie. 486 00:22:09,630 --> 00:22:11,750 DAVID J. MALAN: Dis 'n spieël IP adres. 487 00:22:11,750 --> 00:22:15,093 Sy laat ons waak wat sy doen in real time. 488 00:22:15,093 --> 00:22:16,285 >> [Einde afspeel] 489 00:22:16,285 --> 00:22:17,130 >> DAVID J. MALAN: OK. 490 00:22:17,130 --> 00:22:18,480 So 'n paar probleme met hierdie. 491 00:22:18,480 --> 00:22:22,740 So een wat ons soek om hier op die skerm 492 00:22:22,740 --> 00:22:25,290 is 'n kode geskryf in 'n taal, die sogenaamde Objective-C, 493 00:22:25,290 --> 00:22:28,020 wat is 'n soort van 'n opvolger vir die C taal wat ons doen. 494 00:22:28,020 --> 00:22:30,150 Dit het absoluut niks te doen met programmering. 495 00:22:30,150 --> 00:22:32,399 In werklikheid, as die beste wat ek kan sê, dit is 'n tekening program 496 00:22:32,399 --> 00:22:38,360 dat iemand afgelaai word vanaf die internet of ander manier met kryt. 497 00:22:38,360 --> 00:22:43,660 >> Miskien minder uitmuntend is dat hierdie IP-adres, geldig of ongeldig? 498 00:22:43,660 --> 00:22:44,520 >> GEHOOR: ongeldig. 499 00:22:44,520 --> 00:22:48,479 >> DAVID J. MALAN: ongeldig, want 275 is, natuurlik, nie tussen 0 en 255. 500 00:22:48,479 --> 00:22:51,770 Ook dit is waarskynlik OK al is, want jy wil nie n klomp van die mal mense 501 00:22:51,770 --> 00:22:54,790 wat soos om op hul TV TiVos en dan die besoek van die IP te sien 502 00:22:54,790 --> 00:22:56,290 indien daar is eintlik iets daar. 503 00:22:56,290 --> 00:22:58,200 Sodat een is 'n bietjie minder uitmuntend. 504 00:22:58,200 --> 00:23:00,990 Maar besef ook dit is soort van almal rondom ons. 505 00:23:00,990 --> 00:23:04,980 >> So natuurlik, niemand van ons ooit regtig tik numeriese adresse 506 00:23:04,980 --> 00:23:06,410 in ons blaaiers. 507 00:23:06,410 --> 00:23:09,580 Dit sou soort van 'n slegte ding wees As Google, Google besoek, 508 00:23:09,580 --> 00:23:15,060 jy het om te gaan om 123.46.57.89. 509 00:23:15,060 --> 00:23:17,007 En die hele wêreld het net onthou dat. 510 00:23:17,007 --> 00:23:19,090 En eerlik, het ons soort van voor gesien hierdie kwessie. 511 00:23:19,090 --> 00:23:24,130 Terug in die dag wanneer mense nie selfone en kontak lyste, 512 00:23:24,130 --> 00:23:27,640 en maatskappye eintlik still-- eintlik, Ek dink maatskappye het nog 800 513 00:23:27,640 --> 00:23:30,600 getalle en die like-- maar jy algemeen sien getalle geadverteer 514 00:23:30,600 --> 00:23:36,480 as 1-800-versamel, C-O-L-L-E-C-T. Want niemand kan regtig onthou, 515 00:23:36,480 --> 00:23:39,754 wanneer sien 'n advertensie op 'n bus of advertensiebord, wat iemand se nommer is, 516 00:23:39,754 --> 00:23:42,420 maar hulle kan seker, met 'n hoër waarskynlikheid, onthou 'n woord. 517 00:23:42,420 --> 00:23:44,530 >> Sodat ons aangeneem dieselfde soort stelsel in die wêreld 518 00:23:44,530 --> 00:23:48,290 van die internet waar daar is 'n domein naam stelsel sodat ons die mens kan 519 00:23:48,290 --> 00:23:52,340 tik google.com, facebook.com, yale.edu, harvard.edu, 520 00:23:52,340 --> 00:23:56,140 en laat die rekenaars figuur uit te vind wat die ooreenstemmende IP 521 00:23:56,140 --> 00:23:58,480 adres is vir 'n gegewe naam. 522 00:23:58,480 --> 00:24:01,620 >> En die manier waarop jy dit doen in die werklike wêreld is dat vir $ 10 'n jaar, 523 00:24:01,620 --> 00:24:05,900 miskien $ 50 per jaar, kan jy 'n domein te koop noem, of 'n domein naam regtig huur. 524 00:24:05,900 --> 00:24:09,860 En dan elkeen jy betaal aan daardie domain naam te huur, 525 00:24:09,860 --> 00:24:14,069 jy hulle vertel wat in die wêreld weet wat jou IP-adres is. 526 00:24:14,069 --> 00:24:16,360 En ons sal nie in hierdie gaan besonderhede nie, maar baie van julle 527 00:24:16,360 --> 00:24:18,750 dalk wil, vir finale projekte, om werklik te meld 528 00:24:18,750 --> 00:24:22,120 vir jou eie web hosting maatskappy, hetsy vir gratis 529 00:24:22,120 --> 00:24:23,500 of vir 'n paar dollars per maand. 530 00:24:23,500 --> 00:24:26,100 Sommige van julle dalk wil koop, 'n paar dollars, jou eie domein naam 531 00:24:26,100 --> 00:24:28,900 net vir die pret of 'n besigheid te begin of 'n persoonlike webwerf of die wil. 532 00:24:28,900 --> 00:24:30,880 >> En besef dat al van daardie sal uiteindelik 533 00:24:30,880 --> 00:24:35,260 neer op wat jy vertel die wêreld wat IP-adres van jou bediener is. 534 00:24:35,260 --> 00:24:37,740 En dan hierdie DNS bedieners eintlik sorg 535 00:24:37,740 --> 00:24:39,910 waarvolgens die res van die wêreld. 536 00:24:39,910 --> 00:24:41,830 So al 'n DNS-bediener het, in kort, binne 537 00:24:41,830 --> 00:24:44,780 van sy geheue is soos die ekwivalent van 'n Google spreiblad 538 00:24:44,780 --> 00:24:49,420 of 'n Excel spreadsheet met ten minste twee kolomme, waarvan een het name, 539 00:24:49,420 --> 00:24:52,100 soos harvard.edu en yale.edu en google.com. 540 00:24:52,100 --> 00:24:55,870 En die ander kolom die ooreenstemmende IP-adres of IP 541 00:24:55,870 --> 00:24:56,382 adresse. 542 00:24:56,382 --> 00:24:57,590 En ons kan eintlik sien. 543 00:24:57,590 --> 00:24:59,881 So op my Mac-- en jy kan doen dit op Windows rekenaars 544 00:24:59,881 --> 00:25:04,330 as well-- as ek maak 'n terminaal venster hier, hou die een in CD50 IDE, 545 00:25:04,330 --> 00:25:08,190 die meeste rekenaars het 'n bevel genoem Nslookup naam bediener opkyk. 546 00:25:08,190 --> 00:25:12,380 En as ek iets in te tik soos yale.edu en druk Enter, wat 547 00:25:12,380 --> 00:25:19,250 Ek moet sien of my netwerk saam as dit vir verskeie toetse voor die klas gedoen 548 00:25:19,250 --> 00:25:24,584 began-- laat ons probeer google.com. 549 00:25:24,584 --> 00:25:26,390 Natuurlik nou niks werk. 550 00:25:26,390 --> 00:25:27,190 Dit is 'n groot. 551 00:25:27,190 --> 00:25:30,660 Alle reg, staan ​​vir 'n oomblik. 552 00:25:30,660 --> 00:25:32,100 Nslookup google.com. 553 00:25:32,100 --> 00:25:35,570 554 00:25:35,570 --> 00:25:38,660 >> Wel, laat ons sien of die werklike internet-- no. 555 00:25:38,660 --> 00:25:39,700 Dit is wat gebeur het. 556 00:25:39,700 --> 00:25:43,090 Oh my god, alles reg. 557 00:25:43,090 --> 00:25:45,490 Die Wi-Fi gebreek. 558 00:25:45,490 --> 00:25:47,410 >> Hey, wil weet wat my IP adres is? 559 00:25:47,410 --> 00:25:49,722 Alles reg. 560 00:25:49,722 --> 00:25:50,820 YaleSecure. 561 00:25:50,820 --> 00:25:53,330 Dit is hoe jy los dinge soos 'n rekenaar wetenskaplike. 562 00:25:53,330 --> 00:25:54,617 Ons draai die Wi-Fi af. 563 00:25:54,617 --> 00:25:57,480 564 00:25:57,480 --> 00:25:59,450 OK. 565 00:25:59,450 --> 00:26:02,610 >> En eintlik, Scaz, doen jy omgee meld ons in die veilige een? 566 00:26:02,610 --> 00:26:06,246 Anders meer toetse are-- OK, dankie jy Yale-- of oor te breek. 567 00:26:06,246 --> 00:26:07,370 Ek wil om te gaan op YaleSecure. 568 00:26:07,370 --> 00:26:09,880 569 00:26:09,880 --> 00:26:11,870 O ja, en miskien sal ons OK wees. 570 00:26:11,870 --> 00:26:12,686 Miskien is ons terug. 571 00:26:12,686 --> 00:26:16,810 572 00:26:16,810 --> 00:26:19,733 En dit is hoe, as 'n rekenaar wetenskaplike los 'n rekenaar. 573 00:26:19,733 --> 00:26:22,000 [Applous] 574 00:26:22,000 --> 00:26:23,220 Alles reg. 575 00:26:23,220 --> 00:26:27,160 So waar ek was in hierdie sogenaamde terminale venster, 576 00:26:27,160 --> 00:26:32,270 en as ek Nslookup yale.edu daar gaan ons. 577 00:26:32,270 --> 00:26:38,350 So ek terug eers die IP-adres van die DNS bediener wat my laptop gebruik. 578 00:26:38,350 --> 00:26:41,610 So in bykomend tot 'n DHCP-bediener wat Ons het gepraat oor 'n oomblik gelede vertel 579 00:26:41,610 --> 00:26:44,720 my laptop wat my IP adres is dat DHCP-bediener 580 00:26:44,720 --> 00:26:46,860 vertel my ook wat DNS-bediener te gebruik. 581 00:26:46,860 --> 00:26:48,860 Anders sou ek om dit in die hand te tik. 582 00:26:48,860 --> 00:26:50,359 >> Maar dit is nie al wat interessant. 583 00:26:50,359 --> 00:26:54,310 Wat ek omgee is dat dit die IP adres van die webwerf Yale se blykbaar. 584 00:26:54,310 --> 00:26:55,470 So in werklikheid, laat ons probeer om hierdie. 585 00:26:55,470 --> 00:27:02,710 Laat my gaan in 'n leser en gaan http: //, en dan dat IP-adres, 586 00:27:02,710 --> 00:27:04,220 en druk Enter. 587 00:27:04,220 --> 00:27:06,700 En laat ons sien. 588 00:27:06,700 --> 00:27:09,587 Dit is hoe anders jy kan besoek Yale se webtuistes. 589 00:27:09,587 --> 00:27:10,920 Nou is dit nie al wat onthou. 590 00:27:10,920 --> 00:27:12,220 Soos die pre-frosh waarskynlik nie gaan 591 00:27:12,220 --> 00:27:15,310 hierdie spesifieke adres onthou As aangesê om daar besoek na 'n besoek. 592 00:27:15,310 --> 00:27:16,580 Maar dit lyk om te werk. 593 00:27:16,580 --> 00:27:21,179 En so DNS regtig net ons toelaat om het baie meer menslike vriendelike adresse. 594 00:27:21,179 --> 00:27:23,220 Maar hulle het nie noodwendig net een antwoord gee. 595 00:27:23,220 --> 00:27:25,640 >> In werklikheid, as jy 'n baie groot tegnologie maatskappy, 596 00:27:25,640 --> 00:27:27,620 jy waarskynlik wil het baie van die bedieners. 597 00:27:27,620 --> 00:27:29,027 En selfs dit is misleidend. 598 00:27:29,027 --> 00:27:31,110 So Yale waarskynlik nie net een web server. 599 00:27:31,110 --> 00:27:34,150 Google waarskynlik nie net 10 of so web bedieners. 600 00:27:34,150 --> 00:27:36,960 Google veral waarskynlik het duisende web bedieners 601 00:27:36,960 --> 00:27:40,030 regoor die wêreld wat kan reageer versoeke van mense soos ons. 602 00:27:40,030 --> 00:27:43,870 >> Maar hulle het ook 'n tegnologie genaamd gebruik load balancing, wat lang storie kort, 603 00:27:43,870 --> 00:27:48,810 het net 'n paar toestelle in die wêreld versprei oor meer bedieners die las. 604 00:27:48,810 --> 00:27:52,320 So dit is soort van soos 'n spinnerak as sal jy versending die versoeke. 605 00:27:52,320 --> 00:27:54,380 Maar vir nou, al wat interessante vir vandag 606 00:27:54,380 --> 00:27:56,870 is dat 'n domein naam soos google.com kan selfs 607 00:27:56,870 --> 00:28:00,100 het verskeie IP adresse soos dit. 608 00:28:00,100 --> 00:28:04,610 >> Maar hoe al ons data eintlik terug te kry en weer toe in die einde? 609 00:28:04,610 --> 00:28:08,320 Wel, dit blyk dat daar hierdie dinge genoem routers op die internet. 610 00:28:08,320 --> 00:28:10,980 En wat is 'n router om die mate dat jy reeds weet? 611 00:28:10,980 --> 00:28:13,730 En ek het die woord 'n paar gebruik keer in die konteks van 'n huis, 612 00:28:13,730 --> 00:28:17,155 maar in eenvoudige terme, Wat doen 'n router doen? 613 00:28:17,155 --> 00:28:18,780 Gee my net 'n raaiskoot op grond van sy naam? 614 00:28:18,780 --> 00:28:20,082 >> GEHOOR: So 'n pad of 'n pad? 615 00:28:20,082 --> 00:28:21,790 DAVID J. MALAN: So dit is 'n pad of 'n pad. 616 00:28:21,790 --> 00:28:23,980 So 'n roete is 'n pad of die pad, absoluut. 617 00:28:23,980 --> 00:28:27,000 En 'n router, so 'n toestel wat eintlik roetes inligting, 618 00:28:27,000 --> 00:28:29,690 sou data tussen punte A en B. beweeg 619 00:28:29,690 --> 00:28:31,920 >> En so in fact-- en dit is dalk toe 620 00:28:31,920 --> 00:28:34,510 jy Google uitbeeldings van routers op die wêreld, kry alles wat jy 621 00:28:34,510 --> 00:28:35,900 is Wink bemarking diagramme. 622 00:28:35,900 --> 00:28:38,550 En so hierdie is 'n soort van die mees verteenwoordigende een wat ek kon vind 623 00:28:38,550 --> 00:28:39,841 wat lyk effens interessant. 624 00:28:39,841 --> 00:28:44,170 Elkeen van hierdie kolle of opflikkert van hoop regoor die wêreld verteenwoordig 'n router. 625 00:28:44,170 --> 00:28:47,210 En elkeen van hulle het 'n lyn tussen 'n paar ander router. 626 00:28:47,210 --> 00:28:49,090 >> Omdat inderdaad, daar is duisende, waarskynlik 627 00:28:49,090 --> 00:28:52,560 miljoene routers rondom die wêreld, waarvan sommige in ons huise 628 00:28:52,560 --> 00:28:56,070 en op ons kampusse, maar 'n baie wat besit word deur groot maatskappye 629 00:28:56,070 --> 00:29:00,250 en word verbind sodat as ek wil 'n paar data van hier te stuur aan die Yale 630 00:29:00,250 --> 00:29:04,430 terug by die huis te Cambridge, Yale waarskynlik het nie 'n enkele kabel, seker, 631 00:29:04,430 --> 00:29:05,650 gaan direk na Harvard. 632 00:29:05,650 --> 00:29:07,399 En Yale het nie 'n enkele kabel gaan 633 00:29:07,399 --> 00:29:10,010 om MIT, of om Stanford, of om Berkeley, of Google 634 00:29:10,010 --> 00:29:11,820 of enige aantal bestemmings. 635 00:29:11,820 --> 00:29:14,760 >> Inteendeel, Yale en Harvard, en almal op die internet 636 00:29:14,760 --> 00:29:17,610 het nie een of meer routers verbind om dit, miskien 637 00:29:17,610 --> 00:29:18,810 op die rand van die kampus. 638 00:29:18,810 --> 00:29:21,690 Sodat wanneer my data wil kampus Yale se vertrek, 639 00:29:21,690 --> 00:29:24,770 dit gaan om wat die naaste router, soos deur een van hierdie kolle. 640 00:29:24,770 --> 00:29:27,940 En dan dat router syfers uit of om dit te stuur hierdie manier, of op hierdie manier, 641 00:29:27,940 --> 00:29:33,440 of hierdie manier, of op hierdie manier gebaseer op 'n ander tafel in sy geheue, 642 00:29:33,440 --> 00:29:36,870 'n ander Excel lêer of Google spreadsheet wat in een kolom 643 00:29:36,870 --> 00:29:41,315 sê, as jou IP-adres begin met die nommer een, gaan op hierdie manier. 644 00:29:41,315 --> 00:29:43,690 As jou IP-adres begin met 'n nommer twee, gaan op die manier. 645 00:29:43,690 --> 00:29:47,040 En so kan jy dit af te breek numeries om die router stuur 646 00:29:47,040 --> 00:29:49,040 data elke watter manier. 647 00:29:49,040 --> 00:29:51,419 >> En ons kan soort van sien dit as well. 648 00:29:51,419 --> 00:29:54,210 Kom ons gaan voort om hierdie terminale venster weer en laat my gaan voort 649 00:29:54,210 --> 00:30:00,700 en spoor die roete, kom ons sê, www.mit.edu, 650 00:30:00,700 --> 00:30:02,970 wat is 'n paar honderd myl weg. 651 00:30:02,970 --> 00:30:04,500 Dit was regtig damn vinnig. 652 00:30:04,500 --> 00:30:06,290 >> So wat nou net gebeur? 653 00:30:06,290 --> 00:30:10,360 So in net sewe stappe, en in net vier millisekondes, 654 00:30:10,360 --> 00:30:14,660 Ek gestuur data oor die internet van hier aan die Yale om MIT. 655 00:30:14,660 --> 00:30:18,240 Elkeen van hierdie rye, jy kan dalk raai verteenwoordig wat nou? 656 00:30:18,240 --> 00:30:19,060 >> GEHOOR: 'n router. 657 00:30:19,060 --> 00:30:20,101 >> DAVID J. MALAN: 'n router. 658 00:30:20,101 --> 00:30:24,090 So ja, dit lyk asof daar ongeveer sewe of so routers, 659 00:30:24,090 --> 00:30:29,350 of ses routers in tussen my fisies hier Yale se wet skool 660 00:30:29,350 --> 00:30:31,612 en webwerf MIT se daar. 661 00:30:31,612 --> 00:30:34,570 En wat ons kan optel van hierdie as follows-- en laat my skoon it up. 662 00:30:34,570 --> 00:30:38,180 Ek is van plan om dit weer uit te voer met 'n opdrag line argument van -q 1 tot net sê, 663 00:30:38,180 --> 00:30:39,300 gee my net een vraag. 664 00:30:39,300 --> 00:30:40,800 By verstek, spoor roete doen drie. 665 00:30:40,800 --> 00:30:42,350 En dit is hoekom ons gesien trosse van getalle. 666 00:30:42,350 --> 00:30:44,850 Ek wil minder getalle te sien net om die uitset skoner te hou. 667 00:30:44,850 --> 00:30:46,280 En laat ons sien wat gebeur. 668 00:30:46,280 --> 00:30:49,220 >> So vir watter rede ookal, iemand by Yale gedagte 669 00:30:49,220 --> 00:30:54,130 dit snaaks om dit te noem sou wees om jou standaard router arubacentral, wat 670 00:30:54,130 --> 00:30:57,920 is op vlan of virtuele LAN, virtuele plaaslike gebied 671 00:30:57,920 --> 00:30:59,810 netwerk 30-- sodat jy het waarskynlik ten minste 672 00:30:59,810 --> 00:31:03,050 29 others-- router.net.yale.internal. 673 00:31:03,050 --> 00:31:06,660 En Interne hier is 'n soort van 'n vals boonste vlak domein bedoel om net gebruik word 674 00:31:06,660 --> 00:31:07,210 op kampus. 675 00:31:07,210 --> 00:31:10,335 En kennis van die ooreenstemmende IP adres van daardie router, waar dit ook al is hier 676 00:31:10,335 --> 00:31:13,920 op kampus, is 172.28.204.129. 677 00:31:13,920 --> 00:31:17,470 En dit het 36 millisekondes om te gaan van hier tot daar. 678 00:31:17,470 --> 00:31:18,050 >> Snaakse storie. 679 00:31:18,050 --> 00:31:19,716 Ons sal terug te kry om dit te in net 'n oomblik. 680 00:31:19,716 --> 00:31:22,920 Maar nou is die tweede router-- om wat blykbaar arubacentral 681 00:31:22,920 --> 00:31:25,790 het 'n soort van fisiese verband mees likely-- 682 00:31:25,790 --> 00:31:27,249 die mens het nie die moeite noem dit. 683 00:31:27,249 --> 00:31:30,373 Die Yale mense het nie die moeite noem dit, want dit is binne jou netwerk 684 00:31:30,373 --> 00:31:30,940 dit blyk. 685 00:31:30,940 --> 00:31:32,520 En so het dit net 'n IP-adres. 686 00:31:32,520 --> 00:31:34,660 >> Maar dan 'n derde router hier op Yale se netwerk 687 00:31:34,660 --> 00:31:36,700 dit is waarskynlik 'n bietjie verder weg steeds 688 00:31:36,700 --> 00:31:41,330 is cen10g genoem ookal dit is asr.net.yale.internal. 689 00:31:41,330 --> 00:31:43,040 En dit het te 'n IP-adres. 690 00:31:43,040 --> 00:31:44,990 >> Nou hoekom is hierdie getalle soort wisselende? 691 00:31:44,990 --> 00:31:47,890 2.9, 1.4, 36? 692 00:31:47,890 --> 00:31:48,840 Routers besig raak. 693 00:31:48,840 --> 00:31:50,420 En hulle kry dig en gerugsteun. 694 00:31:50,420 --> 00:31:53,200 Daar is duisende mense op hierdie kampus met behulp van die internet nou. 695 00:31:53,200 --> 00:31:56,050 Daar is 'n honderd mense in hierdie kamer met behulp van die internet nou. 696 00:31:56,050 --> 00:31:59,030 >> En so wat gebeur, is dat die routers kan kry oorvol. 697 00:31:59,030 --> 00:32:01,350 En so die tye mag wissel 'n bietjie. 698 00:32:01,350 --> 00:32:04,620 So dit is waarom hulle nie noodwendig verhoog reguit. 699 00:32:04,620 --> 00:32:07,510 >> Maar dinge soort interessant in stap vier. 700 00:32:07,510 --> 00:32:13,040 Blykbaar tussen Yale en stap vier is nog hop. 701 00:32:13,040 --> 00:32:16,480 En waar is die router in stap vier waarskynlik? 702 00:32:16,480 --> 00:32:17,410 >> GEHOOR: [onhoorbaar] 703 00:32:17,410 --> 00:32:19,410 >> DAVID J. MALAN: JFK miskien, Miskien by die lughawe. 704 00:32:19,410 --> 00:32:21,950 Maar vir watter rede ook al, stelsel administrateurs, so 705 00:32:21,950 --> 00:32:24,140 geeks wat bedieners hardloop vir jaar het die naam routers 706 00:32:24,140 --> 00:32:25,600 na die naaste lughawe kode. 707 00:32:25,600 --> 00:32:27,420 So JFK beteken waarskynlik dit is net iewers 708 00:32:27,420 --> 00:32:29,970 in New York, miskien in Manhattan of een van die boroughs. 709 00:32:29,970 --> 00:32:34,460 nyc2 dui, vermoedelik, 'n ander router wat iewers in New York. 710 00:32:34,460 --> 00:32:37,140 >> Ek weet nie mooi waar ry ses is hier, router nommer ses. 711 00:32:37,140 --> 00:32:40,110 quest.net 'n groot ISP, internet diensverskaffer, 712 00:32:40,110 --> 00:32:43,240 wat voorsiening internet konneksie groot plekke soos Yale en ander. 713 00:32:43,240 --> 00:32:47,110 En dan hierdie laaste een, is dit lyk soos wat MIT nie eens 714 00:32:47,110 --> 00:32:50,180 het hul eie webwerf in Cambridge noodwendig, 715 00:32:50,180 --> 00:32:52,090 maar eerder hulle het uitgekontrakteer hul webwerf, 716 00:32:52,090 --> 00:32:55,150 of ten minste die fisiese bedieners, om 'n maatskappy genaamd Akamai. 717 00:32:55,150 --> 00:32:57,940 En Akamai eintlik is regs af die pad van MIT in Cambridge 718 00:32:57,940 --> 00:32:58,790 dit blyk. 719 00:32:58,790 --> 00:33:02,360 >> Maar besef ook dat selfs gedink jy gaan www.mit.edu, 720 00:33:02,360 --> 00:33:05,200 Ons kan regtig gestuur word oral in die wêreld. 721 00:33:05,200 --> 00:33:06,960 >> En laat ons sien iewers anders in die wêreld. 722 00:33:06,960 --> 00:33:09,240 Laat my gaan voort en skoon hierdie skerm en plaas 723 00:33:09,240 --> 00:33:15,240 spoor die roete, net een keer, so navraag een om www.cnn.co.jp, 724 00:33:15,240 --> 00:33:18,390 die Japannese tuisblad vir CNN, die nuus site. 725 00:33:18,390 --> 00:33:20,660 En as ek druk Enter nou, Kom ons kyk wat gebeur. 726 00:33:20,660 --> 00:33:23,610 Ons begin weer op arubacentral. 727 00:33:23,610 --> 00:33:26,510 Ons dan gaan die naamlose router, 'n paar meer. 728 00:33:26,510 --> 00:33:29,527 So het dit 12 hoep kry om Japan hierdie tyd. 729 00:33:29,527 --> 00:33:30,860 En laat ons sien wat ons kan optel. 730 00:33:30,860 --> 00:33:32,450 >> So dieselfde hop, hop dieselfde. 731 00:33:32,450 --> 00:33:35,170 Effens anders nou. 732 00:33:35,170 --> 00:33:36,380 Hierdie een se interessant. 733 00:33:36,380 --> 00:33:40,870 So ek hier aan die raai, is 'n stamford1 paar dorpe weg in Connecticut ook. 734 00:33:40,870 --> 00:33:43,810 Hierdie routers in ry ses en sewe nie name het. 735 00:33:43,810 --> 00:33:46,370 Maar dit is 'n soort van amazing. 736 00:33:46,370 --> 00:33:53,310 >> So, wat blyk te wees tussen die routers in stap sewe en agt? 737 00:33:53,310 --> 00:33:54,760 En hoekom het jy so veel sê nie? 738 00:33:54,760 --> 00:33:55,260 Ja? 739 00:33:55,260 --> 00:33:56,060 >> GEHOOR: Oseaan. 740 00:33:56,060 --> 00:33:57,640 >> DAVID J. MALAN: Waarskynlik 'n oseaan. 741 00:33:57,640 --> 00:34:01,366 Ons weet dit is waar soos, intuïtief, reg? 742 00:34:01,366 --> 00:34:04,790 Maar ons kan soveel soort bevestig van soort empiries hoekom? 743 00:34:04,790 --> 00:34:06,860 Wat het verander tussen rye sewe en agt? 744 00:34:06,860 --> 00:34:09,429 745 00:34:09,429 --> 00:34:14,739 >> Dit het 'n baie meer tyd om te gaan na Wat hierdie naamlose router sewe is, 746 00:34:14,739 --> 00:34:18,670 waarskynlik iewers in die kontinentale VSA, te stap agt, 747 00:34:18,670 --> 00:34:22,639 wat waarskynlik iewers in Japan gebaseer op die domein naam van Jp daar. 748 00:34:22,639 --> 00:34:25,719 En so die bykomende honderd millisekondes iets 749 00:34:25,719 --> 00:34:28,960 of 90 of so millisekondes is die gevolg van ons data gaan 750 00:34:28,960 --> 00:34:31,100 oor 'n mooi groot liggaam van water. 751 00:34:31,100 --> 00:34:34,570 >> Nou vreemd, blyk dit dat miskien dat die kabel gaan oor die hele VSA. 752 00:34:34,570 --> 00:34:37,070 As ons werklik gaan oor die Weskus na Japan te kry, 753 00:34:37,070 --> 00:34:39,111 dit is soort van die lang pad as ons gaan die ander kant. 754 00:34:39,111 --> 00:34:41,400 So dit is nie heeltemal duidelik wat gaan aan fisies. 755 00:34:41,400 --> 00:34:43,830 Maar die feit dat elke addisionele hop inderdaad 756 00:34:43,830 --> 00:34:46,020 het aansienlik meer as elke ander, dit is 757 00:34:46,020 --> 00:34:50,440 redelik goed bevestiging dat CNN se Japannese web bediener is waarskynlik inderdaad 758 00:34:50,440 --> 00:34:51,310 in Japan. 759 00:34:51,310 --> 00:34:54,089 En dit is beslis verder weg as MIT het. 760 00:34:54,089 --> 00:34:56,380 En dit is die moeite werd om daarop te let ook jou data is nie noodwendig 761 00:34:56,380 --> 00:34:58,794 gaan die reis kortste moontlike afstand. 762 00:34:58,794 --> 00:35:00,960 In werklikheid, as jy speel rond met spoor roete by die huis 763 00:35:00,960 --> 00:35:04,170 net pluk ewekansige webtuistes, jy dalk vind dat net 'n e-pos te stuur 764 00:35:04,170 --> 00:35:06,490 of om 'n webwerf te besoek dit is hier in New Haven, 765 00:35:06,490 --> 00:35:09,200 soms jou data dalk eerste neem 'n ompad, trek af na DC, 766 00:35:09,200 --> 00:35:10,450 en dan terug te kom op. 767 00:35:10,450 --> 00:35:12,860 En dit is net as gevolg van die dinamiese routing besluite 768 00:35:12,860 --> 00:35:14,650 dat hierdie rekenaars maak. 769 00:35:14,650 --> 00:35:18,930 >> Nou net vir die pret, die produksie span afgewerk een van hierdie video's vir ons 770 00:35:18,930 --> 00:35:20,807 om net 'n bietjie meer bondige. 771 00:35:20,807 --> 00:35:23,640 Maar vir ons 'n vinnige sin gee here-- en ons kan die ligte laat on-- 772 00:35:23,640 --> 00:35:32,363 as om net hoeveel kabels is eintlik die uitvoering van al ons data. 773 00:35:32,363 --> 00:35:33,029 [Video speel] 774 00:35:33,029 --> 00:35:36,023 [Speel van musiek] 775 00:35:36,023 --> 00:36:31,911 776 00:36:31,911 --> 00:36:32,777 [Einde afspeel] 777 00:36:32,777 --> 00:36:35,860 DAVID J. MALAN: All netwerk videos het koel klinkende musiek blykbaar. 778 00:36:35,860 --> 00:36:38,084 So dit is net 'n te kry gevoel van net hoeveel het 779 00:36:38,084 --> 00:36:39,500 is aan die gang onder die kap. 780 00:36:39,500 --> 00:36:41,355 >> Maar laat ons kyk na 'n effens laer vlak nou 781 00:36:41,355 --> 00:36:44,150 op watter data is eintlik kameelkoei die lyne, 782 00:36:44,150 --> 00:36:46,720 en selfs draadloos gaan in 'n kamer soos hierdie. 783 00:36:46,720 --> 00:36:49,580 >> So dit blyk wanneer jy versoek 'n webblad, of stuur 'n e-pos, 784 00:36:49,580 --> 00:36:53,670 of kry 'n webblad, of 'n e-pos, of 'n Gchat boodskap of 'n Facebook boodskap 785 00:36:53,670 --> 00:36:57,800 of die wil, wat nie net een groot stuk van stukkies draadloos vloei 786 00:36:57,800 --> 00:37:00,600 deur die lug of elektronies op 'n draad. 787 00:37:00,600 --> 00:37:03,680 Inteendeel, die versoek of reaksie is oor die algemeen 788 00:37:03,680 --> 00:37:05,810 chunked up in aparte stukke. 789 00:37:05,810 --> 00:37:08,880 >> So met ander woorde, wanneer jy 'n versoek om van 'n ander rekenaar, 790 00:37:08,880 --> 00:37:10,980 of jy terug 'n reaksie van 'n ander computer-- 791 00:37:10,980 --> 00:37:15,800 soos veronderstel, byvoorbeeld, as unfamiliar-- as te veel mense 792 00:37:15,800 --> 00:37:18,400 lyk hierdie days-- wees As vertroud met this-- 793 00:37:18,400 --> 00:37:20,200 nie fellow-- hierdie man. 794 00:37:20,200 --> 00:37:23,950 So dink dit is 'n boodskap wat Ek wil stuur na iemand in die rug. 795 00:37:23,950 --> 00:37:28,930 Wie in die baie terug wil ontvang 'n foto van Rick Astley vandag? 796 00:37:28,930 --> 00:37:29,805 OK, wat is jou naam? 797 00:37:29,805 --> 00:37:30,590 >> GEHOOR: Cole. 798 00:37:30,590 --> 00:37:31,306 >> DAVID J. MALAN: Wat is dit? 799 00:37:31,306 --> 00:37:31,672 >> GEHOOR: Cole. 800 00:37:31,672 --> 00:37:32,040 >> DAVID J. MALAN: Holt? 801 00:37:32,040 --> 00:37:32,540 H-O? 802 00:37:32,540 --> 00:37:33,711 GEHOOR: C-O-L-E. 803 00:37:33,711 --> 00:37:34,960 DAVID J. MALAN: C-O-L-E, Cole. 804 00:37:34,960 --> 00:37:35,520 Jammer. 805 00:37:35,520 --> 00:37:36,430 C-O-L-E. 806 00:37:36,430 --> 00:37:36,930 Alles reg. 807 00:37:36,930 --> 00:37:40,990 So as ek wil Cole hierdie stuur foto hier, weet jy 808 00:37:40,990 --> 00:37:42,410 is 'n soort van 'n groot prentjie, reg? 809 00:37:42,410 --> 00:37:44,472 Dit kan 'n paar te wees kilogrepe, 'n paar megagrepe, 810 00:37:44,472 --> 00:37:45,930 veral as dit 'n hoë resolusie. 811 00:37:45,930 --> 00:37:48,660 En ek het nie regtig wil ophou almal uit die gebruik van die internet 812 00:37:48,660 --> 00:37:50,680 net terwyl ek dit regtig stuur groot, hoë kwaliteit foto's 813 00:37:50,680 --> 00:37:52,138 van Rick Astley regdeur die kamer. 814 00:37:52,138 --> 00:37:55,310 Ek wil graag van jou data om voort te gaan om deurkruis die netwerk en die Wi-Fi 815 00:37:55,310 --> 00:37:56,100 ook. 816 00:37:56,100 --> 00:38:00,100 >> En so het dit sense-- en dit maak verhaalbaar is elektronies, 817 00:38:00,100 --> 00:38:01,780 nie soseer in die werklike wêreld. 818 00:38:01,780 --> 00:38:04,904 Eintlik, dit gaan om verskeie betekenis as jy my klank uit. 819 00:38:04,904 --> 00:38:08,360 So as ek skeur dit in die helfte soos hierdie hier, 820 00:38:08,360 --> 00:38:11,912 dit nou kan reis die internet meer doeltreffend, 821 00:38:11,912 --> 00:38:13,120 want dit is 'n kleiner stuk. 822 00:38:13,120 --> 00:38:16,780 So met 'n laer waarskynlikheid gaan dit om te bots met die verkeer iemand anders se 823 00:38:16,780 --> 00:38:17,650 op die internet. 824 00:38:17,650 --> 00:38:21,240 >> En ja, wat jou rekenaar inderdaad doen wanneer jy wil 'n boodskap aan Cole stuur 825 00:38:21,240 --> 00:38:24,917 is dit stukke van 'n boodskap soos hierdie in kleiner stukke, fragmente so te praat. 826 00:38:24,917 --> 00:38:28,000 En dan is dit sit hulle binnekant van wat ons sal soort van virtuele koeverte noem. 827 00:38:28,000 --> 00:38:29,620 >> So ek het vier papier koeverte hier. 828 00:38:29,620 --> 00:38:32,690 En ek het vooraf genommer hulle een, twee, drie, vier en. 829 00:38:32,690 --> 00:38:35,800 En wat ek gaan om te doen op die voorkant van hierdie, net soos 'n normale e, 830 00:38:35,800 --> 00:38:38,000 is ek gaan die naam Cole se daar te vestig. 831 00:38:38,000 --> 00:38:41,270 En dan aan die bokant, ek is gaan my Naam daar te vestig, 832 00:38:41,270 --> 00:38:44,995 David, sodat die eerste sodanige pakkie Ek stuur daar buite op die internet 833 00:38:44,995 --> 00:38:47,620 lyk 'n bietjie iets soos hierdie, die uitstaande kenmerke 834 00:38:47,620 --> 00:38:50,830 waarvan dat dit 'n aan te spreek, 'n uit-adres, 835 00:38:50,830 --> 00:38:52,670 en ook 'n aantal, so dat hopelik 836 00:38:52,670 --> 00:38:55,680 voldoende inligting vir Cole om hierdie boodskap te rekonstrueer. 837 00:38:55,680 --> 00:38:58,820 >> So laat my dieselfde te doen hier, die dieselfde hier, en dieselfde hier, 838 00:38:58,820 --> 00:39:01,310 die skryf van sy naam in die Aan akker op almal van hulle. 839 00:39:01,310 --> 00:39:04,240 En dan kom ons gaan voort en het hierdie foto binne-in. 840 00:39:04,240 --> 00:39:06,540 >> So hier is 'n pakkie dit is gereed om te gaan. 841 00:39:06,540 --> 00:39:09,780 Hier is nog 'n pakkie dit is gereed om te gaan. 842 00:39:09,780 --> 00:39:14,100 Hier is 'n derde pakkie dit is gereed om te gaan. 843 00:39:14,100 --> 00:39:16,870 En hier is 'n vierde pakkie dis gereed om te gaan. 844 00:39:16,870 --> 00:39:19,849 >> Maar nou, wat is interessant is oor hoe die internet in werklikheid werke 845 00:39:19,849 --> 00:39:22,140 is dat selfs al het ek het vier pakkies, wat almal 846 00:39:22,140 --> 00:39:24,730 bestem vir dieselfde plek, hulle is nie noodwendig 847 00:39:24,730 --> 00:39:26,870 gaan dieselfde roete deurkruis. 848 00:39:26,870 --> 00:39:32,070 En so selfs al het ek oorhandig packets af tot die naaste router 849 00:39:32,070 --> 00:39:36,660 kom ons sê, as jy wil stuur hulle elke watter manier, laat ons sien 850 00:39:36,660 --> 00:39:40,706 wat werklik gebeur, is die doel van die Dit is vir hulle uiteindelik kry om Cole. 851 00:39:40,706 --> 00:39:44,850 852 00:39:44,850 --> 00:39:48,770 En inderdaad, hulle is reeds nie noodwendig om dieselfde rigting. 853 00:39:48,770 --> 00:39:50,510 En dit is goed. 854 00:39:50,510 --> 00:39:52,480 Dit is 'n bietjie ongemaklik en Oprah styl vandag. 855 00:39:52,480 --> 00:39:56,540 >> En nou, laat my doelbewus neem dat een terug. 856 00:39:56,540 --> 00:40:00,196 En nou Cole, as jy wil weer aanmekaar dit as die beste wat jy kan. 857 00:40:00,196 --> 00:40:06,610 858 00:40:06,610 --> 00:40:10,180 Van die kursus, kan ons almal raai wat die gevolgtrekking hier gaan wees. 859 00:40:10,180 --> 00:40:12,600 Jy gaan hê 3/4 van Rick Astley in net 'n oomblik. 860 00:40:12,600 --> 00:40:15,920 861 00:40:15,920 --> 00:40:19,291 En wat al is die implikasie van dit? 862 00:40:19,291 --> 00:40:20,540 Jy wil om te probeer om dit te hou? 863 00:40:20,540 --> 00:40:23,540 Ons het een kamera wys na jou as jy wil 864 00:40:23,540 --> 00:40:26,226 te poseer met Rick Astley hier. 865 00:40:26,226 --> 00:40:28,610 866 00:40:28,610 --> 00:40:29,510 Daar gaan ons. 867 00:40:29,510 --> 00:40:30,410 Mooi. 868 00:40:30,410 --> 00:40:33,230 >> Maar jy lyk te ontbreek 'n fragment van Rick Astley. 869 00:40:33,230 --> 00:40:37,015 So dit blyk dat die internet word algemeen gedryf deur nie net IP, 870 00:40:37,015 --> 00:40:39,890 maar in die feit dat ons op die heel gehoor begin van lesing in daardie video-- 871 00:40:39,890 --> 00:40:42,473 en jy het waarskynlik gesien akroniem meer often-- wat werklik 872 00:40:42,473 --> 00:40:44,360 is die protokol jy geneig om te hoor oor? 873 00:40:44,360 --> 00:40:45,120 >> GEHOOR: TCP / IP. 874 00:40:45,120 --> 00:40:48,090 >> DAVID J. MALAN: TCP / IP, wat net 'n kombinasie 875 00:40:48,090 --> 00:40:49,940 twee protokolle, een wat geroep IP. 876 00:40:49,940 --> 00:40:52,640 Wat weer, is net die stel konvensies via ons 877 00:40:52,640 --> 00:40:54,740 spreek elke rekenaar in die internet. 878 00:40:54,740 --> 00:40:56,930 En dan TCP, wat dien 'n ander doel. 879 00:40:56,930 --> 00:41:00,110 >> TCP is 'n protokol wat jou tipies gebruik in samewerking 880 00:41:00,110 --> 00:41:04,410 IP, wat onder andere dinge, waarborge lewer. 881 00:41:04,410 --> 00:41:08,860 In werklikheid, TCP is die protokol wat sou dit een van die pakkies sien 882 00:41:08,860 --> 00:41:10,930 blykbaar nie te kry Cole, want hy lyk 883 00:41:10,930 --> 00:41:12,830 vermis nommer vier uit vier. 884 00:41:12,830 --> 00:41:16,530 En so wat TCP, 'n protokol doen, is dit vertel Cole, 885 00:41:16,530 --> 00:41:19,850 hey Cole, as jy net ontvang drie uit vier pakkies, 886 00:41:19,850 --> 00:41:22,600 my watter een jy vertel ontbreek, wese, 887 00:41:22,600 --> 00:41:25,570 en dan my doel in die lewe moet wees om weer te stuur nie. 888 00:41:25,570 --> 00:41:28,580 >> En so as ek ook die sender, is met behulp van die TCP, 889 00:41:28,580 --> 00:41:31,810 Ek moet dan 'n nuwe packet-- nie gekreukelde een here-- 890 00:41:31,810 --> 00:41:35,980 weer te stuur net hierdie stuk dit, so wat uiteindelik Cole het 891 00:41:35,980 --> 00:41:38,280 'n volledige souvenir, indien niks anders nie. 892 00:41:38,280 --> 00:41:43,000 Maar sodat uiteindelik die data eintlik kry om die korrekte bestemming. 893 00:41:43,000 --> 00:41:48,020 >> Maar helaas, skryf die naam Cole se op die voorblad is nie voldoende nie, per se. 894 00:41:48,020 --> 00:41:50,270 En regtig, sou ek nie skryf Naam Cole se, maar waarskynlik 895 00:41:50,270 --> 00:41:51,655 sy IP-adres op die koevert. 896 00:41:51,655 --> 00:41:52,780 En ek sou nie skryf David. 897 00:41:52,780 --> 00:41:56,550 Ek wil my IP adres op die koevert te skryf sodat die rekenaars kan werklik 898 00:41:56,550 --> 00:41:57,999 kommunikeer heen en weer. 899 00:41:57,999 --> 00:42:00,540 Maar dit blyk dat rekenaars kan baie meer as dien doen 900 00:42:00,540 --> 00:42:01,900 foto's van Rick Astley. 901 00:42:01,900 --> 00:42:05,340 Hulle kan ook weer gestuur en e-pos ontvang, gesels boodskappe. 902 00:42:05,340 --> 00:42:09,780 Hulle kan dinge doen soos lêer oordrag, en 'n aantal ander instrumente 903 00:42:09,780 --> 00:42:12,330 jy gebruik op die internet, bedieners kan deesdae doen. 904 00:42:12,330 --> 00:42:15,300 >> En net omdat 'n maatskappy, of 'n skool, of 'n persoon 905 00:42:15,300 --> 00:42:19,420 wil 'n web bediener te hê, en 'n e-pos bediener, en 'n chat server, 906 00:42:19,420 --> 00:42:21,420 beteken nie dat jy drie rekenaars nodig. 907 00:42:21,420 --> 00:42:26,200 Jy kan net 'n rekenaar met het verskeie dienste, om so te praat. 908 00:42:26,200 --> 00:42:29,190 >> En so wanneer Cole ontvang 'n boodskap soos dit, hoe 909 00:42:29,190 --> 00:42:32,940 nie sy rekenaar weet of te toon dat prentjie in sy leser, 910 00:42:32,940 --> 00:42:37,730 of in Gchat, of in Facebook Messenger, of in enige aantal ander instrumente? 911 00:42:37,730 --> 00:42:40,430 >> So dit blyk ook op daardie as koevert is addisionele stuk 912 00:42:40,430 --> 00:42:43,070 inligting bekend as 'n poort nommer. 913 00:42:43,070 --> 00:42:45,240 En 'n poort nommer is net 'n nommer inderdaad, 914 00:42:45,240 --> 00:42:48,342 maar dit uniek identifiseer nie die rekenaar, maar die diens. 915 00:42:48,342 --> 00:42:49,550 En daar is trosse van hierdie. 916 00:42:49,550 --> 00:42:51,258 So dit blyk dat in die wêreld, die mens 917 00:42:51,258 --> 00:42:57,095 op 'n paar sulke besluit konvensies, waarvan sommige is hierdie. 918 00:42:57,095 --> 00:42:59,220 So daar is iets genoem File Transfer Protocol. 919 00:42:59,220 --> 00:42:59,870 Dit is redelik gedateer. 920 00:42:59,870 --> 00:43:00,970 Dit is heeltemal onseker. 921 00:43:00,970 --> 00:43:02,320 Baie van die mense gebruik dit nog steeds. 922 00:43:02,320 --> 00:43:04,240 En dit gebruik poort nommer 21. 923 00:43:04,240 --> 00:43:07,250 Met ander woorde, as stuur 'n lêer via FTP, 924 00:43:07,250 --> 00:43:10,570 die koevert sal nie net die het sender en IP-adres van die ontvanger, 925 00:43:10,570 --> 00:43:14,020 dit sou ook die nommer 21 sodat die ontvangs rekenaar weet Ag, hierdie 926 00:43:14,020 --> 00:43:17,280 is 'n lêer, nie 'n e-pos of 'n chat boodskap. 927 00:43:17,280 --> 00:43:19,016 >> 25 is SMTP. 928 00:43:19,016 --> 00:43:20,516 Hoeveel van julle ooit gebruik SMTP? 929 00:43:20,516 --> 00:43:22,850 930 00:43:22,850 --> 00:43:23,380 Verkeerd. 931 00:43:23,380 --> 00:43:24,490 Byna al wat jy het. 932 00:43:24,490 --> 00:43:28,730 As jy al ooit gebruik e-pos, het jy gebruik SMTP, eenvoudige pos oordrag protokol, 933 00:43:28,730 --> 00:43:32,300 wat net 'n fancy manier om te sê, dit is die soort van die rekenaar of diens 934 00:43:32,300 --> 00:43:34,600 wat stuur jou e-pos uitgaande. 935 00:43:34,600 --> 00:43:38,780 >> En altyd as jy het gesien akronieme soos POP, IMAP of, en daar is 'n paar ander, 936 00:43:38,780 --> 00:43:40,670 dit is vir die ontvangs e-pos, tipies. 937 00:43:40,670 --> 00:43:42,650 Dit beteken net dit 'n ander diens. 938 00:43:42,650 --> 00:43:45,850 Dit is sagteware wat iemand geskryf dat stuur of luister 939 00:43:45,850 --> 00:43:48,880 op 'n spesifieke poort nommer so dat dit nie die e-pos nie verwar 940 00:43:48,880 --> 00:43:50,360 met 'n paar ander tipe data. 941 00:43:50,360 --> 00:43:55,500 >> Nou is die web is HTTP, wat is getal 80, en ook die hawe 443. 942 00:43:55,500 --> 00:43:57,590 En in die feit, selfs al Ons mense gelukkig 943 00:43:57,590 --> 00:43:59,610 nie om dit te doen, enige tyd wat jy besoek 944 00:43:59,610 --> 00:44:05,810 'n webwerf soos http://www.yale.edu, die leser 945 00:44:05,810 --> 00:44:07,790 is net 'n soort van nuttig in dat dit 946 00:44:07,790 --> 00:44:10,970 die veronderstelling dat jy wil numeriese hawe 80. 947 00:44:10,970 --> 00:44:15,710 Ons weet reeds dat DNS kan uitvind wat die IP adres van www.yale.edu. 948 00:44:15,710 --> 00:44:17,970 Maar die rekenaar is net gaan aflei dat jy 949 00:44:17,970 --> 00:44:21,560 wil poort 80, want jy gebruik Chrome, of IE, of 'n ander leser. 950 00:44:21,560 --> 00:44:24,930 Maar ek kon tegnies doen kolon 80. 951 00:44:24,930 --> 00:44:28,520 En dan kan ek uitdruklik vertel my leser, stuur 'n pakkie of meer 952 00:44:28,520 --> 00:44:32,080 van inligting aan www.yale.edu versoek vandag se tuisblad. 953 00:44:32,080 --> 00:44:36,070 Maar spesifiek, adres dit Yale se IP by die hawe 80 954 00:44:36,070 --> 00:44:39,190 sodat ek eintlik kry terug Yale se web server. 955 00:44:39,190 --> 00:44:42,229 >> Nou is dit onmiddellik verdwyn omdat blaaier net 956 00:44:42,229 --> 00:44:44,020 besluit dat ons dit nie doen nie moet mens verwar 957 00:44:44,020 --> 00:44:46,810 deur met nog meer arcane inligting soos kolon 80. 958 00:44:46,810 --> 00:44:50,640 En eerlik, implementeer soos Chrome doen nie eens 959 00:44:50,640 --> 00:44:55,464 wys jou meer http of die kolon, of die streep streep, of die slash, 960 00:44:55,464 --> 00:44:58,380 in 'n sekere sin, want hulle probeer om dinge makliker vir gebruikers te maak. 961 00:44:58,380 --> 00:45:01,080 In 'n ander sin, dit is net 'n soort van 'n gebruiker se ervaring thing-- 962 00:45:01,080 --> 00:45:02,720 Kom ons kry ontslae te raak van 'n paar van die warboel. 963 00:45:02,720 --> 00:45:05,405 Maar dit is 'n paar van die wegsteek hierdie onderliggende besonderhede. 964 00:45:05,405 --> 00:45:09,360 >> En in die feit, niemand van ons waarskynlik ooit http meer tik. 965 00:45:09,360 --> 00:45:12,060 Jy tik net in iets soos www.harvard.edu. 966 00:45:12,060 --> 00:45:15,310 En weer, Chrome aflei wat jy wil HTTP. 967 00:45:15,310 --> 00:45:18,970 Maar daar is ook ander protokolle dat ons beslis kan word met behulp van. 968 00:45:18,970 --> 00:45:24,480 >> So gegee al hierdie, as jy nou soort van op die sogenaamde ingenieurswese hoed, 969 00:45:24,480 --> 00:45:27,417 hoe dinge genoem firewalls werk? 970 00:45:27,417 --> 00:45:29,750 So jy waarskynlik algemeen vertroud is met die firewall, 971 00:45:29,750 --> 00:45:30,990 nie soseer in die fisiese sin nie. 972 00:45:30,990 --> 00:45:32,470 So terug in die dag, en nog steeds tot vandag toe, 973 00:45:32,470 --> 00:45:35,430 as jy het soos strook winkelsentrums vir byvoorbeeld dat baie van die winkels het, 974 00:45:35,430 --> 00:45:38,500 algemeen die mure tussen individuele winkels of winkels 975 00:45:38,500 --> 00:45:43,180 is firewalls in die sin dat hulle het 'n spesiale isolasie 976 00:45:43,180 --> 00:45:45,310 sodat as 'n brand breek uit in een winkel, 977 00:45:45,310 --> 00:45:48,210 Dit beteken nie noodwendig versprei na die winkel langsaan. 978 00:45:48,210 --> 00:45:51,710 >> Die rekenaar wêreld het ook firewalls dat iets anders om te doen. 979 00:45:51,710 --> 00:45:52,798 Wat doen 'n vuurbal doen? 980 00:45:52,798 --> 00:45:53,298 Ja? 981 00:45:53,298 --> 00:45:55,290 >> GEHOOR: Basies hulle afgesny verband 982 00:45:55,290 --> 00:45:59,493 As hulle iets teëkom soos byvoorbeeld 983 00:45:59,493 --> 00:46:01,361 hulle het aantal id state. 984 00:46:01,361 --> 00:46:04,340 En as daar iets gebeur, hulle sny die verband. 985 00:46:04,340 --> 00:46:07,570 Soos as hierdie kwaadwillige aanval [Onhoorbaar] jou rekenaar, or-- 986 00:46:07,570 --> 00:46:08,630 >> DAVID J. MALAN: OK goed. 987 00:46:08,630 --> 00:46:11,220 Ja, en in die feit dat jy selfs gaan 'n bietjie verder 988 00:46:11,220 --> 00:46:14,590 iets beskryf wat dalk genoem 'n inbraak opsporing stelsel, 989 00:46:14,590 --> 00:46:18,305 of IDS vir kort, waardeur jy eintlik het reëls omskryf. 990 00:46:18,305 --> 00:46:22,140 En as jy begin om te sien verdagte gedrag, probeer jy om 'n einde te maak aan dit. 991 00:46:22,140 --> 00:46:24,250 >> En 'n firewall, eerlik, op 'n netwerk vlak, 992 00:46:24,250 --> 00:46:26,821 selfs dommer en eenvoudiger as dit, in die algemeen. 993 00:46:26,821 --> 00:46:29,070 En daar is verskillende tipes van Firewalls in die wêreld. 994 00:46:29,070 --> 00:46:31,569 Maar die mense wat werk op die vlak ons ​​praat today-- 995 00:46:31,569 --> 00:46:35,330 IP en TCP-- werk, selfs meer reguit. 996 00:46:35,330 --> 00:46:39,180 >> Byvoorbeeld, as jy was Yale stelsel administrateurs of Harvard-stelsel 997 00:46:39,180 --> 00:46:42,020 administrateurs, of 'n Big Broer op 'n sekere maatskappy, 998 00:46:42,020 --> 00:46:45,040 en jy wou al verhoed dat jou studente of al jou werknemers 999 00:46:45,040 --> 00:46:47,619 uit gaan na facebook.com, al wat jy hoef te doen 1000 00:46:47,619 --> 00:46:50,160 is seker te maak dat al hul netwerk verkeer, die eerste van alles, 1001 00:46:50,160 --> 00:46:51,850 gaan deur 'n spesiale toestel. 1002 00:46:51,850 --> 00:46:53,030 Kom ons noem dit 'n firewall. 1003 00:46:53,030 --> 00:46:54,910 >> En dit is goed, want jy kan jou router maak 1004 00:46:54,910 --> 00:46:57,618 dieselfde ding as 'n firewall of jy dieselfde soort van sagteware 1005 00:46:57,618 --> 00:46:58,940 op dieselfde masjien. 1006 00:46:58,940 --> 00:47:01,780 So as al jou studente of werknemers verkeer 1007 00:47:01,780 --> 00:47:04,450 gaan deur middel van hierdie sentrale firewall, hoe 1008 00:47:04,450 --> 00:47:08,540 sou ons mense te verhoed gaan om facebook.com, byvoorbeeld? 1009 00:47:08,540 --> 00:47:10,780 Wat sou die stelsel administrateur moet doen? 1010 00:47:10,780 --> 00:47:11,370 Enige iemand anders? 1011 00:47:11,370 --> 00:47:12,911 Kom ons probeer om te gaan rond. 1012 00:47:12,911 --> 00:47:15,074 >> GEHOOR: [onhoorbaar] 1013 00:47:15,074 --> 00:47:16,365 DAVID J. MALAN: Sê dat weer? 1014 00:47:16,365 --> 00:47:19,215 GEHOOR: Dit moet net kry vasgevang in die stelsel. 1015 00:47:19,215 --> 00:47:22,487 So net sit Facebook in 127.0.0-- 1016 00:47:22,487 --> 00:47:23,820 DAVID J. MALAN: O, interessant. 1017 00:47:23,820 --> 00:47:27,290 So jy kan eintlik dan hack jou DNS-stelsel. 1018 00:47:27,290 --> 00:47:31,180 Dit is inderdaad 'n manier wat jy kan doen waardeur enige tyd 'n Yale student trek 1019 00:47:31,180 --> 00:47:34,670 up www.facebook.com, al van ons hier vandag op kampus 1020 00:47:34,670 --> 00:47:38,590 gebruik Yale se DNS-bediener, omdat Yale se DHCP-bediener het ons 1021 00:47:38,590 --> 00:47:39,580 daardie adres. 1022 00:47:39,580 --> 00:47:42,490 So ja, jy kan soort van dinge of breek konvensie verbreek 1023 00:47:42,490 --> 00:47:49,190 deur net te sê, ja, adres facebook.com se is vals, 1024 00:47:49,190 --> 00:47:52,530 is 1.2.3.4, wat nie eintlik wettige. 1025 00:47:52,530 --> 00:47:53,930 Of miskien is dit 278. 1026 00:47:53,930 --> 00:47:57,460 alles was in die TV-show 'n oomblik gelede sodat niemand van ons 1027 00:47:57,460 --> 00:47:59,176 eintlik kan besoek facebook.com. 1028 00:47:59,176 --> 00:48:00,590 >> So dink Yale gedoen. 1029 00:48:00,590 --> 00:48:03,336 Veronderstel Yale wou hou julle uit facebook.com. 1030 00:48:03,336 --> 00:48:05,700 En daarom het hulle verander die DNS-instellings 1031 00:48:05,700 --> 00:48:08,812 om jou 'n valse IP gee spreek vir facebook.com. 1032 00:48:08,812 --> 00:48:10,616 Hoe reageer jy? 1033 00:48:10,616 --> 00:48:12,990 Tegnies, not-- O, nou almal wil deelneem. 1034 00:48:12,990 --> 00:48:13,490 OK, ja. 1035 00:48:13,490 --> 00:48:16,190 GEHOOR: Jy tik net in die werklike IP-adres van Facebook. 1036 00:48:16,190 --> 00:48:16,710 >> DAVID J. MALAN: OK, goed. 1037 00:48:16,710 --> 00:48:19,350 So ons kon net tik in die werklike IP-adres van Facebook, 1038 00:48:19,350 --> 00:48:21,090 baie soos ek gedoen het met die webwerf Yale se. 1039 00:48:21,090 --> 00:48:24,636 En as die Facebook-bediener is ingestel om dit te ondersteun, moet dit inderdaad werk. 1040 00:48:24,636 --> 00:48:26,510 Dit is 'n ligte pyn in die nek, want nou is ons 1041 00:48:26,510 --> 00:48:30,220 moet onthou 'n paar random 32-bit waarde nie, maar wat kan werk. 1042 00:48:30,220 --> 00:48:31,622 Wat anders kan jy doen? 1043 00:48:31,622 --> 00:48:32,121 Ja. 1044 00:48:32,121 --> 00:48:35,117 >> GEHOOR: Jy kan verander diegene instellings [onhoorbaar]. 1045 00:48:35,117 --> 00:48:37,700 DAVID J. MALAN: Ja, jy kan selfs jou DNS-instellings te verander. 1046 00:48:37,700 --> 00:48:40,480 So in werklikheid is dit eintlik baie handig, eerlik, 1047 00:48:40,480 --> 00:48:45,590 as jy in 'n lughawe is, of indien jy in 'n kafee, of iets wat 1048 00:48:45,590 --> 00:48:48,834 het afskilfer internet waardeur soms die DNS-bediener net nie meer werk nie. 1049 00:48:48,834 --> 00:48:51,000 So selfs ek soms doen , nie vir kwaadwillige, ek 1050 00:48:51,000 --> 00:48:52,750 wil Facebook te gebruik doeleindes, maar eintlik 1051 00:48:52,750 --> 00:48:56,344 want ek lyk na 'n netwerk verband, maar niks werk nie. 1052 00:48:56,344 --> 00:48:58,260 En so een van die eerste dinge wat ek try-- en jy 1053 00:48:58,260 --> 00:49:01,710 kan dit doen op Windows too-- maar op my Mac, as ek gaan na Network. 1054 00:49:01,710 --> 00:49:03,330 En ek kies my Wi-Fi-verbinding. 1055 00:49:03,330 --> 00:49:04,750 En ek gaan na Gevorderde. 1056 00:49:04,750 --> 00:49:06,080 En ek gaan na DNS. 1057 00:49:06,080 --> 00:49:08,260 Dit is die drie IP adresse wat Yale 1058 00:49:08,260 --> 00:49:10,290 is gee my vir drie DNS-bedieners. 1059 00:49:10,290 --> 00:49:14,110 Die doel is dan vir my om enige probeer een van hierdie adresse op te los. 1060 00:49:14,110 --> 00:49:15,946 >> Maar ek kan ignoreer hierdie deur te doen 'n plus. 1061 00:49:15,946 --> 00:49:18,333 En enigiemand wil 'n DNS-bediener voor? 1062 00:49:18,333 --> 00:49:19,120 >> GEHOOR: 8.8.8.8? 1063 00:49:19,120 --> 00:49:20,578 >> DAVID J. MALAN: O, jy is ongelooflik. 1064 00:49:20,578 --> 00:49:21,650 Ja, 8.8.8.8. 1065 00:49:21,650 --> 00:49:26,170 So Google seën hulle harte, gekoop die IP adres 8.8.8.8, 1066 00:49:26,170 --> 00:49:29,560 omdat dit soort lyk soos Gs waarskynlik, en dit is maklik om te onthou. 1067 00:49:29,560 --> 00:49:34,820 Maar inderdaad, ek het my ingestel rekenaar Google se DNS-bediener te gebruik. 1068 00:49:34,820 --> 00:49:38,050 >> So nou as ek gaan na yale.edu, dit is nog steeds gaan om te werk. 1069 00:49:38,050 --> 00:49:40,100 Maar ek is nie die gebruik van Yale se DNS-bedieners nie. 1070 00:49:40,100 --> 00:49:44,430 En as ek gaan na facebook.com, al daardie kyk ups 1071 00:49:44,430 --> 00:49:45,960 gaan om te gaan deur middel van Google. 1072 00:49:45,960 --> 00:49:49,120 >> So aan die een kant, ek het slim omseil die plaaslike stelsel 1073 00:49:49,120 --> 00:49:51,810 administrateurs net deur die verstaan ​​hoe netwerke werk. 1074 00:49:51,810 --> 00:49:53,360 Maar ek betaal 'n prys. 1075 00:49:53,360 --> 00:49:54,740 Niks is gratis. 1076 00:49:54,740 --> 00:49:56,096 Wat het ek net opgegee? 1077 00:49:56,096 --> 00:50:00,180 1078 00:50:00,180 --> 00:50:02,250 Wat het ek net opgegee? 1079 00:50:02,250 --> 00:50:06,090 Almal van julle slim mense wat gebruik 8.8.8.8, want dit is cool 1080 00:50:06,090 --> 00:50:10,440 of probleme oplos, wat het jy doen al hierdie tyd? 1081 00:50:10,440 --> 00:50:11,910 >> GEHOOR: Reis verder? 1082 00:50:11,910 --> 00:50:15,201 >> DAVID J. MALAN: Miskien verder reis, want Google se waarskynlik nie heeltemal so 1083 00:50:15,201 --> 00:50:16,770 naby die bediener af in die straat. 1084 00:50:16,770 --> 00:50:18,420 Maar meer worrisomely. 1085 00:50:18,420 --> 00:50:18,920 Ja? 1086 00:50:18,920 --> 00:50:20,940 >> GEHOOR: So nou Google weet waar jy gaan. 1087 00:50:20,940 --> 00:50:23,856 >> DAVID J. MALAN: Google weet letterlik elke webwerf wat jy besoek, 1088 00:50:23,856 --> 00:50:26,080 want jy is letterlik vra hulle, hey Google, 1089 00:50:26,080 --> 00:50:28,360 kan jy yale.edu vir my vertaal? 1090 00:50:28,360 --> 00:50:32,430 Of hey Google, kan jy te vertaal hierdie ander webwerf-adres vir my 1091 00:50:32,430 --> 00:50:33,334 in 'n IP-adres. 1092 00:50:33,334 --> 00:50:35,750 En so they're-- Ek het geen idee wat jy praat. 1093 00:50:35,750 --> 00:50:38,080 En so het hulle weet alles oor jou. 1094 00:50:38,080 --> 00:50:42,180 So besef dat hierdie is 'n gratis diens met 'n doel uit hulle perspektief 1095 00:50:42,180 --> 00:50:42,680 ook. 1096 00:50:42,680 --> 00:50:44,420 Maar dit kan beslis jy kry uit 'n bind. 1097 00:50:44,420 --> 00:50:46,380 >> Nou net een ander aan te spreek kwessie wat dikwels kom 1098 00:50:46,380 --> 00:50:48,640 onder studente, veral wanneer internasionaal reis 1099 00:50:48,640 --> 00:50:50,765 in sekere lande soos China, waar daar wel 1100 00:50:50,765 --> 00:50:54,559 is 'n Groot Firewall van China waardeur die regering is daar blokke heel 1101 00:50:54,559 --> 00:50:56,100 'n bietjie van die verkeer op verskillende vlakke. 1102 00:50:56,100 --> 00:50:58,141 Jy hoef nie net blok verkeer op die vlak 1103 00:50:58,141 --> 00:51:01,240 ons hier praat, DNS, of andersins, jy kan dit blok op ander vlakke. 1104 00:51:01,240 --> 00:51:04,030 >> En in die feit, net om duidelik wees, 'n firewall 1105 00:51:04,030 --> 00:51:08,400 kan selfs meer eenvoudig as net werk met die stelsel administrateurs verander 1106 00:51:08,400 --> 00:51:09,500 DNS-instellings. 1107 00:51:09,500 --> 00:51:12,920 'N firewall, 'n toestel in tussen ons en die res van die wêreld, 1108 00:51:12,920 --> 00:51:16,850 kon net 'n blok uitgaande versoeke aan die IP-adres 1109 00:51:16,850 --> 00:51:21,240 vir Facebook op poort 80, of die IP-adres vir harvard.edu, 1110 00:51:21,240 --> 00:51:22,580 of die IP-adres van enigiets. 1111 00:51:22,580 --> 00:51:26,280 So 'n firewall kan kyk na jou koeverte 'n IP-adres en selfs hawe 1112 00:51:26,280 --> 00:51:29,384 getalle, en as Yale wou, dit kan net almal van ons stop 1113 00:51:29,384 --> 00:51:32,550 van selfs met behulp van FTP nie, wat sou 'n goeie ding, want dit waarskynlik 1114 00:51:32,550 --> 00:51:34,320 is inderdaad 'n onveilige protokol. 1115 00:51:34,320 --> 00:51:37,620 Yale kan selfs ophou ons van besoek aan die geheel van die web 1116 00:51:37,620 --> 00:51:42,632 net deur alle hawe blokkeer verkeer op aantal 80 as well. 1117 00:51:42,632 --> 00:51:43,840 So wat kan 'n ander manier wees. 1118 00:51:43,840 --> 00:51:45,740 En daar is selfs liefhebber maniere as well. 1119 00:51:45,740 --> 00:51:47,770 >> Maar wanneer u op reis buiteland byvoorbeeld 1120 00:51:47,770 --> 00:51:50,740 of as jy in 'n internet kafee, of as jy enige plek is waar daar 1121 00:51:50,740 --> 00:51:53,179 blokkasies of dreigemente, wat kan jy doen? 1122 00:51:53,179 --> 00:51:56,220 Wel, as jy gaan af in die straat te Starbucks of jy reis in 'n lughawe, 1123 00:51:56,220 --> 00:51:58,780 algemeen kan jy net hop op die Wi-Fi deur die keuse van 1124 00:51:58,780 --> 00:52:04,631 soos, JFK Wi-Fi van LaGuardia Wi-Fi, of Logan Lughawe Wi-Fi, of wat nie. 1125 00:52:04,631 --> 00:52:05,880 En dit is nie geïnkripteer, reg? 1126 00:52:05,880 --> 00:52:06,949 Daar is geen slotikoon. 1127 00:52:06,949 --> 00:52:09,490 En jy waarskynlik nie gevra vir 'n gebruikersnaam en wagwoord. 1128 00:52:09,490 --> 00:52:11,240 Jy is net gevra met 'n paar dom vorm 1129 00:52:11,240 --> 00:52:15,260 om te sê soos, ek stem saam dit is net om te gebruik vir 30 minute, of iets soos dit. 1130 00:52:15,260 --> 00:52:18,761 >> Maar daar is geen enkripsie tussen jy en Starbucks Wi-Fi toegang 1131 00:52:18,761 --> 00:52:20,760 punt, die dinge met die antennas op die muur. 1132 00:52:20,760 --> 00:52:24,840 Daar is geen enkripsie tussen jou en Wi-Fi seine die lughawe se. 1133 00:52:24,840 --> 00:52:29,060 >> En so tegnies dat creepy persoon sit 'n paar sitplekke af van jou 1134 00:52:29,060 --> 00:52:31,970 in Starbucks of op die lughawe kan wees, met die regte sagteware, 1135 00:52:31,970 --> 00:52:35,164 kyk al jou wireless verkeer op sy of haar laptop. 1136 00:52:35,164 --> 00:52:37,080 Dit is nie so moeilik om te sit 'n laptop in wat 1137 00:52:37,080 --> 00:52:39,880 genoem gemengde modus, wat soos die naam aandui, 1138 00:52:39,880 --> 00:52:41,760 beteken dat jy soort los met die reëls. 1139 00:52:41,760 --> 00:52:44,740 En luister net nie net vir verkeer bedoel vir dit, 1140 00:52:44,740 --> 00:52:47,700 maar ook om almal se verkeer binne die reeks. 1141 00:52:47,700 --> 00:52:50,550 >> En deur daardie logika, kan dit sien al die pakkies inligting 1142 00:52:50,550 --> 00:52:51,360 jy ontvang. 1143 00:52:51,360 --> 00:52:53,510 En as daardie pakkies is nie geïnkripteer, jy 1144 00:52:53,510 --> 00:52:56,680 besig is om jouself aan die risiko van jou e-pos, of jou boodskappe, 1145 00:52:56,680 --> 00:52:58,620 of enigiets anders om blootgestel. 1146 00:52:58,620 --> 00:53:01,220 >> So selfs as jy in die buiteland is nie maar jy is net in Starbucks, 1147 00:53:01,220 --> 00:53:03,800 of jy op 'n paar random persoon se Wi-Fi wat nie is geïnkripteer, 1148 00:53:03,800 --> 00:53:05,410 'n Skynprivaatnetwerk is 'n goeie ding. 1149 00:53:05,410 --> 00:53:07,410 'N Skynprivaatnetwerk is 'n virtuele private netwerk. 1150 00:53:07,410 --> 00:53:09,480 En dit is 'n tegnologie wat jou toelaat om te hê 1151 00:53:09,480 --> 00:53:14,560 'n geïnkripteer, 'n warboel connection-- liefhebber as die keiser of Vigenere-- 1152 00:53:14,560 --> 00:53:17,420 tussen jou laptop, of jou selfoon, of jou lessenaar, 1153 00:53:17,420 --> 00:53:22,460 en 'n bediener elders, soos 'n bediener op die kampus Yale se. 1154 00:53:22,460 --> 00:53:25,840 >> En as jy op reis is abroad-- en in die feit, dit in hotelle vind jy 1155 00:53:25,840 --> 00:53:26,560 Altyd. 1156 00:53:26,560 --> 00:53:28,580 En veral as aspirant rekenaar wetenskaplikes 1157 00:53:28,580 --> 00:53:32,090 waar jy ouens kan, as geeks, wil anders as 80 hawens gebruik, 1158 00:53:32,090 --> 00:53:35,770 en anders as 443-- hawens en in die feit dat vir die probleem te stel ses 1159 00:53:35,770 --> 00:53:39,280 ons gaan om te speel met verskeie TCP-poorte net deur die choice-- baie 1160 00:53:39,280 --> 00:53:42,940 van hotelle, en winkels, en netwerke net dat die soort dinge blok 1161 00:53:42,940 --> 00:53:45,970 omdat hulle 'n bietjie naïef, of onwetend, dink net 1162 00:53:45,970 --> 00:53:48,010 dat niemand moet die ander hawens. 1163 00:53:48,010 --> 00:53:51,150 >> En so deur die gebruik van 'n Skynprivaatnetwerk kan jy omseil daardie soorte van beperkings, 1164 00:53:51,150 --> 00:53:54,050 want wat 'n Skynprivaatnetwerk doen, is dit laat jou by Starbucks, 1165 00:53:54,050 --> 00:53:58,630 of die lughawe, of op enige plek in die wêreld om encryptedly koppel aan yale.edu, 1166 00:53:58,630 --> 00:54:02,950 sommige bediener hier op kampus, en dan tonnel, om so te praat, 1167 00:54:02,950 --> 00:54:06,570 al jou verkeer vanaf die plek waar jy is deur Yale, op watter punt 1168 00:54:06,570 --> 00:54:08,720 dan is dit gaan na die finale bestemming. 1169 00:54:08,720 --> 00:54:11,150 >> Maar deur versleutelen dit, het jy enige van hierdie soort te vermy 1170 00:54:11,150 --> 00:54:15,380 filters of die oplegging wat sommige plaaslike netwerk opgelê. 1171 00:54:15,380 --> 00:54:17,980 En plus, jy het 'n veel meer robuuste verdediging 1172 00:54:17,980 --> 00:54:19,730 teen creepy mense rondom jou wat dalk 1173 00:54:19,730 --> 00:54:21,300 probeer om te luister in op jou verkeer. 1174 00:54:21,300 --> 00:54:24,591 Daar kon nog creepy mense hier terug by die huis aan die Yale kyk na jou verkeer 1175 00:54:24,591 --> 00:54:28,440 as dit kom uit die Skynprivaatnetwerk, maar ten minste jy die bedreiging het gestoot verder weg. 1176 00:54:28,440 --> 00:54:30,490 En dit is ook hier, 'n kompromis. 1177 00:54:30,490 --> 00:54:33,645 >> Nou natuurlik, as jy in China of selfs in die kafee, 1178 00:54:33,645 --> 00:54:35,770 en jy tonnel al jou verkeer deur Yale, 1179 00:54:35,770 --> 00:54:37,590 watter prys ons betaal miskien? 1180 00:54:37,590 --> 00:54:38,272 >> GEHOOR: Speed. 1181 00:54:38,272 --> 00:54:39,480 DAVID J. MALAN: Spoed, reg? 1182 00:54:39,480 --> 00:54:41,430 Daar het 'n paar wiskunde wees of 'n fanciness betrokke 1183 00:54:41,430 --> 00:54:42,574 in die werklike kodering. 1184 00:54:42,574 --> 00:54:44,990 Daar kan duisende myl van 'n afstand of duisende 1185 00:54:44,990 --> 00:54:47,250 myle kabels tussen jou en Yale. 1186 00:54:47,250 --> 00:54:49,800 En dit is regtig sleg as jy in China, byvoorbeeld, 1187 00:54:49,800 --> 00:54:51,650 en jy wil besoek 'n webwerf in China. 1188 00:54:51,650 --> 00:54:54,230 En so jou data gaan die VSA, en dan weer terug na China 1189 00:54:54,230 --> 00:54:56,620 net omdat jy versleutelen dit deur hierdie tonnel. 1190 00:54:56,620 --> 00:54:59,960 >> Maar dit los tegniese en probleme gelyk werk. 1191 00:54:59,960 --> 00:55:02,050 Maar dit alles neer op hierdie baie eenvoudige idees. 1192 00:55:02,050 --> 00:55:06,530 En Harvard, vir diegene nuuskierig, het een hier sowel op vpn.harvard.edu, 1193 00:55:06,530 --> 00:55:09,150 wat bedryf net soos Yale se. 1194 00:55:09,150 --> 00:55:12,580 >> So met alles wat gesê is, waarom is hierdie hele netwerk nuttig? 1195 00:55:12,580 --> 00:55:14,080 En wat kan ons begin doen met dit? 1196 00:55:14,080 --> 00:55:15,630 Wel, laat ons dit nou meer real. 1197 00:55:15,630 --> 00:55:17,610 Dit is die akroniem waarmee die meeste van ons 1198 00:55:17,610 --> 00:55:22,140 is waarskynlik super familiar-- HTTP-- wat staan ​​vir HyperText Transfer 1199 00:55:22,140 --> 00:55:22,950 protokol. 1200 00:55:22,950 --> 00:55:26,460 En dit beteken net dit is die taal, die protokol 1201 00:55:26,460 --> 00:55:29,140 dat webblaaiers en web bediener te praat. 1202 00:55:29,140 --> 00:55:31,437 >> Die P in HTTP is inderdaad 'n protokol. 1203 00:55:31,437 --> 00:55:33,270 En 'n protokol is net 'n stel van konvensies. 1204 00:55:33,270 --> 00:55:36,690 Ons het gesien IP-- internet protocol-- TCP-- oordrag beheer 1205 00:55:36,690 --> 00:55:38,290 protocol-- en HTTP. 1206 00:55:38,290 --> 00:55:40,570 Maar wat is hierdie stupid ding van 'n protokol? 1207 00:55:40,570 --> 00:55:41,930 Dit is net 'n stel konvensies. 1208 00:55:41,930 --> 00:55:43,760 >> So as ek soort van kom af hier, en ek wil om jou te groet. 1209 00:55:43,760 --> 00:55:44,930 Ek sou sê hi, my naam is David. 1210 00:55:44,930 --> 00:55:45,600 >> GEHOOR: Luis. 1211 00:55:45,600 --> 00:55:46,475 >> DAVID J. MALAN: Luis. 1212 00:55:46,475 --> 00:55:49,360 Ons het hierdie stupid menslike konvensie van hande skud hier. 1213 00:55:49,360 --> 00:55:50,570 Maar dit is 'n protokol, reg? 1214 00:55:50,570 --> 00:55:51,470 Ek uitgebrei my hand. 1215 00:55:51,470 --> 00:55:52,530 Luis sy hand. 1216 00:55:52,530 --> 00:55:53,070 Ons het dit. 1217 00:55:53,070 --> 00:55:54,790 En dan voltooi, gedoen. 1218 00:55:54,790 --> 00:55:58,100 >> En dit is presies dieselfde gees van 'n rekenaar protokol 1219 00:55:58,100 --> 00:56:02,770 waar as in HTTP, wat gebeur is dit. 1220 00:56:02,770 --> 00:56:05,520 As jy die rekenaar op die hier links, en daar is 'n paar web 1221 00:56:05,520 --> 00:56:07,230 bediener daar aan die regterkant. 1222 00:56:07,230 --> 00:56:11,130 En die rekenaar aan die linkerkant wil Inligting van die bediener. 1223 00:56:11,130 --> 00:56:13,140 Dit is soort van 'n bi-directional operasie. 1224 00:56:13,140 --> 00:56:15,800 Die leser aan die linkerkant vra vir 'n paar web bladsy. 1225 00:56:15,800 --> 00:56:18,404 Die bediener op die regte reageer met 'n paar web bladsy. 1226 00:56:18,404 --> 00:56:20,570 En ons sal sien wat vorm diegene in net 'n oomblik. 1227 00:56:20,570 --> 00:56:24,311 >> En dit blyk dat diegene computers-- dat die leser en bediener, of kliënt 1228 00:56:24,311 --> 00:56:25,310 en bediener, om so te praat. 1229 00:56:25,310 --> 00:56:28,120 Baie soos 'n restaurant waar die kliënt vra vir iets, 1230 00:56:28,120 --> 00:56:31,670 en die bediener bring hom of haar something-- kry 1231 00:56:31,670 --> 00:56:33,170 is 'n soort van die operatiewe woord. 1232 00:56:33,170 --> 00:56:38,560 Letterlik binnekant van die koevert wat my browser stuur van hier na 'n web 1233 00:56:38,560 --> 00:56:40,880 bediener is die woord get. 1234 00:56:40,880 --> 00:56:42,700 Soos Ek wil vandag se nuus te kry. 1235 00:56:42,700 --> 00:56:45,370 Ek wil my kry Facebook nuus voer, of ek 1236 00:56:45,370 --> 00:56:47,330 wil 'n paar bladsy kry van die bediener. 1237 00:56:47,330 --> 00:56:50,760 >> Spesifiek, dit is wat is gaan op die binnekant van die koevert. 1238 00:56:50,760 --> 00:56:53,810 So ek met Cole, in wese gestuur Cole 'n antwoord. 1239 00:56:53,810 --> 00:56:56,750 As jy dink dat Cole eintlik wou 'n foto van Rick Astley, 1240 00:56:56,750 --> 00:57:00,700 hy dalk vir my 'n versoek gestuur soortgelyk in die gees van hierdie. 1241 00:57:00,700 --> 00:57:04,670 Binnekant van sy koevert aan my, waar Ek speel nou die rol van Google, 1242 00:57:04,670 --> 00:57:08,270 sou 'n versoek dat letterlik sê, te kry, en dan 'n vorentoe slash-- 1243 00:57:08,270 --> 00:57:10,636 en jy het waarskynlik gesien vorentoe houe in URLs voor. 1244 00:57:10,636 --> 00:57:13,260 Dit beteken net gee my die standaard bladsy, die standaard Rick Astley 1245 00:57:13,260 --> 00:57:14,560 prentjie in hierdie geval. 1246 00:57:14,560 --> 00:57:20,100 >> En op die pad, Cole praat die taal HTTP weergawe 1.1 of die protokol 1,1. 1247 00:57:20,100 --> 00:57:22,090 En dit blyk daar is 'n ouer weergawe 1.0. 1248 00:57:22,090 --> 00:57:23,910 Maar rekenaars is geneig om te gebruik 1.1. 1249 00:57:23,910 --> 00:57:27,840 >> Die tweede lyn is 'n nuttige ding wat sal terug kom om dalk kort voor lank. 1250 00:57:27,840 --> 00:57:31,900 Maar dit is net 'n spesifikasie vir my die ontvanger, dat die ding wat ek wil 1251 00:57:31,900 --> 00:57:33,586 is www.google.com. 1252 00:57:33,586 --> 00:57:36,340 Want dit is baie moontlik hierdie dae vir dekades, 1253 00:57:36,340 --> 00:57:39,510 honderde webwerwe met verskillende domein name aan alle 1254 00:57:39,510 --> 00:57:40,735 woon op dieselfde bediener. 1255 00:57:40,735 --> 00:57:42,860 Dit gaan nie om waar te wees soveel in die geval van Google. 1256 00:57:42,860 --> 00:57:45,261 Maar in 'n kleiner maatskappy se geval is, kan absoluut wees. 1257 00:57:45,261 --> 00:57:47,260 So Cole is net soort van om in die koevert, 1258 00:57:47,260 --> 00:57:50,840 deur die manier, wanneer hierdie bereik jou IP-adres op poort 80, 1259 00:57:50,840 --> 00:57:54,450 net seker dat jy weet Ek wil www.google.com, nie 1260 00:57:54,450 --> 00:57:56,740 'n ander ewekansige webwerf op dieselfde bediener. 1261 00:57:56,740 --> 00:58:00,360 >> Wat ek dan reageer Cole met, aan die einde van die dag, is 'n foto. 1262 00:58:00,360 --> 00:58:02,920 Maar bo die foto binnekant van die koevert 1263 00:58:02,920 --> 00:58:05,600 is eintlik 'n paar teks, waar ek sê, OK. 1264 00:58:05,600 --> 00:58:07,970 Ek praat HTTP weergawe 1.1 ook. 1265 00:58:07,970 --> 00:58:09,200 200. 1266 00:58:09,200 --> 00:58:11,730 Wat is 'n status kode wat die meeste van ons het waarskynlik 1267 00:58:11,730 --> 00:58:14,185 nooit gesien het nie, want dit beteken OK. 1268 00:58:14,185 --> 00:58:16,810 En dit is goed, want dit beteken dat ek suksesvol reageer 1269 00:58:16,810 --> 00:58:18,040 versoek Cole se. 1270 00:58:18,040 --> 00:58:21,930 >> Watter getalle het jy waarskynlik gesien op die web wat nie OK? 1271 00:58:21,930 --> 00:58:22,780 >> GEHOOR: 404. 1272 00:58:22,780 --> 00:58:24,830 >> DAVID J. MALAN: 404-- lêer nie gevind nie. 1273 00:58:24,830 --> 00:58:27,520 So inderdaad, enige tyd wat jy gesien het een van daardie irriterende lêer nie 1274 00:58:27,520 --> 00:58:31,010 gevind foute, want die webblad is dood, 1275 00:58:31,010 --> 00:58:34,190 of omdat jy verkeerd gespelde 'n URL, wat net beteken 1276 00:58:34,190 --> 00:58:37,600 dat die bietjie koevert wat jou rekenaar ontvang van die bediener 1277 00:58:37,600 --> 00:58:42,670 vervat 'n boodskap HTTP 1.1, 404-- nie gevind nie. 1278 00:58:42,670 --> 00:58:44,930 Dat 'n lêer of daardie versoek jy gemaak is nie gevind nie. 1279 00:58:44,930 --> 00:58:48,660 >> Verder, binnekant van die koevert tipies is hierdie lyn, tipe inhoud. 1280 00:58:48,660 --> 00:58:51,080 Soms is dit HTML, iets wat ons sal binnekort te sien. 1281 00:58:51,080 --> 00:58:52,225 Soms is dit 'n JPEG. 1282 00:58:52,225 --> 00:58:53,100 Soms is dit 'n GIF. 1283 00:58:53,100 --> 00:58:56,060 Soms is dit 'n film lêer, 'n klank lêer, enige aantal van die dinge. 1284 00:58:56,060 --> 00:59:00,059 So binnekant van die koevert is net 'n bietjie wenk wat ek ontvang. 1285 00:59:00,059 --> 00:59:03,100 Daar is ander status kodes te, sommige waarvan ons sal verken in P stel ses 1286 00:59:03,100 --> 00:59:05,890 en jy sal struikel oor in P die sewe en / of agt. 1287 00:59:05,890 --> 00:59:08,580 Maar sommige hier, soos 404 ons gesien het. 1288 00:59:08,580 --> 00:59:11,700 Verbode, 403, beteken soos die regte is verkeerd, 1289 00:59:11,700 --> 00:59:14,740 soos jy het nie soort korrek ingestel nie. 1290 00:59:14,740 --> 00:59:17,830 301 en 302, ons selde sien visueel. 1291 00:59:17,830 --> 00:59:19,150 Maar dit beteken lei. 1292 00:59:19,150 --> 00:59:21,650 Enige tyd wat jy een het gegaan URL en jy het mettertyd al 1293 00:59:21,650 --> 00:59:24,410 iewers anders gestuur het, dit is omdat die leser terug gestuur 1294 00:59:24,410 --> 00:59:27,210 'n koevert met die aantal 301 of 302, 1295 00:59:27,210 --> 00:59:30,790 en die URL wat hy wil die leser om te gaan na die plek. 1296 00:59:30,790 --> 00:59:32,010 >> 500 is verskriklik. 1297 00:59:32,010 --> 00:59:34,842 Jy sal sien dit kort voor lank, waarskynlik in P stel ses of sewe P stel. 1298 00:59:34,842 --> 00:59:37,050 En dit beteken gewoonlik daar is 'n paar fout in die kode, 1299 00:59:37,050 --> 00:59:40,000 want inderdaad ons sal skryf kode wat reageer op web versoeke. 1300 00:59:40,000 --> 00:59:42,110 En jy het net 'n paar fout in die logika of sintaksis, 1301 00:59:42,110 --> 00:59:43,820 en die bediener kan dit nie hanteer nie. 1302 00:59:43,820 --> 00:59:47,460 >> So laat ons sien hoe ons nou kan hefboom en verstaan ​​hierdie versoeke soos volg. 1303 00:59:47,460 --> 00:59:50,716 As ek gaan, kom ons sê, google.com. 1304 00:59:50,716 --> 00:59:55,240 Laat my gaan na www.google.com. 1305 00:59:55,240 --> 01:00:01,220 En ter wille van demonstrasie se, laat sien, ek nodig het om te instellings hier om te gaan. 1306 01:00:01,220 --> 01:00:03,180 Ek gaan om te gaan na Soek instellings. 1307 01:00:03,180 --> 01:00:08,236 En Google het toenemend irriterende funksies, maar nuttige funksies. 1308 01:00:08,236 --> 01:00:11,110 So Google het hierdie ding soos instant resultate waar jy begin tik, 1309 01:00:11,110 --> 01:00:12,889 en outomaties dinge begin verskyn. 1310 01:00:12,889 --> 01:00:14,680 En dit is alles goed en tegnies nuttig, 1311 01:00:14,680 --> 01:00:16,420 en ons sal verstaan voor lank hoe dit werk. 1312 01:00:16,420 --> 01:00:18,429 Maar vir nou, ek draai onmiddellike resultate, 1313 01:00:18,429 --> 01:00:20,720 want ek wil my leser om soort werk ou skool so 1314 01:00:20,720 --> 01:00:22,940 dat ek kan sien wat aangaan. 1315 01:00:22,940 --> 01:00:23,840 >> So nou is ek weer hier. 1316 01:00:23,840 --> 01:00:25,090 En ek wil om te soek vir katte. 1317 01:00:25,090 --> 01:00:30,351 En let Ek sien 'n paar voorstelle, 'n paar baie gunstige voorstelle 1318 01:00:30,351 --> 01:00:30,850 gelukkig. 1319 01:00:30,850 --> 01:00:34,730 As ek dan nou druk Enter, Kom ons kyk wat gebeur. 1320 01:00:34,730 --> 01:00:35,850 >> So is daar 'n paar katte. 1321 01:00:35,850 --> 01:00:37,540 En die top treffer op Wikipedia. 1322 01:00:37,540 --> 01:00:39,820 Maar vandag sorg ons oor die tegnologie hier op. 1323 01:00:39,820 --> 01:00:42,479 So die URL wat ek het is hierdie gestuur is hier. 1324 01:00:42,479 --> 01:00:44,520 En daar is 'n paar dinge wat ek nie regtig verstaan. 1325 01:00:44,520 --> 01:00:47,430 >> So ek gaan om voort te gaan, want Ek weet soort van hoe Google werk, 1326 01:00:47,430 --> 01:00:50,700 en ek gaan om dit te distilleer URL in sy eenvoudigste vorm. 1327 01:00:50,700 --> 01:00:52,510 En nou gaan ek druk Enter weer. 1328 01:00:52,510 --> 01:00:53,360 En dit nog steeds werk. 1329 01:00:53,360 --> 01:00:55,800 Ek het 'n bladsy van die resultate oor katte. 1330 01:00:55,800 --> 01:00:58,460 >> Maar kennis van die eenvoud van my URL. 1331 01:00:58,460 --> 01:01:00,820 Dit blyk dit is hoe baie van die web werke. 1332 01:01:00,820 --> 01:01:03,500 Die web is net 'n hele n klomp van die rekenaars 1333 01:01:03,500 --> 01:01:05,320 hardloop sagteware wat insette te neem. 1334 01:01:05,320 --> 01:01:07,480 Dit is nie te kry string styl insette. 1335 01:01:07,480 --> 01:01:09,670 Dit is nie command line argumente soos ons gewoond is. 1336 01:01:09,670 --> 01:01:13,449 Hulle neem insette, hierdie web bedieners, deur middel van die URLs dikwels. 1337 01:01:13,449 --> 01:01:15,240 En enige tyd wat jy het gesoek vir iets, 1338 01:01:15,240 --> 01:01:17,448 enige tyd wat jy het aangeteken in Facebook, enige tyd wat jy het 1339 01:01:17,448 --> 01:01:20,090 iets gedoen interaktiewe met 'n webblad, wat jy doen 1340 01:01:20,090 --> 01:01:24,340 effektief stuur 'n vorm, so teks bokse, blok speak--, 1341 01:01:24,340 --> 01:01:27,880 bietjie kringe, en noem maar wat stuur inligting van jou om die bediener. 1342 01:01:27,880 --> 01:01:31,960 >> En dit blyk dat die web bediener weet om te kyk na wat URL 1343 01:01:31,960 --> 01:01:36,040 en ontleed dit, soos blik op dit karakter deur karakter op soek na iets 1344 01:01:36,040 --> 01:01:38,000 interessante ná 'n vraagteken. 1345 01:01:38,000 --> 01:01:40,910 Want na 'n vraagteken, dit blyk, gaan kom 1346 01:01:40,910 --> 01:01:42,730 'n klomp van die sleutel waarde pare. 1347 01:01:42,730 --> 01:01:44,570 Ek bedoel sleutel = waarde. 1348 01:01:44,570 --> 01:01:48,130 En dan as daar dalk multiple-- 'n ampersand, 'n paar ander belangrike = waarde 1349 01:01:48,130 --> 01:01:50,200 ampersand, sleutel = waarde. 1350 01:01:50,200 --> 01:01:54,560 >> Dus het ons soort gesien hierdie idee voor waar daar iets het 'n waarde. 1351 01:01:54,560 --> 01:01:55,880 Dit is net 'n nuwe formaat hier. 1352 01:01:55,880 --> 01:01:59,040 En ek weet net deur konvensie, Google gebruik q vir navraag. 1353 01:01:59,040 --> 01:02:02,670 En dan as ek wil om te soek vir honde, ek kan met die hand te soek vir honde soos dit. 1354 01:02:02,670 --> 01:02:06,360 En dan is ek glo om sommige resultate wat honde. 1355 01:02:06,360 --> 01:02:07,727 >> So wat blyk interessant wees. 1356 01:02:07,727 --> 01:02:10,060 En inderdaad, wat gaan aan onder die enjinkap is dit. 1357 01:02:10,060 --> 01:02:11,460 Laat my dit doen. 1358 01:02:11,460 --> 01:02:13,620 Dit is a-- laat ons sien. 1359 01:02:13,620 --> 01:02:16,320 Laat my terug te gaan oor hier vir net 'n oomblik. 1360 01:02:16,320 --> 01:02:19,810 >> Ons sal sien dat daar ander maniere om inligting in te dien. 1361 01:02:19,810 --> 01:02:25,340 So as ek meld by Facebook, of Gmail, of enige ander gewilde webwerf, 1362 01:02:25,340 --> 01:02:30,720 dit lyk soort van sleg as wat ek getik in die soekkassie eindig in my URL, 1363 01:02:30,720 --> 01:02:32,850 in die adresbalk my leser se. 1364 01:02:32,850 --> 01:02:33,690 Hoekom? 1365 01:02:33,690 --> 01:02:35,395 Hoekom is dit effens kommerwekkend? 1366 01:02:35,395 --> 01:02:39,567 1367 01:02:39,567 --> 01:02:40,067 Ja? 1368 01:02:40,067 --> 01:02:41,380 GEHOOR: Tik 'n wagwoord. 1369 01:02:41,380 --> 01:02:41,720 DAVID J. MALAN: Ja. 1370 01:02:41,720 --> 01:02:44,000 So, wat as wat ek getik is my wagwoord? 1371 01:02:44,000 --> 01:02:47,881 Ek het soort van wil dit nie so duidelik sigbaar in die adresbalk my leser se. 1372 01:02:47,881 --> 01:02:50,630 Een, want my irriterende kamermaat geneig is om te waak oor my skouer, 1373 01:02:50,630 --> 01:02:53,980 en hy of sy kan nou sien, selfs al dit was die koeëls wanneer ek tik dit in, 1374 01:02:53,980 --> 01:02:54,810 bietjie sirkels. 1375 01:02:54,810 --> 01:02:56,010 Nou is dit in my adres bar. 1376 01:02:56,010 --> 01:02:59,270 >> Verder, wat is waar oor dinge jy is geneig om te tik in die adres bar. 1377 01:02:59,270 --> 01:03:00,230 >> GEHOOR: [onhoorbaar] 1378 01:03:00,230 --> 01:03:01,505 >> DAVID J. MALAN: Wat is dit? 1379 01:03:01,505 --> 01:03:02,630 GEHOOR: Dit raak uitgestuur. 1380 01:03:02,630 --> 01:03:03,510 DAVID J. MALAN: Dit raak uitgestuur. 1381 01:03:03,510 --> 01:03:05,102 En ook, word dit onthou. 1382 01:03:05,102 --> 01:03:07,060 Want die volgende keer jy dinge tik daar, 1383 01:03:07,060 --> 01:03:10,440 Dikwels is dit autocompletes en dit onthou wat jy voorheen getik. 1384 01:03:10,440 --> 01:03:13,850 En so is daar hierdie ware geskiedenis dat jou broer, of jou kamermaat, 1385 01:03:13,850 --> 01:03:16,830 of wie kan deur loop pretty much sien elke webwerf 1386 01:03:16,830 --> 01:03:19,760 jy besoek, want dit is aangeteken in daardie adres bar. 1387 01:03:19,760 --> 01:03:22,790 >> Verder, dink jy wil laai 'n foto op Facebook. 1388 01:03:22,790 --> 01:03:26,520 Hoe in die wêreld is jy gaan 'n foto in 'n URL te sit? 1389 01:03:26,520 --> 01:03:30,217 >> Wel dit blyk jy kan dit doen in sommige manier, maar dit is beslis nie voor die hand liggend. 1390 01:03:30,217 --> 01:03:33,050 En so is daar hierdie ander manier om inligting te stuur in 'n koevert, 1391 01:03:33,050 --> 01:03:35,680 nie deur 'n te kry, maar via iets genoem Post. 1392 01:03:35,680 --> 01:03:38,060 En in teorie, dit lyk pretty much dieselfde. 1393 01:03:38,060 --> 01:03:41,270 In plaas van die woord uit te kry, sê ons POST, en dan dieselfde soort formaat. 1394 01:03:41,270 --> 01:03:43,310 >> Byvoorbeeld, dit is 'n kiekie van wat 1395 01:03:43,310 --> 01:03:46,920 dit kan lyk as ek probeer meld in Facebook, wat my stuur na 'n lêer 1396 01:03:46,920 --> 01:03:51,230 genoem login.php, wat eintlik steeds tot vandag so genoem. 1397 01:03:51,230 --> 01:03:53,910 Dit is dieselfde lêernaam Mark gegee om dit baie jare gelede. 1398 01:03:53,910 --> 01:03:58,520 Dit is die program wat hy geskryf het in PHP via wat gebruikers kan aanteken op die webwerf. 1399 01:03:58,520 --> 01:04:00,370 >> Maar jy moet om te stuur 'n paar ekstra insette. 1400 01:04:00,370 --> 01:04:05,170 En eerder as wat dit gaan na die lêer name soos dit gedoen het voordat met cats-- 1401 01:04:05,170 --> 01:04:09,720 q = cats-- kan dit laer gaan in die versoek, dieper binnekant van die koevert as jy 1402 01:04:09,720 --> 01:04:12,440 sal waar niemand dit kan sien, en waar dit eindig nie tot 1403 01:04:12,440 --> 01:04:15,670 in die leser bar van die gebruiker en daarom nie onthou vir die mense om snoop 1404 01:04:15,670 --> 01:04:16,290 rond. 1405 01:04:16,290 --> 01:04:21,260 >> En so hier is my e-posadres en my vals wagwoord eintlik gaan. 1406 01:04:21,260 --> 01:04:27,400 En as Facebook gebruik nie HTTP, HTTPS, maar, 1407 01:04:27,400 --> 01:04:30,710 dit sal al word geïnkripteer, roer, ala Caesar of Vigenere, 1408 01:04:30,710 --> 01:04:34,960 maar meer fancily sodat niemand kan eintlik sien hierdie versoek. 1409 01:04:34,960 --> 01:04:38,120 >> En so ja, enige tyd wat jy het 'n URL wat begin met HTTPS, 1410 01:04:38,120 --> 01:04:39,560 dit beteken net dit geïnkripteer. 1411 01:04:39,560 --> 01:04:42,710 Maar aan die einde van die dag, wat is eintlik binnekant van hierdie koeverte? 1412 01:04:42,710 --> 01:04:44,070 Dit was super lae vlak. 1413 01:04:44,070 --> 01:04:46,240 En gelukkig, ons is nie gaan noodwendig 1414 01:04:46,240 --> 01:04:49,310 om so lae vlak gaan elke keer begin skryf interessante sagteware. 1415 01:04:49,310 --> 01:04:51,060 Ons kan begin om te neem die idees van een week 1416 01:04:51,060 --> 01:04:54,020 deur vyf, aanvaar dat daar is nou die infrastruktuur wat 1417 01:04:54,020 --> 01:04:57,160 laat ons sagteware te skryf wat werk op die web, 1418 01:04:57,160 --> 01:05:00,120 en dit gaan vir ons toelaat hierdie komende week te begin 1419 01:05:00,120 --> 01:05:01,840 op soek na iets genoem HTML. 1420 01:05:01,840 --> 01:05:04,750 Dit is die dinge wat selfs dieper binnekant van die koevert, 1421 01:05:04,750 --> 01:05:06,150 maar dit is die dinge wat ons gaan begin skryf. 1422 01:05:06,150 --> 01:05:08,020 En dit is die dinge wat meer Interessant genoeg, is ons 1423 01:05:08,020 --> 01:05:11,420 gaan programme te skryf wat outomaties begin genereer 1424 01:05:11,420 --> 01:05:15,410 sodat ons webblaaie is nie hard gekodeer, maar neem insette en produseer uitset. 1425 01:05:15,410 --> 01:05:18,810 >> Dit is dalk die eenvoudigste web bladsy wat jy kan maak in die wêreld. 1426 01:05:18,810 --> 01:05:23,000 Ek kan wel oopmaak iets onnosel soos Text Editor 1427 01:05:23,000 --> 01:05:26,160 op my Mac, wat net gee my 'n eenvoudige teks venster soos hierdie. 1428 01:05:26,160 --> 01:05:29,510 PC gebruikers Notepad.ext, wat baie soortgelyk in die gees. 1429 01:05:29,510 --> 01:05:33,212 >> En ek kan letterlik tik uit this-- DOCTYPE HTML, 1430 01:05:33,212 --> 01:05:34,420 wat lyk 'n bietjie kripties. 1431 01:05:34,420 --> 01:05:35,850 Maar ons sal terug kom. 1432 01:05:35,850 --> 01:05:38,730 HTML, met hierdie vreemde hakies en houe, 1433 01:05:38,730 --> 01:05:42,240 binnekant van wat nou gaan ek om te sê hier kom die hoof van my webblad. 1434 01:05:42,240 --> 01:05:45,220 Binnekant van die, ek het net weet, en jy sal gou weet, 1435 01:05:45,220 --> 01:05:47,850 dat ek die titel van my webblad kan plaas. 1436 01:05:47,850 --> 01:05:49,720 En dan onder die hoof van die webblad is 1437 01:05:49,720 --> 01:05:51,972 gaan om te gaan na die sogenaamde liggaam van die webblad. 1438 01:05:51,972 --> 01:05:54,180 En ek is net insp net soos in C soort hou 1439 01:05:54,180 --> 01:05:57,620 dinge mooi leesbare stilisties. 1440 01:05:57,620 --> 01:06:04,745 En nou gaan ek hierdie red as 'n lêer op my lessenaar, genaamd hello.html. 1441 01:06:04,745 --> 01:06:06,770 >> En ek gaan om dit te vertel ja, gebruik HTML. 1442 01:06:06,770 --> 01:06:09,690 Moenie verander dit na Txt, selfs al hierdie dinge is 'n tekslêer, 1443 01:06:09,690 --> 01:06:12,130 net soos 'n C program geskryf met 'n teks editor. 1444 01:06:12,130 --> 01:06:15,080 Alhoewel dit nie in CS50 IDE by die oomblik, net hier op my Mac. 1445 01:06:15,080 --> 01:06:18,490 >> En as ek nou na my lessenaar, jy sal sien hello.html. 1446 01:06:18,490 --> 01:06:20,720 As ek dubbel kliek hierdie, dit sal oopmaak Chrome. 1447 01:06:20,720 --> 01:06:23,260 En selfs al is hierdie lêer gebeur om te lewe op my lessenaar, 1448 01:06:23,260 --> 01:06:26,550 Dit is miskien die eenvoudigste webblad Ek kon maak. 1449 01:06:26,550 --> 01:06:30,080 >> Let daarop dat die titel van die blad pad top is hello world. 1450 01:06:30,080 --> 01:06:32,470 Die liggaam van die webblad is inderdaad hello world. 1451 01:06:32,470 --> 01:06:35,830 En al wat ek gedoen het om te kry op hierdie punt is te implementeer, 1452 01:06:35,830 --> 01:06:38,342 of is skryf 'n nuwe taal, die sogenaamde HTML. 1453 01:06:38,342 --> 01:06:40,300 Dit is nie 'n programmeertaal taal soos C. Daar is 1454 01:06:40,300 --> 01:06:42,508 gaan nie voorwaardes, en loops, en funksies. 1455 01:06:42,508 --> 01:06:46,560 Dit is 'n opmaak taal, waarin geval jy net vertel die ontvangs 1456 01:06:46,560 --> 01:06:48,410 program wat jy wil doen. 1457 01:06:48,410 --> 01:06:51,195 Dit beteken hey leser, hier kom 'n HTML-bladsy. 1458 01:06:51,195 --> 01:06:53,040 Hey leser, hier kom die hoof van my bladsy. 1459 01:06:53,040 --> 01:06:55,130 Hey leser, hier kom die liggaam van my bladsy. 1460 01:06:55,130 --> 01:06:57,100 Hey leser, dit is dit vir die liggaam. 1461 01:06:57,100 --> 01:06:59,350 Dit is dit vir die HTML-bladsy. 1462 01:06:59,350 --> 01:07:03,560 >> En met dié eenvoudige definisies alleen, sal ons gou sien dat een, 1463 01:07:03,560 --> 01:07:05,122 ons kan dit verteenwoordig as 'n boom. 1464 01:07:05,122 --> 01:07:06,080 Maar meer oor dit later. 1465 01:07:06,080 --> 01:07:08,788 So sal dit alles met mekaar te verbind om ons mees onlangse data strukture. 1466 01:07:08,788 --> 01:07:12,460 Twee, sal ons hierdie stupid grap stel. 1467 01:07:12,460 --> 01:07:15,680 Dit is 'n werklike Een wat hierdie man het op sy nek. 1468 01:07:15,680 --> 01:07:19,660 Dit is waarskynlik snaaks die eerste week of twee, en daarna, dalk nie so veel nie. 1469 01:07:19,660 --> 01:07:22,960 >> Maar HTML, en selfs die web bladsy wat ek nou net gemaak, super gedagte 1470 01:07:22,960 --> 01:07:25,670 numbingly disappointing-- net sê hello world 1471 01:07:25,670 --> 01:07:27,210 in swart teks op 'n wit agtergrond. 1472 01:07:27,210 --> 01:07:28,680 Sekerlik kan ons baie beter doen. 1473 01:07:28,680 --> 01:07:31,552 En ons sal dit doen deur die bekendstelling van 'n ander taal, die sogenaamde CSS. 1474 01:07:31,552 --> 01:07:34,760 Dit word ook nie 'n programmeertaal language-- geen lusse en voorwaardes, of vir loops, 1475 01:07:34,760 --> 01:07:38,470 maar regtig, net die sintaksis waardeur ons kan sê, maak hierdie teks groot. 1476 01:07:38,470 --> 01:07:39,415 Maak hierdie teks klein. 1477 01:07:39,415 --> 01:07:40,040 Regs belyn is. 1478 01:07:40,040 --> 01:07:40,650 Links belyn is. 1479 01:07:40,650 --> 01:07:41,195 Maak dit pienk. 1480 01:07:41,195 --> 01:07:41,820 Maak dit pers. 1481 01:07:41,820 --> 01:07:42,650 Maak dit blou. 1482 01:07:42,650 --> 01:07:44,860 Of enige aantal ander visuele effekte. 1483 01:07:44,860 --> 01:07:48,590 En so sal ons sien hoe om stylizing begin web bladsye, sodat hulle lyk op 'n wyse 1484 01:07:48,590 --> 01:07:50,480 nader aan dit wat ons wil hê. 1485 01:07:50,480 --> 01:07:56,930 >> En laastens, het ons inderdaad verwoes dalk baie van TV en film vir jou. 1486 01:07:56,930 --> 01:07:58,930 Ek het gedink ons ​​hier wil eindig met ons laaste sekondes 1487 01:07:58,930 --> 01:08:03,700 op 'n finale clip wat wys jou hoe inbraak op die internet werk. 1488 01:08:03,700 --> 01:08:06,250 As ons kon verdof die steek 'n laaste keer. 1489 01:08:06,250 --> 01:08:07,250 >> [Video speel] 1490 01:08:07,250 --> 01:08:09,520 >> -Glad nie. 1491 01:08:09,520 --> 01:08:10,650 Ek kry gekap. 1492 01:08:10,650 --> 01:08:11,770 >> -Okorsky? 1493 01:08:11,770 --> 01:08:14,230 >> -No-- Nee, dit is groot. 1494 01:08:14,230 --> 01:08:17,074 Hulle het reeds gebrand deur die NCIS openbare firewall. 1495 01:08:17,074 --> 01:08:19,990 -Goed, Isoleer die knoop en stort hulle aan die ander kant van die router. 1496 01:08:19,990 --> 01:08:20,990 -Ek probeer. 1497 01:08:20,990 --> 01:08:23,990 Dit beweeg te vinnig. 1498 01:08:23,990 --> 01:08:25,179 >> -OH, Dit is nie goed nie. 1499 01:08:25,179 --> 01:08:27,470 Hulle is die gebruik van ons verband [Onhoorbaar] hierdie databasis. 1500 01:08:27,470 --> 01:08:28,458 Verbreek nie. 1501 01:08:28,458 --> 01:08:28,958 -Ek Kan nie. 1502 01:08:28,958 --> 01:08:29,454 Dit is 'n punt aanval. 1503 01:08:29,454 --> 01:08:31,438 Hy of sy is slegs gaan na my masjien. 1504 01:08:31,438 --> 01:08:32,430 >> -Dit Is nie moontlik nie. 1505 01:08:32,430 --> 01:08:33,847 Daar is DOD vlak myn enkripsie. 1506 01:08:33,847 --> 01:08:35,055 Dit sou maande neem om get-- 1507 01:08:35,055 --> 01:08:35,857 Hey, wat is dit? 1508 01:08:35,857 --> 01:08:36,398 'N video game? 1509 01:08:36,398 --> 01:08:37,886 >> -Geen Tony, ons kry gekap. 1510 01:08:37,886 --> 01:08:40,795 >> -As Hulle in Abby se rekenaar te kry, die hele NCIS netwerk is die volgende. 1511 01:08:40,795 --> 01:08:42,050 >> -Ek Kan hom nie keer nie. 1512 01:08:42,050 --> 01:08:43,050 Doen iets McGee. 1513 01:08:43,050 --> 01:08:44,550 >> -I've Nooit gesien kode soos hierdie. 1514 01:08:44,550 --> 01:08:47,432 1515 01:08:47,432 --> 01:08:48,571 -OH. 1516 01:08:48,571 --> 01:08:49,196 -Waar Is dit gaan? 1517 01:08:49,196 --> 01:08:50,604 Abby? 1518 01:08:50,604 --> 01:08:51,520 -Ek Het niks te doen nie. 1519 01:08:51,520 --> 01:08:53,020 Ek het gedink jy het. 1520 01:08:53,020 --> 01:08:54,520 >> -Geen. 1521 01:08:54,520 --> 01:08:57,232 >> -Ek het. 1522 01:08:57,232 --> 01:08:58,307 >> [Einde afspeel] 1523 01:08:58,307 --> 01:09:00,390 DAVID J. MALAN: Die beste deel is twee mense tik 1524 01:09:00,390 --> 01:09:02,170 op die sleutelbord op dieselfde tyd. 1525 01:09:02,170 --> 01:09:03,200 >> So dit is dit vir CS50. 1526 01:09:03,200 --> 01:09:04,700 Ons sal hou om vir kantoorure. 1527 01:09:04,700 --> 01:09:06,344 En ons sien julle volgende keer. 1528 01:09:06,344 --> 01:09:07,760 [MUSIEK speel - "Seinfeld TEMA"] 1529 01:09:07,760 --> 01:09:11,139 1530 01:09:11,139 --> 01:09:11,680 Dit is CS50. 1531 01:09:11,680 --> 01:09:17,960 1532 01:09:17,960 --> 01:09:20,854 Ek wil nie 'n seerower te wees. 1533 01:09:20,854 --> 01:09:21,770 Spreker 2: Yarr David. 1534 01:09:21,770 --> 01:09:23,700 Dit is 'n fyn doeblet jy dra. 1535 01:09:23,700 --> 01:09:26,450 Baie loef in daardie puff. 1536 01:09:26,450 --> 01:09:29,327