1 00:00:00,000 --> 00:00:10,792 2 00:00:10,792 --> 00:00:11,750 DAVID MALAN: All right. 3 00:00:11,750 --> 00:00:13,630 Dette er CS50. 4 00:00:13,630 --> 00:00:15,950 Og dette er starten på uke syv. 5 00:00:15,950 --> 00:00:19,120 Så i dag, kanskje heldigvis, Vi begynner vår overgang 6 00:00:19,120 --> 00:00:21,630 fra det lavere nivå verden av C-programmering 7 00:00:21,630 --> 00:00:24,290 til høyere nivå verden av web-programmering. 8 00:00:24,290 --> 00:00:28,060 Og med det, vil vi ta en titt på nøyaktig hvordan internett fungerer, 9 00:00:28,060 --> 00:00:31,920 hva disse maskinene og disse internets at du har brukt i mange år nå 10 00:00:31,920 --> 00:00:35,090 faktisk gjør under panseret mot en bedre forståelse av hvordan det hele 11 00:00:35,090 --> 00:00:37,660 fungerer, og hvordan du kan gjøre den jobben for deg. 12 00:00:37,660 --> 00:00:41,480 >> Mot dette målet, hvorfor ikke vi ta en ser først på et klipp fra et TV-show 13 00:00:41,480 --> 00:00:45,680 kalt Numb3rs, som vil få oss i gang som til nøyaktig hvordan internett fungerer. 14 00:00:45,680 --> 00:00:46,964 15 00:00:46,964 --> 00:00:47,630 [VIDEO PLAYBACK] 16 00:00:47,630 --> 00:00:49,858 -Det Er en 32-bit IPP4 adresse. 17 00:00:49,858 --> 00:00:50,794 -IP. 18 00:00:50,794 --> 00:00:51,730 Det er internett. 19 00:00:51,730 --> 00:00:52,640 >> -Private Nettverk. 20 00:00:52,640 --> 00:00:53,865 Det er Amita private nettverk. 21 00:00:53,865 --> 00:01:06,635 22 00:01:06,635 --> 00:01:08,120 Å, hun er så utrolig. 23 00:01:08,120 --> 00:01:09,605 24 00:01:09,605 --> 00:01:11,120 >> -Å, Charlie. 25 00:01:11,120 --> 00:01:12,640 >> -Det Er et speil IP-adresse. 26 00:01:12,640 --> 00:01:15,672 Hun la oss se hva hun gjør i sanntid. 27 00:01:15,672 --> 00:01:16,505 [END VIDEO PLAYBACK] 28 00:01:16,505 --> 00:01:19,570 DAVID MALAN: Så det er en hel mye galt med det TV-show. 29 00:01:19,570 --> 00:01:23,250 Så la oss erte hverandre nøyaktig en av de første slike ting 30 00:01:23,250 --> 00:01:25,210 og se om vi ikke kan pakke inn våre sinn rundt det. 31 00:01:25,210 --> 00:01:28,110 Så det siste bildet den filmen, for at showet 32 00:01:28,110 --> 00:01:30,360 er dette en her, som synes å antyde at dette 33 00:01:30,360 --> 00:01:33,300 er det noen hacker bruker å komme inn i noe system. 34 00:01:33,300 --> 00:01:33,875 >> Men nei. 35 00:01:33,875 --> 00:01:36,030 Hvis du zoomer inn på dette kildekoden, som 36 00:01:36,030 --> 00:01:40,210 er et språk som heter Objective C i Hvilken Iphone apps, iPad apps, og Mac 37 00:01:40,210 --> 00:01:42,060 OS apps er skrevet, vil du se at dette 38 00:01:42,060 --> 00:01:45,400 er for en slags tegneprogram som har en stift som en variabel. 39 00:01:45,400 --> 00:01:47,800 40 00:01:47,800 --> 00:01:51,880 >> Så i tillegg, kan du har lagt merke til denne adressen her. 41 00:01:51,880 --> 00:01:53,330 Nå er dette et så galt. 42 00:01:53,330 --> 00:01:56,740 Og dette er trolig bevisst valgt å være en ugyldig adresse, slik at den 43 00:01:56,740 --> 00:02:00,010 ikke faktisk føre sted hvis en TV-seer faktisk besøker den. 44 00:02:00,010 --> 00:02:02,620 Men dette tallet her, noe dot noe 45 00:02:02,620 --> 00:02:05,799 dot noe dot noe er hva som er vanligvis kjent som en IP-adresse. 46 00:02:05,799 --> 00:02:07,840 Og det er faktisk en god naturlig overgang til dette emnet mer 47 00:02:07,840 --> 00:02:10,930 generelt, kjent som IP, internettprotokoll. 48 00:02:10,930 --> 00:02:14,210 Så du har sannsynligvis minst hørt dette uttrykket før. 49 00:02:14,210 --> 00:02:18,980 Men hva er IP, eller Internett protokoll som du forstår det i dag? 50 00:02:18,980 --> 00:02:21,376 51 00:02:21,376 --> 00:02:23,625 Odds er, hvis vi bedt om en håndsopprekning, de fleste av dere 52 00:02:23,625 --> 00:02:26,880 har sikkert sagt det ord IP-adresse før. 53 00:02:26,880 --> 00:02:27,955 Så hva mente du? 54 00:02:27,955 --> 00:02:29,578 55 00:02:29,578 --> 00:02:30,779 >> PUBLIKUM: [uhørlig]? 56 00:02:30,779 --> 00:02:31,820 DAVID MALAN: Hva er det? 57 00:02:31,820 --> 00:02:33,170 PUBLIKUM: [uhørlig]? 58 00:02:33,170 --> 00:02:33,455 DAVID MALAN: Enda en gang. 59 00:02:33,455 --> 00:02:34,840 PUBLIKUM: adressen til datamaskinen. 60 00:02:34,840 --> 00:02:35,950 DAVID MALAN: The adressen til datamaskinen. 61 00:02:35,950 --> 00:02:36,949 Så det er helt riktig. 62 00:02:36,949 --> 00:02:39,660 Det viser seg at hver datamaskin på internett, 63 00:02:39,660 --> 00:02:42,940 og i disse dager, hver telefon i ditt lomme og tablet i ryggsekken, 64 00:02:42,940 --> 00:02:45,880 har en IP-adresse, internett protokolladresse, som 65 00:02:45,880 --> 00:02:49,379 er en unik adresse som identifiserer det hele internett. 66 00:02:49,379 --> 00:02:51,920 Nå, det er litt av en hvit ligge fordi verden er faktisk 67 00:02:51,920 --> 00:02:53,240 kjører ut av IP-adresser. 68 00:02:53,240 --> 00:02:55,900 >> Så vi har begynt å bruke private IP-adresser. 69 00:02:55,900 --> 00:02:57,160 Men mer om det i et øyeblikk. 70 00:02:57,160 --> 00:03:00,731 Men du kan tenke på en IP-adresse så ut som din postgangen street 71 00:03:00,731 --> 00:03:01,230 adressen. 72 00:03:01,230 --> 00:03:04,160 Vi har bruker eksemplet med Maxwell Dworkin, CS bygningen, før- 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 er dens unike adresse i verden. 75 00:03:10,400 --> 00:03:12,547 >> Tilsvarende gjør datamaskiner har unike adresser. 76 00:03:12,547 --> 00:03:14,380 De bare tilfeldigvis se litt forskjellige- 77 00:03:14,380 --> 00:03:17,219 et tall dot en rekke dot et tall dot et nummer. 78 00:03:17,219 --> 00:03:19,760 Og er det noen som faktisk vet hva gyldig område av tall 79 00:03:19,760 --> 00:03:21,105 er for hver av disse hashtegn? 80 00:03:21,105 --> 00:03:21,604 Yeah. 81 00:03:21,604 --> 00:03:23,045 >> PUBLIKUM: 0 til 255? 82 00:03:23,045 --> 00:03:23,920 DAVID MALAN: Nettopp. 83 00:03:23,920 --> 00:03:25,450 0 til 255. 84 00:03:25,450 --> 00:03:28,360 Og selv om du ikke visste at nå trekke en konklusjon, 85 00:03:28,360 --> 00:03:31,130 hvor mange biter som brukes for å representere hver av disse tallene da? 86 00:03:31,130 --> 00:03:32,232 87 00:03:32,232 --> 00:03:34,440 Åtte tilsynelatende på grunn av det høyeste du kan telle 88 00:03:34,440 --> 00:03:36,720 er 255, som er en 8-bits verdi. 89 00:03:36,720 --> 00:03:38,980 Så totalt, er en IP-adresse 32-bits. 90 00:03:38,980 --> 00:03:41,310 Så fort videresending til matematisk konklusjon, 91 00:03:41,310 --> 00:03:43,900 hvor mange mulige IP-adresser er der ute i verden, da? 92 00:03:43,900 --> 00:03:46,990 93 00:03:46,990 --> 00:03:50,100 >> Så det er åtte pluss åtte pluss åtte pluss 8, slik at det er 32 biter. 94 00:03:50,100 --> 00:03:52,490 Og vi har alltid sagt at 2 til 32 er omtrent? 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 Jeg skal feltet denne. 98 00:03:55,273 --> 00:03:55,864 Fire milliarder. 99 00:03:55,864 --> 00:03:58,780 Og vi snakket om det i uken null når vi snakket om telefonen bøker 100 00:03:58,780 --> 00:04:00,170 med sprø antall sider. 101 00:04:00,170 --> 00:04:03,450 Men også av det er at det er et endelig antall IP-adresser. 102 00:04:03,450 --> 00:04:05,740 Og selv om fire milliarder kan virke som mye, 103 00:04:05,740 --> 00:04:07,770 vi mennesker har vært forbruker ganske mange 104 00:04:07,770 --> 00:04:10,350 av dem for alle våre servere og enheter og så videre. 105 00:04:10,350 --> 00:04:12,170 >> Så dette er faktisk blitt et problem. 106 00:04:12,170 --> 00:04:16,500 Nå er det en tendens til å være en Ordningen bak hvem som har hva IP. 107 00:04:16,500 --> 00:04:18,560 For eksempel er mange av datamaskinene på Harvard 108 00:04:18,560 --> 00:04:21,810 har unike adresser som begynner med en av disse to verdier. 109 00:04:21,810 --> 00:04:23,560 MIT, på samme måte, har et prefiks. 110 00:04:23,560 --> 00:04:26,889 Og en rekke selskaper og universiteter har sin egen unike prefiks. 111 00:04:26,889 --> 00:04:29,680 Og da de fleste av oss for våre hjem Internett-tilkoblinger og lignende, 112 00:04:29,680 --> 00:04:33,575 vi dele noen prefiks som Comcast eller noen sånt skjer med eier. 113 00:04:33,575 --> 00:04:36,640 Og dette er bare for å si at hvis du sett på de fleste datamaskiner på campus, 114 00:04:36,640 --> 00:04:40,070 de ville trolig ha en IP- adresse som ser slik ut. 115 00:04:40,070 --> 00:04:43,180 >> Nå kan du også tidvis se en IP-adresse den starter som dette. 116 00:04:43,180 --> 00:04:46,150 Faktisk, hvis noen av dere vokste opp med internettilgang hjemme, 117 00:04:46,150 --> 00:04:49,270 og du var alltid tilstrekkelig teknisk nysgjerrig på å rote rundt 118 00:04:49,270 --> 00:04:51,800 din egen datamaskin innstillinger, du sannsynligvis stedet 119 00:04:51,800 --> 00:04:56,990 så en adresse som ser mer ut som dette, som startet med 10, eller 172,6, 120 00:04:56,990 --> 00:05:00,480 eller 192.168, eller noen varianter av disse. 121 00:05:00,480 --> 00:05:04,025 >> Og det betyr bare at verden er satt til side en hel haug med tall 122 00:05:04,025 --> 00:05:06,400 å være privat, noe som betyr du kan bruke dem i ditt hjem, 123 00:05:06,400 --> 00:05:08,941 du kan også bruke dem på campus og i din bedrift, 124 00:05:08,941 --> 00:05:10,970 men du kan ikke bruke dem på internett for øvrig. 125 00:05:10,970 --> 00:05:13,320 >> Og så disse private IP-adresser har vært en løsning 126 00:05:13,320 --> 00:05:16,990 mot å sørge for at minst så langt som hele verden er opptatt av, 127 00:05:16,990 --> 00:05:18,890 Vi bruker ikke så mange IP-adresser. 128 00:05:18,890 --> 00:05:22,840 Men minst, vi kan, på vår egen campus, har ganske mye som mange IP-adresser 129 00:05:22,840 --> 00:05:23,590 som vi ønsker. 130 00:05:23,590 --> 00:05:24,410 Men hvem bryr seg? 131 00:05:24,410 --> 00:05:28,500 Hva er relevansen av alt dette til en faktisk bruk av internett? 132 00:05:28,500 --> 00:05:31,450 >> Vel, la oss ta en titt på kanskje et enkelt bilde her. 133 00:05:31,450 --> 00:05:33,550 La meg gjennom begge disse opp på skjermen. 134 00:05:33,550 --> 00:05:36,050 Og tilgi min håndskrift her. 135 00:05:36,050 --> 00:05:39,500 Men hvis vi tenker på oss selv som være denne lille laptop her 136 00:05:39,500 --> 00:05:41,830 et sted på campus, disse dager den har Wi-Fi. 137 00:05:41,830 --> 00:05:44,180 >> Men i gamle dager, og hvis deg å finne riktig adapter, 138 00:05:44,180 --> 00:05:47,420 det kan ha en ethernet-kabel som ville på samme måte la 139 00:05:47,420 --> 00:05:49,130 du kobler til en slags enhet. 140 00:05:49,130 --> 00:05:51,090 Og du kan kalle dette en rekke ting. 141 00:05:51,090 --> 00:05:55,930 Men jeg kommer til å gå videre og kaller dette, for nå, hva med et aksesspunkt? 142 00:05:55,930 --> 00:05:57,690 >> Så dette er min laptop. 143 00:05:57,690 --> 00:06:01,130 Dette er min AP, eller tilgangspunktet, og dette er noen trådløse enheten, 144 00:06:01,130 --> 00:06:04,400 Ikke ulikt de som Harvard har alle over tak 145 00:06:04,400 --> 00:06:07,420 og vegger rundt campus som har blinkende lys 146 00:06:07,420 --> 00:06:10,930 og som er hva dine bærbare datamaskiner brukes til å snakke trådløst 147 00:06:10,930 --> 00:06:12,160 til resten av nettverket. 148 00:06:12,160 --> 00:06:14,880 >> Så en eller annen måte denne bærbare snakker til at ting på veggen, 149 00:06:14,880 --> 00:06:16,540 i spisesalen, eller andre steder. 150 00:06:16,540 --> 00:06:21,410 Nå, i mellomtiden, er at tilgangspunkt koblet til noe annet på campus. 151 00:06:21,410 --> 00:06:24,810 Og det er sannsynligvis noe kjent som en bryter. 152 00:06:24,810 --> 00:06:27,690 Og de ser mye mer interessant enn bare disse boks diagrammer. 153 00:06:27,690 --> 00:06:29,760 >> Men en eller annen måte, det er tingen koblet til en bryter. 154 00:06:29,760 --> 00:06:31,900 Og igjen, en eller annen måte at bryteren er koblet 155 00:06:31,900 --> 00:06:35,890 til en enhet som er sannsynligvis en litt større, kalles en ruter. 156 00:06:35,890 --> 00:06:37,930 Og så, i mellomtiden, Harvard er koblet 157 00:06:37,930 --> 00:06:41,210 til hele Internett som vi vil trekke så denne skyen her, 158 00:06:41,210 --> 00:06:43,850 via et antall ledninger eller trådløs teknologi. 159 00:06:43,850 --> 00:06:46,670 >> Så det er mange trinn mellom meg og resten av verden. 160 00:06:46,670 --> 00:06:49,620 Og ja, selv innenfor dette bildet her, 161 00:06:49,620 --> 00:06:52,634 er det noen andre servere eller tjenester som er involvert. 162 00:06:52,634 --> 00:06:54,800 Og jeg bare kommer til å trekke disse noe abstrakt 163 00:06:54,800 --> 00:06:57,050 bare slik at vi har akronymene før oss. 164 00:06:57,050 --> 00:06:57,993 >> Den ene heter DHCP. 165 00:06:57,993 --> 00:06:59,330 166 00:06:59,330 --> 00:07:03,440 Og en annen, litt mer interessant for i dag, kalles DNS. 167 00:07:03,440 --> 00:07:09,160 Så disse er servere som er en eller annen måte tilgjengelig for maskinen min også. 168 00:07:09,160 --> 00:07:10,910 Så nå, la oss erte hverandre litt sjargong. 169 00:07:10,910 --> 00:07:13,410 Så tilgangspunktet er bare denne trådløse enheten 170 00:07:13,410 --> 00:07:16,079 ofte med antenner som faktisk la deg snakke med en trådløst. 171 00:07:16,079 --> 00:07:17,870 Hjemme, kan du ringe dette til et hjem ruter. 172 00:07:17,870 --> 00:07:21,550 Det kan gjøres med Linksys, eller Apple, eller D-Link, eller en rekke selskaper. 173 00:07:21,550 --> 00:07:23,930 Som i sin tur er forbundet til en bryter av noe slag. 174 00:07:23,930 --> 00:07:28,287 Eller hjemme, hva er din Wi-Fi enhet trolig koblet til i stedet? 175 00:07:28,287 --> 00:07:30,370 Fordi du sannsynligvis ikke eier alt dette utstyret. 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 hjem som du fikk fra Verizon, eller Comcast, 179 00:07:36,379 --> 00:07:37,420 eller en av disse bærere. 180 00:07:37,420 --> 00:07:41,520 Så tenk på alt dette kompleksitet som å støtte et universitet eller virkelig 181 00:07:41,520 --> 00:07:42,920 en virksomhet som Comcast. 182 00:07:42,920 --> 00:07:44,690 Og egentlig, ting det er i ditt hjem 183 00:07:44,690 --> 00:07:46,800 er sannsynligvis på denne siden av gjerdet pluss kanskje 184 00:07:46,800 --> 00:07:50,380 en av disse hjem route-- en av disse er kabelmodem eller DSL 185 00:07:50,380 --> 00:07:51,720 modemer de kan gi. 186 00:07:51,720 --> 00:07:55,650 >> Så en bryter er bare en enhet med en hel haug med datakontakter i den. 187 00:07:55,650 --> 00:07:58,940 Faktisk, hvis du husker at nyheter Rapporten vi spilte på den store skjermen 188 00:07:58,940 --> 00:08:01,930 et par uker siden hvor vi snakket om granatsjokk, 189 00:08:01,930 --> 00:08:03,270 og hvor ille dette var? 190 00:08:03,270 --> 00:08:05,850 Og det var disse fotografier av kabler og knekt, 191 00:08:05,850 --> 00:08:07,569 og ting som ser teknisk? 192 00:08:07,569 --> 00:08:10,360 De var bare dumme brytere som bare internett kobler sammen datamaskiner 193 00:08:10,360 --> 00:08:12,810 ved å plugge kablene inn i dem. 194 00:08:12,810 --> 00:08:14,140 >> Så det er alt en bryter. 195 00:08:14,140 --> 00:08:16,363 Nå disse anordninger får en litt mer interessant. 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 Hvis du har poked rundt datamaskin hjemme eller på campus, 199 00:08:20,470 --> 00:08:21,845 du har kanskje sett denne forkortelsen. 200 00:08:21,845 --> 00:08:24,480 Vet noen hva en DHCP server er? 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 Ikke den typen ting du virkelig trenger å skrive ned. 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 noen i det hele tatt? 208 00:08:33,891 --> 00:08:34,390 OK. 209 00:08:34,390 --> 00:08:35,520 Så la oss spole historien. 210 00:08:35,520 --> 00:08:39,210 Hvis historien her på hånden er betinget på min å ha en unik adresse 211 00:08:39,210 --> 00:08:42,909 i verden, en IP-adresse, hvor kommer det fra? 212 00:08:42,909 --> 00:08:44,640 I gamle dager, da har du til campus, 213 00:08:44,640 --> 00:08:47,790 du faktisk hadde spør noen på Harvard, hva skal min IP-adresse være. 214 00:08:47,790 --> 00:08:49,873 Og du ville gjort manuelt skriv det inn i datamaskinen. 215 00:08:49,873 --> 00:08:53,770 Men nå nylig, teknologier eksistere som tillater deg å dynamisk, 216 00:08:53,770 --> 00:08:58,460 DHCP, få en IP-adresse bare når du plugger inn i campus trådløst 217 00:08:58,460 --> 00:08:59,220 eller med en wire. 218 00:08:59,220 --> 00:09:03,800 Så DHCP-server er bare en server som gir din datamaskin en unik IP 219 00:09:03,800 --> 00:09:06,349 adresse, noe tilfeldig eller via noen algoritme. 220 00:09:06,349 --> 00:09:08,390 Men hvis du tenker tilbake en noen uker eller et par år, 221 00:09:08,390 --> 00:09:10,670 når du først er registrert datamaskinen på campus, 222 00:09:10,670 --> 00:09:13,957 du fortalte Harvard, autorisere meg å gi meg en IP-adresse. 223 00:09:13,957 --> 00:09:15,915 Nå DNS ​​begynner å få en litt mer interessant. 224 00:09:15,915 --> 00:09:17,050 225 00:09:17,050 --> 00:09:18,940 Domenenavnsystemet. 226 00:09:18,940 --> 00:09:21,970 Er det noen som ønsker å ta et stikk på hva denne tingen er her? 227 00:09:21,970 --> 00:09:26,195 >> Det er en eller flere servere som utføre en ganske enkel oppgave som er 228 00:09:26,195 --> 00:09:26,945 slags viktig. 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 >> PUBLIKUM: Overs URLer [uhørbart]. 232 00:09:33,810 --> 00:09:34,560 DAVID MALAN: Yeah. 233 00:09:34,560 --> 00:09:38,970 Det oversnettadresser til IP adresser og vice versa. 234 00:09:38,970 --> 00:09:41,310 Tenk, tross alt, at når du går på nettsiden, 235 00:09:41,310 --> 00:09:46,200 du skriver inn noe sånt som facebook.com, eller google.com, eller harvard.edu, 236 00:09:46,200 --> 00:09:50,620 du sikkert aldri har skrevet mest sannsynlig en numerisk IP-adresse. 237 00:09:50,620 --> 00:09:52,490 >> Og du kan tenke på grunnen. 238 00:09:52,490 --> 00:09:54,910 Tilbake i dag, selv nå til en viss grad, 239 00:09:54,910 --> 00:09:58,030 når du gjør en telefon ringe til et selskap, 240 00:09:58,030 --> 00:10:02,275 de virkelig prøver hardt for å kjøpe seg et 800-nummer som faktisk har ord 241 00:10:02,275 --> 00:10:06,140 i det, som 1-800-collect eller noe det er minneverdig som det slik at 242 00:10:06,140 --> 00:10:10,692 folk trenger ikke å huske hva C-O-L-L-E-C-T faktisk ekspanderer til. 243 00:10:10,692 --> 00:10:12,400 Så vi har sett denne heuristisk i det siste. 244 00:10:12,400 --> 00:10:15,720 Og ja, det er hva IP-adresser og hva vi vil kalle vertsnavn 245 00:10:15,720 --> 00:10:18,120 eller fullt kvalifisert domenenavn gjøre for oss. 246 00:10:18,120 --> 00:10:22,610 Det tillater oss å adresse servere med ord i stedet for tall. 247 00:10:22,610 --> 00:10:24,560 Så hvordan gjør vi faktisk se denne konverteringen. 248 00:10:24,560 --> 00:10:26,393 Jeg kommer til å gå videre og åpne opp et program. 249 00:10:26,393 --> 00:10:26,975 250 00:10:26,975 --> 00:10:29,350 Jeg skal bare gå videre og åpne opp et terminalvindu. 251 00:10:29,350 --> 00:10:31,933 Og jeg kommer til å gå videre og vise deg hva en DNS-server gjør. 252 00:10:31,933 --> 00:10:35,700 For eksempel, hvis jeg ønsket å se hva IP-adressen er av Facebook, 253 00:10:35,700 --> 00:10:37,720 Jeg kan skrive på en terminal spør som dette-- 254 00:10:37,720 --> 00:10:40,010 og du kan gjøre dette selv innsiden av maskinen. 255 00:10:40,010 --> 00:10:41,595 Og det er oppslag facebook.com. 256 00:10:41,595 --> 00:10:43,220 257 00:10:43,220 --> 00:10:44,500 >> Og jeg ser en haug med ting. 258 00:10:44,500 --> 00:10:48,097 Denne første reaksjon er Harvards DNS server-- 259 00:10:48,097 --> 00:10:49,930 det bildet som jeg har trukket dit. --that s 260 00:10:49,930 --> 00:10:54,300 forteller meg at Facebooks IP Adressen er tydeligvis dette. 261 00:10:54,300 --> 00:10:58,650 Så la meg gå videre og kopi som 173.252.120.16. 262 00:10:58,650 --> 00:11:00,960 Og la meg åpne opp Chrome på min Mac. 263 00:11:00,960 --> 00:11:06,690 Og la meg gå til http: // og lim at IP-adressen og trykk på Enter. 264 00:11:06,690 --> 00:11:08,950 >> Og ja, jeg finner meg selv på Facebook. 265 00:11:08,950 --> 00:11:11,090 Så en eller annen måte at konvertering, faktisk skjedde. 266 00:11:11,090 --> 00:11:15,314 Og hvis jeg gjør dette igjen, la oss gjør nslookup, www.google.com. 267 00:11:15,314 --> 00:11:17,302 Jeg får tilbake en hel haug med svar. 268 00:11:17,302 --> 00:11:20,010 Og ja, det er forskjellige måter at selskapene gjennomføre dette. 269 00:11:20,010 --> 00:11:22,440 Noen ganger, de forteller verden de har en IP-adresse. 270 00:11:22,440 --> 00:11:25,824 >> Men at en IP-adresse blir løst eller tilordnet til flere servere. 271 00:11:25,824 --> 00:11:27,740 Eller i tilfelle av Google, de forteller om i verden, 272 00:11:27,740 --> 00:11:29,510 vi har en hel haug med IP-adresser. 273 00:11:29,510 --> 00:11:33,910 Din bærbare er velkommen til å snakke kontakt med hvilket som helst av disse serverne. 274 00:11:33,910 --> 00:11:36,200 Så alle som har pågått på under panseret. 275 00:11:36,200 --> 00:11:40,830 >> Når du skriver inn www.google.com Tast i nettleseren, nettleseren din, 276 00:11:40,830 --> 00:11:46,180 og i sin tur operativsystemet, Mac OS eller Windows eller Ubuntu Linux, 277 00:11:46,180 --> 00:11:51,010 spør den nærliggende DNS-server, hva er den faktiske adressen til denne serveren. 278 00:11:51,010 --> 00:11:54,330 Fordi den siste enheten i dette bildet, en ruter, 279 00:11:54,330 --> 00:11:57,840 er det en som har som formål i livet er å ruteinformasjon, 280 00:11:57,840 --> 00:12:01,150 rute pakker så å si, konvolutter av digital informasjon 281 00:12:01,150 --> 00:12:06,320 inneholder nuller og enere fra avsender til destinasjon, fra opprinnelsen 282 00:12:06,320 --> 00:12:07,200 til mottaker. 283 00:12:07,200 --> 00:12:09,760 >> Og så en router ruter ting. 284 00:12:09,760 --> 00:12:13,000 Så hvorfor er dette alt særlig relevant? 285 00:12:13,000 --> 00:12:16,000 Vel, la oss ta en titt på hvordan dette kan brukes. 286 00:12:16,000 --> 00:12:21,600 Anta at jeg har her et bilde av Rob Boden. 287 00:12:21,600 --> 00:12:22,690 288 00:12:22,690 --> 00:12:25,150 Så antar at jeg ønsker å Send dette bildet av Rob Boden 289 00:12:25,150 --> 00:12:27,530 inn Dan i ryggen av forelesningssalen. 290 00:12:27,530 --> 00:12:29,976 >> Så jeg er en datamaskin som min laptop, og Dan 291 00:12:29,976 --> 00:12:31,600 er en annen datamaskin på internett. 292 00:12:31,600 --> 00:12:34,380 Og jeg ønsker å sende en pakke av informasjon fra meg til ham. 293 00:12:34,380 --> 00:12:37,952 Som ber spørsmålet, hvordan gjør jeg faktisk rute denne pakken til ham. 294 00:12:37,952 --> 00:12:40,660 Vel, i menneskelige termer, vil jeg si, hei, kan du sende dette til Dan? 295 00:12:40,660 --> 00:12:42,826 >> Og så, en haug av dere ville trolig passere den tilbake 296 00:12:42,826 --> 00:12:45,890 frem og tilbake og tilbake inntil til slutt gjør sin vei over til Dan. 297 00:12:45,890 --> 00:12:47,700 Men det er litt upresis. 298 00:12:47,700 --> 00:12:50,370 Datamaskiner sannsynligvis må være litt mer metodisk. 299 00:12:50,370 --> 00:12:53,190 Så sannsynligvis har Dan en IP-adresse. 300 00:12:53,190 --> 00:12:57,190 Så hva som egentlig jeg bør gjøre er jeg burde ta, for eksempel, en blank konvolutt 301 00:12:57,190 --> 00:12:58,140 som dette. 302 00:12:58,140 --> 00:13:00,130 Og jeg vet ikke hva Dan IP-adresse er. 303 00:13:00,130 --> 00:13:04,300 >> Så jeg skal bare general det som Dan IP. 304 00:13:04,300 --> 00:13:07,511 Og jeg kommer til å sette dette i Til-feltet i konvolutten min. 305 00:13:07,511 --> 00:13:09,010 Og i mellomtiden, jeg har en IP-adresse. 306 00:13:09,010 --> 00:13:10,610 Det spiller ingen rolle i dag hva det er. 307 00:13:10,610 --> 00:13:15,130 Så jeg skal bare si My IP i hjørnet tilbake dit. 308 00:13:15,130 --> 00:13:19,350 Og så, jeg kommer til å gå foran og sette Dette bildet innsiden av denne konvolutten. 309 00:13:19,350 --> 00:13:22,800 >> Og så, hver av dere, formodentlig, som rutere på internett, 310 00:13:22,800 --> 00:13:25,470 har blitt forhåndskonfigurert av mennesker generelt eller noen ganger 311 00:13:25,470 --> 00:13:29,854 ved bruk av automatiske algoritmer for å vite at hvis Dan IP-adressen starter med en 1, 312 00:13:29,854 --> 00:13:30,770 det skal gå den veien. 313 00:13:30,770 --> 00:13:33,300 Hvis Dan IP-adressen starter med 2, bør det gå den veien. 314 00:13:33,300 --> 00:13:34,450 Kanskje en 3 går på den måten. 315 00:13:34,450 --> 00:13:35,575 Kanskje en 4 går på den måten. 316 00:13:35,575 --> 00:13:36,700 Og det er litt altfor. 317 00:13:36,700 --> 00:13:38,670 Enkelt, men det er den generelle ideen. 318 00:13:38,670 --> 00:13:42,370 Hver av disse routers-- og det kanskje være så mange som 30 mellom meg og Dan. 319 00:13:42,370 --> 00:13:45,140 --have en slags regneark innsiden av deres minne, 320 00:13:45,140 --> 00:13:49,070 en database tabell, som bare sier, IP-adresse som ser slik ut, 321 00:13:49,070 --> 00:13:49,730 går på denne måten. 322 00:13:49,730 --> 00:13:51,960 En IP-adresse som ser som dette, går den veien. 323 00:13:51,960 --> 00:13:54,750 Og det er slik det gjør ganske forenklede beslutninger. 324 00:13:54,750 --> 00:13:59,440 >> Men det viser seg at disse ruterne gjøre noe mer enn det, potensielt. 325 00:13:59,440 --> 00:14:03,550 De lar datamaskiner til garanti for levering, i det minste 326 00:14:03,550 --> 00:14:05,000 med høy sannsynlighet. 327 00:14:05,000 --> 00:14:08,340 Så du kanskje også har hørt, selv om du har aldri helt brydde seg eller lurt 328 00:14:08,340 --> 00:14:12,140 hva det er, har du kanskje hørt på noe av dette akronym. 329 00:14:12,140 --> 00:14:15,500 La oss gå tilbake hit for bare et øyeblikk og trekke opp dette. 330 00:14:15,500 --> 00:14:18,550 >> TCP, Transmission Control Protocol. 331 00:14:18,550 --> 00:14:21,494 En annen teknisk måte bare beskriver en annen teknologi 332 00:14:21,494 --> 00:14:22,660 som er brukt på internett. 333 00:14:22,660 --> 00:14:24,809 Så IP, Internett-protokoll brukes for adressering. 334 00:14:24,809 --> 00:14:27,100 Det noen standard at verden kom opp med det sagt, 335 00:14:27,100 --> 00:14:31,059 du putter en IP-adresse her for Dan, og én IP-adresse her for deg selv, 336 00:14:31,059 --> 00:14:33,100 og deretter sette noen informasjon i en konvolutt. 337 00:14:33,100 --> 00:14:36,600 >> Men TCP er en annen teknologi, brukes i forbindelse med IP. 338 00:14:36,600 --> 00:14:38,970 Og ja, hvis du har noen gang sett disse akronymer før, 339 00:14:38,970 --> 00:14:42,110 du har sikkert sett TCP slash IP som nettopp 340 00:14:42,110 --> 00:14:43,900 betyr at folk har en tendens til å bruke dem sammen. 341 00:14:43,900 --> 00:14:47,570 Vel, er slag av TCP kult fordi det tillater 342 00:14:47,570 --> 00:14:50,220 du å øke sannsynligheten at dataene er faktisk 343 00:14:50,220 --> 00:14:51,970 kommer til å få fra meg til Dan. 344 00:14:51,970 --> 00:14:54,080 >> Faktisk, er internett en gal plass. 345 00:14:54,080 --> 00:14:56,530 Det er ingen garanti for at hvis jeg sender data på denne måten 346 00:14:56,530 --> 00:14:58,530 at det kommer til å gå på den måten neste gang. 347 00:14:58,530 --> 00:14:59,905 Det kan gå den veien eller den måten. 348 00:14:59,905 --> 00:15:02,680 Den korteste avstanden mellom to punktene er ikke nødvendigvis 349 00:15:02,680 --> 00:15:04,860 en rettkjedet eller på samme linje. 350 00:15:04,860 --> 00:15:07,170 >> Videre vil en del av dere gutta kan gjøre feil 351 00:15:07,170 --> 00:15:09,780 eller bli overveldet med for mange konvolutter som kommer din vei. 352 00:15:09,780 --> 00:15:10,940 Så du bare kommer til å gi opp og bokstavelig 353 00:15:10,940 --> 00:15:13,050 slippe noen av disse konvolutter på gulvet. 354 00:15:13,050 --> 00:15:16,930 Og i den samme måten kan data være falt på internett ved rutere. 355 00:15:16,930 --> 00:15:18,680 Så for å redusere Oddsen for dette, jeg kommer 356 00:15:18,680 --> 00:15:21,980 å ta min lille sikkerhet saks her og kutte Rob 357 00:15:21,980 --> 00:15:26,140 inn i, la oss si, fire stykker, fire segmenter. 358 00:15:26,140 --> 00:15:27,210 359 00:15:27,210 --> 00:15:33,350 >> Og nå, jeg kommer til å gå videre og sette enda en bit av informasjon 360 00:15:33,350 --> 00:15:34,610 på denne konvolutten. 361 00:15:34,610 --> 00:15:39,630 Jeg kommer til å si noe sånt som 1 av 4. 362 00:15:39,630 --> 00:15:43,370 Så nå, min siste konvolutt, på minst det første, ser ut som dette. 363 00:15:43,370 --> 00:15:45,500 Jeg kommer til å gå videre og sette dette inn her. 364 00:15:45,500 --> 00:15:47,070 365 00:15:47,070 --> 00:15:53,430 Og for tiden skyld, kommer jeg til å merke de andre identisk som 2 av 4, 366 00:15:53,430 --> 00:15:57,760 3 av 4, 4 av 4. 367 00:15:57,760 --> 00:16:02,170 >> Igjen, med Dan rens IP-adresse i foran det og med min IP-adresse 368 00:16:02,170 --> 00:16:06,660 på ryggen igjen, men jeg kan ikke sende dem ennå. 369 00:16:06,660 --> 00:16:08,930 Fordi det viser seg som på internett, 370 00:16:08,930 --> 00:16:10,980 servere kan gjøre flere ting. 371 00:16:10,980 --> 00:16:14,300 Faktisk kan vi alle bruke nettet ganske mye, den verdensomspennende nettet, 372 00:16:14,300 --> 00:16:16,139 http: // uansett. 373 00:16:16,139 --> 00:16:17,930 Men det finnes andre tjenester på internett. 374 00:16:17,930 --> 00:16:21,760 Hva er noen andre tjenester, sortere av brukeren, forbrukervennlige tjenester 375 00:16:21,760 --> 00:16:25,020 at våren til tankene foruten en nettleser-type program? 376 00:16:25,020 --> 00:16:26,724 377 00:16:26,724 --> 00:16:27,390 PUBLIKUM: E-post. 378 00:16:27,390 --> 00:16:28,180 DAVID MALAN: E-post. 379 00:16:28,180 --> 00:16:28,410 OK. 380 00:16:28,410 --> 00:16:28,630 Good. 381 00:16:28,630 --> 00:16:29,446 Hva er en annen en? 382 00:16:29,446 --> 00:16:30,070 PUBLIKUM: Chat. 383 00:16:30,070 --> 00:16:32,780 DAVID MALAN: Så chat, enten det er Skype, eller Gchat, eller noe 384 00:16:32,780 --> 00:16:33,992 sånn. 385 00:16:33,992 --> 00:16:34,817 >> PUBLIKUM: Lagring. 386 00:16:34,817 --> 00:16:37,150 DAVID MALAN: Så en slags lagringstjeneste, absolutt. 387 00:16:37,150 --> 00:16:39,004 Noe sånt som Dropbox, eller boks eller lignende. 388 00:16:39,004 --> 00:16:40,920 Så det er annerledes tjenester på internett. 389 00:16:40,920 --> 00:16:44,090 Og det viser seg at Dan, hvis han er faktisk en datamaskin, 390 00:16:44,090 --> 00:16:46,520 ikke behøver å være dedikert til én ting i livet. 391 00:16:46,520 --> 00:16:49,650 Han kan faktisk gjøre flere ting. 392 00:16:49,650 --> 00:16:51,740 Og ja, han kan være en e-post server. 393 00:16:51,740 --> 00:16:53,270 Han kan være en web-server. 394 00:16:53,270 --> 00:16:55,120 Han kan være en chat-server. 395 00:16:55,120 --> 00:16:57,600 >> Men det ser ut til å foreslå at Dan trenger å vite 396 00:16:57,600 --> 00:17:01,010 på forhånd hva som er de Innholdet i disse meldingene. 397 00:17:01,010 --> 00:17:02,830 Er dette en nettside Jeg sender ham? 398 00:17:02,830 --> 00:17:04,140 Er det en e-post jeg sender ham? 399 00:17:04,140 --> 00:17:05,930 Er det en umiddelbar melding jeg sender ham? 400 00:17:05,930 --> 00:17:08,630 Så vi trenger en mer stykke informasjon om disse konvolutt 401 00:17:08,630 --> 00:17:10,930 slik at Dan, når han mottar denne konvolutten, 402 00:17:10,930 --> 00:17:13,119 vet hva programmet skal brukes til å vise det. 403 00:17:13,119 --> 00:17:14,200 >> Er det en nettleser? 404 00:17:14,200 --> 00:17:15,170 Er det Google? 405 00:17:15,170 --> 00:17:16,170 Er det Skype? 406 00:17:16,170 --> 00:17:19,760 Eller er det Outlook eller noen andre programmet helt? 407 00:17:19,760 --> 00:17:23,740 Og så, kommer med TCP bare en menneskelig konvensjonen. 408 00:17:23,740 --> 00:17:26,930 Verdens besluttet noen år siden å knytte unike heltall 409 00:17:26,930 --> 00:17:28,520 med de mest populære tjenestene. 410 00:17:28,520 --> 00:17:31,920 >> Ens kalt File Transfer Protocol, FTP, selv om det er litt datert nå. 411 00:17:31,920 --> 00:17:34,150 Men sin unike identifikator er 21. 412 00:17:34,150 --> 00:17:39,020 SMTP for utgående e-post, sin unike identifikator er 25 bare fordi. 413 00:17:39,020 --> 00:17:43,616 DNS, ting vi snakket om tidligere, bruker nummer 53 for sine spørringer. 414 00:17:43,616 --> 00:17:45,365 Som hva er IP Adressen google.com? 415 00:17:45,365 --> 00:17:46,580 416 00:17:46,580 --> 00:17:49,790 >> Og nå, jo mer kjent du kan ha et sted på et tidspunkt 417 00:17:49,790 --> 00:17:52,620 sett nummer 80 og kanskje 443. 418 00:17:52,620 --> 00:17:55,822 De er den unike identifikatorer for HTTP, 419 00:17:55,822 --> 00:17:57,530 som er språket vi vil snart se brukt 420 00:17:57,530 --> 00:18:00,000 for web-trafikk mellom nettlesere og servere. 421 00:18:00,000 --> 00:18:02,740 Og 443 er for sikker versjon av denne. 422 00:18:02,740 --> 00:18:05,530 >> Så en siste detalj jeg er kommer til å sette på konvolutten min 423 00:18:05,530 --> 00:18:08,530 er at jeg ikke kommer til Send dette bare for å Dan IP. 424 00:18:08,530 --> 00:18:13,630 Jeg kommer til å sende den å si, : 80, hvis det jeg prøver å sende 425 00:18:13,630 --> 00:18:16,862 ham er en nettside, en nettside som inneholder Rob Boden bilde. 426 00:18:16,862 --> 00:18:19,320 Så jeg kommer til å gjøre det samme ting på disse andre konvolutter. 427 00:18:19,320 --> 00:18:23,620 >> Og så til slutt, jeg kommer til å droppe disse av med den nærmeste router, 428 00:18:23,620 --> 00:18:26,300 erkjenner at det router kanskje ikke nødvendigvis 429 00:18:26,300 --> 00:18:28,210 ta den samme banen hver gang. 430 00:18:28,210 --> 00:18:30,900 Faktisk kan jeg ha første pakken kommer på denne måten. 431 00:18:30,900 --> 00:18:32,670 Second pakke kan gå den veien. 432 00:18:32,670 --> 00:18:34,250 Tredje packet-- starte ruting. 433 00:18:34,250 --> 00:18:35,420 --might gå over her. 434 00:18:35,420 --> 00:18:36,440 435 00:18:36,440 --> 00:18:39,530 Og i theory-- ikke kan holde det. 436 00:18:39,530 --> 00:18:43,660 I teorien alle fire av disse pakkene bør til slutt ruten sin vei, 437 00:18:43,660 --> 00:18:46,940 men effektivt eller ineffektivt, hele veien til baksiden. 438 00:18:46,940 --> 00:18:51,560 >> På hvilket tidspunkt, Dan, etter kvittering, kan montere dem 439 00:18:51,560 --> 00:18:55,735 basert on-- det morsomme er, vi vet alle hva utfallet her 440 00:18:55,735 --> 00:18:56,360 kommer til å være. 441 00:18:56,360 --> 00:18:57,600 Dan kommer til å få et bilde av Rob. 442 00:18:57,600 --> 00:18:58,974 Men la oss se hvordan dette funker. 443 00:18:58,974 --> 00:18:59,664 444 00:18:59,664 --> 00:19:02,080 Vel, heller, Dan kommer til å få en del av et bilde av Rob. 445 00:19:02,080 --> 00:19:04,286 446 00:19:04,286 --> 00:19:04,785 Veldig bra. 447 00:19:04,785 --> 00:19:06,200 448 00:19:06,200 --> 00:19:07,580 Alle har deltatt i dag. 449 00:19:07,580 --> 00:19:09,200 450 00:19:09,200 --> 00:19:09,910 OK. 451 00:19:09,910 --> 00:19:13,870 Så som Dan begynner å motta disse pakker, la oss stille et spørsmål. 452 00:19:13,870 --> 00:19:18,820 Hva om en av dere får lat, overbelastet, ondsinnet, eller bare drevet 453 00:19:18,820 --> 00:19:22,570 av, og ett eller flere av Pakken gjør det ikke til Dan? 454 00:19:22,570 --> 00:19:26,920 >> Hvordan er Dan kommer til å vite at han ikke gjorde det får en av segmenter av fire 455 00:19:26,920 --> 00:19:28,040 Jeg sendte ham? 456 00:19:28,040 --> 00:19:30,040 Bare intuitivt, hva kan vi gjøre? 457 00:19:30,040 --> 00:19:30,540 Yeah? 458 00:19:30,540 --> 00:19:31,456 >> PUBLIKUM: [uhørlig]. 459 00:19:31,456 --> 00:19:35,885 460 00:19:35,885 --> 00:19:36,760 DAVID MALAN: Nettopp. 461 00:19:36,760 --> 00:19:40,250 Fordi jeg har unikt nummerert dem, og Jeg har spesifisert hvor mange segmenter der 462 00:19:40,250 --> 00:19:44,030 bør være, kan han slutte fra at hvilke, om noen, av segmentene 463 00:19:44,030 --> 00:19:45,070 han er faktisk mangler. 464 00:19:45,070 --> 00:19:48,770 Og hva TCP forteller datamaskiner til gjør, hvis datamaskiner, som Mac OS, 465 00:19:48,770 --> 00:19:52,510 og Windows, og Linux-støtte og forstå TCP, som de gjør, 466 00:19:52,510 --> 00:19:57,010 TCP dokumentasjon hovedsak sier at Dan skulle sende meg 467 00:19:57,010 --> 00:20:00,580 en melding tilbake og sa hei, David, Jeg mangler pakke nummer 1 av 4, 468 00:20:00,580 --> 00:20:02,290 eller 3 av 4, avhengig av hva som det er. 469 00:20:02,290 --> 00:20:06,016 >> Og da er min jobb å ta et annet bilde av Rob, 470 00:20:06,016 --> 00:20:09,140 som vi har statister av for senere i dag Hvis du ønsker å ta med deg, 471 00:20:09,140 --> 00:20:13,550 og så kan jeg sende det segmentet av Rob hele veien til baksiden. 472 00:20:13,550 --> 00:20:16,380 >> Så som forenklede som denne mekanismen er, at 473 00:20:16,380 --> 00:20:20,310 er hva som skjer nesten enhver tid du gjør noe på internett, 474 00:20:20,310 --> 00:20:22,530 spesielt for disse mest populære av tjenester. 475 00:20:22,530 --> 00:20:26,500 Det finnes andre protokoller, andre teknologier i tillegg til TCP 476 00:20:26,500 --> 00:20:27,880 som fungerer litt annerledes. 477 00:20:27,880 --> 00:20:33,040 Men så mange av de tjenestene vi vanligvis bruker faktisk stole på disse protokollene. 478 00:20:33,040 --> 00:20:35,720 >> Så Dan, fikk du hele bildet tilbake dit? 479 00:20:35,720 --> 00:20:36,220 Ja. 480 00:20:36,220 --> 00:20:37,840 Vi har satt sammen Rob i ryggen. 481 00:20:37,840 --> 00:20:39,610 Tusen takk til rutere. 482 00:20:39,610 --> 00:20:43,260 Tenk, jeg faktisk vil ha se rutere mellom meg 483 00:20:43,260 --> 00:20:46,400 og MIT, var mye som dere rutere mellom meg og Dan. 484 00:20:46,400 --> 00:20:49,500 >> Vel, i stedet for nslookup for navnetjener oppslag, 485 00:20:49,500 --> 00:20:53,150 Jeg kan i stedet skrive spor rute, som faktisk kommer til å gjøre det den sier. 486 00:20:53,150 --> 00:20:55,240 Og jeg kommer til å gjøre, og stille modus med dash en. 487 00:20:55,240 --> 00:20:57,448 Det er en kommandolinje argument som bare sier, prøv dette 488 00:20:57,448 --> 00:20:58,740 gang og ikke flere ganger. 489 00:20:58,740 --> 00:21:02,210 >> Og nå kommer jeg til å skrive www.mit.edu. 490 00:21:02,210 --> 00:21:05,660 Nå er det utgang ganske rask og kryptisk. 491 00:21:05,660 --> 00:21:08,300 Men hva er ryddig om dette er at hver av disse rekker 492 00:21:08,300 --> 00:21:10,750 i hovedsak representerer en student i denne målgruppen 493 00:21:10,750 --> 00:21:13,870 hvis du var stien mellom meg og MIT. 494 00:21:13,870 --> 00:21:17,930 Det du ser her oppe, først, er domenenavnet som jeg skrev inn, 495 00:21:17,930 --> 00:21:20,500 eller fullt kvalifisert domenenavn navn som det er skikkelig kalt. 496 00:21:20,500 --> 00:21:24,420 >> Og dette tilsynelatende er den IP-adressen til www.mit.edu. 497 00:21:24,420 --> 00:21:26,260 Datamaskinen min skjønte at ut for meg. 498 00:21:26,260 --> 00:21:29,170 Dette her er et løfte at vi bare kommer 499 00:21:29,170 --> 00:21:31,490 å prøve å nå MIT innen 30 hopp. 500 00:21:31,490 --> 00:21:34,180 Det bedre å være ikke mer enn 30 studenter mellom meg og Dan. 501 00:21:34,180 --> 00:21:37,870 Og nå, hver av disse radene representerer bokstavelig talt en ruter 502 00:21:37,870 --> 00:21:40,280 mellom meg og Dan, bokstavelig talt en av dere. 503 00:21:40,280 --> 00:21:42,950 >> Og så dette ser ikke ut å ha et navn, et domenenavn. 504 00:21:42,950 --> 00:21:44,150 Den har bare en IP. 505 00:21:44,150 --> 00:21:49,439 Og det tok bare 0,662 millisekunder å komme fra meg til den første ruteren. 506 00:21:49,439 --> 00:21:51,230 Den neste var ikke at mye lenger unna. 507 00:21:51,230 --> 00:21:53,560 Det tok bare én millisekund for å komme dit. 508 00:21:53,560 --> 00:21:56,280 Og nå, heldigvis, ting få litt mer brukervennlig 509 00:21:56,280 --> 00:21:58,860 med navn som er kryptisk men litt mer å fortelle. 510 00:21:58,860 --> 00:22:03,440 >> Dette er tilsynelatende en ruter i Kjernen i Harvard nettverk huset, 511 00:22:03,440 --> 00:22:06,330 bare fordi folk har fortalt oss Dette, i Science Center, SC. 512 00:22:06,330 --> 00:22:11,720 Og GW er bare en forkortelse notasjon for gateway som er et synonym for ruteren. 513 00:22:11,720 --> 00:22:14,630 Så dette er noe system administratorens hevet måte 514 00:22:14,630 --> 00:22:17,230 navngi en av serverne i Science Center. 515 00:22:17,230 --> 00:22:20,360 >> I mellomtiden er at serveren tilsynelatende forbundet ved hjelp av en form for kabel 516 00:22:20,360 --> 00:22:24,760 til en annen router som er klengenavnet grensen gateway en dash 517 00:22:24,760 --> 00:22:26,770 noe, uansett hva disse tallene betyr. 518 00:22:26,770 --> 00:22:29,230 Og så, tilsynelatende, Harvard har en forbindelse 519 00:22:29,230 --> 00:22:31,340 det er en annen millisekund bort til noe 520 00:22:31,340 --> 00:22:35,590 kalt den nordlige veiskille som er en felles samtrafikkpunkt 521 00:22:35,590 --> 00:22:38,430 mellom store steder som Harvard hvor mye kabling går i 522 00:22:38,430 --> 00:22:40,870 og lar sammenkoblinger mellom ulike enheter. 523 00:22:40,870 --> 00:22:43,700 >> Trinn seks, dessverre, ikke har en gyldig navn. 524 00:22:43,700 --> 00:22:45,370 Og steg syv blir interessant. 525 00:22:45,370 --> 00:22:46,820 526 00:22:46,820 --> 00:22:49,260 Jeg aner ikke hva de fleste av disse mener. 527 00:22:49,260 --> 00:22:50,875 Men NY ikke hoppe ut på meg. 528 00:22:50,875 --> 00:22:52,375 Og hva betyr det trolig bety? 529 00:22:52,375 --> 00:22:54,810 530 00:22:54,810 --> 00:22:56,520 Det er ikke engang teknisk. 531 00:22:56,520 --> 00:22:57,400 Bare New York. 532 00:22:57,400 --> 00:23:00,510 Så ja, hva er vanlig menneske konvensjonen ikke garantert 533 00:23:00,510 --> 00:23:04,730 men felles konvensjonen er å navngi rutere av natur i byen eller flyplassen 534 00:23:04,730 --> 00:23:05,960 kode som de er nærmest. 535 00:23:05,960 --> 00:23:08,630 >> Så med en viss sannsynlighet, denne ruteren nummer syv 536 00:23:08,630 --> 00:23:10,270 er sannsynligvis, ja, i New York. 537 00:23:10,270 --> 00:23:13,020 Og dette ser ut til å underbygge denne antakelsen fordi det er 538 00:23:13,020 --> 00:23:16,700 seks millisekunder i stedet for bare ett eller så til noe her på campus. 539 00:23:16,700 --> 00:23:19,900 Men nå tar dette i betraktning, rett på Megabus eller whatnot, 540 00:23:19,900 --> 00:23:23,810 det kan ta fire, fem, seks timer for å få et menneske herfra til New York. 541 00:23:23,810 --> 00:23:28,040 >> For å få en bit av data, det tar bare seks millisekunder 542 00:23:28,040 --> 00:23:31,020 å få en pakke fra meg til Dan hvis Han var hele veien i New York. 543 00:23:31,020 --> 00:23:36,832 Da endelig, tilsynelatende er dette faktiske domenenavnet for www.mit.edu. 544 00:23:36,832 --> 00:23:38,790 De har tydeligvis outsourcet sine webservere 545 00:23:38,790 --> 00:23:42,030 til et selskap kalt Akamai som betyr noen andre selskap driver sine servere. 546 00:23:42,030 --> 00:23:44,380 Og det er derfor vi ser det rare ting der. 547 00:23:44,380 --> 00:23:45,720 >> Vel, la oss gjøre dette på nytt. 548 00:23:45,720 --> 00:23:49,150 La oss gå videre og gjøre et spor rute til vår venn Professor Nick 549 00:23:49,150 --> 00:23:52,955 Parlante ved Stanford som har en server kalt 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 Og nå, vi får se nok en litt lengre bane 553 00:23:59,460 --> 00:24:00,960 som går gjennom noen flere byer. 554 00:24:00,960 --> 00:24:03,160 Så her disse navnløse Harvard servere her. 555 00:24:03,160 --> 00:24:05,660 Vi er i kjernen av Harvard, grensen gateway of Harvard, 556 00:24:05,660 --> 00:24:08,081 de nordlige veiskille, uansett hvor dette er. 557 00:24:08,081 --> 00:24:10,080 Og nå, det blir en litt mer interessant. 558 00:24:10,080 --> 00:24:12,960 Jeg gjetter på at ruteren nummer åtte er i hvilken by? 559 00:24:12,960 --> 00:24:14,210 PUBLIKUM: [interposing VOICES] 560 00:24:14,210 --> 00:24:18,570 DAVID MALAN: Chicago trolig, basert om dette, basert på denne tingen her. 561 00:24:18,570 --> 00:24:25,220 Og nå har vi Salt Lake City kanskje, kanskje Los Angeles her, og deretter LAX, 562 00:24:25,220 --> 00:24:27,690 Jepp, dette er trolig LA ved bunnen. 563 00:24:27,690 --> 00:24:29,940 Inntil endelig, går det fra Sør-California 564 00:24:29,940 --> 00:24:34,420 helt opp til Nord-California til der Stanford ligger i Palo Alto. 565 00:24:34,420 --> 00:24:35,299 Så ganske kult. 566 00:24:35,299 --> 00:24:36,840 Og la oss ta dette ett skritt videre. 567 00:24:36,840 --> 00:24:39,000 Det tilsynelatende ville ta deg 82 millisekunder 568 00:24:39,000 --> 00:24:42,360 å sende en melding til Dan hvis du var i California i stedet for New York. 569 00:24:42,360 --> 00:24:45,090 La oss gjøre noe som sporveier, en 570 00:24:45,090 --> 00:24:51,350 forsøke å www.cnn.co.jp for Japanske versjonen av CNNs nettside. 571 00:24:51,350 --> 00:24:52,540 572 00:24:52,540 --> 00:24:54,910 Og nå er vi fortsatt i Boston det virker i øyeblikket. 573 00:24:54,910 --> 00:24:56,050 574 00:24:56,050 --> 00:24:58,165 >> Et par servere seks og åtte svarer ikke 575 00:24:58,165 --> 00:24:59,790 fordi de er å være litt privat. 576 00:24:59,790 --> 00:25:04,970 Men til slutt, det synes å være noe interessant skjer mellom, 577 00:25:04,970 --> 00:25:08,395 la oss si, steg syv og ni. 578 00:25:08,395 --> 00:25:09,800 579 00:25:09,800 --> 00:25:12,610 Hva er trolig mellom syv og ni, og sikkert 580 00:25:12,610 --> 00:25:14,610 mellom sju og trinn 17? 581 00:25:14,610 --> 00:25:18,090 582 00:25:18,090 --> 00:25:20,210 Det er et stort hopp i mengden av tiden 583 00:25:20,210 --> 00:25:23,540 det er å ta for data å gå fra ett av disse humle, en av disse rutere 584 00:25:23,540 --> 00:25:24,060 til en annen. 585 00:25:24,060 --> 00:25:27,310 >> Så oddsen er, et sted i her, det er nok, 586 00:25:27,310 --> 00:25:31,440 spesielt akkurat her, er det sannsynligvis en svært stor vannmasse som 587 00:25:31,440 --> 00:25:35,320 har noen trans Pacific eller trans Atlantic kabel som faktisk krever 588 00:25:35,320 --> 00:25:37,710 enda mer tid for data til komme seg fra ett punkt til et annet. 589 00:25:37,710 --> 00:25:40,690 Men igjen, tenk timer det ville ta fly til Japan. 590 00:25:40,690 --> 00:25:45,786 Her, i rundt 200 millisekunder, boom, er meldingen faktisk det. 591 00:25:45,786 --> 00:25:48,160 Så du kan spille rundt med dette på apparatet eller 592 00:25:48,160 --> 00:25:50,940 i Windows eller Mac OS med litt forskjellige kommandoer. 593 00:25:50,940 --> 00:25:53,860 Noen ganger vil du få disse stjernene, som i rader seks og åtte, noe som 594 00:25:53,860 --> 00:25:55,300 betyr bare rutere er ikke konfigurert 595 00:25:55,300 --> 00:25:57,120 å gi deg et svar for privatliv skyld. 596 00:25:57,120 --> 00:26:00,210 Men generelt, denne teknikken ville faktisk fungerer. 597 00:26:00,210 --> 00:26:03,730 >> Så det viser seg også det er andre saftig informasjon lurking i verktøy 598 00:26:03,730 --> 00:26:05,610 at du tar for gitt hver dag. 599 00:26:05,610 --> 00:26:08,560 Så for eksempel, hvis du mottar en e-post, ærlig som noen av dere 600 00:26:08,560 --> 00:26:11,270 kan ha nylig, av tvilsom opprinnelse, hvis du har aldri 601 00:26:11,270 --> 00:26:13,330 sett på Gmail-grensesnitt før, enten det er 602 00:26:13,330 --> 00:26:15,560 for college-grensesnitt eller personlig, 603 00:26:15,560 --> 00:26:17,620 du kan se din innboksen ser ut som dette. 604 00:26:17,620 --> 00:26:20,910 >> Og faktisk, dette er en e-post Jeg sendte, malan@harvard.edu, 605 00:26:20,910 --> 00:26:24,620 til jharvard@cs50.harvard.edu denne morgenen bare 606 00:26:24,620 --> 00:26:26,070 slik at jeg kunne ta en skjermdump. 607 00:26:26,070 --> 00:26:28,149 Men det viser seg, alt denne gangen i Gmail, 608 00:26:28,149 --> 00:26:30,190 det er den lille trekanten mot høyre 609 00:26:30,190 --> 00:26:34,080 der ved siden av Harvard crest at hvis du klikker, kan du klikke Show Original. 610 00:26:34,080 --> 00:26:35,160 611 00:26:35,160 --> 00:26:39,260 Og hvis du gjør det, vil du faktisk se en gjeng med veldig esoteriske informasjon 612 00:26:39,260 --> 00:26:43,360 som tidsstempler, og IP adresser og domenenavn. 613 00:26:43,360 --> 00:26:46,990 >> Men du vil se, kort sagt, overskrifter som hele denne tiden har 614 00:26:46,990 --> 00:26:50,430 blitt truffet i hver e-post du sender og mottar. 615 00:26:50,430 --> 00:26:54,130 Og det er disse overskriftene som folk kan bruke, dataingeniør eller på annen måte, 616 00:26:54,130 --> 00:26:56,670 å faktisk slutte med viss sannsynlighet der 617 00:26:56,670 --> 00:26:59,290 og fra hvem en e-post faktisk kom. 618 00:26:59,290 --> 00:27:01,830 >> Faktisk vil vi snakke i senere uker om hvordan e-post 619 00:27:01,830 --> 00:27:04,100 seg selv kan genereres programma som 620 00:27:04,100 --> 00:27:07,100 er en veldig god ting for et nettsted som ønsker å sende e-post til brukere. 621 00:27:07,100 --> 00:27:12,020 Men vi får se, også, bare hvor trivielt det er å forfalske e-poster fra noen 622 00:27:12,020 --> 00:27:15,380 til noen andre, med mindre du faktisk vet hvordan å verifisere overskrifter. 623 00:27:15,380 --> 00:27:18,670 Og selv det er en tapende proposisjoner i disse dager. 624 00:27:18,670 --> 00:27:22,220 >> Så med det sagt, la oss gå ett lag opp. 625 00:27:22,220 --> 00:27:25,100 Vi startet med IP som adresser pakker for oss, 626 00:27:25,100 --> 00:27:26,470 gir dem unike adresser. 627 00:27:26,470 --> 00:27:29,770 TCP, som, kort sagt, garanterer levering eller minst 628 00:27:29,770 --> 00:27:34,002 øker sannsynligheten derav ved legge ting som segmenter, 1 eller 4, 629 00:27:34,002 --> 00:27:36,740 2 av 4, 3 til 4, og 4 av 4. 630 00:27:36,740 --> 00:27:40,710 >> Og nå, la oss lag på toppen av at en annen protokoll. 631 00:27:40,710 --> 00:27:44,550 Alle disse tingene er protokoller, data konvensjoner 632 00:27:44,550 --> 00:27:47,670 som dikterer hvordan to datamaskinene snakke med hverandre. 633 00:27:47,670 --> 00:27:52,030 HTTP, til slutt i dag, er Hypertext Transfer Protocol. 634 00:27:52,030 --> 00:27:54,100 Og dette er protokollen at nettlesere 635 00:27:54,100 --> 00:27:56,410 bruke når du snakker til webservere. 636 00:27:56,410 --> 00:27:59,970 >> Så når du trekker opp en nettleser som Chrome eller IE, eller Firefox eller Safari, 637 00:27:59,970 --> 00:28:04,230 eller hva, og du skriver inn noe som facebook.com og trykk enter, 638 00:28:04,230 --> 00:28:08,390 ikke bare gjør datamaskinen først sette facebook.com inn i hva? 639 00:28:08,390 --> 00:28:10,590 640 00:28:10,590 --> 00:28:11,770 En IP-adresse. 641 00:28:11,770 --> 00:28:17,420 Deretter converts-- det da sender en melding til den IP-adressen ordtak, 642 00:28:17,420 --> 00:28:21,360 gi meg dagens hjemmeside eller gi meg innloggingsskjermen på Facebook. 643 00:28:21,360 --> 00:28:25,290 >> Eller hvis du allerede er logget inn, gi meg standardvisningen av min tidslinje. 644 00:28:25,290 --> 00:28:26,820 Så det er hva HTTP sier. 645 00:28:26,820 --> 00:28:30,055 Og mer folkemunne, hvis jeg er en web- server, og du are-- hva heter, 646 00:28:30,055 --> 00:28:30,180 igjen? 647 00:28:30,180 --> 00:28:30,920 >> PUBLIKUM: Margot. 648 00:28:30,920 --> 00:28:34,250 >> DAVID MALAN: Margot er en web server, og jeg er en nettleser, 649 00:28:34,250 --> 00:28:37,610 og jeg ønsker bare å hente min tidslinje fra Margot, margot.com, 650 00:28:37,610 --> 00:28:39,640 Jeg vil si, hallo, jeg er David. 651 00:28:39,640 --> 00:28:40,870 >> PUBLIKUM: Hei, jeg er Margot. 652 00:28:40,870 --> 00:28:43,570 >> DAVID MALAN: Og du vil da svare med ytterligere informasjon til meg. 653 00:28:43,570 --> 00:28:45,890 Så vi har denne dumme menneske konvensjon for instance-- takk. 654 00:28:45,890 --> 00:28:47,510 --of risting hverandres hender. 655 00:28:47,510 --> 00:28:51,670 Og datamaskiner har den samme ideen der en klient, som en nettleser, 656 00:28:51,670 --> 00:28:55,600 spør en server for å gjøre noe på hans eller hennes vegne. 657 00:28:55,600 --> 00:28:57,540 >> Og så her er et bilde, for eksempel. 658 00:28:57,540 --> 00:29:01,120 Til venstre er en datamaskin laptop, desktop, uansett, eller til og med en telefon. 659 00:29:01,120 --> 00:29:03,890 Og til høyre er en svært datert visning av en server. 660 00:29:03,890 --> 00:29:06,460 De vanligvis ser mindre og mer sexy i disse dager. 661 00:29:06,460 --> 00:29:09,570 Men poenget er ganske enkelt at det er noen form for kommunikasjon 662 00:29:09,570 --> 00:29:11,800 mellom klient og server. 663 00:29:11,800 --> 00:29:14,080 >> Og kunder i den forstand av noen i en restaurant 664 00:29:14,080 --> 00:29:16,620 og servitør eller servitør, samme ideen med datamaskiner. 665 00:29:16,620 --> 00:29:19,340 Klienter og servere, en spør etter informasjon, 666 00:29:19,340 --> 00:29:21,560 en reagerer med informasjon. 667 00:29:21,560 --> 00:29:23,920 Nå, hvordan det informasjon kommer tilbake? 668 00:29:23,920 --> 00:29:25,890 Vel, tenk på dette. 669 00:29:25,890 --> 00:29:30,360 Få er liksom standard måte-- og det er en super enkel sikt. 670 00:29:30,360 --> 00:29:34,530 --that bare dikterer hvordan en nettleser får informasjon fra en server. 671 00:29:34,530 --> 00:29:38,270 >> Med andre ord, i stedet for bare tabbe-ily strekker min hånd til Margot, 672 00:29:38,270 --> 00:29:42,100 hvis jeg virkelig var en nettleser, jeg ville ting innsiden av en konvolutt, 673 00:29:42,100 --> 00:29:46,580 som jeg gjorde med Rob bilde før, en tekstmelding som bokstavelig talt sier 674 00:29:46,580 --> 00:29:53,084 noe sånt som dette, get / http / 1.1hostwww.google.com 675 00:29:53,084 --> 00:29:56,670 eller margot.com eller hva serverens navn skulle skje for å være. 676 00:29:56,670 --> 00:29:58,540 Og så, dot dot dot, noen andre ting. 677 00:29:58,540 --> 00:30:00,310 >> Men bokstavelig talt, på innsiden av en konvolutt ville 678 00:30:00,310 --> 00:30:03,290 være ganske enkel tekstlig Meldingen sånn. 679 00:30:03,290 --> 00:30:05,990 Som ved mottak, Margot ville åpne opp, lese innholdet, 680 00:30:05,990 --> 00:30:07,640 og reagere deretter. 681 00:30:07,640 --> 00:30:12,000 Nå er det litt ikke-åpenbare sammen med dette eksemplet. 682 00:30:12,000 --> 00:30:16,130 Men få / hva er skråstreken trolig refererer til, bare basert 683 00:30:16,130 --> 00:30:20,470 på ditt kjennskap surfer på nettet i dagliglivet? 684 00:30:20,470 --> 00:30:22,206 Hva er skråstreken? 685 00:30:22,206 --> 00:30:23,147 >> PUBLIKUM: [uhørlig]. 686 00:30:23,147 --> 00:30:24,480 DAVID MALAN: En flukt sekvens. 687 00:30:24,480 --> 00:30:27,280 Ikke en dårlig idé, men generelt utgangssekvenser gå den andre veien. 688 00:30:27,280 --> 00:30:28,760 Det ville være en backslash vanligvis. 689 00:30:28,760 --> 00:30:29,560 Men ikke en dårlig 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 peker. 693 00:30:31,830 --> 00:30:35,100 Også god tanke, men enda enklere enn det. 694 00:30:35,100 --> 00:30:36,250 Hjemmekatalogen. 695 00:30:36,250 --> 00:30:38,380 Roten av en harddisk, så å si. 696 00:30:38,380 --> 00:30:39,890 De fleste av oss ikke skriver dette. 697 00:30:39,890 --> 00:30:43,150 Men teknisk sett, hvis du ønsket å være super skikkelig i disse dager, 698 00:30:43,150 --> 00:30:50,056 du vil gå til noe som http://www.facebook.com/. 699 00:30:50,056 --> 00:30:52,580 >> Nå sa jeg de fleste av oss ville ikke ikke oppgi skråstreken. 700 00:30:52,580 --> 00:30:54,770 Og ærlig talt, de fleste nettlesere, Chrome inkludert, 701 00:30:54,770 --> 00:30:57,019 ikke engang bry viser oss skråstreken i disse dager 702 00:30:57,019 --> 00:30:59,060 bare fordi de liker å være enkel og konsis. 703 00:30:59,060 --> 00:31:02,920 Men skråstreken betyr bare gå til www.facebook.com og få 704 00:31:02,920 --> 00:31:08,076 slash, roten av harddisken, standard nettstedet på facebook.com. 705 00:31:08,076 --> 00:31:09,240 Ved hjelp av hvilken protokoll? 706 00:31:09,240 --> 00:31:14,910 Vel, bruker versjon 1.1 av denne tingen kalt HTTP. 707 00:31:14,910 --> 00:31:16,750 >> Serveren, eller Margot-- og forresten, gjør 708 00:31:16,750 --> 00:31:17,920 Har du noe imot at jeg bruker dere i disse? 709 00:31:17,920 --> 00:31:18,419 OK. 710 00:31:18,419 --> 00:31:19,430 Så vi er bra nå. 711 00:31:19,430 --> 00:31:23,910 Så Margot respons nå med en konvolutt av hennes egne, innsiden av som 712 00:31:23,910 --> 00:31:26,040 er en tilsvarende tekstmelding. 713 00:31:26,040 --> 00:31:30,640 Den første linjen som er, Jepp, jeg snakker HTTP versjon 1.1. 714 00:31:30,640 --> 00:31:34,930 200 er statuskoden som nettopp betyr alt er OK. 715 00:31:34,930 --> 00:31:37,440 Jeg har siden du leter etter. 716 00:31:37,440 --> 00:31:44,040 >> I mellomtiden, Content-Type: text / html, dette er Margot halv uforståelige måte å si: 717 00:31:44,040 --> 00:31:46,190 hva du har bedt om, er en web-side. 718 00:31:46,190 --> 00:31:50,530 Og det er typen, så å speak-- nesten som en variabel måte, 719 00:31:50,530 --> 00:31:52,060 men dette er mye høyere nivå nå. 720 00:31:52,060 --> 00:31:55,380 Datatypen er tekst men spesielt HTML. 721 00:31:55,380 --> 00:31:57,210 Språket vil vi snart se. 722 00:31:57,210 --> 00:31:58,700 >> Og så er det noen andre ting. 723 00:31:58,700 --> 00:32:02,060 Så andre ting er bokstavelig talt hva Facebook svarer med. 724 00:32:02,060 --> 00:32:03,400 Så la oss se dette, også. 725 00:32:03,400 --> 00:32:05,380 La meg gå videre og åpne opp Chrome på min laptop 726 00:32:05,380 --> 00:32:07,980 som du kan gjøre på egen egen datamaskin også. 727 00:32:07,980 --> 00:32:12,035 Og jeg kommer til å gå videre og åpne opp 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 Og jeg får denne kjent skjermen her. 731 00:32:16,264 --> 00:32:17,930 Men nå, jeg kommer til å gjøre noe annet. 732 00:32:17,930 --> 00:32:21,670 Jeg kommer til å gå videre og gå til Vis, Developer. 733 00:32:21,670 --> 00:32:24,190 Og gå til Developer Verktøy, som du bør 734 00:32:24,190 --> 00:32:27,377 har i Chrome på datamaskinen, minst innenfor apparatet. 735 00:32:27,377 --> 00:32:29,460 Jeg kommer til å rulle dette ting her oppe, og du er 736 00:32:29,460 --> 00:32:33,060 kommer til å se en hel haug av kryptiske teksten her. 737 00:32:33,060 --> 00:32:37,920 >> Det viser seg at det Margot satt inni av at konvolutten som svar til meg 738 00:32:37,920 --> 00:32:41,472 er et språk som heter HTML, Hypertext Markup Language. 739 00:32:41,472 --> 00:32:43,680 Det er ikke et programmerings språk fordi du ikke kan, det 740 00:32:43,680 --> 00:32:46,679 ikke har looper, og forhold, og funksjoner, og sånt. 741 00:32:46,679 --> 00:32:47,870 Det er et kodespråk. 742 00:32:47,870 --> 00:32:52,110 Etter at den har spesiell syntaks kalt tags og attributter 743 00:32:52,110 --> 00:32:57,120 som forteller en nettleser hva som skal vises på skjermen og hvordan du viser det. 744 00:32:57,120 --> 00:32:57,920 Skal være sentrert? 745 00:32:57,920 --> 00:32:58,920 Skulle det være dristig-faced? 746 00:32:58,920 --> 00:33:00,270 Rød, grønn, blå? 747 00:33:00,270 --> 00:33:01,390 Det er et kodespråk. 748 00:33:01,390 --> 00:33:04,970 I den, forteller en nettleser hva som skal vises på skjermen. 749 00:33:04,970 --> 00:33:10,530 Så dette er, bokstavelig talt, alt av HTML og mer at Facebook-server 750 00:33:10,530 --> 00:33:13,950 spytter ut og at Chrome og IE, og Firefox har 751 00:33:13,950 --> 00:33:17,820 blitt designet av deres respektive forfatterne å forstå. 752 00:33:17,820 --> 00:33:20,780 >> Og faktisk, det er en litt messier enn det. 753 00:33:20,780 --> 00:33:24,290 Hvis du i stedet å gå til Vis, Utvikler, View Source, 754 00:33:24,290 --> 00:33:27,550 dette er faktisk hva Facebook er ut å sette. 755 00:33:27,550 --> 00:33:29,800 Sorter på null for fem for stil, ikke sant, hvis vi 756 00:33:29,800 --> 00:33:31,479 antyde at dette sannsynligvis ikke er den beste. 757 00:33:31,479 --> 00:33:34,270 Men ærlig talt, de kan komme unna med det fordi hvis du serverer opp 758 00:33:34,270 --> 00:33:36,090 milliarder av nettsider per dag, du virkelig 759 00:33:36,090 --> 00:33:40,040 ønsker ikke å kaste bort tid, og bytes, og penger til slutt i å overføre 760 00:33:40,040 --> 00:33:43,000 ting som ny linje tegn og mellomrom, og faner 761 00:33:43,000 --> 00:33:46,870 fordi du tilbringer for båndbredde unødvendig med din ISP. 762 00:33:46,870 --> 00:33:49,580 >> Så ja, dette er ment å bli minified på denne måten. 763 00:33:49,580 --> 00:33:51,740 Men hva Chrome gjør for oss er, er det å ta 764 00:33:51,740 --> 00:33:56,310 denne HTML, som helt ser ut som rotete og uforståelig til menneske, 765 00:33:56,310 --> 00:33:57,580 og det er bare å formatere det. 766 00:33:57,580 --> 00:34:00,280 Det er ganske skriver det slik at Vi kan bryte våre sinn rundt det 767 00:34:00,280 --> 00:34:01,452 litt lettere. 768 00:34:01,452 --> 00:34:02,660 Men mer interessant er dette. 769 00:34:02,660 --> 00:34:06,180 Hvis jeg nå klikke i Chrome, elementer, men ikke nettverk, 770 00:34:06,180 --> 00:34:08,520 Jeg kommer til å se litt logging skjerm som er 771 00:34:08,520 --> 00:34:11,040 kommer til å vise meg alt av HTTP-forespørsler 772 00:34:11,040 --> 00:34:14,380 som faktisk kommer tilbake og tilbake mellom meg og Facebook eller meg 773 00:34:14,380 --> 00:34:17,219 og Margot hvis jeg gjør mer enn én forespørsel. 774 00:34:17,219 --> 00:34:21,409 >> Så jeg kommer til å gå videre og klikk reload ikonet opp her i Chrome. 775 00:34:21,409 --> 00:34:23,850 Og nå, en hel haug med ting fløy forbi nederst. 776 00:34:23,850 --> 00:34:25,710 Jeg kommer til å rulle tilbake til toppen. 777 00:34:25,710 --> 00:34:29,350 Og nå, merker dette, aller første be nettleseren min 778 00:34:29,350 --> 00:34:31,340 gjorde var å www.facebook.com. 779 00:34:31,340 --> 00:34:34,199 >> Det er ved hjelp av Hent mekanisme som bare betyr 780 00:34:34,199 --> 00:34:37,810 det taler tekstlig språk at vi så et eksempel på et øyeblikk siden. 781 00:34:37,810 --> 00:34:41,909 Og dessuten, det viser seg at responsen at Facebook 782 00:34:41,909 --> 00:34:46,070 ga meg 200 OK, noe som betyr at jeg funnet websiden i spørsmålet. 783 00:34:46,070 --> 00:34:49,630 >> Hvis jeg klikker på denne raden, kan jeg faktisk se disse overskrifter litt mer 784 00:34:49,630 --> 00:34:50,800 tydelig. 785 00:34:50,800 --> 00:34:52,810 Disse vil være mer fornuftig før lenge. 786 00:34:52,810 --> 00:34:57,020 Men legg merke til at nettleseren min sender en hel masse informasjon som vert, 787 00:34:57,020 --> 00:34:59,320 og metode, og cookies. 788 00:34:59,320 --> 00:35:00,879 Vi vil komme tilbake til dem før lenge. 789 00:35:00,879 --> 00:35:03,170 Og du vil til slutt forstå hva en cookie faktisk er 790 00:35:03,170 --> 00:35:04,930 og hvordan du snart skal sende dem. 791 00:35:04,930 --> 00:35:06,900 >> Og du kan se hva Facebook sender tilbake, 792 00:35:06,900 --> 00:35:12,230 inkludert innholdet type tekst HTML, gjeldende dato tid, sin personvern 793 00:35:12,230 --> 00:35:15,530 politikk, eller mangel på sådan, og så, til slutt, en rekke cookies 794 00:35:15,530 --> 00:35:18,050 som blir satt på datamaskinen også. 795 00:35:18,050 --> 00:35:20,140 Men vi skal erte dem fra hverandre før lenge. 796 00:35:20,140 --> 00:35:23,950 >> Men kort sagt, hver gang du besøkt en nettside, som nå i mange år, 797 00:35:23,950 --> 00:35:26,970 du har vært å sende meldinger til den jeg sendte i en konvolutt 798 00:35:26,970 --> 00:35:28,230 til Margot og Dan. 799 00:35:28,230 --> 00:35:31,210 Og du har fått tilbake svar som dette fra Facebook. 800 00:35:31,210 --> 00:35:35,650 Men dessuten, gjett hva som blir utlevert til Facebook, og Google, 801 00:35:35,650 --> 00:35:39,101 og alle andre hver gang du besøker en nettside? 802 00:35:39,101 --> 00:35:42,100 Hva er på utsiden av hvert konvolutt datamaskinen har vært å sende? 803 00:35:42,100 --> 00:35:43,800 804 00:35:43,800 --> 00:35:45,590 Din IP-adresse, ikke sant? 805 00:35:45,590 --> 00:35:48,720 Kanskje ikke ditt navn per se, men din IP-adresse. 806 00:35:48,720 --> 00:35:52,410 Og bare, la oss koble prikker senere, hvis du bruker tjenester 807 00:35:52,410 --> 00:35:54,430 som web, eller BitTorrent, og livet, 808 00:35:54,430 --> 00:35:56,860 og du har registrert en datamaskin på et sted som Harvard, 809 00:35:56,860 --> 00:36:01,080 noen sted vet at John Harvards IP håndterer dette, dot dette, 810 00:36:01,080 --> 00:36:02,350 dot dette, dot dette. 811 00:36:02,350 --> 00:36:06,730 >> Og ja, logger kan han holdt både på en campus som dette, på en Comcast nettverk, 812 00:36:06,730 --> 00:36:10,270 på Verizon, eller ærlig, på NSA som vi nylig har lært, 813 00:36:10,270 --> 00:36:14,040 som logger stort sett alt som du gjør på internett. 814 00:36:14,040 --> 00:36:15,910 Og vi vil komme tilbake til dette fremtiden klassen 815 00:36:15,910 --> 00:36:18,990 på konsekvensene av disse design beslutninger og sikkerhet. 816 00:36:18,990 --> 00:36:21,920 >> Men sannheten er, at du virkelig har ikke så mye privatliv. 817 00:36:21,920 --> 00:36:25,380 Hver gang du har vært på besøk hvor som helst på nettet, er at du viser hånden din 818 00:36:25,380 --> 00:36:28,720 og avslørende minst din IP-adresse. 819 00:36:28,720 --> 00:36:35,930 Så skummelt notat til side, hva kan vi gjøre for å legge ting som katter i en web-side? 820 00:36:35,930 --> 00:36:40,730 >> Så vi har en haug med svar som kan komme tilbake fra serveren. 821 00:36:40,730 --> 00:36:42,340 Og vi vil ikke se alle disse i dag. 822 00:36:42,340 --> 00:36:43,800 Men 200 er god. 823 00:36:43,800 --> 00:36:46,622 Og er du sannsynligvis ikke sett alle disse som et menneske før. 824 00:36:46,622 --> 00:36:48,580 Men du har sikkert sett i det minste en av disse. 825 00:36:48,580 --> 00:36:50,204 Hvilken av disse kan se kjent ut? 826 00:36:50,204 --> 00:36:51,097 PUBLIKUM: 404 827 00:36:51,097 --> 00:36:51,930 DAVID MALAN: So 404. 828 00:36:51,930 --> 00:36:52,695 Finner ikke filen. 829 00:36:52,695 --> 00:36:55,320 Og ja, du kommer til å se dette programmatisk selv. 830 00:36:55,320 --> 00:37:00,220 404 betyr bare filen du har bedt om, slash eller kutte noe, rett og slett 831 00:37:00,220 --> 00:37:00,950 ikke eksisterer. 832 00:37:00,950 --> 00:37:04,380 Og en web-server typisk svarer med 404 som et resultat 833 00:37:04,380 --> 00:37:09,680 >> I mellomtiden vil vi snart se at innholdet i den meldingen 834 00:37:09,680 --> 00:37:11,800 er dette språket kjent som HTML. 835 00:37:11,800 --> 00:37:15,070 Og dette er en super enkelt bit med HTML 836 00:37:15,070 --> 00:37:18,380 som ikke gjør noe annet enn vise hello world på skjermen. 837 00:37:18,380 --> 00:37:21,830 Faktisk, ser du på toppen av dette noe som kalles en dokumenttype 838 00:37:21,830 --> 00:37:24,220 erklæring som bare sier hei, verden. 839 00:37:24,220 --> 00:37:25,964 Denne filen inneholder HTML. 840 00:37:25,964 --> 00:37:28,380 Og så, neste bit av HTML at du kommer til å skrive, 841 00:37:28,380 --> 00:37:30,930 den har en åpen hylle, og deretter ordet HTML, 842 00:37:30,930 --> 00:37:33,670 deretter en lukket brakett, og deretter åpen hodet, og nær braketten. 843 00:37:33,670 --> 00:37:36,000 Så kort sagt, la oss faktisk gjøre dette mer mekanisk. 844 00:37:36,000 --> 00:37:39,980 La meg gå inn i min apparatet, men du kan gjøre dette hvor som helst 845 00:37:39,980 --> 00:37:42,110 at du har en tekst editor til. 846 00:37:42,110 --> 00:37:45,105 >> Jeg kommer til å gå videre og lagre en fil som heter hello.html. 847 00:37:45,105 --> 00:37:46,440 848 00:37:46,440 --> 00:37:49,640 Jeg kommer til å sette den på skrivebordet mitt til holde ting super enkle akkurat nå. 849 00:37:49,640 --> 00:37:51,760 Og jeg kommer til å gjøre akkurat det jeg nettopp så. 850 00:37:51,760 --> 00:37:55,452 Så doc typen HTML, åpen brakett HTML. 851 00:37:55,452 --> 00:37:57,910 Og nå, varsel, jeg kommer til å gjøre det motsatte preemptively. 852 00:37:57,910 --> 00:38:01,000 Og ved motsatt, mener jeg den samme koden, så å si, 853 00:38:01,000 --> 00:38:02,767 men den starter med en skråstrek. 854 00:38:02,767 --> 00:38:04,600 Og så, over her, Jeg kommer til å si, hode, 855 00:38:04,600 --> 00:38:07,530 fordi det viser seg at alle web side har en såkalt hode som 856 00:38:07,530 --> 00:38:10,300 er ting som går i tittelen bar, på toppen av siden. 857 00:38:10,300 --> 00:38:13,026 I tittelen er bare kommer til å bli hei her. 858 00:38:13,026 --> 00:38:15,150 Og nå, jeg kommer til å ha en kropp på denne nettsiden. 859 00:38:15,150 --> 00:38:18,130 Så hver nettside har både et hode opp toppen og en kropp 860 00:38:18,130 --> 00:38:19,522 som er tøff nok av siden. 861 00:38:19,522 --> 00:38:21,980 Og her, jeg bare kommer til å si noe sånt hello world. 862 00:38:21,980 --> 00:38:23,440 Og jeg kommer til å lagre denne filen. 863 00:38:23,440 --> 00:38:26,150 Hvis jeg nå minimere gedit, se, det er en liten fil 864 00:38:26,150 --> 00:38:28,470 på skrivebordet mitt kalt hello.html. 865 00:38:28,470 --> 00:38:30,820 Nå, det er ikke på serveren ennå, per se, faktisk, det er 866 00:38:30,820 --> 00:38:33,040 bare på min egen personlige desktop her. 867 00:38:33,040 --> 00:38:36,910 Men hvis jeg åpner opp Chrome og traff kontroll O- er det katten i spørsmålet. 868 00:38:36,910 --> 00:38:38,710 --og jeg går til skrivebordet mitt. 869 00:38:38,710 --> 00:38:43,730 >> Og jeg åpner opp hello.html, der, i Faktisk er min super enkel web-side. 870 00:38:43,730 --> 00:38:45,490 Hovedteksten på siden min og denne hvite vindu 871 00:38:45,490 --> 00:38:47,610 her er kroppen med hello world. 872 00:38:47,610 --> 00:38:51,020 Og tittelen i hodet siden er i kategorien der. 873 00:38:51,020 --> 00:38:53,020 Og vi kommer til å se snart at det er super 874 00:38:53,020 --> 00:38:55,004 enkel å åpne opp andre sider i tillegg. 875 00:38:55,004 --> 00:38:57,670 For eksempel, jeg kommer til å gå inn i noen av fordelingskode 876 00:38:57,670 --> 00:39:00,230 for denne uken, kilde sju, og jeg kommer 877 00:39:00,230 --> 00:39:03,150 å åpne seg ikke JPEG som denne fyren er her. 878 00:39:03,150 --> 00:39:08,430 Men jeg kommer til å åpne opp image.html, som til slutt ser ut som dette. 879 00:39:08,430 --> 00:39:15,140 Men la meg nå åpner dette opp i gedit, og gå inn i Dropbox kilde syv, 880 00:39:15,140 --> 00:39:17,470 og image.html. 881 00:39:17,470 --> 00:39:19,430 882 00:39:19,430 --> 00:39:21,960 >> Mesteparten av dette er bare kommentarer som vi vil snart se. 883 00:39:21,960 --> 00:39:25,210 Men hvis jeg ønsker å sette Grumpy Cat innsiden av denne web-siden, 884 00:39:25,210 --> 00:39:29,890 det er nok å sette en annen åpen brakett, og deretter nøkkelordet bilde eller img 885 00:39:29,890 --> 00:39:33,080 for korte, og deretter alternativ tekst for tilgjengelighets grunner 886 00:39:33,080 --> 00:39:35,890 hvis noen har en skjerm leser eller noe sånt. 887 00:39:35,890 --> 00:39:38,260 Kilde som er, hva er navnet på filen, cat.jpeg. 888 00:39:38,260 --> 00:39:39,280 889 00:39:39,280 --> 00:39:41,400 >> Og så, fordi dette tag er litt spesiell, 890 00:39:41,400 --> 00:39:44,140 vi sette skråstrek, som vi får se, innsiden av koden. 891 00:39:44,140 --> 00:39:47,180 Men sluttresultatet er en web- side som ser ut som dette. 892 00:39:47,180 --> 00:39:51,320 Så kort sagt, hva vi kommer til å være gjør nå over tid er å bruke nettet 893 00:39:51,320 --> 00:39:54,200 og lage websider til i siste instans være containere 894 00:39:54,200 --> 00:39:57,280 ikke bare for dumme ting som bilder og lenker, og tabeller, 895 00:39:57,280 --> 00:40:00,770 og punktlister og lignende, men også for å gi oss selv 896 00:40:00,770 --> 00:40:04,890 et grafisk brukergrensesnitt, et GUI, ikke ulikt det vi gjorde vi Breakout. 897 00:40:04,890 --> 00:40:08,330 >> Men innenfor dette miljøet, er vi kommer til å begynne å bruke språk som PHP, 898 00:40:08,330 --> 00:40:10,960 og Javascript, databasen språk kalt SQL, 899 00:40:10,960 --> 00:40:14,050 en klient-side skriptspråk kalt Javascript for å faktisk lage 900 00:40:14,050 --> 00:40:18,760 alle de mer dynamiske grensesnitt, men i en mye mer kjent sammenheng. 901 00:40:18,760 --> 00:40:21,970 Men før det, la oss konkludere i dag med en titt, 902 00:40:21,970 --> 00:40:25,280 som lovet, om hva som egentlig skjer under panseret med internett 903 00:40:25,280 --> 00:40:26,060 seg selv. 904 00:40:26,060 --> 00:40:28,400 >> Fastsette for dag at internett kan 905 00:40:28,400 --> 00:40:31,390 bli brukt til å overføre ting som nettsider via HTTP 906 00:40:31,390 --> 00:40:33,150 mye som jeg ristet Margot hånd tidligere. 907 00:40:33,150 --> 00:40:36,470 Men det er så mange andre tjenester som bruker TCP og IP 908 00:40:36,470 --> 00:40:39,800 som vi tar for gitt at arbeidet som vi får se her 909 00:40:39,800 --> 00:40:42,477 i denne filmen som vil ta oss til slutt i dag. 910 00:40:42,477 --> 00:40:45,956 >> [VIDEO PLAYBACK] 911 00:40:45,956 --> 00:41:31,710 912 00:41:31,710 --> 00:41:35,870 >> -For Første gang i historie, mennesker og maskiner 913 00:41:35,870 --> 00:41:38,940 er å jobbe sammen, å realisere en drøm. 914 00:41:38,940 --> 00:41:41,780 En samlende kraft som vet ingen geografiske grenser. 915 00:41:41,780 --> 00:41:45,010 Uten hensyn til rase, tro eller farge. 916 00:41:45,010 --> 00:41:49,130 En ny æra der kommunikasjon virkelig bringer folk sammen. 917 00:41:49,130 --> 00:41:51,795 Dette er The Dawn of the Net. 918 00:41:51,795 --> 00:41:54,920 919 00:41:54,920 --> 00:41:56,450 >> Vil du vite hvordan det fungerer? 920 00:41:56,450 --> 00:42:00,260 Klikk her for å starte Reisen inn i nettet. 921 00:42:00,260 --> 00:42:02,780 922 00:42:02,780 --> 00:42:05,380 Nå, nøyaktig hva som skjedde Når du klikker på denne linken? 923 00:42:05,380 --> 00:42:07,190 Du startet en strøm av informasjon. 924 00:42:07,190 --> 00:42:09,790 Denne informasjonen reiser ned inn i din personlige mail rommet 925 00:42:09,790 --> 00:42:14,040 når Mr. IP-pakker det, etiketter det, og sender det på sin måte. 926 00:42:14,040 --> 00:42:16,030 >> Hver pakke er begrenset størrelse. 927 00:42:16,030 --> 00:42:19,900 Postrommet må bestemme hvordan du vil dele informasjon og hvordan du kan pakke det. 928 00:42:19,900 --> 00:42:23,400 Nå må pakken en etikett som inneholder viktig informasjon, 929 00:42:23,400 --> 00:42:27,480 som avsenders adresse, mottakers adresse, og hvilken type pakke det er. 930 00:42:27,480 --> 00:42:41,070 931 00:42:41,070 --> 00:42:43,700 >> Fordi denne pakken går ut på internett, 932 00:42:43,700 --> 00:42:46,240 det blir også en adresse for proxy-serveren, som 933 00:42:46,240 --> 00:42:47,990 har en spesiell funksjon som vi skal se senere. 934 00:42:47,990 --> 00:42:49,080 935 00:42:49,080 --> 00:42:53,430 Pakken er nå lansert på ditt lokale nettverk eller LAN. 936 00:42:53,430 --> 00:42:56,220 Dette nettverket er brukt til å koble alle lokale datamaskiner, 937 00:42:56,220 --> 00:42:58,760 rutere skrivere, et cetera for informasjonsutveksling 938 00:42:58,760 --> 00:43:00,790 innenfor den fysiske veggene av bygningen. 939 00:43:00,790 --> 00:43:04,840 LAN er en ganske ukontrollert plasser og, dessverre, ulykker 940 00:43:04,840 --> 00:43:05,828 kan skje. 941 00:43:05,828 --> 00:43:13,240 942 00:43:13,240 --> 00:43:16,020 >> Motorveien fra LAN er pakket med alle typer informasjon. 943 00:43:16,020 --> 00:43:19,270 Dette er IP-pakker, Novell pakker, Apple Talk pakker. 944 00:43:19,270 --> 00:43:21,440 De kommer mot trafikk som vanlig. 945 00:43:21,440 --> 00:43:24,040 Den lokale ruteren leser adresse og, om nødvendig, 946 00:43:24,040 --> 00:43:25,935 løfter pakken på et annet nettverk. 947 00:43:25,935 --> 00:43:27,610 948 00:43:27,610 --> 00:43:28,810 Ah, ruteren. 949 00:43:28,810 --> 00:43:31,990 Et symbol på kontroll i en tilsynelatende uorganisert verden. 950 00:43:31,990 --> 00:43:41,050 951 00:43:41,050 --> 00:43:45,480 >> Der er han, en systematisk, uncaring, metodisk, konservativ, 952 00:43:45,480 --> 00:43:48,100 og noen ganger ikke helt opp til hastighet. 953 00:43:48,100 --> 00:43:50,430 Men minst, er han nøyaktig for det meste. 954 00:43:50,430 --> 00:44:03,090 955 00:44:03,090 --> 00:44:05,530 >> Som pakkene forlater ruter, de gjør sin vei 956 00:44:05,530 --> 00:44:08,780 inn i bedriftens intranett og leder for ruteren bryteren. 957 00:44:08,780 --> 00:44:10,179 958 00:44:10,179 --> 00:44:12,470 Litt mer effektiv enn ruteren, ruteren bryteren 959 00:44:12,470 --> 00:44:16,700 spiller rask og løs med IP-pakker, deftly ruting dem underveis. 960 00:44:16,700 --> 00:44:18,950 En digital Pinball Wizard hvis du vil. 961 00:44:18,950 --> 00:44:19,532 >> -Her Vi går. 962 00:44:19,532 --> 00:44:20,490 Her kommer en annen. 963 00:44:20,490 --> 00:44:21,198 Og det er en annen. 964 00:44:21,198 --> 00:44:21,886 Sjekk dette, mamma. 965 00:44:21,886 --> 00:44:22,258 Her er går. 966 00:44:22,258 --> 00:44:22,382 Uff da. 967 00:44:22,382 --> 00:44:23,126 Rundt baksiden. 968 00:44:23,126 --> 00:44:23,374 Hei. 969 00:44:23,374 --> 00:44:23,622 Der inne. 970 00:44:23,622 --> 00:44:24,122 Der inne. 971 00:44:24,122 --> 00:44:24,862 Over til venstre. 972 00:44:24,862 --> 00:44:25,110 Over til høyre. 973 00:44:25,110 --> 00:44:25,358 Over til venstre. 974 00:44:25,358 --> 00:44:26,350 Over til høyre. 975 00:44:26,350 --> 00:44:26,596 Du fikk den. 976 00:44:26,596 --> 00:44:26,846 Her går det. 977 00:44:26,846 --> 00:44:27,342 Han skyter. 978 00:44:27,342 --> 00:44:27,840 Han scorer. 979 00:44:27,840 --> 00:44:28,100 Det kommer. 980 00:44:28,100 --> 00:44:28,580 Hei, vent. 981 00:44:28,580 --> 00:44:28,940 Hei, se opp. 982 00:44:28,940 --> 00:44:29,898 Her kommer en annen. 983 00:44:29,898 --> 00:44:30,860 Oh, here we go. 984 00:44:30,860 --> 00:44:33,740 985 00:44:33,740 --> 00:44:35,930 >> -Som Pakker ankommer bestemmelsesstedet, er de 986 00:44:35,930 --> 00:44:40,640 plukket opp av nettverksgrensesnitt, klar til å bli sendt til det neste nivå, 987 00:44:40,640 --> 00:44:42,000 i dette tilfellet proxyen. 988 00:44:42,000 --> 00:44:43,060 989 00:44:43,060 --> 00:44:46,210 Proxy brukes av mange selskaper som liksom en middelaldrende mann 990 00:44:46,210 --> 00:44:48,650 for å minske belastningen på sin internettforbindelse 991 00:44:48,650 --> 00:44:50,040 og av sikkerhetsmessige grunner også. 992 00:44:50,040 --> 00:44:51,824 993 00:44:51,824 --> 00:44:55,310 Som du kan se, de pakker alle er av forskjellige størrelser, 994 00:44:55,310 --> 00:44:56,650 avhengig av deres innhold. 995 00:44:56,650 --> 00:45:10,750 996 00:45:10,750 --> 00:45:14,790 >> Proxyen åpnes pakken og ser for web-adresse eller URL. 997 00:45:14,790 --> 00:45:16,230 998 00:45:16,230 --> 00:45:18,707 Avhengig av hvorvidt adressen er akseptabel, 999 00:45:18,707 --> 00:45:20,290 pakken sendes på internett. 1000 00:45:20,290 --> 00:45:25,880 1001 00:45:25,880 --> 00:45:28,700 Det er imidlertid noen adresser som ikke gjør det 1002 00:45:28,700 --> 00:45:31,440 møte med godkjenning av proxy, det vil si, 1003 00:45:31,440 --> 00:45:33,305 bedrifts- eller retningslinjer for forvaltningen. 1004 00:45:33,305 --> 00:45:35,830 1005 00:45:35,830 --> 00:45:38,290 Disse er summarisk behandlet. 1006 00:45:38,290 --> 00:45:39,530 1007 00:45:39,530 --> 00:45:41,070 Vi vil ikke ha noe av det. 1008 00:45:41,070 --> 00:45:43,350 For de som gjør det, det er på veien igjen. 1009 00:45:43,350 --> 00:45:52,740 1010 00:45:52,740 --> 00:45:54,695 >> Neste opp, brannmuren. 1011 00:45:54,695 --> 00:45:58,060 1012 00:45:58,060 --> 00:46:01,414 Bedriftens brannmur tjener to formål. 1013 00:46:01,414 --> 00:46:03,580 Det hindrer noen heller ekle ting på internett 1014 00:46:03,580 --> 00:46:05,379 fra å komme inn i intranett. 1015 00:46:05,379 --> 00:46:07,670 Og det kan også hindre sensitiv selskapsinformasjon 1016 00:46:07,670 --> 00:46:09,900 blir sendt ut på internett. 1017 00:46:09,900 --> 00:46:11,810 1018 00:46:11,810 --> 00:46:14,210 >> Når gjennom brannmuren, en ruter plukker opp pakken 1019 00:46:14,210 --> 00:46:18,290 og plasserer det på en mye smalere vei eller båndbredde, som vi sier. 1020 00:46:18,290 --> 00:46:21,505 Selvfølgelig er ikke raden bred nok til å ta dem alle. 1021 00:46:21,505 --> 00:46:22,727 1022 00:46:22,727 --> 00:46:25,060 Nå kan du lurer på, hva skjer med alle disse pakkene 1023 00:46:25,060 --> 00:46:27,250 noe som ikke gjør det underveis. 1024 00:46:27,250 --> 00:46:29,880 Vel, når Mr. IP ikke mottar en bekreftelse 1025 00:46:29,880 --> 00:46:32,160 at en pakke har vært mottatt i rett tid, 1026 00:46:32,160 --> 00:46:34,060 han bare sender en erstatning pakke. 1027 00:46:34,060 --> 00:46:36,040 1028 00:46:36,040 --> 00:46:40,510 >> Vi er nå klare til å gå inn i verden på internett, en edderkopp 1029 00:46:40,510 --> 00:46:44,656 nett av sammenkoblede nettverk som spenner hele kloden. 1030 00:46:44,656 --> 00:46:47,845 Her, rutere og svitsjer etablere koblinger mellom nettverk. 1031 00:46:47,845 --> 00:46:49,239 1032 00:46:49,239 --> 00:46:51,280 Nå er et helt netto annet miljø 1033 00:46:51,280 --> 00:46:53,740 enn du finner i beskyttende veggene i lokalnettet. 1034 00:46:53,740 --> 00:46:56,510 >> Her ute er det Wild West, god plass, 1035 00:46:56,510 --> 00:47:00,440 mange muligheter, masse ting å utforske, og steder å gå. 1036 00:47:00,440 --> 00:47:02,790 Takket være svært lite kontroll og regulering, 1037 00:47:02,790 --> 00:47:07,250 nye ideer finne fruktbar jord å presse innhyllningskurven til deres muligheter. 1038 00:47:07,250 --> 00:47:10,590 Men på grunn av denne frihets, visse farer også ligge på lur. 1039 00:47:10,590 --> 00:47:14,230 >> Du vet aldri når du møte den fryktede ping of death, 1040 00:47:14,230 --> 00:47:18,040 en spesiell versjon av et normalt forespørsel ping som noen idiot trodde opp 1041 00:47:18,040 --> 00:47:19,830 rote opp intetanende verter. 1042 00:47:19,830 --> 00:47:21,470 1043 00:47:21,470 --> 00:47:25,490 Banen våre pakker tar kanskje via satellitt, telefonlinjer, trådløs, 1044 00:47:25,490 --> 00:47:27,340 eller enda transoceanic kabel. 1045 00:47:27,340 --> 00:47:30,290 >> De trenger ikke alltid ta den raskeste eller korteste rute mulig, 1046 00:47:30,290 --> 00:47:33,330 men de vil komme dit, til slutt. 1047 00:47:33,330 --> 00:47:37,255 Kanskje det er derfor det er noen ganger heter den verdensomspennende vente. 1048 00:47:37,255 --> 00:47:39,650 Men når alt er arbeider jevnt, du 1049 00:47:39,650 --> 00:47:43,270 kunne omgå kloden fem ganger ved slipp av en lue, 1050 00:47:43,270 --> 00:47:46,690 bokstavelig talt, og alle for kostnaden for en lokalsamtale, eller mindre. 1051 00:47:46,690 --> 00:47:47,970 1052 00:47:47,970 --> 00:47:51,025 >> Nær slutten av våre reisemål, Vi finner en annen brannmur. 1053 00:47:51,025 --> 00:47:53,710 1054 00:47:53,710 --> 00:47:56,160 Avhengig av din perspektiv som en datapakke, 1055 00:47:56,160 --> 00:48:00,520 brannmuren kan være en bastion av sikkerhet eller fryktede motstander. 1056 00:48:00,520 --> 00:48:04,420 Det hele avhenger av hvilken side du er på, og hva dine intensjoner er. 1057 00:48:04,420 --> 00:48:08,365 >> Brannmuren er konstruert for å slippe inn bare disse pakkene som oppfyller kriteriene. 1058 00:48:08,365 --> 00:48:09,590 1059 00:48:09,590 --> 00:48:11,940 Denne brannmuren er i drift på port 80 og 25. 1060 00:48:11,940 --> 00:48:13,250 1061 00:48:13,250 --> 00:48:16,380 Alle forsøk på å gå inn gjennom andre portene er stengt for virksomheten. 1062 00:48:16,380 --> 00:48:27,690 1063 00:48:27,690 --> 00:48:30,600 >> Port 25 brukes for postpakker. 1064 00:48:30,600 --> 00:48:32,750 1065 00:48:32,750 --> 00:48:35,791 Mens Port 80 er inngangen for pakker fra internett til nettet 1066 00:48:35,791 --> 00:48:36,290 server. 1067 00:48:36,290 --> 00:48:38,880 1068 00:48:38,880 --> 00:48:42,540 Innenfor brannmuren pakker er vist mer grundig. 1069 00:48:42,540 --> 00:48:44,660 Noen pakker gjøre det lett gjennom tollen, 1070 00:48:44,660 --> 00:48:47,500 mens andre ser bare litt tvilsom. 1071 00:48:47,500 --> 00:48:49,630 >> Nå brannmuren offiser er ikke lettlurte, 1072 00:48:49,630 --> 00:48:53,010 for eksempel når dette ping Dødspakke tries 1073 00:48:53,010 --> 00:48:55,628 å skjule seg selv som en normal ping pakke. 1074 00:48:55,628 --> 00:48:56,128 -Flytt Sammen. 1075 00:48:56,128 --> 00:48:56,606 Det er OK. 1076 00:48:56,606 --> 00:48:57,106 Ikke noe problem. 1077 00:48:57,106 --> 00:48:58,040 Ha en fin dag. 1078 00:48:58,040 --> 00:48:59,360 La meg ut herfra. 1079 00:48:59,360 --> 00:49:00,460 Bye. 1080 00:49:00,460 --> 00:49:02,990 >> -For Disse pakkene heldig nok til å gjøre det så langt, 1081 00:49:02,990 --> 00:49:04,860 reisen er nesten over. 1082 00:49:04,860 --> 00:49:07,280 1083 00:49:07,280 --> 00:49:11,560 Det er bare en linje opp på grensesnittet å bli tatt opp i webserveren. 1084 00:49:11,560 --> 00:49:12,610 1085 00:49:12,610 --> 00:49:16,850 I dag kan en webserver kjøres på mange ting, fra en stormaskin, til et webkamera, 1086 00:49:16,850 --> 00:49:18,430 til datamaskinen på skrivebordet. 1087 00:49:18,430 --> 00:49:20,220 Hvorfor ikke kjøleskapet? 1088 00:49:20,220 --> 00:49:22,140 >> Med riktig sett opp, kan du finne ut 1089 00:49:22,140 --> 00:49:24,330 hvis du har makings for kylling Cacciatore 1090 00:49:24,330 --> 00:49:25,690 eller hvis du har å gå på shopping. 1091 00:49:25,690 --> 00:49:28,625 Husk, dette er The Dawn of the Net. 1092 00:49:28,625 --> 00:49:29,850 Nesten alt er mulig. 1093 00:49:29,850 --> 00:49:32,960 1094 00:49:32,960 --> 00:49:37,080 >> En etter en, pakkene er mottatt, åpnet, og pakket. 1095 00:49:37,080 --> 00:49:40,350 1096 00:49:40,350 --> 00:49:44,280 Informasjonen de inneholder, som er din forespørsel om informasjon, 1097 00:49:44,280 --> 00:49:46,080 sendes videre til web server applikasjon. 1098 00:49:46,080 --> 00:49:52,670 1099 00:49:52,670 --> 00:49:54,345 >> Selve pakken blir resirkulert. 1100 00:49:54,345 --> 00:49:57,280 1101 00:49:57,280 --> 00:50:06,770 Klar til å bli brukt igjen og fylt med du ønsker informasjon, adressert, 1102 00:50:06,770 --> 00:50:08,680 og sende ut på vei tilbake til deg. 1103 00:50:08,680 --> 00:50:10,430 1104 00:50:10,430 --> 00:50:14,700 Tilbake forbi brannmurer, rutere, og videre gjennom til internett. 1105 00:50:14,700 --> 00:50:18,164 1106 00:50:18,164 --> 00:50:19,705 Tilbake gjennom bedriftens brannmur. 1107 00:50:19,705 --> 00:50:24,461 1108 00:50:24,461 --> 00:50:26,295 Og på din grensesnitt. 1109 00:50:26,295 --> 00:50:27,400 1110 00:50:27,400 --> 00:50:30,630 Klar til å levere din nettleser med den informasjonen du har bedt om. 1111 00:50:30,630 --> 00:50:33,010 1112 00:50:33,010 --> 00:50:34,538 Det er denne filmen. 1113 00:50:34,538 --> 00:50:40,030 1114 00:50:40,030 --> 00:50:43,200 >> Fornøyd med sin innsats og å stole på en bedre verden, 1115 00:50:43,200 --> 00:50:45,960 våre trofaste datapakker ri av et trettitalls 1116 00:50:45,960 --> 00:50:49,830 inn i solnedgangen på en annen dag, vel vitende fullt de 1117 00:50:49,830 --> 00:50:51,635 har tjent sine herrer godt. 1118 00:50:51,635 --> 00:50:54,030 1119 00:50:54,030 --> 00:50:57,209 Nå er ikke det en lykkelig slutt. 1120 00:50:57,209 --> 00:50:58,042 [END VIDEO PLAYBACK] 1121 00:50:58,042 --> 00:50:59,533 DAVID MALAN: Det var det for CS50. 1122 00:50:59,533 --> 00:51:01,521 Vi vil se deg neste uke. 1123 00:51:01,521 --> 00:51:05,994 1124 00:51:05,994 --> 00:51:11,220 >> [MUSIC - Katy Perry, "dark horse"] 1125 00:51:11,220 --> 00:54:19,222