1 00:00:00,000 --> 00:00:10,792 2 00:00:10,792 --> 00:00:11,750 DAVID MALAN: Okej. 3 00:00:11,750 --> 00:00:13,630 Detta är CS50. 4 00:00:13,630 --> 00:00:15,950 Och detta är början på veckan sju. 5 00:00:15,950 --> 00:00:19,120 Så idag, kanske tack och lov, Vi börjar vår övergång 6 00:00:19,120 --> 00:00:21,630 från den lägre nivån värld av C-programmering 7 00:00:21,630 --> 00:00:24,290 till den högre nivån värld av webbprogrammering. 8 00:00:24,290 --> 00:00:28,060 Och med det kommer vi att ta en titt på exakt hur internet fungerar, 9 00:00:28,060 --> 00:00:31,920 vad dessa maskiner och dessa internets att du har använt i flera år nu 10 00:00:31,920 --> 00:00:35,090 faktiskt gör under huven mot en bättre förståelse för hur det hela 11 00:00:35,090 --> 00:00:37,660 fungerar och hur du kan få det att fungera för dig. 12 00:00:37,660 --> 00:00:41,480 >> Mot detta, varför inte vi ta ett först titta på ett klipp från ett TV-program 13 00:00:41,480 --> 00:00:45,680 kallade Numb3rs, som kommer att få oss igång om exakt hur internet fungerar. 14 00:00:45,680 --> 00:00:46,964 15 00:00:46,964 --> 00:00:47,630 [VIDEOAVSPELNING] 16 00:00:47,630 --> 00:00:49,858 -Det Är en 32-bitars IPP4 adress. 17 00:00:49,858 --> 00:00:50,794 -IP. 18 00:00:50,794 --> 00:00:51,730 Det är på internet. 19 00:00:51,730 --> 00:00:52,640 >> -Privat Nätverk. 20 00:00:52,640 --> 00:00:53,865 Det är Amita privata nätverk. 21 00:00:53,865 --> 00:01:06,635 22 00:01:06,635 --> 00:01:08,120 Åh, hon är så fantastiskt. 23 00:01:08,120 --> 00:01:09,605 24 00:01:09,605 --> 00:01:11,120 >> -Oh, Charlie. 25 00:01:11,120 --> 00:01:12,640 >> -Det Är en spegel IP-adress. 26 00:01:12,640 --> 00:01:15,672 Hon låter oss titta på vad hon gör i realtid. 27 00:01:15,672 --> 00:01:16,505 [END VIDEOAVSPELNING] 28 00:01:16,505 --> 00:01:19,570 DAVID MALAN: Så det finns en hel mycket fel med den TV-show. 29 00:01:19,570 --> 00:01:23,250 Så låt oss retas isär exakt ett av de första sådana saker 30 00:01:23,250 --> 00:01:25,210 och se om vi inte kan linda våra sinnen runt den. 31 00:01:25,210 --> 00:01:28,110 Så den sista bildrutan i att filmen, av den show 32 00:01:28,110 --> 00:01:30,360 är detta en här, vilket tyder på att detta 33 00:01:30,360 --> 00:01:33,300 är vad vissa hackare använder att komma in i något system. 34 00:01:33,300 --> 00:01:33,875 >> Men nej. 35 00:01:33,875 --> 00:01:36,030 Om du zoomar in på denna källkod, som 36 00:01:36,030 --> 00:01:40,210 är ett språk som kallas Mål C vilka iPhone appar, iPad appar och Mac 37 00:01:40,210 --> 00:01:42,060 OS apps är skrivna, du kommer att se att detta 38 00:01:42,060 --> 00:01:45,400 är för någon form av ritprogram som har en färgkrita som en variabel. 39 00:01:45,400 --> 00:01:47,800 40 00:01:47,800 --> 00:01:51,880 >> Så dessutom kanske du har märkt denna adress här. 41 00:01:51,880 --> 00:01:53,330 Nu är detta ett lika fel. 42 00:01:53,330 --> 00:01:56,740 Och det är antagligen medvetet valt att vara en ogiltig adress, så att den 43 00:01:56,740 --> 00:02:00,010 inte leder någonstans Om en TV-tittare som faktiskt besöker den. 44 00:02:00,010 --> 00:02:02,620 Men det här numret här, något dot något 45 00:02:02,620 --> 00:02:05,799 dot något dot något är det som är allmänt känd som en IP-adress. 46 00:02:05,799 --> 00:02:07,840 Och det är faktiskt en bra segue till detta ämne mer 47 00:02:07,840 --> 00:02:10,930 allmänt, känd som IP, Internet Protocol. 48 00:02:10,930 --> 00:02:14,210 Så du har förmodligen åtminstone hört denna fras innan. 49 00:02:14,210 --> 00:02:18,980 Men vad är IP eller Internet protokoll som ni förstår det i dag? 50 00:02:18,980 --> 00:02:21,376 51 00:02:21,376 --> 00:02:23,625 Oddsen är, om vi bad om en handuppräckning, de flesta av er 52 00:02:23,625 --> 00:02:26,880 har nog sagt det ord IP adress innan. 53 00:02:26,880 --> 00:02:27,955 Så vad menade du? 54 00:02:27,955 --> 00:02:29,578 55 00:02:29,578 --> 00:02:30,779 >> PUBLIK: [OHÖRBAR]? 56 00:02:30,779 --> 00:02:31,820 DAVID MALAN: Vad är det? 57 00:02:31,820 --> 00:02:33,170 PUBLIK: [OHÖRBAR]? 58 00:02:33,170 --> 00:02:33,455 DAVID MALAN: Ännu en gång. 59 00:02:33,455 --> 00:02:34,840 PUBLIK: Adress till datorn. 60 00:02:34,840 --> 00:02:35,950 DAVID MALAN: Den adressen för datorn. 61 00:02:35,950 --> 00:02:36,949 Så det är exakt rätt. 62 00:02:36,949 --> 00:02:39,660 Det visar sig att varje dator på internet, 63 00:02:39,660 --> 00:02:42,940 och dessa dagar, varje telefon i ditt ficka och tablet i ryggsäcken, 64 00:02:42,940 --> 00:02:45,880 har en IP-adress, internet IP-adress, vilken 65 00:02:45,880 --> 00:02:49,379 är en unik adress som identifierar Det hela internet. 66 00:02:49,379 --> 00:02:51,920 Nu är det lite av en vit ljuga eftersom världen är faktiskt 67 00:02:51,920 --> 00:02:53,240 få slut på IP-adresser. 68 00:02:53,240 --> 00:02:55,900 >> Så vi har börjat använda privata IP-adresser. 69 00:02:55,900 --> 00:02:57,160 Men mer om det i ett ögonblick. 70 00:02:57,160 --> 00:03:00,731 Men du kan tänka dig en IP-adress som som din postservice street 71 00:03:00,731 --> 00:03:01,230 adress. 72 00:03:01,230 --> 00:03:04,160 Vi har använder exemplet med Maxwell Dworkin, CS byggnad, på förhand 73 00:03:04,160 --> 00:03:07,920 33 Oxford Street Cambridge, Mass, 02138, USA. 74 00:03:07,920 --> 00:03:10,400 Det är dess unika adress i världen. 75 00:03:10,400 --> 00:03:12,547 >> På liknande sätt göra datorer har unika adresser. 76 00:03:12,547 --> 00:03:14,380 De råkar bara ser lite annorlunda- 77 00:03:14,380 --> 00:03:17,219 ett antal dot ett antal dot ett antal dot ett nummer. 78 00:03:17,219 --> 00:03:19,760 Och är det någon som faktiskt vet vad gäller nummerserie 79 00:03:19,760 --> 00:03:21,105 är för var och en av dessa hashar? 80 00:03:21,105 --> 00:03:21,604 Yeah. 81 00:03:21,604 --> 00:03:23,045 >> PUBLIK: 0 till 255? 82 00:03:23,045 --> 00:03:23,920 DAVID MALAN: Exakt. 83 00:03:23,920 --> 00:03:25,450 0-255. 84 00:03:25,450 --> 00:03:28,360 Och även om du inte visste att nu dra en slutsats, 85 00:03:28,360 --> 00:03:31,130 hur många bitar som används för att representera var och en av dessa siffror då? 86 00:03:31,130 --> 00:03:32,232 87 00:03:32,232 --> 00:03:34,440 Åtta uppenbarligen på grund av det högsta du kan räkna 88 00:03:34,440 --> 00:03:36,720 är 255, det är ett 8-bitars värde. 89 00:03:36,720 --> 00:03:38,980 Så totalt är en IP-adress med 32 bitar. 90 00:03:38,980 --> 00:03:41,310 Så snabbt vidarebefordran till matematisk slutsats, 91 00:03:41,310 --> 00:03:43,900 hur många möjliga IP-adresser finns det i världen, då? 92 00:03:43,900 --> 00:03:46,990 93 00:03:46,990 --> 00:03:50,100 >> Så det är 8 plus 8 plus 8 plus 8, så det är 32 bitar. 94 00:03:50,100 --> 00:03:52,490 Och vi har alltid sagt att 2 till 32 är ungefär? 95 00:03:52,490 --> 00:03:53,940 96 00:03:53,940 --> 00:03:54,440 OK. 97 00:03:54,440 --> 00:03:55,273 Jag ska sätta in den här. 98 00:03:55,273 --> 00:03:55,864 Fyra miljarder. 99 00:03:55,864 --> 00:03:58,780 Och vi pratade om det i veckan noll när vi pratade om telefonböcker 100 00:03:58,780 --> 00:04:00,170 med galna antal sidor. 101 00:04:00,170 --> 00:04:03,450 Men den typ av det är att det finns ett begränsat antal IP-adresser. 102 00:04:03,450 --> 00:04:05,740 Och även om fyra miljarder kan tyckas som mycket, 103 00:04:05,740 --> 00:04:07,770 vi människor har konsumerar en hel del 104 00:04:07,770 --> 00:04:10,350 av dem för alla våra servrar och enheter och så vidare. 105 00:04:10,350 --> 00:04:12,170 >> Så detta är faktiskt att bli ett problem. 106 00:04:12,170 --> 00:04:16,500 Nu finns det en tendens att vara en system bakom vem som har vilken IP. 107 00:04:16,500 --> 00:04:18,560 Till exempel, många av datorerna på Harvard 108 00:04:18,560 --> 00:04:21,810 har unika adresser som börjar med en av dessa två värden. 109 00:04:21,810 --> 00:04:23,560 MIT, på liknande sätt, har ett prefix. 110 00:04:23,560 --> 00:04:26,889 Och en hel del företag och universitet har sina egna unika prefix. 111 00:04:26,889 --> 00:04:29,680 Och då de flesta av oss för vårt hem Internet-anslutningar och liknande, 112 00:04:29,680 --> 00:04:33,575 Vi delar vissa prefix som Comcast eller någon som råkar äga. 113 00:04:33,575 --> 00:04:36,640 Och detta är bara att säga att om du tittade på de flesta datorer på campus, 114 00:04:36,640 --> 00:04:40,070 De skulle förmodligen ha en IP adress som ser ut så här. 115 00:04:40,070 --> 00:04:43,180 >> Nu kanske du också ibland se en IP-adress börjar så här. 116 00:04:43,180 --> 00:04:46,150 Faktum är att om någon av er växte upp med tillgång till internet i hemmet, 117 00:04:46,150 --> 00:04:49,270 och du var aldrig tillräckligt tekniskt nyfiken att rota runt 118 00:04:49,270 --> 00:04:51,800 egna datorinställningar, du förmodligen istället 119 00:04:51,800 --> 00:04:56,990 såg en adress som ser mer ut som detta, som började med 10, eller 172,6, 120 00:04:56,990 --> 00:05:00,480 eller 192.168, eller vissa varianter därav. 121 00:05:00,480 --> 00:05:04,025 >> Och det betyder bara att världen avsätts en hel massa siffror 122 00:05:04,025 --> 00:05:06,400 att vara privat, vilket betyder du kan använda dem i ditt hem, 123 00:05:06,400 --> 00:05:08,941 du kan även använda dem på din campus och inom företaget, 124 00:05:08,941 --> 00:05:10,970 men du kan inte använda dem på internet i stort. 125 00:05:10,970 --> 00:05:13,320 >> Och så dessa privata IPs ha varit en lösning 126 00:05:13,320 --> 00:05:16,990 mot att se till att åtminstone så långt som att hela världen är berörda, 127 00:05:16,990 --> 00:05:18,890 vi inte använder så många IP-adresser. 128 00:05:18,890 --> 00:05:22,840 Men åtminstone, kan vi, på vårt eget campus, har ganska mycket som många IP-adresser 129 00:05:22,840 --> 00:05:23,590 som vi vill. 130 00:05:23,590 --> 00:05:24,410 Men vem bryr sig? 131 00:05:24,410 --> 00:05:28,500 Vad är betydelsen av allt detta till en faktisk användning av internet? 132 00:05:28,500 --> 00:05:31,450 >> Nåväl, låt oss ta en titt på kanske en enkel bild här. 133 00:05:31,450 --> 00:05:33,550 Låt mig genom båda dessa upp på skärmen. 134 00:05:33,550 --> 00:05:36,050 Och förlåt min handstil här. 135 00:05:36,050 --> 00:05:39,500 Men om vi tänker på oss själva som är denna lilla laptop här 136 00:05:39,500 --> 00:05:41,830 någonstans på campus, dessa dagar har Wi-Fi. 137 00:05:41,830 --> 00:05:44,180 >> Men i förr och om du hittar rätt adapter, 138 00:05:44,180 --> 00:05:47,420 Det kan ha en Ethernet-kabel vilket skulle på liknande sätt låta 139 00:05:47,420 --> 00:05:49,130 du ansluter till någon form av anordning. 140 00:05:49,130 --> 00:05:51,090 Och du kan kalla detta valfritt antal saker. 141 00:05:51,090 --> 00:05:55,930 Men jag ska gå vidare och kalla detta, för nu, vad sägs om en accesspunkt? 142 00:05:55,930 --> 00:05:57,690 >> Så det här är min laptop. 143 00:05:57,690 --> 00:06:01,130 Detta är min AP, eller åtkomstpunkt, och detta är en del trådlösa enheten, 144 00:06:01,130 --> 00:06:04,400 Inte olikt de som Harvard har över taken 145 00:06:04,400 --> 00:06:07,420 och väggar runt campus som har blinkande lampor 146 00:06:07,420 --> 00:06:10,930 och det är vad dina bärbara datorer brukade prata trådlöst 147 00:06:10,930 --> 00:06:12,160 till resten av nätet. 148 00:06:12,160 --> 00:06:14,880 >> Så på något sätt denna laptop talar till det där på väggen, 149 00:06:14,880 --> 00:06:16,540 i matsalen, eller någon annanstans. 150 00:06:16,540 --> 00:06:21,410 Nu, under tiden, är att accesspunkt ansluten till något annat på campus. 151 00:06:21,410 --> 00:06:24,810 Och det är förmodligen något känd som en omkopplare. 152 00:06:24,810 --> 00:06:27,690 Och de ser mycket mer intressant än bara dessa box diagram. 153 00:06:27,690 --> 00:06:29,760 >> Men på något sätt, det är sak ansluten till en omkopplare. 154 00:06:29,760 --> 00:06:31,900 Och i sin tur, på något sätt att omkopplaren är ansluten 155 00:06:31,900 --> 00:06:35,890 till en enhet som är nog en lite större, en så kallad router. 156 00:06:35,890 --> 00:06:37,930 Och sedan, under tiden, Harvard är ansluten 157 00:06:37,930 --> 00:06:41,210 till hela internet som vi ska dra så detta moln här, 158 00:06:41,210 --> 00:06:43,850 via någon antal trådar eller trådlös teknik. 159 00:06:43,850 --> 00:06:46,670 >> Så det finns en hel del steg mellan mig och resten av världen. 160 00:06:46,670 --> 00:06:49,620 Och faktiskt, även inom denna bild här, 161 00:06:49,620 --> 00:06:52,634 finns det några andra servrar eller tjänster som berörs. 162 00:06:52,634 --> 00:06:54,800 Och jag kommer bara att dra dessa något abstrakt 163 00:06:54,800 --> 00:06:57,050 bara så att vi har förkortningarna framför oss. 164 00:06:57,050 --> 00:06:57,993 >> En heter DHCP. 165 00:06:57,993 --> 00:06:59,330 166 00:06:59,330 --> 00:07:03,440 Och en annan, lite mer intressant för idag, kallas DNS. 167 00:07:03,440 --> 00:07:09,160 Så dessa är servrar som är på något sätt tillgänglig för min dator också. 168 00:07:09,160 --> 00:07:10,910 Så nu ska vi retas isär lite jargong. 169 00:07:10,910 --> 00:07:13,410 Så åtkomstpunkten är just denna trådlösa enheten 170 00:07:13,410 --> 00:07:16,079 ofta med antenner som faktiskt kan du prata med en trådlöst. 171 00:07:16,079 --> 00:07:17,870 Hemma kan du ringa detta är en router. 172 00:07:17,870 --> 00:07:21,550 Det kan göras av Linksys, eller Apple, eller D-Link, eller valfritt antal företag. 173 00:07:21,550 --> 00:07:23,930 Som i sin tur är ansluten till en omkopplare av något slag. 174 00:07:23,930 --> 00:07:28,287 Eller hemma, vad är din Wi-Fi enheten antagligen ansluten till istället? 175 00:07:28,287 --> 00:07:30,370 Eftersom du gör antagligen inte äger all denna utrustning. 176 00:07:30,370 --> 00:07:31,900 177 00:07:31,900 --> 00:07:32,400 Yeah. 178 00:07:32,400 --> 00:07:36,379 Kabelmodem eller DSL-modem hemma att du fick från Verizon, eller Comcast, 179 00:07:36,379 --> 00:07:37,420 eller en av transportörerna. 180 00:07:37,420 --> 00:07:41,520 Så tänk på allt detta komplexa att stödja ett universitet eller egentligen 181 00:07:41,520 --> 00:07:42,920 ett företag som Comcast. 182 00:07:42,920 --> 00:07:44,690 Och egentligen, grejer det är i ditt hem 183 00:07:44,690 --> 00:07:46,800 är antagligen på denna sida av stängslet plus kanske 184 00:07:46,800 --> 00:07:50,380 en av dessa hem route-- en av dessa är kabelmodem eller DSL 185 00:07:50,380 --> 00:07:51,720 modem som de kan erbjuda. 186 00:07:51,720 --> 00:07:55,650 >> Så en switch är bara en enhet med en hel massa uppgifter uttagen i den. 187 00:07:55,650 --> 00:07:58,940 Faktum är att om du minns att nyheterna betänkande vi spelade på den stora skärmen 188 00:07:58,940 --> 00:08:01,930 ett par veckor sedan var vi talade om shell shock, 189 00:08:01,930 --> 00:08:03,270 och hur illa det var? 190 00:08:03,270 --> 00:08:05,850 Och det fanns av dessa fotografier av kablar och domkrafter, 191 00:08:05,850 --> 00:08:07,569 och saker som ser tekniskt? 192 00:08:07,569 --> 00:08:10,360 Det var bara dumma växlar som bara internet ansluter datorer 193 00:08:10,360 --> 00:08:12,810 genom att koppla kablar i dem. 194 00:08:12,810 --> 00:08:14,140 >> Så det är allt en switch är. 195 00:08:14,140 --> 00:08:16,363 Nu, dessa enheter får en lite mer intressant. 196 00:08:16,363 --> 00:08:16,863 DHCP. 197 00:08:16,863 --> 00:08:17,846 198 00:08:17,846 --> 00:08:20,470 Om du har petade runt dator hemma eller på campus, 199 00:08:20,470 --> 00:08:21,845 du kanske har sett denna akronym. 200 00:08:21,845 --> 00:08:24,480 Vet någon vad en DHCP-server? 201 00:08:24,480 --> 00:08:25,560 202 00:08:25,560 --> 00:08:27,360 Dynamic Host Configuration Protocol? 203 00:08:27,360 --> 00:08:28,324 204 00:08:28,324 --> 00:08:30,490 Inte den typ av sak som du verkligen behöver skriva ner. 205 00:08:30,490 --> 00:08:30,990 DHCP. 206 00:08:30,990 --> 00:08:32,480 207 00:08:32,480 --> 00:08:33,891 någon alls? 208 00:08:33,891 --> 00:08:34,390 Okej. 209 00:08:34,390 --> 00:08:35,520 Så låt oss spola tillbaka berättelsen. 210 00:08:35,520 --> 00:08:39,210 Om historien här till hands är lovad på min att ha en unik adress 211 00:08:39,210 --> 00:08:42,909 i världen, en IP-adress, var kommer det ifrån? 212 00:08:42,909 --> 00:08:44,640 I förr, när du har fått till campus, 213 00:08:44,640 --> 00:08:47,790 du faktiskt hade be någon på Harvard, vad ska min IP-adress vara. 214 00:08:47,790 --> 00:08:49,873 Och du skulle manuellt skriva in det i datorn. 215 00:08:49,873 --> 00:08:53,770 Men på senare tid, teknik finns som gör att du kan dynamiskt, 216 00:08:53,770 --> 00:08:58,460 DHCP, får en IP-adress bara när du ansluter till campus trådlöst 217 00:08:58,460 --> 00:08:59,220 eller med en tråd. 218 00:08:59,220 --> 00:09:03,800 Så DHCP-server är bara en server som ger din dator en unik IP 219 00:09:03,800 --> 00:09:06,349 adress, något slumpmässigt eller via någon algoritm. 220 00:09:06,349 --> 00:09:08,390 Men om du tänker tillbaka en några veckor eller några år, 221 00:09:08,390 --> 00:09:10,670 när du först registrerade datorn på campus, 222 00:09:10,670 --> 00:09:13,957 du berättade Harvard, tillåta mig att ge mig en IP-adress. 223 00:09:13,957 --> 00:09:15,915 Nu DNS börjar få en lite mer intressant. 224 00:09:15,915 --> 00:09:17,050 225 00:09:17,050 --> 00:09:18,940 Domännamnssystemet. 226 00:09:18,940 --> 00:09:21,970 Finns det någon som vill ta ett knivhugg på vad den här saken är här? 227 00:09:21,970 --> 00:09:26,195 >> Det är en eller flera servrar som utföra en relativt enkel uppgift som är 228 00:09:26,195 --> 00:09:26,945 slags viktiga. 229 00:09:26,945 --> 00:09:30,150 230 00:09:30,150 --> 00:09:31,130 Yeah. 231 00:09:31,130 --> 00:09:33,810 >> PUBLIK: Översätter webbadresser [OHÖRBAR]. 232 00:09:33,810 --> 00:09:34,560 DAVID MALAN: Ja. 233 00:09:34,560 --> 00:09:38,970 Det översätter webbadresser till IP adresser och vice versa. 234 00:09:38,970 --> 00:09:41,310 Betrakta, trots allt, att när du går på hemsidan, 235 00:09:41,310 --> 00:09:46,200 du skriver in något i stil facebook.com, eller google.com eller harvard.edu, 236 00:09:46,200 --> 00:09:50,620 du säkert aldrig har skrivit mest sannolikt en numerisk IP-adress. 237 00:09:50,620 --> 00:09:52,490 >> Och du kan tänka på anledningen. 238 00:09:52,490 --> 00:09:54,910 Tillbaka i dag, till och med nu i viss utsträckning, 239 00:09:54,910 --> 00:09:58,030 när du gör en telefon kalla till ett företag, 240 00:09:58,030 --> 00:10:02,275 de försöker verkligen svårt att köpa sig ett 800 nummer som faktiskt har ord 241 00:10:02,275 --> 00:10:06,140 i det, som 1-800-collect eller något det är minnesvärda sådär så att 242 00:10:06,140 --> 00:10:10,692 människor behöver inte komma ihåg vad C-O-L-L-E-C-T faktiskt expanderar. 243 00:10:10,692 --> 00:10:12,400 Så vi har sett denna heuristisk i det förflutna. 244 00:10:12,400 --> 00:10:15,720 Och faktiskt, det är vad IP-adresser och vad vi ska kalla värdnamn 245 00:10:15,720 --> 00:10:18,120 eller fullständigt kvalificerad domännamn göra för oss. 246 00:10:18,120 --> 00:10:22,610 Det ger oss möjlighet att adress servrar med ord istället för siffror. 247 00:10:22,610 --> 00:10:24,560 Så hur gör vi faktiskt se denna omvandling. 248 00:10:24,560 --> 00:10:26,393 Jag kommer att gå vidare och öppna upp ett program. 249 00:10:26,393 --> 00:10:26,975 250 00:10:26,975 --> 00:10:29,350 Jag kommer bara att gå vidare och öppna upp ett terminalfönster. 251 00:10:29,350 --> 00:10:31,933 Och jag kommer att gå vidare och visa dig vad en DNS-server gör. 252 00:10:31,933 --> 00:10:35,700 Till exempel, om jag ville se vad IP-adressen är Facebook, 253 00:10:35,700 --> 00:10:37,720 Jag kan skriva på en terminal uppmana liknande this-- 254 00:10:37,720 --> 00:10:40,010 och du kan göra detta även inuti apparaten. 255 00:10:40,010 --> 00:10:41,595 Och det är lookup facebook.com. 256 00:10:41,595 --> 00:10:43,220 257 00:10:43,220 --> 00:10:44,500 >> Och jag ser en massa saker. 258 00:10:44,500 --> 00:10:48,097 Denna första reaktion är Harvards DNS server-- 259 00:10:48,097 --> 00:10:49,930 den bilden som jag har dras där. --that s 260 00:10:49,930 --> 00:10:54,300 talar om för mig att Facebook IP adress är tydligen detta. 261 00:10:54,300 --> 00:10:58,650 Så låt mig gå vidare och kopiera det 173.252.120.16. 262 00:10:58,650 --> 00:11:00,960 Och låt mig öppna Chrome på min Mac. 263 00:11:00,960 --> 00:11:06,690 Och låt mig gå till http: // och klistra den IP-adressen i och tryck på Retur. 264 00:11:06,690 --> 00:11:08,950 >> Och faktiskt, jag befinner mig på Facebook. 265 00:11:08,950 --> 00:11:11,090 Så på något sätt att konvertering, faktiskt hände. 266 00:11:11,090 --> 00:11:15,314 Och om jag gör det igen, låt oss do nslookup, www.google.com. 267 00:11:15,314 --> 00:11:17,302 Jag får tillbaka en hel massa svar. 268 00:11:17,302 --> 00:11:20,010 Och faktiskt, det finns olika sätt att företagen genomföra detta. 269 00:11:20,010 --> 00:11:22,440 Ibland är de berätta för världen de har en IP-adress. 270 00:11:22,440 --> 00:11:25,824 >> Men att en IP-adress blir löst eller mappas till flera servrar. 271 00:11:25,824 --> 00:11:27,740 Eller i fallet med Google, De berätta för världen, 272 00:11:27,740 --> 00:11:29,510 Vi har en hel massa IP-adresser. 273 00:11:29,510 --> 00:11:33,910 Din bärbara dator är välkomna att prata kontakta någon en av dessa servrar. 274 00:11:33,910 --> 00:11:36,200 Så alla som pågått på under huven. 275 00:11:36,200 --> 00:11:40,830 >> När du skriver in www.google.com Enter i din webbläsare, webbläsaren, 276 00:11:40,830 --> 00:11:46,180 och i sin tur ditt operativsystem, Mac OS eller Windows, eller Ubuntu Linux, 277 00:11:46,180 --> 00:11:51,010 be närliggande DNS-server, vilken är den verkliga adressen till denna server. 278 00:11:51,010 --> 00:11:54,330 Eftersom den sista enheten på den här bilden, en router, 279 00:11:54,330 --> 00:11:57,840 är den vars syfte i livet är att ruttinformation, 280 00:11:57,840 --> 00:12:01,150 route-paket så att säga, höljen av digital information 281 00:12:01,150 --> 00:12:06,320 innehåller nollor och ettor från avsändare till destinationen, från ursprunget 282 00:12:06,320 --> 00:12:07,200 till mottagaren. 283 00:12:07,200 --> 00:12:09,760 >> Och så en router vägar grejer. 284 00:12:09,760 --> 00:12:13,000 Så varför är det allt särskilt relevant? 285 00:12:13,000 --> 00:12:16,000 Nåväl, låt oss ta en titt på hur detta skulle kunna användas. 286 00:12:16,000 --> 00:12:21,600 Antag att jag har här en bild av Rob Boden. 287 00:12:21,600 --> 00:12:22,690 288 00:12:22,690 --> 00:12:25,150 Så antar att jag vill Skicka denna bild av Rob Boden 289 00:12:25,150 --> 00:12:27,530 till Dan i ryggen i föreläsningssalen. 290 00:12:27,530 --> 00:12:29,976 >> Så jag är en dator som min laptop, och Dan 291 00:12:29,976 --> 00:12:31,600 är en annan dator på internet. 292 00:12:31,600 --> 00:12:34,380 Och jag vill skicka ett paket av information från mig till honom. 293 00:12:34,380 --> 00:12:37,952 Det väcker frågan, hur gör jag faktiskt väg detta paket till honom. 294 00:12:37,952 --> 00:12:40,660 Tja, i mänskliga termer, skulle jag säga, hej, kan du skicka det till Dan? 295 00:12:40,660 --> 00:12:42,826 >> Och sedan, ett gäng dig förmodligen skulle passera det tillbaka 296 00:12:42,826 --> 00:12:45,890 och tillbaka fram och tillbaka tills småningom gör sin väg över till Dan. 297 00:12:45,890 --> 00:12:47,700 Men det är lite otydligt. 298 00:12:47,700 --> 00:12:50,370 Datorer behöver antagligen vara lite mer metodiskt. 299 00:12:50,370 --> 00:12:53,190 Så nog har Dan en IP-adress. 300 00:12:53,190 --> 00:12:57,190 Så vad egentligen jag ska göra är att jag borde ta, till exempel, ett tomt hölje 301 00:12:57,190 --> 00:12:58,140 så här. 302 00:12:58,140 --> 00:13:00,130 Och jag vet inte vad Dan IP-adress är. 303 00:13:00,130 --> 00:13:04,300 >> Så jag ska bara generalisera det som Dan IP. 304 00:13:04,300 --> 00:13:07,511 Och jag kommer att sätta detta i det att sätta in i mitt kuvert. 305 00:13:07,511 --> 00:13:09,010 Och under tiden, jag har en IP-adress. 306 00:13:09,010 --> 00:13:10,610 Det spelar ingen roll i dag vad det är. 307 00:13:10,610 --> 00:13:15,130 Så jag ska bara säga min IP i ryggen hörnet finns. 308 00:13:15,130 --> 00:13:19,350 Och sedan kommer jag att gå vidare och lägga denna bild på insidan av detta anslag. 309 00:13:19,350 --> 00:13:22,800 >> Och sedan, var och en av er, förmodligen, som routrar på internet, 310 00:13:22,800 --> 00:13:25,470 är förkonfigurerade med människor i allmänhet eller ibland 311 00:13:25,470 --> 00:13:29,854 med automatiserade algoritmer för att veta att Om Dan IP-adress börjar med en 1, 312 00:13:29,854 --> 00:13:30,770 det ska gå den vägen. 313 00:13:30,770 --> 00:13:33,300 Om Dan IP-adress börjar med en 2 bör det gå den vägen. 314 00:13:33,300 --> 00:13:34,450 Kanske en 3 går på det sättet. 315 00:13:34,450 --> 00:13:35,575 Kanske en 4 går på det sättet. 316 00:13:35,575 --> 00:13:36,700 Och det är lite överdrivet. 317 00:13:36,700 --> 00:13:38,670 Naivt men det är den allmänna idén. 318 00:13:38,670 --> 00:13:42,370 Var och en av dessa routers-- och det kanske vara så många som 30 mellan mig och Dan. 319 00:13:42,370 --> 00:13:45,140 --have något slags kalkylblad insidan av sitt minne, 320 00:13:45,140 --> 00:13:49,070 en databastabell, som bara säger: IP-adress som ser ut så här, 321 00:13:49,070 --> 00:13:49,730 går det här sättet. 322 00:13:49,730 --> 00:13:51,960 En IP-adress som ser så här, går den vägen. 323 00:13:51,960 --> 00:13:54,750 Och det är hur det är ganska enkla beslut. 324 00:13:54,750 --> 00:13:59,440 >> Men det visar sig att dessa routrar något mer än så, eventuellt. 325 00:13:59,440 --> 00:14:03,550 De tillåter datorer till garanti leverans, åtminstone 326 00:14:03,550 --> 00:14:05,000 med hög sannolikhet. 327 00:14:05,000 --> 00:14:08,340 Så du kanske också har hört, även om du har aldrig riktigt brytt eller undrat 328 00:14:08,340 --> 00:14:12,140 vad det är, kanske du har hört av något av denna akronym. 329 00:14:12,140 --> 00:14:15,500 Låt oss gå tillbaka hit för bara ett ögonblick och dra upp det. 330 00:14:15,500 --> 00:14:18,550 >> TCP, Transmission Control Protocol. 331 00:14:18,550 --> 00:14:21,494 Ett annat tekniskt sätt att bara beskriver en annan teknik 332 00:14:21,494 --> 00:14:22,660 som också användes på internet. 333 00:14:22,660 --> 00:14:24,809 Så IP, Internet Protocol används för adressering. 334 00:14:24,809 --> 00:14:27,100 Det någon standard att världen kom upp med det sagt, 335 00:14:27,100 --> 00:14:31,059 du sätter en IP-adress här för Dan, och en IP-adress här för dig själv, 336 00:14:31,059 --> 00:14:33,100 och sedan lägga några information på ett kuvert. 337 00:14:33,100 --> 00:14:36,600 >> Men TCP är en annan teknik, används tillsammans med IP. 338 00:14:36,600 --> 00:14:38,970 Och faktiskt, om du har någonsin sett dessa akronymer förut, 339 00:14:38,970 --> 00:14:42,110 Du har förmodligen sett TCP slash IP som just 340 00:14:42,110 --> 00:14:43,900 innebär att människor tenderar att använda dem tillsammans. 341 00:14:43,900 --> 00:14:47,570 Tja, är TCP slags coolt eftersom det tillåter 342 00:14:47,570 --> 00:14:50,220 du kan öka sannolikheten att uppgifterna är faktiskt 343 00:14:50,220 --> 00:14:51,970 kommer att få från mig till Dan. 344 00:14:51,970 --> 00:14:54,080 >> I själva verket är internet en galen plats. 345 00:14:54,080 --> 00:14:56,530 Det finns ingen garanti för att om jag skicka data på detta sätt 346 00:14:56,530 --> 00:14:58,530 att det kommer att gå så nästa gång. 347 00:14:58,530 --> 00:14:59,905 Det kan gå den vägen eller så. 348 00:14:59,905 --> 00:15:02,680 Det kortaste avståndet mellan två punkter är inte nödvändigtvis 349 00:15:02,680 --> 00:15:04,860 en rak eller samma linje. 350 00:15:04,860 --> 00:15:07,170 >> Dessutom har några av er killar kan göra misstag 351 00:15:07,170 --> 00:15:09,780 eller få överväldigad med för många kuvert kommer din väg. 352 00:15:09,780 --> 00:15:10,940 Så du ska bara ge upp och bokstavligen 353 00:15:10,940 --> 00:15:13,050 tappar en del av dessa kuvert på golvet. 354 00:15:13,050 --> 00:15:16,930 Och på samma sätt kan data släpps på internet av routrar. 355 00:15:16,930 --> 00:15:18,680 Så för att minska oddsen för detta, jag ska 356 00:15:18,680 --> 00:15:21,980 att ta min lilla säkerhet sax här och klippa Rob 357 00:15:21,980 --> 00:15:26,140 in i, låt oss säga, fyra stycken, fyra segment. 358 00:15:26,140 --> 00:15:27,210 359 00:15:27,210 --> 00:15:33,350 >> Och nu kommer jag att gå vidare och lägga ytterligare en bit information 360 00:15:33,350 --> 00:15:34,610 På detta anslag. 361 00:15:34,610 --> 00:15:39,630 Jag kommer att säga något i stil med, 1 av 4. 362 00:15:39,630 --> 00:15:43,370 Så nu, min sista kuvertet, vid stone det första, ser ut så här. 363 00:15:43,370 --> 00:15:45,500 Jag kommer att gå vidare och sätta detta i här. 364 00:15:45,500 --> 00:15:47,070 365 00:15:47,070 --> 00:15:53,430 Och för tiden skull, kommer jag att märka de andra på samma sätt som två av fyra, 366 00:15:53,430 --> 00:15:57,760 3 av 4, 4 av 4. 367 00:15:57,760 --> 00:16:02,170 >> Återigen, med Dan IP-adress i framför den och med min IP-adress 368 00:16:02,170 --> 00:16:06,660 på baksidan till vänster, men jag kan inte skicka dem ännu. 369 00:16:06,660 --> 00:16:08,930 Eftersom det visar sig att på internet, 370 00:16:08,930 --> 00:16:10,980 servrar kan göra flera saker. 371 00:16:10,980 --> 00:16:14,300 I själva verket kan vi alla använder webben ganska lite, webben, 372 00:16:14,300 --> 00:16:16,139 http: // oavsett. 373 00:16:16,139 --> 00:16:17,930 Men det finns andra tjänster på Internet. 374 00:16:17,930 --> 00:16:21,760 Vilka är några andra tjänster, sortera användar, konsumentvänliga tjänster 375 00:16:21,760 --> 00:16:25,020 som kommer att tänka förutom en webbläsare-programtyp? 376 00:16:25,020 --> 00:16:26,724 377 00:16:26,724 --> 00:16:27,390 PUBLIK: Email. 378 00:16:27,390 --> 00:16:28,180 DAVID MALAN: E. 379 00:16:28,180 --> 00:16:28,410 OK. 380 00:16:28,410 --> 00:16:28,630 Bra. 381 00:16:28,630 --> 00:16:29,446 Vad är en till? 382 00:16:29,446 --> 00:16:30,070 PUBLIK: Chatt. 383 00:16:30,070 --> 00:16:32,780 DAVID MALAN: Så chatta, oavsett det är Skype, eller Gchat, eller något 384 00:16:32,780 --> 00:16:33,992 så. 385 00:16:33,992 --> 00:16:34,817 >> PUBLIK: Förvaring. 386 00:16:34,817 --> 00:16:37,150 DAVID MALAN: Så någon form av lagringstjänst, förvisso. 387 00:16:37,150 --> 00:16:39,004 Något i stil med Dropbox, eller Box eller liknande. 388 00:16:39,004 --> 00:16:40,920 Så det finns olika tjänster på Internet. 389 00:16:40,920 --> 00:16:44,090 Och det visar sig att Dan, om han verkligen är en dator, 390 00:16:44,090 --> 00:16:46,520 måste inte vara tilldelad till en sak i livet. 391 00:16:46,520 --> 00:16:49,650 Han kan faktiskt göra flera saker. 392 00:16:49,650 --> 00:16:51,740 Och faktiskt, kan han vara en e-postserver. 393 00:16:51,740 --> 00:16:53,270 Han kan vara en webbserver. 394 00:16:53,270 --> 00:16:55,120 Han kan vara en chattserver. 395 00:16:55,120 --> 00:16:57,600 >> Men det tyder på att Dan behöver veta 396 00:16:57,600 --> 00:17:01,010 i förväg vad är det Innehållet i dessa meddelanden. 397 00:17:01,010 --> 00:17:02,830 Är detta en webbsida jag skickar honom? 398 00:17:02,830 --> 00:17:04,140 Är det ett mail jag skickar honom? 399 00:17:04,140 --> 00:17:05,930 Är det ett ögonblick budskap jag skickar honom? 400 00:17:05,930 --> 00:17:08,630 Så vi behöver ytterligare en bit av information om dessa kuvert 401 00:17:08,630 --> 00:17:10,930 så att Dan, när han får detta anslag, 402 00:17:10,930 --> 00:17:13,119 vet vad programmet ska användas för att visa den. 403 00:17:13,119 --> 00:17:14,200 >> Är det en webbläsare? 404 00:17:14,200 --> 00:17:15,170 Är det Google? 405 00:17:15,170 --> 00:17:16,170 Är det Skype? 406 00:17:16,170 --> 00:17:19,760 Eller är det Outlook eller något andra program helt och hållet? 407 00:17:19,760 --> 00:17:23,740 Och så, kommer med TCP bara en mänsklig konvention. 408 00:17:23,740 --> 00:17:26,930 Världens beslutade några år sedan att associera unika heltal 409 00:17:26,930 --> 00:17:28,520 med de mest populära tjänsterna. 410 00:17:28,520 --> 00:17:31,920 >> Ens kallas File Transfer Protocol, FTP, även om det är lite gammal nu. 411 00:17:31,920 --> 00:17:34,150 Men dess unika identifierare är 21. 412 00:17:34,150 --> 00:17:39,020 SMTP för utgående e-post, dess unika identifierare är 25 bara för att. 413 00:17:39,020 --> 00:17:43,616 DNS, det som vi talat om tidigare, tar med antalet 53 för sina frågor. 414 00:17:43,616 --> 00:17:45,365 Liksom vad är IP adress google.com? 415 00:17:45,365 --> 00:17:46,580 416 00:17:46,580 --> 00:17:49,790 >> Och nu, ju mer bekant du kan ha någonstans någon gång 417 00:17:49,790 --> 00:17:52,620 sett nummer 80 och kanske 443. 418 00:17:52,620 --> 00:17:55,822 De som är den unika identifierare för HTTP, 419 00:17:55,822 --> 00:17:57,530 vilket är det språk Vi kommer snart att se använt 420 00:17:57,530 --> 00:18:00,000 för webbtrafik mellan webbläsare och servrar. 421 00:18:00,000 --> 00:18:02,740 Och 443 är för säker version därav. 422 00:18:02,740 --> 00:18:05,530 >> Så en sista detalj är jag ska sätta på min kuvertet 423 00:18:05,530 --> 00:18:08,530 är att jag inte tänker skicka detta bara för att Dan IP. 424 00:18:08,530 --> 00:18:13,630 Jag kommer att skicka det till något att säga, : 80, om vad jag försöker att skicka 425 00:18:13,630 --> 00:18:16,862 honom är en webbsida, en webbsida som innehåller Rob Bodens bild. 426 00:18:16,862 --> 00:18:19,320 Så jag kommer att göra samma sak sak på de här andra kuvert. 427 00:18:19,320 --> 00:18:23,620 >> Och sedan slutligen, kommer jag att släppa dessa av med närmaste router, 428 00:18:23,620 --> 00:18:26,300 erkänner att det router kanske inte nödvändigtvis 429 00:18:26,300 --> 00:18:28,210 ta samma väg varje gång. 430 00:18:28,210 --> 00:18:30,900 I själva verket kan jag ha första paketet kommer detta sätt. 431 00:18:30,900 --> 00:18:32,670 Andra paket skulle gå den vägen. 432 00:18:32,670 --> 00:18:34,250 Tredje packet-- starta routing. 433 00:18:34,250 --> 00:18:35,420 --might gå hit. 434 00:18:35,420 --> 00:18:36,440 435 00:18:36,440 --> 00:18:39,530 Och i theory-- inte kan hålla det. 436 00:18:39,530 --> 00:18:43,660 I teorin, alla fyra av dessa paket bör så småningom väg sin väg, 437 00:18:43,660 --> 00:18:46,940 emellertid effektivt eller ineffektivt, hela vägen till baksidan. 438 00:18:46,940 --> 00:18:51,560 >> Vid vilken punkt, Dan, efter kvitto, kan sätta ihop dem 439 00:18:51,560 --> 00:18:55,735 baserad on-- det roliga är, Vi vet alla vad resultatet här 440 00:18:55,735 --> 00:18:56,360 kommer att bli. 441 00:18:56,360 --> 00:18:57,600 Dan kommer att få en bild av Rob. 442 00:18:57,600 --> 00:18:58,974 Men låt oss se hur detta fungerar. 443 00:18:58,974 --> 00:18:59,664 444 00:18:59,664 --> 00:19:02,080 Tja, snarare, är Dan kommer att få del av en bild på Rob. 445 00:19:02,080 --> 00:19:04,286 446 00:19:04,286 --> 00:19:04,785 Mycket bra. 447 00:19:04,785 --> 00:19:06,200 448 00:19:06,200 --> 00:19:07,580 Allas deltagande i dag. 449 00:19:07,580 --> 00:19:09,200 450 00:19:09,200 --> 00:19:09,910 Okej. 451 00:19:09,910 --> 00:19:13,870 Så när Dan börjar att ta emot dessa paket, låt oss ställa en fråga. 452 00:19:13,870 --> 00:19:18,820 Vad händer om en av er blir lat, överbelastad, skadlig, eller bara driven 453 00:19:18,820 --> 00:19:22,570 av, och en eller flera av de Paketet gör det inte till Dan? 454 00:19:22,570 --> 00:19:26,920 >> Hur är Dan kommer att veta att han inte gjorde det få ett av segmenten i fyra 455 00:19:26,920 --> 00:19:28,040 Jag skickade honom? 456 00:19:28,040 --> 00:19:30,040 Precis intuitivt, vad kan vi göra? 457 00:19:30,040 --> 00:19:30,540 Yeah? 458 00:19:30,540 --> 00:19:31,456 >> PUBLIK: [OHÖRBAR]. 459 00:19:31,456 --> 00:19:35,885 460 00:19:35,885 --> 00:19:36,760 DAVID MALAN: Exakt. 461 00:19:36,760 --> 00:19:40,250 Därför att jag har individuellt numrerad dem, och Jag har angett hur många segment där 462 00:19:40,250 --> 00:19:44,030 borde vara, kan han dra slutsatsen att vilken, om någon, av segmenten 463 00:19:44,030 --> 00:19:45,070 han är faktiskt saknas. 464 00:19:45,070 --> 00:19:48,770 Och vad TCP berättar datorer till gör, om datorer, som Mac OS, 465 00:19:48,770 --> 00:19:52,510 och Windows och Linux-stöd och förstå TCP, vilket de gör, 466 00:19:52,510 --> 00:19:57,010 TCP dokumentation huvudsak säger att Dan skulle skicka mig 467 00:19:57,010 --> 00:20:00,580 ett meddelande tillbaka säger, hej, David, Jag saknar paket nummer 1 av 4, 468 00:20:00,580 --> 00:20:02,290 eller 3 av 4, det är vilket som. 469 00:20:02,290 --> 00:20:06,016 >> Och så är mitt jobb att ta en annan bild av Rob, 470 00:20:06,016 --> 00:20:09,140 där vi har extra av för senare i dag Om du vill ta med dig, 471 00:20:09,140 --> 00:20:13,550 och då kan jag skicka det segmentet av Rob hela vägen till baksidan. 472 00:20:13,550 --> 00:20:16,380 >> Så enkla som denna mekanism är att 473 00:20:16,380 --> 00:20:20,310 är vad som händer nästan när som helst du gör något på internet, 474 00:20:20,310 --> 00:20:22,530 särskilt för dessa mest populära av tjänster. 475 00:20:22,530 --> 00:20:26,500 Det finns andra protokoll, andra tekniker förutom TCP 476 00:20:26,500 --> 00:20:27,880 som fungerar lite annorlunda. 477 00:20:27,880 --> 00:20:33,040 Men så många av de tjänster som vi normalt Använd egentligen lita på dessa protokoll. 478 00:20:33,040 --> 00:20:35,720 >> Så Dan, fick du fullständig bild tillbaka dit? 479 00:20:35,720 --> 00:20:36,220 Ja. 480 00:20:36,220 --> 00:20:37,840 Vi har ihop Rob i ryggen. 481 00:20:37,840 --> 00:20:39,610 Tack så mycket för routrarna. 482 00:20:39,610 --> 00:20:43,260 Antag, jag vill faktiskt se routrar mellan mig 483 00:20:43,260 --> 00:20:46,400 och MIT, ungefär som ni var routrarna mellan mig och Dan. 484 00:20:46,400 --> 00:20:49,500 >> Väl, snarare än nslookup för namnserver lookup, 485 00:20:49,500 --> 00:20:53,150 Jag kan istället skriva trace route, vilket faktiskt kommer att göra vad den säger. 486 00:20:53,150 --> 00:20:55,240 Och jag kommer att göra och lugnt läge med streck 1. 487 00:20:55,240 --> 00:20:57,448 Det är en Kommandoradsargumentet som bara säger, prova detta 488 00:20:57,448 --> 00:20:58,740 en gång och inte flera gånger. 489 00:20:58,740 --> 00:21:02,210 >> Och nu kommer jag att skriva www.mit.edu. 490 00:21:02,210 --> 00:21:05,660 Nu är utsignalen ganska snabbt och kryptiska. 491 00:21:05,660 --> 00:21:08,300 Men vad är snyggt om det här är att var och en av dessa rader 492 00:21:08,300 --> 00:21:10,750 väsentligen representerar en student i denna publik 493 00:21:10,750 --> 00:21:13,870 om du var vägen mellan mig och MIT. 494 00:21:13,870 --> 00:21:17,930 Vad du ser här uppe, första, är det domännamn som jag skrev in, 495 00:21:17,930 --> 00:21:20,500 eller fullständiga domännamn namn som det korrekt heter. 496 00:21:20,500 --> 00:21:24,420 >> Och detta tydligen är den IP-adressen för www.mit.edu. 497 00:21:24,420 --> 00:21:26,260 Min dator räknat ut för mig. 498 00:21:26,260 --> 00:21:29,170 Detta här är ett löfte att vi bara tänker 499 00:21:29,170 --> 00:21:31,490 att försöka nå MIT inom 30 humle. 500 00:21:31,490 --> 00:21:34,180 Det är bäst att inte mer än 30 elever mellan mig och Dan. 501 00:21:34,180 --> 00:21:37,870 Och nu, var och en av dessa rader utgör bokstavligen en router 502 00:21:37,870 --> 00:21:40,280 mellan mig och Dan, bokstavligen en av er. 503 00:21:40,280 --> 00:21:42,950 >> Och så detta verkar inte att ha ett namn, ett domännamn. 504 00:21:42,950 --> 00:21:44,150 Det har bara en IP. 505 00:21:44,150 --> 00:21:49,439 Och det tog bara 0,662 millisekunder att komma från mig till den första routern. 506 00:21:49,439 --> 00:21:51,230 Nästa man inte var så mycket längre bort. 507 00:21:51,230 --> 00:21:53,560 Det tog bara en millisekund för att komma dit. 508 00:21:53,560 --> 00:21:56,280 Och nu, tack och lov, saker bli lite mer användarvänligt 509 00:21:56,280 --> 00:21:58,860 med namn som är kryptiska men lite mer att berätta. 510 00:21:58,860 --> 00:22:03,440 >> Detta är uppenbarligen en router i Kärnan i Harvards nätverk inrymt, 511 00:22:03,440 --> 00:22:06,330 bara för att folk har berättat för oss Detta, i Science Center, SC. 512 00:22:06,330 --> 00:22:11,720 Och GW är bara en förkortning notation för gateway som är en synonym för router. 513 00:22:11,720 --> 00:22:14,630 Så detta är något system administratörens upphöjd väg 514 00:22:14,630 --> 00:22:17,230 att namnge en av servrarna i Science Center. 515 00:22:17,230 --> 00:22:20,360 >> Samtidigt är den servern tydligen förbundna genom någon form av kabel 516 00:22:20,360 --> 00:22:24,760 till en annan router som är smeknamnet gräns gateway ena streck 517 00:22:24,760 --> 00:22:26,770 något, oavsett dessa siffror betyder. 518 00:22:26,770 --> 00:22:29,230 Och sedan, som synes, Harvard har en anslutning 519 00:22:29,230 --> 00:22:31,340 det är en annan millisekund bort till något 520 00:22:31,340 --> 00:22:35,590 kallas de norra vägskäl som är en vanlig peering punkt 521 00:22:35,590 --> 00:22:38,430 mellan stora platser som Harvard där massor av kablage går i 522 00:22:38,430 --> 00:22:40,870 och möjliggör sammankopplingar mellan olika enheter. 523 00:22:40,870 --> 00:22:43,700 >> Steg sex, tyvärr, inte har ett giltigt namn. 524 00:22:43,700 --> 00:22:45,370 Och steg sju blir intressant. 525 00:22:45,370 --> 00:22:46,820 526 00:22:46,820 --> 00:22:49,260 Jag har ingen aning vad de flesta av dessa innebär. 527 00:22:49,260 --> 00:22:50,875 Men NY gör hoppar ut på mig. 528 00:22:50,875 --> 00:22:52,375 Och vad betyder det antagligen betyda? 529 00:22:52,375 --> 00:22:54,810 530 00:22:54,810 --> 00:22:56,520 Det är inte ens tekniskt. 531 00:22:56,520 --> 00:22:57,400 Bara New York. 532 00:22:57,400 --> 00:23:00,510 Så ja, vad är vanligt mänskligt konvention inte garanteras 533 00:23:00,510 --> 00:23:04,730 men gemensamt konventionen är att namn routrar som på grund av staden eller flygplats 534 00:23:04,730 --> 00:23:05,960 kod som de är närmast. 535 00:23:05,960 --> 00:23:08,630 >> Så med en viss sannolikhet, denna router nummer sju 536 00:23:08,630 --> 00:23:10,270 förmodligen är, faktiskt, i New York. 537 00:23:10,270 --> 00:23:13,020 Och detta verkar bekräfta detta antagande eftersom det är 538 00:23:13,020 --> 00:23:16,700 sex millisekunder i stället för bara en eller så för något här på campus. 539 00:23:16,700 --> 00:23:19,900 Men nu ta hänsyn till, rätt på Megabus eller whatnot, 540 00:23:19,900 --> 00:23:23,810 det kan ta fyra, fem, sex timmar för att få en mänsklig härifrån till New York. 541 00:23:23,810 --> 00:23:28,040 >> För att få en bit av uppgifter, det tar bara sex millisekunder 542 00:23:28,040 --> 00:23:31,020 för att få ett paket från mig till Dan, om han var hela vägen i New York. 543 00:23:31,020 --> 00:23:36,832 Sedan slutligen, tydligen är detta domännamn för www.mit.edu. 544 00:23:36,832 --> 00:23:38,790 De har tydligen outsourcat sina webbservrar 545 00:23:38,790 --> 00:23:42,030 till ett företag som heter Akamai vilket innebär något annat företag driver sina servrar. 546 00:23:42,030 --> 00:23:44,380 Och det är därför vi ser som konstig sak där. 547 00:23:44,380 --> 00:23:45,720 >> Nåväl, låt oss göra detta en gång till. 548 00:23:45,720 --> 00:23:49,150 Låt oss gå vidare och göra ett spår vägen till vår vän professor Nick 549 00:23:49,150 --> 00:23:52,955 Parlante vid Stanford som har en server kallad nifty.stanfor.edu. 550 00:23:52,955 --> 00:23:55,870 551 00:23:55,870 --> 00:23:56,980 Enter. 552 00:23:56,980 --> 00:23:59,460 Och nu ska vi se förmodligen en något längre väg 553 00:23:59,460 --> 00:24:00,960 som går igenom några fler städer. 554 00:24:00,960 --> 00:24:03,160 Så här dessa namnlösa Harvard servrar här. 555 00:24:03,160 --> 00:24:05,660 Vi är i kärnan av Harvard, gräns porten till Harvard, 556 00:24:05,660 --> 00:24:08,081 de norra korsningen, överallt där det är. 557 00:24:08,081 --> 00:24:10,080 Och nu, det börjar bli en lite mer intressant. 558 00:24:10,080 --> 00:24:12,960 Jag gissar att routern nummer åtta är i vilken stad? 559 00:24:12,960 --> 00:24:14,210 PUBLIK: [inplacering RÖSTER] 560 00:24:14,210 --> 00:24:18,570 DAVID MALAN: Chicago förmodligen, baserad om detta, på grundval av denna sak här. 561 00:24:18,570 --> 00:24:25,220 Och nu har vi Salt Lake City kanske, kanske Los Angeles här, och sedan LAX, 562 00:24:25,220 --> 00:24:27,690 Japp, detta är förmodligen LA från botten. 563 00:24:27,690 --> 00:24:29,940 Tills sist, det går från södra Kalifornien 564 00:24:29,940 --> 00:24:34,420 hela vägen upp till norra Kalifornien där Stanford i Palo Alto. 565 00:24:34,420 --> 00:24:35,299 Så ganska cool. 566 00:24:35,299 --> 00:24:36,840 Och låt oss ta detta ett steg längre. 567 00:24:36,840 --> 00:24:39,000 Det skulle tydligen ta dig 82 millisekunder 568 00:24:39,000 --> 00:24:42,360 att skicka ett meddelande till Dan om du var i Kalifornien istället för New York. 569 00:24:42,360 --> 00:24:45,090 Låt oss göra något som spårvägar, en 570 00:24:45,090 --> 00:24:51,350 försöka www.cnn.co.jp för Japanska versionen av CNN: s hemsida. 571 00:24:51,350 --> 00:24:52,540 572 00:24:52,540 --> 00:24:54,910 Och nu är vi fortfarande i Boston verkar just nu. 573 00:24:54,910 --> 00:24:56,050 574 00:24:56,050 --> 00:24:58,165 >> Ett par servrar sex och åtta svarar inte 575 00:24:58,165 --> 00:24:59,790 eftersom de är att vara lite privat. 576 00:24:59,790 --> 00:25:04,970 Men till slut, det verkar vara något intressant på gång mellan, 577 00:25:04,970 --> 00:25:08,395 låt oss säga, steg sju och nio. 578 00:25:08,395 --> 00:25:09,800 579 00:25:09,800 --> 00:25:12,610 Vad är troligen mellan sju och nio, och säkerligen 580 00:25:12,610 --> 00:25:14,610 mellan sju och steg 17? 581 00:25:14,610 --> 00:25:18,090 582 00:25:18,090 --> 00:25:20,210 Det finns ett stort hopp i tid 583 00:25:20,210 --> 00:25:23,540 det tar för data att gå från en av dessa humle, en av dessa routrar 584 00:25:23,540 --> 00:25:24,060 till en annan. 585 00:25:24,060 --> 00:25:27,310 >> Så oddsen är, någonstans i Här finns det nog, 586 00:25:27,310 --> 00:25:31,440 speciellt just här, det finns nog en mycket stor mängd vatten som 587 00:25:31,440 --> 00:25:35,320 har några trans Pacific eller trans Atlantkabeln som faktiskt kräver 588 00:25:35,320 --> 00:25:37,710 ännu mer tid för data till ta sig från en punkt till en annan. 589 00:25:37,710 --> 00:25:40,690 Men återigen, tänk timmar det skulle ta flugan till Japan. 590 00:25:40,690 --> 00:25:45,786 Här, i några 200 millisekunder, boom, är ditt budskap egentligen finns. 591 00:25:45,786 --> 00:25:48,160 Så du kan leka med detta på apparaten eller 592 00:25:48,160 --> 00:25:50,940 i Windows eller Mac OS med lite olika kommandon. 593 00:25:50,940 --> 00:25:53,860 Ibland får du dessa stjärnor, liksom i raderna sex och åtta, som 594 00:25:53,860 --> 00:25:55,300 bara innebär routrar konfigureras inte 595 00:25:55,300 --> 00:25:57,120 att ge dig ett svar för privatlivet skull. 596 00:25:57,120 --> 00:26:00,210 Men i allmänhet, denna teknik skulle i själva verket fungerar. 597 00:26:00,210 --> 00:26:03,730 >> Så visar det sig också att det finns andra saftig information som lurar i verktyg 598 00:26:03,730 --> 00:26:05,610 att du tar för givet varje dag. 599 00:26:05,610 --> 00:26:08,560 Så till exempel, om du får ett e-postmeddelande, uppriktigt som en del av er 600 00:26:08,560 --> 00:26:11,270 kan ha en tid, av tvivelaktig ursprung, om du har aldrig 601 00:26:11,270 --> 00:26:13,330 såg på Gmail-gränssnittet innan, oavsett om det är 602 00:26:13,330 --> 00:26:15,560 för college-gränssnittet eller din personlig, 603 00:26:15,560 --> 00:26:17,620 du kan se ditt inkorgen ser ut så här. 604 00:26:17,620 --> 00:26:20,910 >> Och i själva verket är detta en e-post Jag skickade, malan@harvard.edu, 605 00:26:20,910 --> 00:26:24,620 till jharvard@cs50.harvard.edu i morse bara 606 00:26:24,620 --> 00:26:26,070 så jag kunde ta en skärmdump. 607 00:26:26,070 --> 00:26:28,149 Men det visar sig, alla denna gång i Gmail, 608 00:26:28,149 --> 00:26:30,190 finns det där lilla triangeln mot den övre högra 609 00:26:30,190 --> 00:26:34,080 där bredvid Harvard crest att om du klickar, kan du klicka på Visa original. 610 00:26:34,080 --> 00:26:35,160 611 00:26:35,160 --> 00:26:39,260 Och om du gör det, kommer du faktiskt se ett gäng mycket esoteriska uppgifter 612 00:26:39,260 --> 00:26:43,360 som tidsstämplar, och IP adresser och domännamn. 613 00:26:43,360 --> 00:26:46,990 >> Men du ser, kort sagt, rubriker som hela tiden har 614 00:26:46,990 --> 00:26:50,430 drabbats i varje e du skickar och tar emot. 615 00:26:50,430 --> 00:26:54,130 Och det är dessa rubriker som människor kan använda, datavetare eller på annat sätt, 616 00:26:54,130 --> 00:26:56,670 att faktiskt sluta med viss sannolikhet där 617 00:26:56,670 --> 00:26:59,290 och från vem ett mail faktiskt kom. 618 00:26:59,290 --> 00:27:01,830 >> I själva verket kommer vi att tala in senare veckor om hur e-post 619 00:27:01,830 --> 00:27:04,100 själv kan genereras programmässigt som 620 00:27:04,100 --> 00:27:07,100 är en mycket bra sak för en webbplats som vill skicka e-post till användarna. 621 00:27:07,100 --> 00:27:12,020 Men vi får se, också, hur trivialt det är att skapa e-post från någon 622 00:27:12,020 --> 00:27:15,380 till någon annan, om du faktiskt vet hur man kontrollerar rubrikerna. 623 00:27:15,380 --> 00:27:18,670 Och även det är en förlorande proposition dessa dagar. 624 00:27:18,670 --> 00:27:22,220 >> Så med det sagt, låt oss gå ett lager upp. 625 00:27:22,220 --> 00:27:25,100 Vi började med IP som tar upp paket för oss, 626 00:27:25,100 --> 00:27:26,470 ger dem unika adresser. 627 00:27:26,470 --> 00:27:29,770 TCP, som, kort sagt, garanterar leverans eller åtminstone 628 00:27:29,770 --> 00:27:34,002 ökar sannolikheten därav med lägga till saker som segment, 1 eller 4, 629 00:27:34,002 --> 00:27:36,740 2 av 4, 3 av 4, och fyra av fyra. 630 00:27:36,740 --> 00:27:40,710 >> Och nu ska vi lager på toppen av att ett annat protokoll. 631 00:27:40,710 --> 00:27:44,550 Alla dessa saker är protokoll, datakonventioner 632 00:27:44,550 --> 00:27:47,670 att diktera hur två datorer tala med en annan. 633 00:27:47,670 --> 00:27:52,030 HTTP, slutligen i dag är hypertextöverföringsprotokoll. 634 00:27:52,030 --> 00:27:54,100 Och detta är det protokoll att webbläsarna 635 00:27:54,100 --> 00:27:56,410 använda när du talar till webbservrar. 636 00:27:56,410 --> 00:27:59,970 >> Så när du drar upp en webbläsare som Chrome eller IE eller Firefox, eller Safari, 637 00:27:59,970 --> 00:28:04,230 eller vad som helst, och du skriver in något som facebook.com och tryck på Enter, 638 00:28:04,230 --> 00:28:08,390 inte bara gör din dator först översätta facebook.com i vad? 639 00:28:08,390 --> 00:28:10,590 640 00:28:10,590 --> 00:28:11,770 En IP-adress. 641 00:28:11,770 --> 00:28:17,420 Det converts-- då det sänder sedan ett meddelande till den IP-adressen säger, 642 00:28:17,420 --> 00:28:21,360 ge mig dagens hemsida eller ge mig inloggningsskärmen på Facebook. 643 00:28:21,360 --> 00:28:25,290 >> Eller om du redan är inloggad, ge mig standardvyn för min tidslinje. 644 00:28:25,290 --> 00:28:26,820 Så det är vad HTTP säger. 645 00:28:26,820 --> 00:28:30,055 Och mer dagligt tal, om jag är en webb server och du är-- vad heter du, 646 00:28:30,055 --> 00:28:30,180 igen? 647 00:28:30,180 --> 00:28:30,920 >> PUBLIK: Margot. 648 00:28:30,920 --> 00:28:34,250 >> DAVID MALAN: Margot är en webb server, och jag är en webbläsare, 649 00:28:34,250 --> 00:28:37,610 och jag vill bara hämta min tidslinje från Margot, margot.com, 650 00:28:37,610 --> 00:28:39,640 Jag skulle säga, hej, jag är David. 651 00:28:39,640 --> 00:28:40,870 >> PUBLIK: Hej, jag heter Margot. 652 00:28:40,870 --> 00:28:43,570 >> DAVID MALAN: Och du skulle då svara med ytterligare information till mig. 653 00:28:43,570 --> 00:28:45,890 Så vi har denna dumma människa konvention för instance-- tack. 654 00:28:45,890 --> 00:28:47,510 --Med skaka varandras händer. 655 00:28:47,510 --> 00:28:51,670 Och datorer har samma idé där en klient, som en webbläsare, 656 00:28:51,670 --> 00:28:55,600 frågar en server för att göra något på hans eller hennes räkning. 657 00:28:55,600 --> 00:28:57,540 >> Och så här är en bild, till exempel. 658 00:28:57,540 --> 00:29:01,120 Till vänster är en dator bärbar dator, stationär, vad som helst, eller till och med en telefon. 659 00:29:01,120 --> 00:29:03,890 Och till höger är en mycket daterad vy av en server. 660 00:29:03,890 --> 00:29:06,460 De ser vanligtvis mindre och sexigare dessa dagar. 661 00:29:06,460 --> 00:29:09,570 Men poängen är helt enkelt att det finns någon form av kommunikation 662 00:29:09,570 --> 00:29:11,800 mellan klient och server. 663 00:29:11,800 --> 00:29:14,080 >> Och kunder i den mening av någon i en restaurang 664 00:29:14,080 --> 00:29:16,620 och servitör eller servitris, Samma idé med datorer. 665 00:29:16,620 --> 00:29:19,340 Klienter och servrar, en ber om information, 666 00:29:19,340 --> 00:29:21,560 man svarar med information. 667 00:29:21,560 --> 00:29:23,920 Nu, hur fungerar det information som kommer tillbaka? 668 00:29:23,920 --> 00:29:25,890 Tja, överväga detta. 669 00:29:25,890 --> 00:29:30,360 Få är typ av standard way-- och det är en super enkel term. 670 00:29:30,360 --> 00:29:34,530 --that bara dikterar hur en webbläsare får information från en server. 671 00:29:34,530 --> 00:29:38,270 >> Med andra ord, snarare än enbart goof-ily utvidga min hand till Margot, 672 00:29:38,270 --> 00:29:42,100 om jag var verkligen en webbläsare, jag skulle stoppa inuti ett kuvert, 673 00:29:42,100 --> 00:29:46,580 som jag gjorde med Rob foto innan, en textmeddelande som bokstavligen säger 674 00:29:46,580 --> 00:29:53,084 ungefär så här, get / http / 1.1hostwww.google.com 675 00:29:53,084 --> 00:29:56,670 eller margot.com eller vad serverns namn kanske råkar vara. 676 00:29:56,670 --> 00:29:58,540 Och sedan, dot dot dot, några andra saker. 677 00:29:58,540 --> 00:30:00,310 >> Men bokstavligt, insida av ett kuvert skulle 678 00:30:00,310 --> 00:30:03,290 vara ganska enkel text meddelande så. 679 00:30:03,290 --> 00:30:05,990 Att vid mottagandet, Margot skulle öppna, läsa innehållet, 680 00:30:05,990 --> 00:30:07,640 och reagera därefter. 681 00:30:07,640 --> 00:30:12,000 Nu är det lite icke uppenbara med detta exempel. 682 00:30:12,000 --> 00:30:16,130 Men få /, vad är snedstreck hänvisar troligen till, bara baserat 683 00:30:16,130 --> 00:30:20,470 på din förtrogenhet med surfar på webben i det dagliga livet? 684 00:30:20,470 --> 00:30:22,206 Vad är slash? 685 00:30:22,206 --> 00:30:23,147 >> PUBLIK: [OHÖRBAR]. 686 00:30:23,147 --> 00:30:24,480 DAVID MALAN: An escape-sekvens. 687 00:30:24,480 --> 00:30:27,280 Inte en dålig idé, men i allmänhet fly sekvenser gå åt andra hållet. 688 00:30:27,280 --> 00:30:28,760 Det skulle vara ett omvänt snedstreck vanligt. 689 00:30:28,760 --> 00:30:29,560 Men inte en dålig tanke. 690 00:30:29,560 --> 00:30:30,060 Yeah? 691 00:30:30,060 --> 00:30:31,190 692 00:30:31,190 --> 00:30:31,830 En pekare. 693 00:30:31,830 --> 00:30:35,100 Också bra tanke, men ännu enklare än så. 694 00:30:35,100 --> 00:30:36,250 Hemkatalogen. 695 00:30:36,250 --> 00:30:38,380 Roten till en hårddisk, så att säga. 696 00:30:38,380 --> 00:30:39,890 De flesta av oss inte skriver detta. 697 00:30:39,890 --> 00:30:43,150 Men tekniskt sett, om du ville att vara super korrekt i dessa dagar, 698 00:30:43,150 --> 00:30:50,056 du skulle gå till något liknande http://www.facebook.com/. 699 00:30:50,056 --> 00:30:52,580 >> Nu, sa jag de flesta av oss skulle inte bry skriva snedstreck. 700 00:30:52,580 --> 00:30:54,770 Och ärligt talat, de flesta webbläsare, ingår Chrome, 701 00:30:54,770 --> 00:30:57,019 försök inte ens att visa oss snedstreck dessa dagar 702 00:30:57,019 --> 00:30:59,060 bara för att de gillar att vara enkel och koncis. 703 00:30:59,060 --> 00:31:02,920 Men snedstrecket betyder bara gå till www.facebook.com och få 704 00:31:02,920 --> 00:31:08,076 snedstreck, roten av hårddisk, standardsidan på facebook.com. 705 00:31:08,076 --> 00:31:09,240 Använda vilket protokoll? 706 00:31:09,240 --> 00:31:14,910 Jo, genom att använda version 1.1 av denna sak som kallas HTTP. 707 00:31:14,910 --> 00:31:16,750 >> Servern eller Margot-- och förresten, gör 708 00:31:16,750 --> 00:31:17,920 du något emot att jag använder dig i dessa? 709 00:31:17,920 --> 00:31:18,419 OK. 710 00:31:18,419 --> 00:31:19,430 Så vi är bra nu. 711 00:31:19,430 --> 00:31:23,910 Så Margot gensvar nu med ett hölje av hennes egna, innanför vilken 712 00:31:23,910 --> 00:31:26,040 är en likaledes textmeddelande. 713 00:31:26,040 --> 00:31:30,640 Den första raden i vilket, Japp, jag talar HTTP version 1.1. 714 00:31:30,640 --> 00:31:34,930 200 är statuskoden vilket bara innebär att allt är OK. 715 00:31:34,930 --> 00:31:37,440 Jag har sidan du letar efter. 716 00:31:37,440 --> 00:31:44,040 >> Samtidigt Content-Type: text / html, detta är Margot halvmystiska sätt att säga, 717 00:31:44,040 --> 00:31:46,190 vad du har begärt en webbsida. 718 00:31:46,190 --> 00:31:50,530 Och det är typ, så att speak-- nästan som en variabel bemärkelse, 719 00:31:50,530 --> 00:31:52,060 men detta är mycket högre nivå nu. 720 00:31:52,060 --> 00:31:55,380 Dess datatyp är text men specifikt HTML. 721 00:31:55,380 --> 00:31:57,210 Språket ska vi snart se. 722 00:31:57,210 --> 00:31:58,700 >> Och sedan finns det några andra saker. 723 00:31:58,700 --> 00:32:02,060 Så andra saker är bokstavligen vad Facebook svarar med. 724 00:32:02,060 --> 00:32:03,400 Så låt oss se detta också. 725 00:32:03,400 --> 00:32:05,380 Låt mig gå vidare och öppna upp Chrome på min laptop 726 00:32:05,380 --> 00:32:07,980 som du kan göra på din egen dator också. 727 00:32:07,980 --> 00:32:12,035 Och jag kommer att gå vidare och öppna upp www.facebook.com. 728 00:32:12,035 --> 00:32:12,535 Enter. 729 00:32:12,535 --> 00:32:13,590 730 00:32:13,590 --> 00:32:16,264 Och jag får detta familjära skärmen här. 731 00:32:16,264 --> 00:32:17,930 Men nu ska jag göra något annat. 732 00:32:17,930 --> 00:32:21,670 Jag kommer att gå vidare och gå till Visa, Developer. 733 00:32:21,670 --> 00:32:24,190 Och gå till utvecklare Verktyg, som du bör 734 00:32:24,190 --> 00:32:27,377 har inom Chrome på datorn, åtminstone inom din apparat. 735 00:32:27,377 --> 00:32:29,460 Jag kommer att rulla ut sak här uppe, och du är 736 00:32:29,460 --> 00:32:33,060 kommer att se en hel drös av kryptisk text här. 737 00:32:33,060 --> 00:32:37,920 >> Det visar sig att det som Margot sätta in av detta kuvert som svar på mig 738 00:32:37,920 --> 00:32:41,472 är ett språk som kallas HTML, Hypertext Markup Language. 739 00:32:41,472 --> 00:32:43,680 Det är inte en programmerings språk eftersom du inte kan, det 740 00:32:43,680 --> 00:32:46,679 saknar loopar, villkor, och funktioner, och sånt. 741 00:32:46,679 --> 00:32:47,870 Det är ett märkspråk. 742 00:32:47,870 --> 00:32:52,110 I detta har den speciella syntax kallas taggar och attribut 743 00:32:52,110 --> 00:32:57,120 som berättar en webbläsare vad som ska visas på skärmen och hur du vill visa det. 744 00:32:57,120 --> 00:32:57,920 Ska centreras? 745 00:32:57,920 --> 00:32:58,920 Ska det vara djärva ansikten? 746 00:32:58,920 --> 00:33:00,270 Röd, grön, blå? 747 00:33:00,270 --> 00:33:01,390 Det är ett märkspråk. 748 00:33:01,390 --> 00:33:04,970 I det, berättar den en webbläsare vad som ska visas på skärmen. 749 00:33:04,970 --> 00:33:10,530 Så det här är, bokstavligen, alla de HTML och mer att Facebook-server 750 00:33:10,530 --> 00:33:13,950 spotta ut och att Chrome och IE och Firefox har 751 00:33:13,950 --> 00:33:17,820 ritats av deras respektive författare att förstå. 752 00:33:17,820 --> 00:33:20,780 >> Och i själva verket är det en litet smutsigare än så. 753 00:33:20,780 --> 00:33:24,290 Om du istället gå till Visa, Utvecklare, Visa källa, 754 00:33:24,290 --> 00:33:27,550 Detta är faktiskt vad Facebook är ute sätta. 755 00:33:27,550 --> 00:33:29,800 Sortera på noll för fem för stil, rätt, om vi 756 00:33:29,800 --> 00:33:31,479 dra slutsatsen att detta är förmodligen inte den bästa. 757 00:33:31,479 --> 00:33:34,270 Men ärligt talat, kan de komma undan med det eftersom om du tjänar upp 758 00:33:34,270 --> 00:33:36,090 miljarder webbsidor per dag, du verkligen 759 00:33:36,090 --> 00:33:40,040 vill inte slösa tid och bytes, och pengar i slutändan i sändning 760 00:33:40,040 --> 00:33:43,000 saker som ny rad tecken och mellanslag och tabbar 761 00:33:43,000 --> 00:33:46,870 eftersom du spenderar på bandbredd onödan med din ISP. 762 00:33:46,870 --> 00:33:49,580 >> Så ja, detta innebar som skall minified på detta sätt. 763 00:33:49,580 --> 00:33:51,740 Men vad Chrome gör för oss är, det tar 764 00:33:51,740 --> 00:33:56,310 denna HTML, som helt ser ut en enda röra och obegripligt för människors, 765 00:33:56,310 --> 00:33:57,580 och det är bara att formatera den. 766 00:33:57,580 --> 00:34:00,280 Det är ganska skriva ut det så att Vi kan svepa våra sinnen runt det 767 00:34:00,280 --> 00:34:01,452 lite mer lätt. 768 00:34:01,452 --> 00:34:02,660 Men mer intressant är det. 769 00:34:02,660 --> 00:34:06,180 Om jag klickar nu i Chrome, inte delar utan nätverk, 770 00:34:06,180 --> 00:34:08,520 Jag kommer att se en liten loggning skärm som är 771 00:34:08,520 --> 00:34:11,040 kommer att visa mig alla av HTTP-förfrågningar 772 00:34:11,040 --> 00:34:14,380 som faktiskt kommer tillbaka och tillbaka mellan mig och Facebook eller mig 773 00:34:14,380 --> 00:34:17,219 och Margot om jag gör mer än en begäran. 774 00:34:17,219 --> 00:34:21,409 >> Så jag ska gå vidare och klicka reload-ikonen här uppe i Chrome. 775 00:34:21,409 --> 00:34:23,850 Och nu, ett helt gäng grejer flög förbi i botten. 776 00:34:23,850 --> 00:34:25,710 Jag kommer att rulla tillbaka upp till toppen. 777 00:34:25,710 --> 00:34:29,350 Och nu, märker detta, den begära allra första min webbläsare 778 00:34:29,350 --> 00:34:31,340 gjorde var till www.facebook.com. 779 00:34:31,340 --> 00:34:34,199 >> Det är med hjälp av get mekanism som just innebär 780 00:34:34,199 --> 00:34:37,810 det talar textspråk att vi såg ett exempel på en stund sedan. 781 00:34:37,810 --> 00:34:41,909 Och dessutom visar det sig att svaret att Facebook 782 00:34:41,909 --> 00:34:46,070 gav mig är 200 OK, vilket betyder att jag hittade webbsidan i fråga. 783 00:34:46,070 --> 00:34:49,630 >> Om jag klickar på denna rad, jag kan faktiskt se dessa rubriker lite mer 784 00:34:49,630 --> 00:34:50,800 tydligt. 785 00:34:50,800 --> 00:34:52,810 Dessa kommer att vara bättre inom kort. 786 00:34:52,810 --> 00:34:57,020 Men märker att min webbläsare skickar en hel del uppgifter som värd, 787 00:34:57,020 --> 00:34:59,320 och metod, och cookies. 788 00:34:59,320 --> 00:35:00,879 Vi ska återkomma till dem inom kort. 789 00:35:00,879 --> 00:35:03,170 Och du kommer äntligen förstå vad en cookie egentligen är 790 00:35:03,170 --> 00:35:04,930 och hur du kommer snart att skicka dem. 791 00:35:04,930 --> 00:35:06,900 >> Och du kan se vad Facebook skickar tillbaka, 792 00:35:06,900 --> 00:35:12,230 inklusive innehållet typ av text HTML, aktuellt datum tid, dess integritet 793 00:35:12,230 --> 00:35:15,530 politik, eller brist på sådan, och sedan slutligen ett antal cookies 794 00:35:15,530 --> 00:35:18,050 som håller på att på datorn också. 795 00:35:18,050 --> 00:35:20,140 Men vi ska retas dem ifrån varandra inom kort. 796 00:35:20,140 --> 00:35:23,950 >> Men kort sagt, varje gång du besökte en webbsida, nu i flera år, 797 00:35:23,950 --> 00:35:26,970 du har att skicka meddelanden till den jag skickade i ett kuvert 798 00:35:26,970 --> 00:35:28,230 till Margot och Dan. 799 00:35:28,230 --> 00:35:31,210 Och du har varit att få tillbaka svar som denna från Facebook. 800 00:35:31,210 --> 00:35:35,650 Men dessutom, gissa vad som är utlämnas till Facebook och Google, 801 00:35:35,650 --> 00:35:39,101 och alla andra varje gång du besöker en webbsida? 802 00:35:39,101 --> 00:35:42,100 Vad är på utsidan av varje Kuvert datorn har skickat ut? 803 00:35:42,100 --> 00:35:43,800 804 00:35:43,800 --> 00:35:45,590 Din IP-adress, eller hur? 805 00:35:45,590 --> 00:35:48,720 Kanske inte ditt namn per se, men din IP-adress. 806 00:35:48,720 --> 00:35:52,410 Och precis, låt oss ansluta prickar senare, om du använder tjänster 807 00:35:52,410 --> 00:35:54,430 som på webben, eller BitTorrent, och livet, 808 00:35:54,430 --> 00:35:56,860 och du har registrerat en dator på en plats som Harvard, 809 00:35:56,860 --> 00:36:01,080 någon någonstans vet att John Harvards IP-adresser här, dot detta, 810 00:36:01,080 --> 00:36:02,350 dot detta, prick här. 811 00:36:02,350 --> 00:36:06,730 >> Och faktiskt, loggar kan han höll både på campus så här, på en Comcast nätverk 812 00:36:06,730 --> 00:36:10,270 på Verizon, eller ärligt talat, på NSA som vi nyligen har lärt sig, 813 00:36:10,270 --> 00:36:14,040 som loggar i princip allt att du gör på internet. 814 00:36:14,040 --> 00:36:15,910 Och vi ska återkomma till Detta framtiden klassen 815 00:36:15,910 --> 00:36:18,990 om konsekvenserna av dessa beslut och säkerhetsdesign. 816 00:36:18,990 --> 00:36:21,920 >> Men sanningen är, du verkligen har inte så mycket integritet. 817 00:36:21,920 --> 00:36:25,380 Varje gång du har besökt någonstans på webben, du har att visa din hand 818 00:36:25,380 --> 00:36:28,720 och avslöjar åtminstone din IP-adress. 819 00:36:28,720 --> 00:36:35,930 Så skrämmande notera åt sidan, vad kan vi göra för att bädda saker som katter på en webbsida? 820 00:36:35,930 --> 00:36:40,730 >> Så vi har en massa svar som kan komma tillbaka från servern. 821 00:36:40,730 --> 00:36:42,340 Och vi kommer inte att se alla dessa i dag. 822 00:36:42,340 --> 00:36:43,800 Men 200 är bra. 823 00:36:43,800 --> 00:36:46,622 Och du förmodligen inte sett alla dessa som människa förut. 824 00:36:46,622 --> 00:36:48,580 Men du har säkert sett åtminstone en av dessa. 825 00:36:48,580 --> 00:36:50,204 Vilken av dessa kan se ut bekant? 826 00:36:50,204 --> 00:36:51,097 PUBLIK: 404 827 00:36:51,097 --> 00:36:51,930 DAVID MALAN: Så 404. 828 00:36:51,930 --> 00:36:52,695 Filen hittades inte. 829 00:36:52,695 --> 00:36:55,320 Och faktiskt, du kommer att se detta programma själv. 830 00:36:55,320 --> 00:37:00,220 404 betyder bara filen du begärde, snedstreck eller snedstreck något, helt enkelt 831 00:37:00,220 --> 00:37:00,950 inte existerar. 832 00:37:00,950 --> 00:37:04,380 Och en webbserver typiskt svarar med 404 som ett resultat 833 00:37:04,380 --> 00:37:09,680 >> Under tiden kommer vi snart se att innehållet i detta meddelande 834 00:37:09,680 --> 00:37:11,800 är detta språk som kallas HTML. 835 00:37:11,800 --> 00:37:15,070 Och detta är en super enkel sträng med HTML 836 00:37:15,070 --> 00:37:18,380 det gör ingenting annat än visa hallå världen på skärmen. 837 00:37:18,380 --> 00:37:21,830 I själva verket ser du på toppen av detta något som kallas en dokumenttyp 838 00:37:21,830 --> 00:37:24,220 deklaration som bara säger hej, värld. 839 00:37:24,220 --> 00:37:25,964 Denna fil innehåller HTML. 840 00:37:25,964 --> 00:37:28,380 Och sedan, nästa bit av HTML att du kommer att skriva, 841 00:37:28,380 --> 00:37:30,930 den har en öppen hållare, och sedan ordet HTML, 842 00:37:30,930 --> 00:37:33,670 sedan en sluten konsol, och sedan öppen huvud, och nära fästet. 843 00:37:33,670 --> 00:37:36,000 Så kort sagt, låt oss faktiskt göra detta mer mekaniskt. 844 00:37:36,000 --> 00:37:39,980 Låt mig gå in i min apparat, men du kan göra det var som helst 845 00:37:39,980 --> 00:37:42,110 att du har en textredigerare för att. 846 00:37:42,110 --> 00:37:45,105 >> Jag kommer att gå vidare och spara en fil som heter hello.html. 847 00:37:45,105 --> 00:37:46,440 848 00:37:46,440 --> 00:37:49,640 Jag ska sätta upp det på mitt skrivbord till hålla saker super enkel just nu. 849 00:37:49,640 --> 00:37:51,760 Och jag kommer att göra exakt vad jag såg precis. 850 00:37:51,760 --> 00:37:55,452 Så doc typ HTML, öppen fäste HTML. 851 00:37:55,452 --> 00:37:57,910 Och nu, meddelande, jag ska göra motsatsen förebyggande syfte. 852 00:37:57,910 --> 00:38:01,000 Och tvärtom, menar jag samma etikett, så att säga, 853 00:38:01,000 --> 00:38:02,767 men det börjar med ett snedstreck. 854 00:38:02,767 --> 00:38:04,600 Och sedan, här borta, Jag kommer att säga, huvud, 855 00:38:04,600 --> 00:38:07,530 eftersom det visar sig att varje webbsida har ett så kallat huvud, som 856 00:38:07,530 --> 00:38:10,300 är saker som går i titeln bar, högst upp på sidan. 857 00:38:10,300 --> 00:38:13,026 I titeln är bara kommer att bli hej här. 858 00:38:13,026 --> 00:38:15,150 Och nu kommer jag att ha en kropp på denna webbsida. 859 00:38:15,150 --> 00:38:18,130 Så varje webbsida har både ett huvud där uppe och en kropp 860 00:38:18,130 --> 00:38:19,522 vilket är tarmar av sidan. 861 00:38:19,522 --> 00:38:21,980 Och här, jag ska bara säga något i stil hallå världen. 862 00:38:21,980 --> 00:38:23,440 Och jag kommer att spara filen. 863 00:38:23,440 --> 00:38:26,150 Om jag nu minimera gedit, titta, det finns en liten fil 864 00:38:26,150 --> 00:38:28,470 på mitt skrivbord som heter hello.html. 865 00:38:28,470 --> 00:38:30,820 Nu, det är inte på server ännu, per se, i själva verket, är det 866 00:38:30,820 --> 00:38:33,040 bara på min egen personliga skrivbord här. 867 00:38:33,040 --> 00:38:36,910 Men om jag öppnar Chrome och slog kontroll O-- finns katten i fråga. 868 00:38:36,910 --> 00:38:38,710 --and jag går till mitt skrivbord. 869 00:38:38,710 --> 00:38:43,730 >> Och jag öppnar hello.html, där, i Faktum är min super enkel webbsida. 870 00:38:43,730 --> 00:38:45,490 Kroppen av min sida och denna vita fönster 871 00:38:45,490 --> 00:38:47,610 här är kroppen med hallå världen. 872 00:38:47,610 --> 00:38:51,020 Och titeln i huvudet av sidan är på fliken där. 873 00:38:51,020 --> 00:38:53,020 Och vi kommer att se snart att det är super 874 00:38:53,020 --> 00:38:55,004 enkel att öppna andra sidor också. 875 00:38:55,004 --> 00:38:57,670 Till exempel kommer jag att gå i några av de distributionskoden 876 00:38:57,670 --> 00:39:00,230 för denna vecka, källa sju, och jag kommer 877 00:39:00,230 --> 00:39:03,150 att öppna upp inte JPEG som den här killen är här. 878 00:39:03,150 --> 00:39:08,430 Men jag kommer att öppna upp image.html, vilket i slutändan ser ut så här. 879 00:39:08,430 --> 00:39:15,140 Men låt mig nu öppna upp detta i gedit, och gå in i Dropbox källa sju, 880 00:39:15,140 --> 00:39:17,470 och image.html. 881 00:39:17,470 --> 00:39:19,430 882 00:39:19,430 --> 00:39:21,960 >> Det mesta av detta är bara kommenterar som vi snart får se. 883 00:39:21,960 --> 00:39:25,210 Men om jag vill sätta Grumpy Katt insidan av denna webbsida, 884 00:39:25,210 --> 00:39:29,890 räcker det att sätta en annan öppen fäste, och sedan nyckelordet bild eller img 885 00:39:29,890 --> 00:39:33,080 för korta, och därefter alternativ text för tillgänglighetsskäl 886 00:39:33,080 --> 00:39:35,890 om någon har en skärm läsare eller något liknande. 887 00:39:35,890 --> 00:39:38,260 Källa som är, vad är det namnet på filen, cat.jpeg. 888 00:39:38,260 --> 00:39:39,280 889 00:39:39,280 --> 00:39:41,400 >> Och sedan, eftersom detta taggen är lite speciell, 890 00:39:41,400 --> 00:39:44,140 vi sätter snedstreck, som vi får se, insidan av etiketten. 891 00:39:44,140 --> 00:39:47,180 Men slutresultatet är en webb sida som ser ut så här. 892 00:39:47,180 --> 00:39:51,320 Så kort sagt, vad vi kommer att bli gör nu med tiden använder webben 893 00:39:51,320 --> 00:39:54,200 och skapa webbsidor till i slutändan vara containrar 894 00:39:54,200 --> 00:39:57,280 inte bara för dumma saker som bilder och länkar, och tabeller, 895 00:39:57,280 --> 00:40:00,770 och punktlistor och liknande, men också för att ge oss själva 896 00:40:00,770 --> 00:40:04,890 ett grafiskt användargränssnitt, ett grafiskt gränssnitt, inte olikt vad vi gjorde vi Breakout. 897 00:40:04,890 --> 00:40:08,330 >> Men inom denna miljö, är vi kommer att börja använda språk som PHP, 898 00:40:08,330 --> 00:40:10,960 och JavaScript, databasen språk som kallas SQL, 899 00:40:10,960 --> 00:40:14,050 en klient-side skriptspråk kallas JavaScript för att faktiskt skapa 900 00:40:14,050 --> 00:40:18,760 alla mer dynamiska gränssnitt men i en mycket, mycket mer bekant sammanhang. 901 00:40:18,760 --> 00:40:21,970 Men innan dess, låt oss avsluta idag med en blick, 902 00:40:21,970 --> 00:40:25,280 som utlovat, om vad som verkligen händer under huven med internet 903 00:40:25,280 --> 00:40:26,060 självt. 904 00:40:26,060 --> 00:40:28,400 >> Före för idag att internet kan 905 00:40:28,400 --> 00:40:31,390 användas för att överföra saker liknande webbsidor över HTTP 906 00:40:31,390 --> 00:40:33,150 ungefär som jag skakade Margot hand tidigare. 907 00:40:33,150 --> 00:40:36,470 Men det finns så många andra tjänster som använder TCP och IP 908 00:40:36,470 --> 00:40:39,800 att vi tar för givet att arbetet som vi får se här 909 00:40:39,800 --> 00:40:42,477 i denna film som ska ta oss till slutet i dag. 910 00:40:42,477 --> 00:40:45,956 >> [VIDEOAVSPELNING] 911 00:40:45,956 --> 00:41:31,710 912 00:41:31,710 --> 00:41:35,870 >> -För Första gången i historia, människor och maskiner 913 00:41:35,870 --> 00:41:38,940 är att arbeta tillsammans, att förverkliga en dröm. 914 00:41:38,940 --> 00:41:41,780 En sammanhållande kraft som vet inga geografiska gränser. 915 00:41:41,780 --> 00:41:45,010 Utan hänsyn till ras, religion eller hudfärg. 916 00:41:45,010 --> 00:41:49,130 En ny era där kommunikation verkligen förenar människor. 917 00:41:49,130 --> 00:41:51,795 Detta är början på nätet. 918 00:41:51,795 --> 00:41:54,920 919 00:41:54,920 --> 00:41:56,450 >> Vill du veta hur det fungerar? 920 00:41:56,450 --> 00:42:00,260 Klicka här för att börja resa in i nätet. 921 00:42:00,260 --> 00:42:02,780 922 00:42:02,780 --> 00:42:05,380 Nu, exakt vad som hände När du klickat på den länken? 923 00:42:05,380 --> 00:42:07,190 Du startade ett flöde av information. 924 00:42:07,190 --> 00:42:09,790 Denna information färdas ner till din personliga postrummet 925 00:42:09,790 --> 00:42:14,040 när Mr IP Pack det, etiketter den och skickar den på väg. 926 00:42:14,040 --> 00:42:16,030 >> Varje paket är begränsad storlek. 927 00:42:16,030 --> 00:42:19,900 Postrummet måste bestämma hur man kan dela informationen och hur du paketera det. 928 00:42:19,900 --> 00:42:23,400 Nu behöver förpackningen en etikett innehåller viktig information, 929 00:42:23,400 --> 00:42:27,480 såsom avsändarens adress, mottagarens adress, och vilken typ av paket det är. 930 00:42:27,480 --> 00:42:41,070 931 00:42:41,070 --> 00:42:43,700 >> Eftersom denna speciella paket går ut på Internet, 932 00:42:43,700 --> 00:42:46,240 det blir också en adress för proxyservern, vilket 933 00:42:46,240 --> 00:42:47,990 har en speciell funktion som vi ska se senare. 934 00:42:47,990 --> 00:42:49,080 935 00:42:49,080 --> 00:42:53,430 Paketet är nu lanseras på ditt lokala nätverk eller LAN. 936 00:42:53,430 --> 00:42:56,220 Detta nätverk används för att ansluta alla de lokala datorer, 937 00:42:56,220 --> 00:42:58,760 routrar skrivare, et cetera för informationsutbyte 938 00:42:58,760 --> 00:43:00,790 inom den fysiska väggarna i byggnaden. 939 00:43:00,790 --> 00:43:04,840 LAN är en ganska okontrollerat plats och tyvärr olyckor 940 00:43:04,840 --> 00:43:05,828 kan hända. 941 00:43:05,828 --> 00:43:13,240 942 00:43:13,240 --> 00:43:16,020 >> Motorvägen i LAN är packad med alla typer av information. 943 00:43:16,020 --> 00:43:19,270 Dessa är IP-paket, Novell paket, Apple Talk-paket. 944 00:43:19,270 --> 00:43:21,440 De kommer mot trafiken som vanligt. 945 00:43:21,440 --> 00:43:24,040 Den lokala routern läser adress och, om nödvändigt, 946 00:43:24,040 --> 00:43:25,935 lyfter paketet till ett annat nät. 947 00:43:25,935 --> 00:43:27,610 948 00:43:27,610 --> 00:43:28,810 Ah, routern. 949 00:43:28,810 --> 00:43:31,990 En symbol för kontroll i en synes oorganiserat världen. 950 00:43:31,990 --> 00:43:41,050 951 00:43:41,050 --> 00:43:45,480 >> Där är han, en systematisk, likgiltig, metodisk, konservativ, 952 00:43:45,480 --> 00:43:48,100 och ibland inte riktigt upp farten. 953 00:43:48,100 --> 00:43:50,430 Men åtminstone är han exakt för det mesta. 954 00:43:50,430 --> 00:44:03,090 955 00:44:03,090 --> 00:44:05,530 >> När paketen lämnar router, de gör sin väg 956 00:44:05,530 --> 00:44:08,780 i företagets intranät och huvudet för routern switch. 957 00:44:08,780 --> 00:44:10,179 958 00:44:10,179 --> 00:44:12,470 Lite mer effektiv än routern, routern switch 959 00:44:12,470 --> 00:44:16,700 spelar snabb och lös med IP-paket, skickligt leda dem på vägen. 960 00:44:16,700 --> 00:44:18,950 En digital Pinball Wizard om du kommer. 961 00:44:18,950 --> 00:44:19,532 >> -Här Vi går. 962 00:44:19,532 --> 00:44:20,490 Här kommer en till. 963 00:44:20,490 --> 00:44:21,198 Och det är en annan. 964 00:44:21,198 --> 00:44:21,886 Titta på den här, mamma. 965 00:44:21,886 --> 00:44:22,258 Här är går. 966 00:44:22,258 --> 00:44:22,382 Hoppsan. 967 00:44:22,382 --> 00:44:23,126 Runt ryggen. 968 00:44:23,126 --> 00:44:23,374 Hej. 969 00:44:23,374 --> 00:44:23,622 I det. 970 00:44:23,622 --> 00:44:24,122 I det. 971 00:44:24,122 --> 00:44:24,862 Över till vänster. 972 00:44:24,862 --> 00:44:25,110 Över till höger. 973 00:44:25,110 --> 00:44:25,358 Över till vänster. 974 00:44:25,358 --> 00:44:26,350 Över till höger. 975 00:44:26,350 --> 00:44:26,596 Du fick det. 976 00:44:26,596 --> 00:44:26,846 Här går. 977 00:44:26,846 --> 00:44:27,342 Han skjuter. 978 00:44:27,342 --> 00:44:27,840 Han poäng. 979 00:44:27,840 --> 00:44:28,100 Det kommer. 980 00:44:28,100 --> 00:44:28,580 Vänta. 981 00:44:28,580 --> 00:44:28,940 Hej, se upp. 982 00:44:28,940 --> 00:44:29,898 Här kommer en till. 983 00:44:29,898 --> 00:44:30,860 Åh, nu kör vi. 984 00:44:30,860 --> 00:44:33,740 985 00:44:33,740 --> 00:44:35,930 >> -Som Paket anländer till sin destination, de är 986 00:44:35,930 --> 00:44:40,640 plockas upp av nätverksgränssnittet, redo för att skickas till nästa nivå, 987 00:44:40,640 --> 00:44:42,000 i detta fall, den proxy. 988 00:44:42,000 --> 00:44:43,060 989 00:44:43,060 --> 00:44:46,210 Fullmakten används av många företag som en slags mellanhand 990 00:44:46,210 --> 00:44:48,650 i syfte att minska belastningen på sin internetuppkoppling 991 00:44:48,650 --> 00:44:50,040 och av säkerhetsskäl också. 992 00:44:50,040 --> 00:44:51,824 993 00:44:51,824 --> 00:44:55,310 Som ni ser, paketen är alla av olika storlekar, 994 00:44:55,310 --> 00:44:56,650 beroende på deras innehåll. 995 00:44:56,650 --> 00:45:10,750 996 00:45:10,750 --> 00:45:14,790 >> Fullmakten öppnar paketet och letar efter en webbadress eller URL. 997 00:45:14,790 --> 00:45:16,230 998 00:45:16,230 --> 00:45:18,707 Beroende på huruvida adressen är acceptabel, 999 00:45:18,707 --> 00:45:20,290 paketet skickas vidare till Internet. 1000 00:45:20,290 --> 00:45:25,880 1001 00:45:25,880 --> 00:45:28,700 Det finns emellertid en viss adresser som inte gör det 1002 00:45:28,700 --> 00:45:31,440 träffa med godkännande av proxy, det vill säga, 1003 00:45:31,440 --> 00:45:33,305 företags- eller förvaltnings riktlinjer. 1004 00:45:33,305 --> 00:45:35,830 1005 00:45:35,830 --> 00:45:38,290 Dessa är summariskt behandlas. 1006 00:45:38,290 --> 00:45:39,530 1007 00:45:39,530 --> 00:45:41,070 Vi kommer att ha inget av det. 1008 00:45:41,070 --> 00:45:43,350 För dem som gör det, det är på väg igen. 1009 00:45:43,350 --> 00:45:52,740 1010 00:45:52,740 --> 00:45:54,695 >> Nästa upp, brandväggen. 1011 00:45:54,695 --> 00:45:58,060 1012 00:45:58,060 --> 00:46:01,414 Företagets brandvägg tjänar två syften. 1013 00:46:01,414 --> 00:46:03,580 Det förhindrar några ganska elaka saker på internet 1014 00:46:03,580 --> 00:46:05,379 från att komma in i intranätet. 1015 00:46:05,379 --> 00:46:07,670 Och det kan också förhindra känslig företagsinformation 1016 00:46:07,670 --> 00:46:09,900 från att skickas ut på internet. 1017 00:46:09,900 --> 00:46:11,810 1018 00:46:11,810 --> 00:46:14,210 >> En gång genom brandväggen, en router plockar upp paketet 1019 00:46:14,210 --> 00:46:18,290 och placerar den på en mycket smalare väg eller bandbredd, som vi säger. 1020 00:46:18,290 --> 00:46:21,505 Självklart är inte den rad tillräckligt bred för att ta dem alla. 1021 00:46:21,505 --> 00:46:22,727 1022 00:46:22,727 --> 00:46:25,060 Nu kan man undra, vad händer med alla dessa paket 1023 00:46:25,060 --> 00:46:27,250 vilket inte gör det på vägen. 1024 00:46:27,250 --> 00:46:29,880 Jo, när Mr IP inte får en bekräftelse 1025 00:46:29,880 --> 00:46:32,160 att ett paket har varit inkommit i rätt tid, 1026 00:46:32,160 --> 00:46:34,060 han sänder helt enkelt en ersättningspaket. 1027 00:46:34,060 --> 00:46:36,040 1028 00:46:36,040 --> 00:46:40,510 >> Vi är nu redo att gå in i värld av internet, en spindel 1029 00:46:40,510 --> 00:46:44,656 väv av sammankopplade nätverk som sträcker sig över hela vårt klot. 1030 00:46:44,656 --> 00:46:47,845 Här, routrar och switchar upprätta förbindelser mellan näten. 1031 00:46:47,845 --> 00:46:49,239 1032 00:46:49,239 --> 00:46:51,280 Nu är ett helt nätet annorlunda miljö 1033 00:46:51,280 --> 00:46:53,740 än vad du hittar i den skyddande väggarna i ditt LAN. 1034 00:46:53,740 --> 00:46:56,510 >> Här ute är det vilda West, gott om utrymme, 1035 00:46:56,510 --> 00:47:00,440 massor av möjligheter, massor av saker att utforska, och platser att gå. 1036 00:47:00,440 --> 00:47:02,790 Tack vare mycket lite styrning och reglering, 1037 00:47:02,790 --> 00:47:07,250 nya idéer hitta bördig jord för att driva kuvertet av deras möjligheter. 1038 00:47:07,250 --> 00:47:10,590 Men på grund av denna frihet, vissa faror lurar också. 1039 00:47:10,590 --> 00:47:14,230 >> Du vet aldrig när du möta den fruktade ping dödens, 1040 00:47:14,230 --> 00:47:18,040 en speciell version av en normal begäran ping som någon idiot trodde upp 1041 00:47:18,040 --> 00:47:19,830 att röra upp intet ont anande värdar. 1042 00:47:19,830 --> 00:47:21,470 1043 00:47:21,470 --> 00:47:25,490 Vägen våra paket tar kanske via satellit, telefonlinjer, trådlöst, 1044 00:47:25,490 --> 00:47:27,340 eller till och med transoceana kabel. 1045 00:47:27,340 --> 00:47:30,290 >> De tar inte alltid den snabbaste eller kortaste rutterna möjligt, 1046 00:47:30,290 --> 00:47:33,330 men de kommer att få det, så småningom. 1047 00:47:33,330 --> 00:47:37,255 Kanske det är därför det är ibland kallas den världsomspännande vänta. 1048 00:47:37,255 --> 00:47:39,650 Men när allt är fungerar smidigt, du 1049 00:47:39,650 --> 00:47:43,270 skulle kunna kringgå jordklotet fem gånger vid släpp av en hatt, 1050 00:47:43,270 --> 00:47:46,690 bokstavligt, och allt för Kostnaden för ett lokalt samtal eller mindre. 1051 00:47:46,690 --> 00:47:47,970 1052 00:47:47,970 --> 00:47:51,025 >> Nära slutet av vår destination, vi hittar en annan brandvägg. 1053 00:47:51,025 --> 00:47:53,710 1054 00:47:53,710 --> 00:47:56,160 Beroende på din perspektiv som ett datapaket, 1055 00:47:56,160 --> 00:48:00,520 brandväggen kan vara en bastion säkerhet eller fruktade motståndare. 1056 00:48:00,520 --> 00:48:04,420 Det beror på vilken sida du är på, och vad dina avsikter är. 1057 00:48:04,420 --> 00:48:08,365 >> Brandväggen är konstruerad för att släppa in endast de paket som uppfyller dess kriterier. 1058 00:48:08,365 --> 00:48:09,590 1059 00:48:09,590 --> 00:48:11,940 Denna brandvägg är i drift på Port 80 och 25. 1060 00:48:11,940 --> 00:48:13,250 1061 00:48:13,250 --> 00:48:16,380 Alla försök att komma in genom andra portar är stängda för företag. 1062 00:48:16,380 --> 00:48:27,690 1063 00:48:27,690 --> 00:48:30,600 >> Port 25 används för postpaket. 1064 00:48:30,600 --> 00:48:32,750 1065 00:48:32,750 --> 00:48:35,791 Medan port 80 är ingången för paket från internet till webben 1066 00:48:35,791 --> 00:48:36,290 servern. 1067 00:48:36,290 --> 00:48:38,880 1068 00:48:38,880 --> 00:48:42,540 Innanför brandväggen, paket screenas mer noggrant. 1069 00:48:42,540 --> 00:48:44,660 Vissa paket gör det lätt genom tullen, 1070 00:48:44,660 --> 00:48:47,500 medan andra ser bara lite tveksam. 1071 00:48:47,500 --> 00:48:49,630 >> Nu brandväggen officer är inte lätt att luras, 1072 00:48:49,630 --> 00:48:53,010 som när denna ping Dödspaket försök 1073 00:48:53,010 --> 00:48:55,628 att dölja sig själv som en normal ping-paket. 1074 00:48:55,628 --> 00:48:56,128 -Move Tillsammans. 1075 00:48:56,128 --> 00:48:56,606 Det är OK. 1076 00:48:56,606 --> 00:48:57,106 INGA PROBLEM. 1077 00:48:57,106 --> 00:48:58,040 Ha en bra dag. 1078 00:48:58,040 --> 00:48:59,360 Låt mig härifrån. 1079 00:48:59,360 --> 00:49:00,460 Hej då. 1080 00:49:00,460 --> 00:49:02,990 >> -För Dessa paket tur tillräckligt för att göra det här långt, 1081 00:49:02,990 --> 00:49:04,860 resan är nästan över. 1082 00:49:04,860 --> 00:49:07,280 1083 00:49:07,280 --> 00:49:11,560 Det är bara en linje upp på gränssnittet som skall tas upp i webbservern. 1084 00:49:11,560 --> 00:49:12,610 1085 00:49:12,610 --> 00:49:16,850 Numera kan en webbserver köras på många saker, från en stordator, till en webbkamera, 1086 00:49:16,850 --> 00:49:18,430 till datorn på skrivbordet. 1087 00:49:18,430 --> 00:49:20,220 Varför inte ditt kylskåp? 1088 00:49:20,220 --> 00:49:22,140 >> Med rätt inställda upp, kan du ta reda på 1089 00:49:22,140 --> 00:49:24,330 om du har förutsättningar att kyckling cacciatore 1090 00:49:24,330 --> 00:49:25,690 eller om du måste gå och handla. 1091 00:49:25,690 --> 00:49:28,625 Kom ihåg att detta är början på nätet. 1092 00:49:28,625 --> 00:49:29,850 Nästan allt är möjligt. 1093 00:49:29,850 --> 00:49:32,960 1094 00:49:32,960 --> 00:49:37,080 >> En efter en, paketen är emot, öppnas, och packas upp. 1095 00:49:37,080 --> 00:49:40,350 1096 00:49:40,350 --> 00:49:44,280 Den information de innehåller, som är din begäran om information, 1097 00:49:44,280 --> 00:49:46,080 skickas vidare till webben serverapplikation. 1098 00:49:46,080 --> 00:49:52,670 1099 00:49:52,670 --> 00:49:54,345 >> Paketet självt återvinns. 1100 00:49:54,345 --> 00:49:57,280 1101 00:49:57,280 --> 00:50:06,770 Redo att användas igen och fylldes med din begärda informationen, riktat, 1102 00:50:06,770 --> 00:50:08,680 och skicka ut på sin väg tillbaka till dig. 1103 00:50:08,680 --> 00:50:10,430 1104 00:50:10,430 --> 00:50:14,700 Tillbaka förbi brandväggar, routrar, och vidare genom att Internet. 1105 00:50:14,700 --> 00:50:18,164 1106 00:50:18,164 --> 00:50:19,705 Tillbaka genom företagets brandvägg. 1107 00:50:19,705 --> 00:50:24,461 1108 00:50:24,461 --> 00:50:26,295 Och på din gränssnitt. 1109 00:50:26,295 --> 00:50:27,400 1110 00:50:27,400 --> 00:50:30,630 Redo att leverera din webbläsare med den information du begärt. 1111 00:50:30,630 --> 00:50:33,010 1112 00:50:33,010 --> 00:50:34,538 Det är denna film. 1113 00:50:34,538 --> 00:50:40,030 1114 00:50:40,030 --> 00:50:43,200 >> Nöjda med sina insatser och lita på en bättre värld, 1115 00:50:43,200 --> 00:50:45,960 våra trogna datapaket rida ut lyckligt 1116 00:50:45,960 --> 00:50:49,830 in i solnedgången på en annan dag, att veta helt de 1117 00:50:49,830 --> 00:50:51,635 har tjänat sina herrar väl. 1118 00:50:51,635 --> 00:50:54,030 1119 00:50:54,030 --> 00:50:57,209 Nu är inte det ett lyckligt slut. 1120 00:50:57,209 --> 00:50:58,042 [END VIDEOAVSPELNING] 1121 00:50:58,042 --> 00:50:59,533 DAVID MALAN: Det är det för CS50. 1122 00:50:59,533 --> 00:51:01,521 Vi kommer att se dig nästa vecka. 1123 00:51:01,521 --> 00:51:05,994 1124 00:51:05,994 --> 00:51:11,220 >> [MUSIK - Katy Perry, "dark horse"] 1125 00:51:11,220 --> 00:54:19,222