1 00:00:00,000 --> 00:00:10,792 2 00:00:10,792 --> 00:00:11,750 DAVID MALAN: Okay. 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å uge syv. 5 00:00:15,950 --> 00:00:19,120 Så i dag, måske heldigvis, vi begynder vores overgang 6 00:00:19,120 --> 00:00:21,630 fra det lavere niveau verden af ​​C programmering 7 00:00:21,630 --> 00:00:24,290 til det højere niveau verden af ​​web-programmering. 8 00:00:24,290 --> 00:00:28,060 Og med dette, vil vi tage et kig på, præcis hvordan internettet fungerer, 9 00:00:28,060 --> 00:00:31,920 hvad disse maskiner og disse internets at du har brugt i årevis 10 00:00:31,920 --> 00:00:35,090 rent faktisk gør under emhætten mod en bedre forståelse af, hvordan det hele 11 00:00:35,090 --> 00:00:37,660 fungerer, og hvordan du kan gøre det arbejde for dig. 12 00:00:37,660 --> 00:00:41,480 >> Mod herpå, behøver hvorfor ikke vi tager et først se på et klip fra et tv-show 13 00:00:41,480 --> 00:00:45,680 kaldet Numb3rs, som vil få os startet som til præcis, hvordan internettet 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 internettet. 19 00:00:51,730 --> 00:00:52,640 >> -private Netværk. 20 00:00:52,640 --> 00:00:53,865 Det er Amita private netværk. 21 00:00:53,865 --> 00:01:06,635 22 00:01:06,635 --> 00:01:08,120 Åh, hun er så fantastisk. 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 Er et spejl IP-adresse. 26 00:01:12,640 --> 00:01:15,672 Hun lade os se, hvad hun laver i realtid. 27 00:01:15,672 --> 00:01:16,505 [END VIDEO PLAYBACK] 28 00:01:16,505 --> 00:01:19,570 DAVID MALAN: Så der er en hel masse galt med, at tv-show. 29 00:01:19,570 --> 00:01:23,250 Så lad os drille hinanden præcis en af ​​de første sådanne ting 30 00:01:23,250 --> 00:01:25,210 og se om vi ikke kan pakke vores sind omkring det. 31 00:01:25,210 --> 00:01:28,110 Så den sidste ramme i den film, for at vise 32 00:01:28,110 --> 00:01:30,360 er denne her, som tyder på, at dette 33 00:01:30,360 --> 00:01:33,300 er, hvad nogle hacker bruger at komme ind i nogle system. 34 00:01:33,300 --> 00:01:33,875 >> Men nej. 35 00:01:33,875 --> 00:01:36,030 Hvis du zoomer ind på dette kildekode, som 36 00:01:36,030 --> 00:01:40,210 er et sprog kaldet Objective C i som 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 en slags tegneprogrammet der har en farveblyant som en variabel. 39 00:01:45,400 --> 00:01:47,800 40 00:01:47,800 --> 00:01:51,880 >> Så Derudover kan du har bemærket denne adresse her. 41 00:01:51,880 --> 00:01:53,330 Nu, dette er en som forkert. 42 00:01:53,330 --> 00:01:56,740 Og det er sandsynligvis bevidst valgt at være en ugyldig adresse, således at det 43 00:01:56,740 --> 00:02:00,010 ikke i realiteten fører et eller andet sted hvis et tv seer faktisk besøger det. 44 00:02:00,010 --> 00:02:02,620 Men dette antal her, noget dot noget 45 00:02:02,620 --> 00:02:05,799 dot noget dot noget er, hvad der er almindeligt kendt som en IP-adresse. 46 00:02:05,799 --> 00:02:07,840 Og det er faktisk en god Segue til dette emne mere 47 00:02:07,840 --> 00:02:10,930 generelt kendt som IP, Internet Protocol. 48 00:02:10,930 --> 00:02:14,210 Så du har formentlig mindst hørt denne sætning før. 49 00:02:14,210 --> 00:02:18,980 Men hvad er IP eller internet protokol 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 bad om en håndsoprækning, de fleste af jer 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å hvad gjorde du? 54 00:02:27,955 --> 00:02:29,578 55 00:02:29,578 --> 00:02:30,779 >> PUBLIKUM: [uhørligt]? 56 00:02:30,779 --> 00:02:31,820 DAVID MALAN: Hvad er det? 57 00:02:31,820 --> 00:02:33,170 PUBLIKUM: [uhørligt]? 58 00:02:33,170 --> 00:02:33,455 DAVID MALAN: Once mere. 59 00:02:33,455 --> 00:02:34,840 PUBLIKUM: Adresse på computeren. 60 00:02:34,840 --> 00:02:35,950 DAVID MALAN: The adressen på den computer. 61 00:02:35,950 --> 00:02:36,949 Så det er helt rigtigt. 62 00:02:36,949 --> 00:02:39,660 Det viser sig, at hver computer på internettet, 63 00:02:39,660 --> 00:02:42,940 og disse dage, hver telefon i lomme og tablet i din rygsæk, 64 00:02:42,940 --> 00:02:45,880 har en IP-adresse, internet protokol-adresse, som 65 00:02:45,880 --> 00:02:49,379 er en unik adresse, der identificerer det hele internettet. 66 00:02:49,379 --> 00:02:51,920 Nu, det er lidt af en hvid lyve, fordi verden er faktisk 67 00:02:51,920 --> 00:02:53,240 løbe tør for IP-adresser. 68 00:02:53,240 --> 00:02:55,900 >> Så vi er begyndt at bruge private IP-adresser. 69 00:02:55,900 --> 00:02:57,160 Men mere om det om et øjeblik. 70 00:02:57,160 --> 00:03:00,731 Men du kan tænke på en IP-adresse som ligesom din posttjeneste gade 71 00:03:00,731 --> 00:03:01,230 adresse. 72 00:03:01,230 --> 00:03:04,160 Vi har bruge eksemplet med Maxwell Dworkin, CS bygning, før- 73 00:03:04,160 --> 00:03:07,920 33 Oxford Street Cambridge, Masse, 02138, USA. 74 00:03:07,920 --> 00:03:10,400 Det er den unikke adresse i verden. 75 00:03:10,400 --> 00:03:12,547 >> Tilsvarende gør computere har unikke adresser. 76 00:03:12,547 --> 00:03:14,380 De bare tilfældigvis ser lidt forskellige- 77 00:03:14,380 --> 00:03:17,219 en række dot en række dot en række dot et nummer. 78 00:03:17,219 --> 00:03:19,760 Og er der nogen rent faktisk kender hvad det gyldige interval af numre 79 00:03:19,760 --> 00:03:21,105 er for hver af disse hashes? 80 00:03:21,105 --> 00:03:21,604 Ja. 81 00:03:21,604 --> 00:03:23,045 >> PUBLIKUM: 0 til 255? 82 00:03:23,045 --> 00:03:23,920 DAVID MALAN: Præcis. 83 00:03:23,920 --> 00:03:25,450 0 til 255. 84 00:03:25,450 --> 00:03:28,360 Og selvom du ikke vidste at nu drage en konklusion, 85 00:03:28,360 --> 00:03:31,130 hvor mange bit anvendes til at repræsentere hver af disse numre så? 86 00:03:31,130 --> 00:03:32,232 87 00:03:32,232 --> 00:03:34,440 Otte tilsyneladende på grund af det højeste du kan tælle 88 00:03:34,440 --> 00:03:36,720 er 255, det er en 8-bit værdi. 89 00:03:36,720 --> 00:03:38,980 I alt er en IP-adresse er 32 bit. 90 00:03:38,980 --> 00:03:41,310 Så hurtig fremsendelse til matematisk konklusion 91 00:03:41,310 --> 00:03:43,900 hvor mange mulige IP-adresser er der i verden, så? 92 00:03:43,900 --> 00:03:46,990 93 00:03:46,990 --> 00:03:50,100 >> Så det er 8 plus 8 plus 8 plus 8, så det er 32 bit. 94 00:03:50,100 --> 00:03:52,490 Og vi har altid sagt, at 2 til 32 er groft? 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 vil feltet denne ene. 98 00:03:55,273 --> 00:03:55,864 Fire milliarder. 99 00:03:55,864 --> 00:03:58,780 Og vi talte om, at der i uge nul, når vi talte om telefonbøger 100 00:03:58,780 --> 00:04:00,170 med skøre antal sider. 101 00:04:00,170 --> 00:04:03,450 Men den slags er, at der er et begrænset antal IP-adresser. 102 00:04:03,450 --> 00:04:05,740 Og selvom fire milliarder kan virke som en masse, 103 00:04:05,740 --> 00:04:07,770 vi mennesker har været forbrugende en hel 104 00:04:07,770 --> 00:04:10,350 af dem for alle vores servere og udstyr og så videre. 105 00:04:10,350 --> 00:04:12,170 >> Så det bliver faktisk et problem. 106 00:04:12,170 --> 00:04:16,500 Nu er der en tendens til at være en Ordningen bag, hvem der har hvilken IP. 107 00:04:16,500 --> 00:04:18,560 For eksempel er mange af computerne på Harvard 108 00:04:18,560 --> 00:04:21,810 har unikke adresser, der starter med en af ​​disse to værdier. 109 00:04:21,810 --> 00:04:23,560 MIT, ligeledes har et præfiks. 110 00:04:23,560 --> 00:04:26,889 Og en masse af virksomheder og universiteter har deres egen unikke præfiks. 111 00:04:26,889 --> 00:04:29,680 Og derefter de fleste af os for vores hjem internetforbindelser og lignende, 112 00:04:29,680 --> 00:04:33,575 vi deler nogle præfiks at Comcast eller en som det sker for at eje. 113 00:04:33,575 --> 00:04:36,640 Og dette er kun at sige, at hvis du kigget på de fleste computere på campus, 114 00:04:36,640 --> 00:04:40,070 de ville sandsynligvis have en IP adresse, der ligner dette. 115 00:04:40,070 --> 00:04:43,180 >> Nu kan du også lejlighedsvis se en IP-adresse starter som denne. 116 00:04:43,180 --> 00:04:46,150 I virkeligheden, hvis nogen af ​​jer voksede op med internetadgang derhjemme, 117 00:04:46,150 --> 00:04:49,270 og du var nogensinde tilstrækkeligt teknisk nysgerrig efter at poke 118 00:04:49,270 --> 00:04:51,800 din egen computer indstillinger du sandsynligvis i stedet 119 00:04:51,800 --> 00:04:56,990 oplevede en adresse, der ligner mere dette, der begyndte med 10, eller 172,6, 120 00:04:56,990 --> 00:05:00,480 eller 192.168, eller nogle varianter deraf. 121 00:05:00,480 --> 00:05:04,025 >> Og det betyder bare, at verden Der er afsat en hel masse numre 122 00:05:04,025 --> 00:05:06,400 at være private, hvilket betyder du kan bruge dem i dit hjem, 123 00:05:06,400 --> 00:05:08,941 du kan endda bruge dem på din campus og inden for dit firma, 124 00:05:08,941 --> 00:05:10,970 men du kan ikke bruge dem på internettet i almindelighed. 125 00:05:10,970 --> 00:05:13,320 >> Og så disse private IP'er har været en løsning 126 00:05:13,320 --> 00:05:16,990 mod at gøre sikker på, at i hvert fald langt som hele verden er berørt, 127 00:05:16,990 --> 00:05:18,890 vi bruger ikke, som mange IP-adresser. 128 00:05:18,890 --> 00:05:22,840 Men i det mindste, vi kan, på vores egen campus, har temmelig meget som mange IP'er 129 00:05:22,840 --> 00:05:23,590 som vi ønsker. 130 00:05:23,590 --> 00:05:24,410 Men hvem bekymrer sig? 131 00:05:24,410 --> 00:05:28,500 Hvad er relevansen af ​​alt dette til en faktisk brug af internettet? 132 00:05:28,500 --> 00:05:31,450 >> Nå, lad os tage et kig på måske et enkelt billede her. 133 00:05:31,450 --> 00:05:33,550 Lad mig gennem begge disse op på skærmen. 134 00:05:33,550 --> 00:05:36,050 Og tilgiv min håndskrift her. 135 00:05:36,050 --> 00:05:39,500 Men hvis vi tænker på os selv som bliver denne lille bærbar her 136 00:05:39,500 --> 00:05:41,830 et eller andet sted på campus, disse dage det har Wi-Fi. 137 00:05:41,830 --> 00:05:44,180 >> Men i gårsdagens og hvis du finder den rigtige adapter, 138 00:05:44,180 --> 00:05:47,420 det kan have et Ethernet-kabel som ligeledes vil lade 139 00:05:47,420 --> 00:05:49,130 tilsluttes til en form for enhed. 140 00:05:49,130 --> 00:05:51,090 Og du kan kalde dette en række ting. 141 00:05:51,090 --> 00:05:55,930 Men jeg har tænkt mig at gå videre og kalder det, for nu, hvor omkring et adgangspunkt? 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 adgangspunkt, og dette er nogle trådløse enhed, 144 00:06:01,130 --> 00:06:04,400 ikke ulig dem, Harvard har alle over lofterne 145 00:06:04,400 --> 00:06:07,420 og mure omkring campus der har blinkende lys 146 00:06:07,420 --> 00:06:10,930 og der er, hvad din bærbare bruges til at tale trådløst 147 00:06:10,930 --> 00:06:12,160 til resten af ​​netværket. 148 00:06:12,160 --> 00:06:14,880 >> Så en eller anden måde denne laptop taler til at ting på væggen, 149 00:06:14,880 --> 00:06:16,540 i spisesalen, eller andre steder. 150 00:06:16,540 --> 00:06:21,410 Nu, i mellemtiden, at adgangspunktet er forbundet til noget andet på campus. 151 00:06:21,410 --> 00:06:24,810 Og det er nok noget kendt som en switch. 152 00:06:24,810 --> 00:06:27,690 Og de ser meget mere interessant end blot disse box diagrammer. 153 00:06:27,690 --> 00:06:29,760 >> Men på en måde, at ting er forbundet til en switch. 154 00:06:29,760 --> 00:06:31,900 Og til gengæld en eller anden måde at kontakten er sluttet 155 00:06:31,900 --> 00:06:35,890 til en enhed, der er sikkert en smule større, kaldet en router. 156 00:06:35,890 --> 00:06:37,930 Og så, i mellemtiden, Harvard er forbundet 157 00:06:37,930 --> 00:06:41,210 til hele internettet, som vil vi trække så denne sky her, 158 00:06:41,210 --> 00:06:43,850 via nogle antallet af tråde eller trådløs teknologi. 159 00:06:43,850 --> 00:06:46,670 >> Så der er en masse af trin mellem mig og resten af ​​verden. 160 00:06:46,670 --> 00:06:49,620 Og ja, selv inden dette billede her, 161 00:06:49,620 --> 00:06:52,634 der er nogle andre servere eller services involveret. 162 00:06:52,634 --> 00:06:54,800 Og jeg bare at tegne disse lidt abstrakt 163 00:06:54,800 --> 00:06:57,050 bare så vi har akronymer før os. 164 00:06:57,050 --> 00:06:57,993 >> Den ene kaldes DHCP. 165 00:06:57,993 --> 00:06:59,330 166 00:06:59,330 --> 00:07:03,440 Og en anden, lidt mere interessant for i dag, kaldes DNS. 167 00:07:03,440 --> 00:07:09,160 Så disse er servere, der er en eller anden måde adgang til min computer så godt. 168 00:07:09,160 --> 00:07:10,910 Så nu, lad os drille hinanden en smule jargon. 169 00:07:10,910 --> 00:07:13,410 Så adgangspunktet er netop dette trådløse enhed 170 00:07:13,410 --> 00:07:16,079 ofte med antenner, der faktisk lad du taler til en trådløst. 171 00:07:16,079 --> 00:07:17,870 Derhjemme, kan du ringe dette til et hjem router. 172 00:07:17,870 --> 00:07:21,550 Det kan ske ved Linksys, eller Apple, eller D-Link, eller en række selskaber. 173 00:07:21,550 --> 00:07:23,930 Der på sin side er forbundet til et skifte af en slags. 174 00:07:23,930 --> 00:07:28,287 Eller hjem igen, hvad er din Wi-Fi enhed sandsynligvis forbundet til stedet? 175 00:07:28,287 --> 00:07:30,370 Fordi du sandsynligvis ikke ejer alt dette udstyr. 176 00:07:30,370 --> 00:07:31,900 177 00:07:31,900 --> 00:07:32,400 Ja. 178 00:07:32,400 --> 00:07:36,379 Kabelmodem eller DSL-modem derhjemme at du fik fra Verizon, eller Comcast, 179 00:07:36,379 --> 00:07:37,420 eller et af disse luftfartsselskaber. 180 00:07:37,420 --> 00:07:41,520 Så tænk på alt dette kompleksitet som støtte til et universitet eller virkelig 181 00:07:41,520 --> 00:07:42,920 en virksomhed som Comcast. 182 00:07:42,920 --> 00:07:44,690 Og virkelig, stuff der er i dit hjem 183 00:07:44,690 --> 00:07:46,800 er sandsynligvis på denne side af hegnet plus måske 184 00:07:46,800 --> 00:07:50,380 en af ​​disse hjem route-- en af disse er kabelmodem eller DSL 185 00:07:50,380 --> 00:07:51,720 modemer, de kan give. 186 00:07:51,720 --> 00:07:55,650 >> Så en switch er bare en enhed med en hel masse data jacks i det. 187 00:07:55,650 --> 00:07:58,940 I virkeligheden, hvis du husker at nyheder betænkning vi spillede på den store skærm 188 00:07:58,940 --> 00:08:01,930 et par uger siden, hvor vi talte om granatchok, 189 00:08:01,930 --> 00:08:03,270 og hvor slemt det var? 190 00:08:03,270 --> 00:08:05,850 Og der var af disse fotografier af kabler og stik, 191 00:08:05,850 --> 00:08:07,569 og ting, der ser teknisk? 192 00:08:07,569 --> 00:08:10,360 Det var bare dumme switche, bare internet forbinder computere 193 00:08:10,360 --> 00:08:12,810 ved at tilslutte kabler i dem. 194 00:08:12,810 --> 00:08:14,140 >> Så det hele er en switch er. 195 00:08:14,140 --> 00:08:16,363 Nu får disse enheder en lidt mere 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 jordet omkring din computer derhjemme eller endda på campus, 199 00:08:20,470 --> 00:08:21,845 du måske har set dette akronym. 200 00:08:21,845 --> 00:08:24,480 Er der nogen der ved, hvad 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 Ikke den slags ting, du virkelig har brug for at 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 nogen overhovedet? 208 00:08:33,891 --> 00:08:34,390 Ok. 209 00:08:34,390 --> 00:08:35,520 Så lad os spole historien. 210 00:08:35,520 --> 00:08:39,210 Hvis historien her ved hånden er baseret min har 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 Gårsdagens, når du har fået til campus, 213 00:08:44,640 --> 00:08:47,790 du rent faktisk havde bede en person på Harvard, hvad skal min IP-adresse være. 214 00:08:47,790 --> 00:08:49,873 Og du ville manuelt skrive det ind i din computer. 215 00:08:49,873 --> 00:08:53,770 Men mere for nylig, teknologier eksisterer der giver dig mulighed for dynamisk, 216 00:08:53,770 --> 00:08:58,460 DHCP, får en IP-adresse blot når du sætter ind i campus trådløst 217 00:08:58,460 --> 00:08:59,220 eller med en ledning. 218 00:08:59,220 --> 00:09:03,800 Så DHCP-server er bare en server der giver din computer en unik IP 219 00:09:03,800 --> 00:09:06,349 adresse, noget tilfældigt eller via nogle algoritme. 220 00:09:06,349 --> 00:09:08,390 Men hvis du tænker tilbage en par uger eller et par år, 221 00:09:08,390 --> 00:09:10,670 når du først registreret din computer på campus, 222 00:09:10,670 --> 00:09:13,957 du fortalte Harvard, tillade mig at give mig en IP-adresse. 223 00:09:13,957 --> 00:09:15,915 Nu DNS begynde at få et lidt mere interessant. 224 00:09:15,915 --> 00:09:17,050 225 00:09:17,050 --> 00:09:18,940 Domain Name System. 226 00:09:18,940 --> 00:09:21,970 Er der nogen der ønsker at tage et stik på, hvad denne ting er her? 227 00:09:21,970 --> 00:09:26,195 >> Det er en eller flere servere, udføre en forholdsvis simpel opgave, der er 228 00:09:26,195 --> 00:09:26,945 slags vigtige. 229 00:09:26,945 --> 00:09:30,150 230 00:09:30,150 --> 00:09:31,130 Ja. 231 00:09:31,130 --> 00:09:33,810 >> PUBLIKUM: Oversætter webadresser [uhørligt]. 232 00:09:33,810 --> 00:09:34,560 DAVID MALAN: Ja. 233 00:09:34,560 --> 00:09:38,970 Den oversætter webadresser til IP adresser og omvendt. 234 00:09:38,970 --> 00:09:41,310 Overvej, trods alt, at når du går på hjemmesiden, 235 00:09:41,310 --> 00:09:46,200 du skriver i noget lignende facebook.com, eller google.com, eller harvard.edu, 236 00:09:46,200 --> 00:09:50,620 du sikkert aldrig har indtastet sandsynligvis en numerisk IP-adresse. 237 00:09:50,620 --> 00:09:52,490 >> Og du kan tænke på grunden. 238 00:09:52,490 --> 00:09:54,910 Tilbage i dag, selv nu til en vis grad, 239 00:09:54,910 --> 00:09:58,030 når du laver en telefon ringe til et selskab, 240 00:09:58,030 --> 00:10:02,275 de virkelig forsøger hårdt at købe sig et 800-nummer, der faktisk har ord 241 00:10:02,275 --> 00:10:06,140 i det, ligesom 1-800-indsamle eller noget der er mindeværdige ligesom det, så 242 00:10:06,140 --> 00:10:10,692 folk ikke behøver at huske, hvad C-O-L-L-E-C-T faktisk udvides til. 243 00:10:10,692 --> 00:10:12,400 Så vi har set dette heuristisk i fortiden. 244 00:10:12,400 --> 00:10:15,720 Og ja, det er hvad IP-adresser og hvad vi vil kalde værtsnavne 245 00:10:15,720 --> 00:10:18,120 eller fuldt kvalificeret domænenavne gøre for os. 246 00:10:18,120 --> 00:10:22,610 Det giver os mulighed for at adresseservere med ord i stedet for tal. 247 00:10:22,610 --> 00:10:24,560 Så hvordan gør vi faktisk se denne konvertering. 248 00:10:24,560 --> 00:10:26,393 Jeg har tænkt mig at gå videre og åbne op for et program. 249 00:10:26,393 --> 00:10:26,975 250 00:10:26,975 --> 00:10:29,350 Jeg skal bare til at gå videre og åbne op for en terminal vindue. 251 00:10:29,350 --> 00:10:31,933 Og jeg har tænkt mig at gå videre og vise dig, hvad en DNS-server gør. 252 00:10:31,933 --> 00:10:35,700 For eksempel, hvis jeg ønskede at se hvad IP-adressen er på Facebook, 253 00:10:35,700 --> 00:10:37,720 Jeg kan skrive på en terminal bede ligesom denne-- 254 00:10:37,720 --> 00:10:40,010 og du kan gøre dette selv indersiden af ​​apparatet. 255 00:10:40,010 --> 00:10:41,595 Og det er opslag facebook.com. 256 00:10:41,595 --> 00:10:43,220 257 00:10:43,220 --> 00:10:44,500 >> Og jeg ser en masse ting. 258 00:10:44,500 --> 00:10:48,097 Denne første reaktion er Harvards DNS server-- 259 00:10:48,097 --> 00:10:49,930 det billede, som jeg har tiltrækkes. --that s 260 00:10:49,930 --> 00:10:54,300 fortæller mig, at Facebook IP adresse er tilsyneladende dette. 261 00:10:54,300 --> 00:10:58,650 Så lad mig gå videre og kopiere denne 173.252.120.16. 262 00:10:58,650 --> 00:11:00,960 Og lad mig åbne Chrome på min Mac. 263 00:11:00,960 --> 00:11:06,690 Og lad mig gå til http: // og pasta at IP-adressen i og tryk på Enter. 264 00:11:06,690 --> 00:11:08,950 >> Og ja, jeg befinder mig på Facebook. 265 00:11:08,950 --> 00:11:11,090 Så en eller anden måde at omdannelse, ja, der skete. 266 00:11:11,090 --> 00:11:15,314 Og hvis jeg gør det igen, lad os gøre nslookup, www.google.com. 267 00:11:15,314 --> 00:11:17,302 Jeg kommer tilbage en hel masse svar. 268 00:11:17,302 --> 00:11:20,010 Og ja, der er forskellige måder at virksomheder med at implementere dette. 269 00:11:20,010 --> 00:11:22,440 Nogle gange, de fortælle verden de har en IP-adresse. 270 00:11:22,440 --> 00:11:25,824 >> Men at én IP-adresse bliver løst eller tilknyttet til flere servere. 271 00:11:25,824 --> 00:11:27,740 Eller i tilfælde af Google, de fortælle verden, 272 00:11:27,740 --> 00:11:29,510 vi har en hel bunke af IP-adresser. 273 00:11:29,510 --> 00:11:33,910 Din bærbare er velkommen til at tale kontakte en af ​​disse servere. 274 00:11:33,910 --> 00:11:36,200 Så alle, der er stået på under hætten. 275 00:11:36,200 --> 00:11:40,830 >> Når du skriver i www.google.com Enter ind i din browser, din browser 276 00:11:40,830 --> 00:11:46,180 og til gengæld dit operativsystem, Mac OS eller Windows eller Ubuntu Linux, 277 00:11:46,180 --> 00:11:51,010 spørge den nærliggende DNS-server, hvad er den faktiske adresse på denne server. 278 00:11:51,010 --> 00:11:54,330 Fordi den sidste enhed i dette billede, en router, 279 00:11:54,330 --> 00:11:57,840 er den, hvis formål i livet er at route information, 280 00:11:57,840 --> 00:12:01,150 route pakker så at sige, kuverter af digital information 281 00:12:01,150 --> 00:12:06,320 indeholder nuller og ettaller fra afsender til bestemmelsessted, fra oprindelseslandet 282 00:12:06,320 --> 00:12:07,200 til modtager. 283 00:12:07,200 --> 00:12:09,760 >> Og så en router ruter stuff. 284 00:12:09,760 --> 00:12:13,000 Så hvorfor er dette alt særlig relevante? 285 00:12:13,000 --> 00:12:16,000 Nå, lad os tage et kig på, hvordan dette kan blive anvendt. 286 00:12:16,000 --> 00:12:21,600 Antag, at jeg har her et billede af Rob Boden. 287 00:12:21,600 --> 00:12:22,690 288 00:12:22,690 --> 00:12:25,150 Så formoder, at jeg ønsker at Send dette billede af Rob Boden 289 00:12:25,150 --> 00:12:27,530 i Dan i ryggen af auditoriet. 290 00:12:27,530 --> 00:12:29,976 >> Så jeg er en computer ligesom min laptop, og Dan 291 00:12:29,976 --> 00:12:31,600 er en anden computer på internettet. 292 00:12:31,600 --> 00:12:34,380 Og jeg ønsker at sende en pakke af oplysninger fra mig til ham. 293 00:12:34,380 --> 00:12:37,952 Det rejser spørgsmålet, hvordan gør jeg faktisk rute denne pakke til ham. 294 00:12:37,952 --> 00:12:40,660 Tja, i menneskelig forstand, vil jeg sige, hey, du kan videregive dette til Dan? 295 00:12:40,660 --> 00:12:42,826 >> Og så en flok af jer ville sandsynligvis give det tilbage 296 00:12:42,826 --> 00:12:45,890 og frem og tilbage, indtil til sidst gør sin vej over til Dan. 297 00:12:45,890 --> 00:12:47,700 Men det er en smule upræcis. 298 00:12:47,700 --> 00:12:50,370 Computere sandsynligvis nødt til at være lidt mere metodisk. 299 00:12:50,370 --> 00:12:53,190 Så sandsynligvis, Dan har en IP-adresse. 300 00:12:53,190 --> 00:12:57,190 Så hvad jeg virkelig skal gøre, er jeg tage, for eksempel en tom kuvert 301 00:12:57,190 --> 00:12:58,140 som denne. 302 00:12:58,140 --> 00:13:00,130 Og jeg ved ikke, hvad Dan IP-adresse er. 303 00:13:00,130 --> 00:13:04,300 >> Så jeg vil bare generalisere det som Dan IP. 304 00:13:04,300 --> 00:13:07,511 Og jeg har tænkt mig at sætte dette i den til området for min kuvert. 305 00:13:07,511 --> 00:13:09,010 Og i mellemtiden har jeg en IP-adresse. 306 00:13:09,010 --> 00:13:10,610 Det betyder ikke noget i dag, hvad det er. 307 00:13:10,610 --> 00:13:15,130 Så jeg vil bare sige min IP i tilbage hjørne der. 308 00:13:15,130 --> 00:13:19,350 Og så jeg har tænkt mig at gå videre og sætte dette billede inde i denne kuvert. 309 00:13:19,350 --> 00:13:22,800 >> Og så hver enkelt af jer, formentlig, som routere på internettet, 310 00:13:22,800 --> 00:13:25,470 er forkonfigurerede af mennesker generelt eller undertiden 311 00:13:25,470 --> 00:13:29,854 ved hjælp af automatiserede algoritmer til at vide, at hvis Dan IP-adresse starter med en 1, 312 00:13:29,854 --> 00:13:30,770 det skal gå den vej. 313 00:13:30,770 --> 00:13:33,300 Hvis Dan IP-adresse starter med 2, skal det gå på den måde. 314 00:13:33,300 --> 00:13:34,450 Måske en 3 går på den måde. 315 00:13:34,450 --> 00:13:35,575 Måske en 4 går på den måde. 316 00:13:35,575 --> 00:13:36,700 Og det er lidt overdrevent. 317 00:13:36,700 --> 00:13:38,670 Simplistic men det er den generelle idé. 318 00:13:38,670 --> 00:13:42,370 Hver af disse routers-- og der kan være så mange som 30 mellem mig og Dan. 319 00:13:42,370 --> 00:13:45,140 --have en slags regneark inde i deres hukommelse, 320 00:13:45,140 --> 00:13:49,070 en database tabel, der bare siger, IP-adresse, der ligner dette, 321 00:13:49,070 --> 00:13:49,730 går på denne måde. 322 00:13:49,730 --> 00:13:51,960 En IP-adresse, der ser som dette, går denne vej. 323 00:13:51,960 --> 00:13:54,750 Og det er, hvordan det gør temmelig forsimplede beslutninger. 324 00:13:54,750 --> 00:13:59,440 >> Men det viser sig, at disse routere gøre noget mere end det, potentielt. 325 00:13:59,440 --> 00:14:03,550 De tillader computere til garanti levering, i det mindste 326 00:14:03,550 --> 00:14:05,000 med stor sandsynlighed. 327 00:14:05,000 --> 00:14:08,340 Så du måske også har hørt, selv om du har aldrig helt passet eller undret 328 00:14:08,340 --> 00:14:12,140 hvad det er, du måske har hørt af noget af dette akronym. 329 00:14:12,140 --> 00:14:15,500 Lad os gå tilbage herovre for bare et øjeblik og trække op dette. 330 00:14:15,500 --> 00:14:18,550 >> TCP, Transmission Control Protocol. 331 00:14:18,550 --> 00:14:21,494 En anden teknik til blot beskriver en anden teknologi 332 00:14:21,494 --> 00:14:22,660 der bruges på internettet. 333 00:14:22,660 --> 00:14:24,809 Så IP, Internet Protocol bruges til adressering. 334 00:14:24,809 --> 00:14:27,100 Det nogle standard, at verden kom op med det sagt, 335 00:14:27,100 --> 00:14:31,059 du sætte en IP-adresse her for Dan, og én IP-adresse her for dig selv, 336 00:14:31,059 --> 00:14:33,100 og så skal du sætte nogle oplysninger i en kuvert. 337 00:14:33,100 --> 00:14:36,600 >> Men TCP er en anden teknologi, anvendes i forbindelse med IP. 338 00:14:36,600 --> 00:14:38,970 Og ja, hvis du nogensinde har set disse akronymer før, 339 00:14:38,970 --> 00:14:42,110 Du har sikkert set TCP skråstreg IP som netop 340 00:14:42,110 --> 00:14:43,900 betyder, at folk har en tendens til at bruge dem sammen. 341 00:14:43,900 --> 00:14:47,570 Nå, TCP er slags cool, fordi det giver mulighed for 342 00:14:47,570 --> 00:14:50,220 du at øge sandsynligheden at data er faktisk 343 00:14:50,220 --> 00:14:51,970 vil komme fra mig til Dan. 344 00:14:51,970 --> 00:14:54,080 >> I virkeligheden, internettet er et vanvittigt sted. 345 00:14:54,080 --> 00:14:56,530 Der er ingen garanti for, at hvis jeg sender data på denne måde 346 00:14:56,530 --> 00:14:58,530 at det kommer til at gå den måde næste gang. 347 00:14:58,530 --> 00:14:59,905 Det kan gå den vej eller den måde. 348 00:14:59,905 --> 00:15:02,680 Den korteste afstand mellem to punkter er ikke nødvendigvis 349 00:15:02,680 --> 00:15:04,860 en lige eller samme linje. 350 00:15:04,860 --> 00:15:07,170 >> Endvidere er nogle af jer fyre kan begå fejl 351 00:15:07,170 --> 00:15:09,780 eller få overvældet med alt for mange kuverter kommer din vej. 352 00:15:09,780 --> 00:15:10,940 Så du bare gå til give op og bogstaveligt 353 00:15:10,940 --> 00:15:13,050 droppe nogle af disse kuverter på gulvet. 354 00:15:13,050 --> 00:15:16,930 Og i det samme måde kan data være faldt på internettet ved routere. 355 00:15:16,930 --> 00:15:18,680 Så for at mindske odds for dette, vil jeg 356 00:15:18,680 --> 00:15:21,980 at tage min lille sikkerhed saks her og klippe Rob 357 00:15:21,980 --> 00:15:26,140 ind i, lad os sige, fire stykker, fire segmenter. 358 00:15:26,140 --> 00:15:27,210 359 00:15:27,210 --> 00:15:33,350 >> Og nu, jeg har tænkt mig at gå videre og og læg et stykke mere information 360 00:15:33,350 --> 00:15:34,610 på denne kuvert. 361 00:15:34,610 --> 00:15:39,630 Jeg har tænkt mig at sige noget lignende, 1 af 4. 362 00:15:39,630 --> 00:15:43,370 Så nu, min endelige kuvert, på mindst den første, ligner dette. 363 00:15:43,370 --> 00:15:45,500 Jeg har tænkt mig at gå videre og sætte denne ene i her. 364 00:15:45,500 --> 00:15:47,070 365 00:15:47,070 --> 00:15:53,430 Og for tiden skyld, vil jeg mærke de andre på samme måde som 2 af 4 366 00:15:53,430 --> 00:15:57,760 3 af 4 4 4. 367 00:15:57,760 --> 00:16:02,170 >> Igen, med Dan IP-adresse i foran det og med min IP-adresse 368 00:16:02,170 --> 00:16:06,660 på bagsiden til venstre, men jeg kan ikke sende dem endnu. 369 00:16:06,660 --> 00:16:08,930 Fordi det viser sig at på internettet, 370 00:16:08,930 --> 00:16:10,980 servere kan gøre flere ting. 371 00:16:10,980 --> 00:16:14,300 Faktisk kan vi alle bruger internettet ganske lidt, den verdensomspændende web, 372 00:16:14,300 --> 00:16:16,139 http: // whatever. 373 00:16:16,139 --> 00:16:17,930 Men der er andre tjenester på internettet. 374 00:16:17,930 --> 00:16:21,760 Hvad er nogle andre tjenester, sortere af brugere, forbrugervenlige tjenester 375 00:16:21,760 --> 00:16:25,020 at foråret til at tænke ud over en webbrowser-typen program? 376 00:16:25,020 --> 00:16:26,724 377 00:16:26,724 --> 00:16:27,390 PUBLIKUM: Email. 378 00:16:27,390 --> 00:16:28,180 DAVID MALAN: E-mail. 379 00:16:28,180 --> 00:16:28,410 OK. 380 00:16:28,410 --> 00:16:28,630 Godt. 381 00:16:28,630 --> 00:16:29,446 Hvad er en anden? 382 00:16:29,446 --> 00:16:30,070 PUBLIKUM: Chat. 383 00:16:30,070 --> 00:16:32,780 DAVID MALAN: Så chat, uanset om det er Skype, eller Gchat, eller noget 384 00:16:32,780 --> 00:16:33,992 som. 385 00:16:33,992 --> 00:16:34,817 >> PUBLIKUM: Storage. 386 00:16:34,817 --> 00:16:37,150 DAVID MALAN: Så en slags opbevaring service, helt sikkert. 387 00:16:37,150 --> 00:16:39,004 Noget som Dropbox, eller Box, eller lignende. 388 00:16:39,004 --> 00:16:40,920 Så der er anderledes tjenester på internettet. 389 00:16:40,920 --> 00:16:44,090 Og det viser sig, at Dan, hvis han er faktisk en computer, 390 00:16:44,090 --> 00:16:46,520 behøver ikke at være dedikeret én ting i livet. 391 00:16:46,520 --> 00:16:49,650 Han kan faktisk gøre flere ting. 392 00:16:49,650 --> 00:16:51,740 Og ja, kan han være en e-mail-server. 393 00:16:51,740 --> 00:16:53,270 Han kan være en webserver. 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 der synes at foreslå at Dan har brug for at vide 396 00:16:57,600 --> 00:17:01,010 på forhånd, hvad er indholdet af disse meddelelser. 397 00:17:01,010 --> 00:17:02,830 Er dette en webside jeg sender ham? 398 00:17:02,830 --> 00:17:04,140 Er det en e-mail jeg sender ham? 399 00:17:04,140 --> 00:17:05,930 Er det et øjeblik budskab jeg sender ham? 400 00:17:05,930 --> 00:17:08,630 Så vi har brug for et stykke mere af information om disse kuvert 401 00:17:08,630 --> 00:17:10,930 således at Dan, da han modtager denne kuvert, 402 00:17:10,930 --> 00:17:13,119 ved, hvad programmet skal bruge til at vise det. 403 00:17:13,119 --> 00:17:14,200 >> Er det en browser? 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 nogle andet program helt? 407 00:17:19,760 --> 00:17:23,740 Og så, med TCP kommer blot en menneskelig konvention. 408 00:17:23,740 --> 00:17:26,930 Verden besluttede nogle år siden at knytte unikke heltal 409 00:17:26,930 --> 00:17:28,520 med de mest populære tjenester. 410 00:17:28,520 --> 00:17:31,920 >> Ens kaldet File Transfer Protocol, FTP, selvom det er en smule dateret nu. 411 00:17:31,920 --> 00:17:34,150 Men dens unikke identifikator er 21. 412 00:17:34,150 --> 00:17:39,020 SMTP for udgående e-mail, sin unikke id er 25 bare fordi. 413 00:17:39,020 --> 00:17:43,616 DNS, de ting vi talte om tidligere, anvender nummer 53 for sine forespørgsler. 414 00:17:43,616 --> 00:17:45,365 Ligesom hvad er IP adresse google.com? 415 00:17:45,365 --> 00:17:46,580 416 00:17:46,580 --> 00:17:49,790 >> Og nu, jo mere fortrolig du kan have et eller andet sted på et tidspunkt 417 00:17:49,790 --> 00:17:52,620 set nummer 80 og måske 443. 418 00:17:52,620 --> 00:17:55,822 Det er den unikke id'er til HTTP, 419 00:17:55,822 --> 00:17:57,530 som er sprog vi vil snart se brugt 420 00:17:57,530 --> 00:18:00,000 til web-trafik mellem browsere og servere. 421 00:18:00,000 --> 00:18:02,740 Og 443 er for sikker udgave heraf. 422 00:18:02,740 --> 00:18:05,530 >> Så en sidste detalje er jeg kommer til at sætte på min kuvert 423 00:18:05,530 --> 00:18:08,530 er, at jeg ikke har tænkt mig at Send dette blot til Dan IP. 424 00:18:08,530 --> 00:18:13,630 Jeg har tænkt mig at sende det til sige, : 80, hvis det, jeg prøver at sende 425 00:18:13,630 --> 00:18:16,862 ham er en webside, en web-side der indeholder Rob Boden s billede. 426 00:18:16,862 --> 00:18:19,320 Så jeg har tænkt mig at gøre det samme ting på disse andre konvolutter. 427 00:18:19,320 --> 00:18:23,620 >> Og så i sidste ende, jeg har tænkt mig at droppe disse ud med den nærmeste router, 428 00:18:23,620 --> 00:18:26,300 erkender, at der router måske ikke nødvendigvis 429 00:18:26,300 --> 00:18:28,210 tage den samme vej hver gang. 430 00:18:28,210 --> 00:18:30,900 Faktisk kan jeg have den første pakke vil denne måde. 431 00:18:30,900 --> 00:18:32,670 Anden pakke kan gå den vej. 432 00:18:32,670 --> 00:18:34,250 Tredje packet-- begynde routing. 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 af disse pakker bør i sidste ende rute deres vej, 437 00:18:43,660 --> 00:18:46,940 dog effektivt eller ineffektivt, hele vejen til bagsiden. 438 00:18:46,940 --> 00:18:51,560 >> På hvilket tidspunkt, Dan, ved kvittering, kan samle dem 439 00:18:51,560 --> 00:18:55,735 baseret on-- det sjove er, vi alle ved, hvad resultatet her 440 00:18:55,735 --> 00:18:56,360 kommer til at være. 441 00:18:56,360 --> 00:18:57,600 Dan kommer til at få et billede af Rob. 442 00:18:57,600 --> 00:18:58,974 Men lad os se, hvordan det fungerer ud. 443 00:18:58,974 --> 00:18:59,664 444 00:18:59,664 --> 00:19:02,080 Nå, snarere Dan kommer til at få en del af et billede af Rob. 445 00:19:02,080 --> 00:19:04,286 446 00:19:04,286 --> 00:19:04,785 Meget godt. 447 00:19:04,785 --> 00:19:06,200 448 00:19:06,200 --> 00:19:07,580 Alle er deltagende 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 begynder at modtage disse pakker, lad os stille et spørgsmål. 452 00:19:13,870 --> 00:19:18,820 Hvad hvis en af ​​jer bliver doven, overbelastet, ondsindet eller bare drevet 453 00:19:18,820 --> 00:19:22,570 off, og en eller flere af emballage ikke gøre det til Dan? 454 00:19:22,570 --> 00:19:26,920 >> Hvordan Dan kommer til at vide, at han ikke gjorde modtage én af de segmenter af fire 455 00:19:26,920 --> 00:19:28,040 Jeg sendte ham? 456 00:19:28,040 --> 00:19:30,040 Lige intuitivt, hvad kan vi gøre? 457 00:19:30,040 --> 00:19:30,540 Ja? 458 00:19:30,540 --> 00:19:31,456 >> PUBLIKUM: [uhørligt]. 459 00:19:31,456 --> 00:19:35,885 460 00:19:35,885 --> 00:19:36,760 DAVID MALAN: Præcis. 461 00:19:36,760 --> 00:19:40,250 Fordi jeg har entydigt nummereret dem, og Jeg har angivet, hvor mange segmenter der 462 00:19:40,250 --> 00:19:44,030 skal være, kan han udlede af denne hvilke, om nogen, af de segmenter 463 00:19:44,030 --> 00:19:45,070 han er faktisk mangler. 464 00:19:45,070 --> 00:19:48,770 Og hvad TCP fortæller computere til gøre, hvis computere, ligesom Mac OS, 465 00:19:48,770 --> 00:19:52,510 og Windows og Linux support og forstå TCP, som de gør, 466 00:19:52,510 --> 00:19:57,010 TCP dokumentation væsentlige siger, at Dan skulle sende mig 467 00:19:57,010 --> 00:20:00,580 en besked tilbage at sige, hey, David, Jeg mangler pakke nummer 1 af 4 468 00:20:00,580 --> 00:20:02,290 eller 3 af 4, alt efter hvad det er. 469 00:20:02,290 --> 00:20:06,016 >> Og så mit job er at tage et andet billede af Rob, 470 00:20:06,016 --> 00:20:09,140 som vi har extras til senere i dag hvis du gerne vil tage en med dig, 471 00:20:09,140 --> 00:20:13,550 og så kan jeg sende dette segment Rob hele vejen til bagsiden. 472 00:20:13,550 --> 00:20:16,380 >> Så som forsimplede som denne mekanisme er, at 473 00:20:16,380 --> 00:20:20,310 er, hvad der sker næsten enhver tid du gøre noget på internettet, 474 00:20:20,310 --> 00:20:22,530 især for disse mest populære af tjenester. 475 00:20:22,530 --> 00:20:26,500 Der er andre protokoller, andre teknologier foruden TCP 476 00:20:26,500 --> 00:20:27,880 at arbejde lidt anderledes. 477 00:20:27,880 --> 00:20:33,040 Men så mange af de tjenester, vi typisk Brug rent faktisk afhængige af disse protokoller. 478 00:20:33,040 --> 00:20:35,720 >> Så Dan, fik du den fulde billede tilbage der? 479 00:20:35,720 --> 00:20:36,220 Ja. 480 00:20:36,220 --> 00:20:37,840 Vi har samles Rob i ryggen. 481 00:20:37,840 --> 00:20:39,610 Tak så meget til de routere. 482 00:20:39,610 --> 00:20:43,260 Antag, jeg faktisk ønsker se routerne mellem mig 483 00:20:43,260 --> 00:20:46,400 og MIT, var meget ligesom jer routerne mellem mig og Dan. 484 00:20:46,400 --> 00:20:49,500 >> Nå, i stedet for nslookup for navneserver opslag, 485 00:20:49,500 --> 00:20:53,150 Jeg kan i stedet skrive spor rute, som rent faktisk kommer til at gøre, hvad den siger. 486 00:20:53,150 --> 00:20:55,240 Og jeg har tænkt mig at gøre, og rolig tilstand med bindestreg 1. 487 00:20:55,240 --> 00:20:57,448 Det er en kommandolinje argument der bare siger, så prøv denne 488 00:20:57,448 --> 00:20:58,740 gang og ikke flere gange. 489 00:20:58,740 --> 00:21:02,210 >> Og nu, jeg har tænkt mig at skrive www.mit.edu. 490 00:21:02,210 --> 00:21:05,660 Nu er output temmelig hurtig og kryptisk. 491 00:21:05,660 --> 00:21:08,300 Men hvad er pæne om dette er, at hver af disse rækker 492 00:21:08,300 --> 00:21:10,750 i det væsentlige repræsenterer en studerende i denne målgruppe 493 00:21:10,750 --> 00:21:13,870 hvis du var stien mellem mig og MIT. 494 00:21:13,870 --> 00:21:17,930 Hvad du ser op her, først, er det domænenavn, jeg har skrevet i, 495 00:21:17,930 --> 00:21:20,500 eller fuldt kvalificeret domæne navn, som det er korrekt kaldes. 496 00:21:20,500 --> 00:21:24,420 >> Og denne tilsyneladende er IP-adresse www.mit.edu. 497 00:21:24,420 --> 00:21:26,260 Min computer regnet det ud for mig. 498 00:21:26,260 --> 00:21:29,170 Dette her er et løfte at vi kun vil 499 00:21:29,170 --> 00:21:31,490 at forsøge at nå MIT inden for 30 humle. 500 00:21:31,490 --> 00:21:34,180 Der bedre ikke være mere end 30 studerende mellem mig og Dan. 501 00:21:34,180 --> 00:21:37,870 Og nu, hver af disse rækker repræsenterer bogstaveligt talt en router 502 00:21:37,870 --> 00:21:40,280 mellem mig og Dan, bogstaveligt en af ​​jer. 503 00:21:40,280 --> 00:21:42,950 >> Og så denne ene ikke synes at have et navn, et domænenavn. 504 00:21:42,950 --> 00:21:44,150 Det bare har en IP. 505 00:21:44,150 --> 00:21:49,439 Og det tog kun 0,662 millisekunder at komme fra mig til denne første router. 506 00:21:49,439 --> 00:21:51,230 Den næste var ikke at meget længere væk. 507 00:21:51,230 --> 00:21:53,560 Det tog kun én millisekund at komme dertil. 508 00:21:53,560 --> 00:21:56,280 Og nu, heldigvis, ting få lidt mere brugervenlig 509 00:21:56,280 --> 00:21:58,860 med navne, der er kryptiske men lidt mere at fortælle. 510 00:21:58,860 --> 00:22:03,440 >> Dette tilsyneladende er en router i den kerne af Harvard netværk opstaldet, 511 00:22:03,440 --> 00:22:06,330 kun fordi folk har fortalt os dette, i Science Center, SC. 512 00:22:06,330 --> 00:22:11,720 Og GW er bare en forkortelse notation for gateway, som er et synonym for router. 513 00:22:11,720 --> 00:22:14,630 Så dette er nogle system administratorens hævet måde 514 00:22:14,630 --> 00:22:17,230 opkalde en af ​​serverne i Science Center. 515 00:22:17,230 --> 00:22:20,360 >> I mellemtiden er serveren tilsyneladende forbundet med en slags kabel 516 00:22:20,360 --> 00:22:24,760 til en anden router, der er kælenavnet grænsen gateway en tankestreg 517 00:22:24,760 --> 00:22:26,770 noget, uanset hvad disse tal betyder. 518 00:22:26,770 --> 00:22:29,230 Og så, tilsyneladende, Harvard har en forbindelse 519 00:22:29,230 --> 00:22:31,340 det er en anden millisekund væk til noget 520 00:22:31,340 --> 00:22:35,590 kaldte de nordlige korsvej som er en fælles peering point 521 00:22:35,590 --> 00:22:38,430 mellem store steder som Harvard hvor masser af kabler går i 522 00:22:38,430 --> 00:22:40,870 og tillader sammenkoblinger blandt forskellige enheder. 523 00:22:40,870 --> 00:22:43,700 >> Trin seks, desværre, har ikke et gyldigt navn. 524 00:22:43,700 --> 00:22:45,370 Og trin syv bliver interessant. 525 00:22:45,370 --> 00:22:46,820 526 00:22:46,820 --> 00:22:49,260 Jeg har ingen idé om, hvad de fleste af disse betyder. 527 00:22:49,260 --> 00:22:50,875 Men NY ikke springe ud på mig. 528 00:22:50,875 --> 00:22:52,375 Og hvad betyder det formentlig betyde? 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 Just New York. 532 00:22:57,400 --> 00:23:00,510 Så ja, hvad er almindelig menneskelig konvention ikke garanteres 533 00:23:00,510 --> 00:23:04,730 men fælles konvention er at navngive routere af naturen på den by eller lufthavn 534 00:23:04,730 --> 00:23:05,960 kode, de er nærmest. 535 00:23:05,960 --> 00:23:08,630 >> Så med en vis sandsynlighed, denne router nummer syv 536 00:23:08,630 --> 00:23:10,270 er nok, ja, i New York. 537 00:23:10,270 --> 00:23:13,020 Og dette synes at bekræfte denne antagelse, fordi det er 538 00:23:13,020 --> 00:23:16,700 seks millisekunder i stedet for kun én eller så at noget her på campus. 539 00:23:16,700 --> 00:23:19,900 Men nu tage i betragtning, højre på Megabus eller whatnot, 540 00:23:19,900 --> 00:23:23,810 det kan tage fire, fem, seks timer at få et menneske fra her til New York. 541 00:23:23,810 --> 00:23:28,040 >> For at få et stykke af data, er det tager kun seks millisekunder 542 00:23:28,040 --> 00:23:31,020 at få en pakke fra mig til Dan, hvis Han var hele vejen i New York. 543 00:23:31,020 --> 00:23:36,832 Så endelig denne tilsyneladende er faktiske domænenavn for www.mit.edu. 544 00:23:36,832 --> 00:23:38,790 De har tilsyneladende outsourcet deres webservere 545 00:23:38,790 --> 00:23:42,030 til et selskab kaldet Akamai, hvilket betyder et andet selskab driver deres servere. 546 00:23:42,030 --> 00:23:44,380 Og det er derfor, vi ser at underlige ting der. 547 00:23:44,380 --> 00:23:45,720 >> Nå, lad os gøre det en gang mere. 548 00:23:45,720 --> 00:23:49,150 Lad os gå videre og gøre et spor rute til vores ven Professor Nick 549 00:23:49,150 --> 00:23:52,955 Parlante på Stanford, der har en server kaldet 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 nu, vil vi se sandsynligvis en lidt længere vej 553 00:23:59,460 --> 00:24:00,960 der går gennem et par flere byer. 554 00:24:00,960 --> 00:24:03,160 Så her disse navnløs Harvard servere her. 555 00:24:03,160 --> 00:24:05,660 Vi er i kernen af ​​Harvard, grænsen gateway Harvard, 556 00:24:05,660 --> 00:24:08,081 de nordlige korsvej, hvor dette er. 557 00:24:08,081 --> 00:24:10,080 Og nu er det at få en lidt mere interessant. 558 00:24:10,080 --> 00:24:12,960 Jeg kan gætte, at router nummer otte er i hvilken by? 559 00:24:12,960 --> 00:24:14,210 PUBLIKUM: [indskyde VOICES] 560 00:24:14,210 --> 00:24:18,570 DAVID MALAN: Chicago sandsynligvis baseret på dette, er baseret på denne ting her. 561 00:24:18,570 --> 00:24:25,220 Og nu har vi Salt Lake City måske, måske Los Angeles her, og derefter LAX, 562 00:24:25,220 --> 00:24:27,690 JEP, dette er sandsynligvis LA ved bunden. 563 00:24:27,690 --> 00:24:29,940 Indtil endelig, det går fra det sydlige Californien 564 00:24:29,940 --> 00:24:34,420 hele vejen op til det nordlige Californien hvor Stanford er i Palo Alto. 565 00:24:34,420 --> 00:24:35,299 So pretty cool. 566 00:24:35,299 --> 00:24:36,840 Og lad os tage dette et skridt videre. 567 00:24:36,840 --> 00:24:39,000 Det tilsyneladende ville tage dig 82 millisekunder 568 00:24:39,000 --> 00:24:42,360 at sende en besked til Dan, hvis du var i Californien i stedet for New York. 569 00:24:42,360 --> 00:24:45,090 Lad os gøre noget som sporstoffer ruter, en 570 00:24:45,090 --> 00:24:51,350 forsøger at www.cnn.co.jp for Japanske version af CNN hjemmeside. 571 00:24:51,350 --> 00:24:52,540 572 00:24:52,540 --> 00:24:54,910 Og nu, vi er stadig i Boston det synes i øjeblikket. 573 00:24:54,910 --> 00:24:56,050 574 00:24:56,050 --> 00:24:58,165 >> Et par servere seks og otte ikke reagerer 575 00:24:58,165 --> 00:24:59,790 fordi de bliver lidt privat. 576 00:24:59,790 --> 00:25:04,970 Men til sidst, synes der at være noget interessant foregår mellem 577 00:25:04,970 --> 00:25:08,395 lad os sige, trin syv og ni. 578 00:25:08,395 --> 00:25:09,800 579 00:25:09,800 --> 00:25:12,610 Hvad er sandsynligvis mellem syv og ni, og helt sikkert 580 00:25:12,610 --> 00:25:14,610 mellem syv og trin 17? 581 00:25:14,610 --> 00:25:18,090 582 00:25:18,090 --> 00:25:20,210 Der er en enorm spring i mængden af ​​tid 583 00:25:20,210 --> 00:25:23,540 det tager for data at gå fra den ene af disse humle, en af ​​disse routere 584 00:25:23,540 --> 00:25:24,060 til en anden. 585 00:25:24,060 --> 00:25:27,310 >> Så odds er, et eller andet sted i her, der er sikkert, 586 00:25:27,310 --> 00:25:31,440 især lige her, der er nok en meget stor mængde vand, 587 00:25:31,440 --> 00:25:35,320 har nogle trans Stillehavet eller trans Atlantic kabel, der kræver faktisk 588 00:25:35,320 --> 00:25:37,710 endnu mere tid til data til komme fra et sted til et andet. 589 00:25:37,710 --> 00:25:40,690 Men igen, forestille timer det ville tage fluen til Japan. 590 00:25:40,690 --> 00:25:45,786 Her, i ca. 200 millisekunder, boom, din besked er faktisk der. 591 00:25:45,786 --> 00:25:48,160 Så du kan lege med dette på apparatet eller endda 592 00:25:48,160 --> 00:25:50,940 i Windows eller Mac OS med lidt forskellige kommandoer. 593 00:25:50,940 --> 00:25:53,860 Nogle gange vil du få disse stjerner, ligesom i rækker seks og otte, hvilket 594 00:25:53,860 --> 00:25:55,300 betyder bare routerne er konfigureret til ikke 595 00:25:55,300 --> 00:25:57,120 at give dig et svar for privatlivets fred skyld. 596 00:25:57,120 --> 00:26:00,210 Men generelt denne teknik ville faktisk arbejder. 597 00:26:00,210 --> 00:26:03,730 >> Så det viser sig også at der er andre saftig information lurer i værktøjer 598 00:26:03,730 --> 00:26:05,610 at du tager for givet hver dag. 599 00:26:05,610 --> 00:26:08,560 Så for eksempel, hvis du modtager en e-mail, helt ærligt som nogle af jer 600 00:26:08,560 --> 00:26:11,270 kan have nylig af tvivlsom oprindelse, hvis du har aldrig 601 00:26:11,270 --> 00:26:13,330 så på Gmail-grænsefladen før, uanset om det er 602 00:26:13,330 --> 00:26:15,560 for kollegiet interfacet eller din personlige én, 603 00:26:15,560 --> 00:26:17,620 du kan se din indbakke ligne dette. 604 00:26:17,620 --> 00:26:20,910 >> Og i virkeligheden er en e-mail Jeg sendte, malan@harvard.edu, 605 00:26:20,910 --> 00:26:24,620 til jharvard@cs50.harvard.edu morges bare 606 00:26:24,620 --> 00:26:26,070 så jeg kunne tage et screenshot. 607 00:26:26,070 --> 00:26:28,149 Men det viser sig, alle denne gang i Gmail, 608 00:26:28,149 --> 00:26:30,190 der er den lille trekant mod toppen til højre 609 00:26:30,190 --> 00:26:34,080 der ved siden af ​​Harvard våbenskjold, at hvis du klikker, kan du klikke på Vis Original. 610 00:26:34,080 --> 00:26:35,160 611 00:26:35,160 --> 00:26:39,260 Og hvis du gør det, vil du faktisk se en flok meget esoterisk information 612 00:26:39,260 --> 00:26:43,360 ligesom tidsstempler, og IP adresser og domænenavne. 613 00:26:43,360 --> 00:26:46,990 >> Men du vil se, kort sagt, overskrifter, der i al den tid har 614 00:26:46,990 --> 00:26:50,430 blevet ramt i hver e-mail du sender og modtager. 615 00:26:50,430 --> 00:26:54,130 Og det er disse overskrifter, som folk kan bruge, datalog eller på anden måde, 616 00:26:54,130 --> 00:26:56,670 faktisk udlede med en vis sandsynlighed hvor 617 00:26:56,670 --> 00:26:59,290 og fra hvem en e-mail kom faktisk. 618 00:26:59,290 --> 00:27:01,830 >> Faktisk vil vi tale senere uger om, hvordan e-mail 619 00:27:01,830 --> 00:27:04,100 selv kan genereres programmatisk som 620 00:27:04,100 --> 00:27:07,100 er en meget god ting for et websted som ønsker at sende e-mails til brugerne. 621 00:27:07,100 --> 00:27:12,020 Men vi vil se, også, bare hvor trivielt det er at forfalske e-mails fra nogen 622 00:27:12,020 --> 00:27:15,380 til en anden, medmindre du rent faktisk vide, hvordan til at kontrollere de overskrifter. 623 00:27:15,380 --> 00:27:18,670 Og selv det er en taber proposition disse dage. 624 00:27:18,670 --> 00:27:22,220 >> Så med det sagt, lad os gå et lag op. 625 00:27:22,220 --> 00:27:25,100 Vi startede med IP som omhandler pakker for os, 626 00:27:25,100 --> 00:27:26,470 giver dem unikke adresser. 627 00:27:26,470 --> 00:27:29,770 TCP, som i kort, garanterer levering eller i det mindste 628 00:27:29,770 --> 00:27:34,002 øger sandsynligheden deraf ved tilføje ting som segmenter, 1 eller 4, 629 00:27:34,002 --> 00:27:36,740 2 af 4, 3 af 4, og 4 af 4. 630 00:27:36,740 --> 00:27:40,710 >> Og nu, lad os lag ovenpå denne anden protokol. 631 00:27:40,710 --> 00:27:44,550 Alle disse ting er protokoller, edb-konventioner 632 00:27:44,550 --> 00:27:47,670 at diktere, hvordan to computere taler til hinanden. 633 00:27:47,670 --> 00:27:52,030 HTTP endelig i dag, er Hypertext Transfer Protocol. 634 00:27:52,030 --> 00:27:54,100 Og dette er den protokol at web-browsere 635 00:27:54,100 --> 00:27:56,410 bruge, når man taler til webservere. 636 00:27:56,410 --> 00:27:59,970 >> Så når du trække op en browser som Chrome eller IE eller Firefox, eller Safari, 637 00:27:59,970 --> 00:28:04,230 eller hvad, og du skriver i noget ligesom facebook.com og tryk på Enter, 638 00:28:04,230 --> 00:28:08,390 ikke kun gør din computer først oversætte facebook.com i hvad? 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 Derefter converts-- det sender derefter en besked til den pågældende IP-adresse ordsprog, 642 00:28:17,420 --> 00:28:21,360 give mig dagens hjemmeside eller give mig login skærmen af ​​Facebook. 643 00:28:21,360 --> 00:28:25,290 >> Eller hvis du allerede er logget ind, giver mig standardvisningen af ​​min tidslinje. 644 00:28:25,290 --> 00:28:26,820 Så det er hvad HTTP siger. 645 00:28:26,820 --> 00:28:30,055 Og mere daglig tale, hvis jeg er en web server, og du are-- hvad er dit navn, 646 00:28:30,055 --> 00:28:30,180 igen? 647 00:28:30,180 --> 00:28:30,920 >> PUBLIKUM: Margot. 648 00:28:30,920 --> 00:28:34,250 >> DAVID MALAN: Margot er et web server, og jeg er en webbrowser, 649 00:28:34,250 --> 00:28:37,610 og jeg ønsker blot at hente min tidslinje fra Margot, margot.com, 650 00:28:37,610 --> 00:28:39,640 Jeg ville sige, hej, jeg er David. 651 00:28:39,640 --> 00:28:40,870 >> PUBLIKUM: Hej, jeg hedder Margot. 652 00:28:40,870 --> 00:28:43,570 >> DAVID MALAN: Og du vil så reagere med yderligere oplysninger til mig. 653 00:28:43,570 --> 00:28:45,890 Så vi har denne dumme menneske konvention for instance-- tak. 654 00:28:45,890 --> 00:28:47,510 --Af ryster hinandens hænder. 655 00:28:47,510 --> 00:28:51,670 Og computere har den samme idé hvor en klient, som en browser, 656 00:28:51,670 --> 00:28:55,600 anmoder en server til at gøre noget på hans eller hendes vegne. 657 00:28:55,600 --> 00:28:57,540 >> Og så her er et billede, for eksempel. 658 00:28:57,540 --> 00:29:01,120 Til venstre er en computer laptop, skrivebordet, uanset hvad, eller endda en telefon. 659 00:29:01,120 --> 00:29:03,890 Og til højre er en meget dateret af en server. 660 00:29:03,890 --> 00:29:06,460 De ser typisk mindre og sexet i disse dage. 661 00:29:06,460 --> 00:29:09,570 Men pointen er blot, at der er en slags kommunikation 662 00:29:09,570 --> 00:29:11,800 mellem klient og server. 663 00:29:11,800 --> 00:29:14,080 >> Og kunder i den forstand, af en person i en restaurant 664 00:29:14,080 --> 00:29:16,620 og tjeneren eller servitrice, samme idé med computere. 665 00:29:16,620 --> 00:29:19,340 Klienter og servere, en anmoder om oplysninger, 666 00:29:19,340 --> 00:29:21,560 man reagerer med information. 667 00:29:21,560 --> 00:29:23,920 Nu, hvordan gør det information kommer tilbage? 668 00:29:23,920 --> 00:29:25,890 Nå, overveje dette. 669 00:29:25,890 --> 00:29:30,360 Get er en slags standard way-- og det er en super simpel sigt. 670 00:29:30,360 --> 00:29:34,530 --that bare dikterer, hvordan en browser får information fra en server. 671 00:29:34,530 --> 00:29:38,270 >> Med andre ord, snarere end Mule-ily strækker min hånd til Margot, 672 00:29:38,270 --> 00:29:42,100 hvis jeg virkelig var en browser, jeg ville proppe inde i en kuvert, 673 00:29:42,100 --> 00:29:46,580 som jeg gjorde med Rob foto før, en tekstmeddelelse, der bogstaveligt siger 674 00:29:46,580 --> 00:29:53,084 noget som dette, get / http / 1.1hostwww.google.com 675 00:29:53,084 --> 00:29:56,670 eller margot.com eller hvad serverens navn kan ske at være. 676 00:29:56,670 --> 00:29:58,540 Og så, dot dot dot, nogle andre ting. 677 00:29:58,540 --> 00:30:00,310 >> Men bogstaveligt, inde af en konvolut ville 678 00:30:00,310 --> 00:30:03,290 være forholdsvis enkel tekstmæssige budskab som. 679 00:30:03,290 --> 00:30:05,990 At det efter modtagelsen, Margot ville åbne op, læse indholdet, 680 00:30:05,990 --> 00:30:07,640 og reagere i overensstemmelse hermed. 681 00:30:07,640 --> 00:30:12,000 Nu er det lidt ikke-indlysende med dette eksempel. 682 00:30:12,000 --> 00:30:16,130 Men få /, hvad er skråstreg henviser sandsynligvis til blot baseret 683 00:30:16,130 --> 00:30:20,470 på dit kendskab til surfe på internettet i dagligdagen? 684 00:30:20,470 --> 00:30:22,206 Hvad er skråstreg? 685 00:30:22,206 --> 00:30:23,147 >> PUBLIKUM: [uhørligt]. 686 00:30:23,147 --> 00:30:24,480 DAVID MALAN: En flugt sekvens. 687 00:30:24,480 --> 00:30:27,280 Ikke en dårlig idé, men generelt undslippe sekvenser gå den anden vej. 688 00:30:27,280 --> 00:30:28,760 Det ville være en omvendt skråstreg normalt. 689 00:30:28,760 --> 00:30:29,560 Men ikke en dårlig tanke. 690 00:30:29,560 --> 00:30:30,060 Ja? 691 00:30:30,060 --> 00:30:31,190 692 00:30:31,190 --> 00:30:31,830 En pointer. 693 00:30:31,830 --> 00:30:35,100 Også god tanke, men endnu enklere end det. 694 00:30:35,100 --> 00:30:36,250 Hjemmet bibliotek. 695 00:30:36,250 --> 00:30:38,380 Roden af ​​en harddisk, så at sige. 696 00:30:38,380 --> 00:30:39,890 De fleste af os ikke skrive dette. 697 00:30:39,890 --> 00:30:43,150 Men teknisk, hvis du ønskede at være super korrekt i disse dage, 698 00:30:43,150 --> 00:30:50,056 du ville gå til noget ligesom http://www.facebook.com/. 699 00:30:50,056 --> 00:30:52,580 >> Nu sagde jeg de fleste af os ville ikke gider skrive skråstreg. 700 00:30:52,580 --> 00:30:54,770 Og helt ærligt, de fleste browsere, Chrome inkluderet, 701 00:30:54,770 --> 00:30:57,019 ikke engang gider at vise os skråstreg disse dage 702 00:30:57,019 --> 00:30:59,060 bare fordi de kan lide at være enkel og kortfattet. 703 00:30:59,060 --> 00:31:02,920 Men skråstregen betyder bare gå til www.facebook.com og få 704 00:31:02,920 --> 00:31:08,076 slash, roden af ​​harddisken, standard side i facebook.com. 705 00:31:08,076 --> 00:31:09,240 Brug af hvilken protokol? 706 00:31:09,240 --> 00:31:14,910 Nå, ved hjælp af version 1.1 af denne ting er kendt som HTTP. 707 00:31:14,910 --> 00:31:16,750 >> Serveren, eller Margot-- og ved den måde, gøre 708 00:31:16,750 --> 00:31:17,920 du huske, at jeg bruger dig i disse? 709 00:31:17,920 --> 00:31:18,419 OK. 710 00:31:18,419 --> 00:31:19,430 Så vi er godt nu. 711 00:31:19,430 --> 00:31:23,910 Så Margot svar nu med en rammebeløb på hendes egen, inden i hvilken 712 00:31:23,910 --> 00:31:26,040 er en tilsvarende tekstmeddelelse. 713 00:31:26,040 --> 00:31:30,640 Den første linie, som er, jep, jeg taler HTTP version 1.1. 714 00:31:30,640 --> 00:31:34,930 200 er status kode hvilket betyder bare alt er OK. 715 00:31:34,930 --> 00:31:37,440 Jeg har den side, du leder efter. 716 00:31:37,440 --> 00:31:44,040 >> I mellemtiden, Content-Type: text / html, denne er Margot semi-mystiske måde at sige, 717 00:31:44,040 --> 00:31:46,190 hvad du har anmodet om, er en web-side. 718 00:31:46,190 --> 00:31:50,530 Og det er typen, så at speak-- næsten som en variabel forstand, 719 00:31:50,530 --> 00:31:52,060 men dette er meget højere niveau nu. 720 00:31:52,060 --> 00:31:55,380 Datatypen tekst men specifikt HTML. 721 00:31:55,380 --> 00:31:57,210 Det sprog, vi vil snart se. 722 00:31:57,210 --> 00:31:58,700 >> Og så er der nogle andre ting. 723 00:31:58,700 --> 00:32:02,060 Så andre ting er, hvad der bogstaveligt talt Facebook reagerer med. 724 00:32:02,060 --> 00:32:03,400 Så lad os se det, også. 725 00:32:03,400 --> 00:32:05,380 Lad mig gå videre og åbne op Chrome på min laptop 726 00:32:05,380 --> 00:32:07,980 som du kan gøre på din egen computer så godt. 727 00:32:07,980 --> 00:32:12,035 Og jeg har tænkt mig at gå videre og åbne op 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 velkendte skærm her. 731 00:32:16,264 --> 00:32:17,930 Men nu, jeg har tænkt mig at gøre noget andet. 732 00:32:17,930 --> 00:32:21,670 Jeg har tænkt mig at gå videre og gå til Vis, Developer. 733 00:32:21,670 --> 00:32:24,190 Og gå til Developer Værktøj, som du bør 734 00:32:24,190 --> 00:32:27,377 har i Chrome på din computer, mindst inden for dit apparat. 735 00:32:27,377 --> 00:32:29,460 Jeg har tænkt mig at rulle dette ting op her, og du er 736 00:32:29,460 --> 00:32:33,060 kommer til at se en hel masse af kryptiske tekst her. 737 00:32:33,060 --> 00:32:37,920 >> Det viser sig, hvad Margot lagt indeni af kuverten i respons til mig 738 00:32:37,920 --> 00:32:41,472 er et sprog, kaldet HTML, HyperText Markup Language. 739 00:32:41,472 --> 00:32:43,680 Det er ikke et programmeringssprog sprog, fordi du ikke kan, det 740 00:32:43,680 --> 00:32:46,679 ikke har sløjfer og betingelser og funktioner, og sådan noget. 741 00:32:46,679 --> 00:32:47,870 Det er et kodesprog. 742 00:32:47,870 --> 00:32:52,110 I, at det har speciel syntaks kaldet tags og attributter 743 00:32:52,110 --> 00:32:57,120 der fortæller en browser hvad der skal vises på skærmen, og hvordan man kan vise det. 744 00:32:57,120 --> 00:32:57,920 Skal centreres? 745 00:32:57,920 --> 00:32:58,920 Skal det være fed? 746 00:32:58,920 --> 00:33:00,270 Rød, grøn, blå? 747 00:33:00,270 --> 00:33:01,390 Det er et kodesprog. 748 00:33:01,390 --> 00:33:04,970 I det, det fortæller en browser hvad der skal vises på skærmen. 749 00:33:04,970 --> 00:33:10,530 Så dette er, bogstaveligt talt, alle af HTML og mere, at Facebook-server 750 00:33:10,530 --> 00:33:13,950 spytter ud, og at Chrome og IE, og Firefox har 751 00:33:13,950 --> 00:33:17,820 designet af deres respektive forfattere at forstå. 752 00:33:17,820 --> 00:33:20,780 >> Og i virkeligheden er det en lille Messier end det. 753 00:33:20,780 --> 00:33:24,290 Hvis du i stedet gå til Vis, Udvikler, Udsigt Source, 754 00:33:24,290 --> 00:33:27,550 dette er, hvad der faktisk Facebook er ude at sætte. 755 00:33:27,550 --> 00:33:29,800 Sorter på nul for fem for stil, højre, hvis vi 756 00:33:29,800 --> 00:33:31,479 udlede, at dette sandsynligvis ikke er den bedste. 757 00:33:31,479 --> 00:33:34,270 Men helt ærligt, de kan slippe af sted med det, fordi hvis du tjener op 758 00:33:34,270 --> 00:33:36,090 milliarder af websider per dag, du virkelig 759 00:33:36,090 --> 00:33:40,040 ønsker ikke at spilde tid og bytes, og penge i sidste ende i fremsendelse 760 00:33:40,040 --> 00:33:43,000 ting som ny linje tegn og mellemrum, og faner 761 00:33:43,000 --> 00:33:46,870 fordi du bruger for båndbredde unødigt med din internetudbyder. 762 00:33:46,870 --> 00:33:49,580 >> Så ja, dette betød skal minified på denne måde. 763 00:33:49,580 --> 00:33:51,740 Men hvad Chrome gør for os er, det tager 764 00:33:51,740 --> 00:33:56,310 denne HTML, der fuldstændig ligner en rod og uforståelig for mennesker, 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 temmelig udskriver det, så vi kan pakke vores sind omkring det 767 00:34:00,280 --> 00:34:01,452 lidt lettere. 768 00:34:01,452 --> 00:34:02,660 Men mere interessant er dette. 769 00:34:02,660 --> 00:34:06,180 Hvis jeg nu klikke i Chrome, ikke elementer, men netværket, 770 00:34:06,180 --> 00:34:08,520 Jeg har tænkt mig at se lidt logning skærm, der er 771 00:34:08,520 --> 00:34:11,040 kommer til at vise mig alle af HTTP-anmodninger 772 00:34:11,040 --> 00:34:14,380 der er faktisk at gå tilbage og tilbage mellem mig og Facebook eller mig 773 00:34:14,380 --> 00:34:17,219 og Margot hvis jeg laver mere end én anmodning. 774 00:34:17,219 --> 00:34:21,409 >> Så jeg har tænkt mig at gå videre og klik reload-ikonet op her i Chrome. 775 00:34:21,409 --> 00:34:23,850 Og nu, en hel bunke af stuff fløj forbi nederst. 776 00:34:23,850 --> 00:34:25,710 Jeg har tænkt mig at rulle tilbage op til toppen. 777 00:34:25,710 --> 00:34:29,350 Og nu bemærke dette, den allerførste anmode min browser 778 00:34:29,350 --> 00:34:31,340 Made var til www.facebook.com. 779 00:34:31,340 --> 00:34:34,199 >> Det er ved hjælp af get mekanisme, der betyder bare 780 00:34:34,199 --> 00:34:37,810 det taler tekstmæssige sprog at vi så et eksempel på et øjeblik siden. 781 00:34:37,810 --> 00:34:41,909 Og desuden viser det sig, at det svar, Facebook 782 00:34:41,909 --> 00:34:46,070 gav mig er 200 OK, hvilket betyder, at jeg fundet pågældende webside. 783 00:34:46,070 --> 00:34:49,630 >> Hvis jeg klikker på denne række, kan jeg faktisk se disse overskrifter lidt mere 784 00:34:49,630 --> 00:34:50,800 tydeligt. 785 00:34:50,800 --> 00:34:52,810 Disse vil give mere mening inden længe. 786 00:34:52,810 --> 00:34:57,020 Men bemærk, at min browser sender en hel masse information som vært, 787 00:34:57,020 --> 00:34:59,320 og en fremgangsmåde og cookies. 788 00:34:59,320 --> 00:35:00,879 Vi vil komme tilbage til dem inden længe. 789 00:35:00,879 --> 00:35:03,170 Og du vil endelig forstå hvad en cookie faktisk er 790 00:35:03,170 --> 00:35:04,930 og hvordan du snart vil sende dem. 791 00:35:04,930 --> 00:35:06,900 >> Og du kan se, hvad Facebook sender tilbage, 792 00:35:06,900 --> 00:35:12,230 herunder indholdet teksttype HTML, den aktuelle dato tid, sit privatliv 793 00:35:12,230 --> 00:35:15,530 politik, eller mangel herpå, og derefter endelig et antal cookies 794 00:35:15,530 --> 00:35:18,050 der er ved at blive sat på din computer så godt. 795 00:35:18,050 --> 00:35:20,140 Men vi vil drille dem fra hinanden inden længe. 796 00:35:20,140 --> 00:35:23,950 >> Men kort sagt, hver gang du besøgt en webside, der nu i årevis, 797 00:35:23,950 --> 00:35:26,970 du har været at sende meddelelser til den ene jeg sendt i en kuvert 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ået tilbage svar som dette fra Facebook. 800 00:35:31,210 --> 00:35:35,650 Men i øvrigt gætte, hvad der bliver videregives til Facebook, og Google, 801 00:35:35,650 --> 00:35:39,101 og alle andre, hver gang du besøger en webside? 802 00:35:39,101 --> 00:35:42,100 Hvad der er på ydersiden af ​​hver kuvert din computer er blevet afsendelse? 803 00:35:42,100 --> 00:35:43,800 804 00:35:43,800 --> 00:35:45,590 Din IP-adresse, right? 805 00:35:45,590 --> 00:35:48,720 Måske ikke dit navn per se, men din IP-adresse. 806 00:35:48,720 --> 00:35:52,410 Og bare, lad os forbinde prikker senere, hvis du bruger tjenester 807 00:35:52,410 --> 00:35:54,430 ligesom internettet, eller BitTorrent og livet, 808 00:35:54,430 --> 00:35:56,860 og du har registreret en computer på et sted som Harvard, 809 00:35:56,860 --> 00:36:01,080 nogen et sted ved, at John Harvards IP-adresser 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, logfiler kan han holdt både på campus som dette, på en Comcast netværk, 812 00:36:06,730 --> 00:36:10,270 på Verizon, eller helt ærligt, på NSA, som vi for nylig har lært, 813 00:36:10,270 --> 00:36:14,040 der logger stort set alt at du gør på internettet. 814 00:36:14,040 --> 00:36:15,910 Og vi vil komme tilbage til dette fremtiden klasse 815 00:36:15,910 --> 00:36:18,990 om konsekvenserne af disse design beslutninger og sikkerhed. 816 00:36:18,990 --> 00:36:21,920 >> Men sandheden er, du virkelig ikke har så meget privatliv. 817 00:36:21,920 --> 00:36:25,380 Hver gang du har været på besøg overalt på nettet, du været viser din hånd 818 00:36:25,380 --> 00:36:28,720 og afslørende mindst din IP-adresse. 819 00:36:28,720 --> 00:36:35,930 Så skræmmende note til side, hvad kan vi gøre for at indlejre ting som katte i en webside? 820 00:36:35,930 --> 00:36:40,730 >> Så vi har en masse svar, kan komme tilbage 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 du sikkert ikke set alle disse som et menneske før. 824 00:36:46,622 --> 00:36:48,580 Men du har sikkert set mindst en af ​​disse. 825 00:36:48,580 --> 00:36:50,204 Hvilken en af ​​disse kan virke bekendt? 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 Fil ikke fundet. 829 00:36:52,695 --> 00:36:55,320 Og ja, du kommer til at se dette programmatisk selv. 830 00:36:55,320 --> 00:37:00,220 404 betyder bare den fil, du har anmodet, skråstreg eller skråstreg noget, simpelthen 831 00:37:00,220 --> 00:37:00,950 eksisterer ikke. 832 00:37:00,950 --> 00:37:04,380 Og en webserver typisk reagerer med 404 som et resultat 833 00:37:04,380 --> 00:37:09,680 >> I mellemtiden vil vi snart se, at indholdet af den besked 834 00:37:09,680 --> 00:37:11,800 er dette sprog er kendt som HTML. 835 00:37:11,800 --> 00:37:15,070 Og det er en super simple uddrag af HTML 836 00:37:15,070 --> 00:37:18,380 der gør intet andet end vise hej verden på skærmen. 837 00:37:18,380 --> 00:37:21,830 Faktisk kan du se øverst i denne noget, der hedder en dokumenttype 838 00:37:21,830 --> 00:37:24,220 erklæring, der bare siger, hey, verden. 839 00:37:24,220 --> 00:37:25,964 Denne fil indeholder HTML. 840 00:37:25,964 --> 00:37:28,380 Og så, den næste bid af HTML at du kommer til at skrive, 841 00:37:28,380 --> 00:37:30,930 det har en åben konsol, og derefter ordet HTML, 842 00:37:30,930 --> 00:37:33,670 derefter en lukket stilling og derefter åbent hoved, og luk beslag. 843 00:37:33,670 --> 00:37:36,000 Så kort sagt, lad os faktisk gøre dette mere mekanisk. 844 00:37:36,000 --> 00:37:39,980 Lad mig gå ind i mit apparat, men du kan gøre dette overalt 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 har tænkt mig at gå videre og gemme en fil kaldet hello.html. 847 00:37:45,105 --> 00:37:46,440 848 00:37:46,440 --> 00:37:49,640 Jeg har tænkt mig at sætte det på mit skrivebord til holde tingene super enkel lige nu. 849 00:37:49,640 --> 00:37:51,760 Og jeg har tænkt mig at gøre præcis, hvad jeg lige har set. 850 00:37:51,760 --> 00:37:55,452 Så doc typen HTML, åbneparentes HTML. 851 00:37:55,452 --> 00:37:57,910 Og nu, varsel, jeg har tænkt mig at gør det modsatte forebyggende. 852 00:37:57,910 --> 00:38:01,000 Og modsat, mener jeg samme tag, så at sige, 853 00:38:01,000 --> 00:38:02,767 men det starter med en skråstreg. 854 00:38:02,767 --> 00:38:04,600 Og så, herovre, Jeg har tænkt mig at sige, hoved, 855 00:38:04,600 --> 00:38:07,530 fordi det viser sig, at hver webside har et såkaldt hoved, som 856 00:38:07,530 --> 00:38:10,300 er ting, der går i titlen bar, øverst på siden. 857 00:38:10,300 --> 00:38:13,026 I titlen er bare vil være hello her. 858 00:38:13,026 --> 00:38:15,150 Og nu, jeg har tænkt mig at have et organ til denne webside. 859 00:38:15,150 --> 00:38:18,130 Så hver webside har både et hoved op øverst og et organ 860 00:38:18,130 --> 00:38:19,522 som er tarme af siden. 861 00:38:19,522 --> 00:38:21,980 Og her, jeg bare gå til sige noget lignende hej verden. 862 00:38:21,980 --> 00:38:23,440 Og jeg har tænkt mig at gemme denne fil. 863 00:38:23,440 --> 00:38:26,150 Hvis jeg nu minimere gedit, se, der er en lille fil 864 00:38:26,150 --> 00:38:28,470 på mit skrivebord kaldet hello.html. 865 00:38:28,470 --> 00:38:30,820 Nu, det er ikke på en server endnu, per se, Faktisk er det 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 åbner Chrome og ramte Kontrol O-- der er katten pågældende. 868 00:38:36,910 --> 00:38:38,710 DET-- jeg går til mit skrivebord. 869 00:38:38,710 --> 00:38:43,730 >> Og jeg åbner op hello.html, der, i Faktisk er min super enkel webside. 870 00:38:43,730 --> 00:38:45,490 Liget af min side og det hvide vindue 871 00:38:45,490 --> 00:38:47,610 her er kroppen med hello verden. 872 00:38:47,610 --> 00:38:51,020 Og titlen i hovedet af siden er under fanen der. 873 00:38:51,020 --> 00:38:53,020 Og vi kommer til at se snart, at det er super 874 00:38:53,020 --> 00:38:55,004 enkel at åbne andre sider også. 875 00:38:55,004 --> 00:38:57,670 For eksempel, jeg kommer til at gå i nogle af fordelingen kode 876 00:38:57,670 --> 00:39:00,230 for denne uge, kilde syv, og jeg har tænkt mig 877 00:39:00,230 --> 00:39:03,150 at åbne ikke JPEG som denne fyr er her. 878 00:39:03,150 --> 00:39:08,430 Men jeg har tænkt mig at åbne op image.html, som i sidste ende ser sådan ud. 879 00:39:08,430 --> 00:39:15,140 Men lad mig nu åbne denne op i gedit, og gå ind 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 >> Det meste af det er bare kommentarer, som vi snart vil se. 883 00:39:21,960 --> 00:39:25,210 Men hvis jeg ønsker at sætte Grumpy Cat indersiden af ​​denne webside, 884 00:39:25,210 --> 00:39:29,890 er det tilstrækkeligt at sætte en anden åben beslag, og derefter nøgleordet billede eller img 885 00:39:29,890 --> 00:39:33,080 for korte, og derefter alternativ tekst til tilgængelighed grunde 886 00:39:33,080 --> 00:39:35,890 hvis nogen har en skærm læser eller noget lignende. 887 00:39:35,890 --> 00:39:38,260 Kilde, der er, hvad er navn 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 lidt speciel, 890 00:39:41,400 --> 00:39:44,140 vi sætte skråstreg, som vil vi se, inde i tag. 891 00:39:44,140 --> 00:39:47,180 Men slutresultatet er et web side, der ligner dette. 892 00:39:47,180 --> 00:39:51,320 Så kort sagt, hvad vi vil være gør nu over tid ved hjælp af internettet 893 00:39:51,320 --> 00:39:54,200 og skabe web-sider til sidste ende være beholdere 894 00:39:54,200 --> 00:39:57,280 ikke kun for dumme ting som billeder og links og tabeller, 895 00:39:57,280 --> 00:40:00,770 og punktopstilling lister og lignende, men også at give os selv 896 00:40:00,770 --> 00:40:04,890 en grafisk brugerflade, GUI, ikke ulig hvad vi gjorde vi Breakout. 897 00:40:04,890 --> 00:40:08,330 >> Men inden for dette miljø, er vi kommer til at begynde at bruge sprog som PHP, 898 00:40:08,330 --> 00:40:10,960 og JavaScript, databasen sprog kaldes SQL, 899 00:40:10,960 --> 00:40:14,050 en klient-side scripting sprog kaldet JavaScript til rent faktisk at skabe 900 00:40:14,050 --> 00:40:18,760 alle de mere dynamiske grænseflader, men i en meget, meget mere velkendt sammenhæng. 901 00:40:18,760 --> 00:40:21,970 Men inden da, lad os indgå i dag med et blik, 902 00:40:21,970 --> 00:40:25,280 som lovet, af hvad der virkelig foregår på under emhætten med internettet 903 00:40:25,280 --> 00:40:26,060 selv. 904 00:40:26,060 --> 00:40:28,400 >> Fastsætte for i dag at internettet kan 905 00:40:28,400 --> 00:40:31,390 bruges til at overføre ting ligesom websider via HTTP 906 00:40:31,390 --> 00:40:33,150 ligesom jeg rystede Margot hånd tidligere. 907 00:40:33,150 --> 00:40:36,470 Men der er så mange andre tjenester, der anvender TCP og IP 908 00:40:36,470 --> 00:40:39,800 at vi tager for givet at arbejde som vi vil se her 909 00:40:39,800 --> 00:40:42,477 i denne film, der vil tage os til slutningen 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 arbejder sammen, realisere en drøm. 914 00:41:38,940 --> 00:41:41,780 En forenende kraft, der kender ingen geografiske grænser. 915 00:41:41,780 --> 00:41:45,010 Uden hensyn til race, tro eller farve. 916 00:41:45,010 --> 00:41:49,130 En ny æra, hvor kommunikation virkelig bringer mennesker 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 >> Ønsker du at vide, hvordan det fungerer? 920 00:41:56,450 --> 00:42:00,260 Klik her for at begynde din rejse ind i nettet. 921 00:42:00,260 --> 00:42:02,780 922 00:42:02,780 --> 00:42:05,380 Nu præcis, hvad der skete når du har klikket på dette link? 923 00:42:05,380 --> 00:42:07,190 Du startede en strøm af information. 924 00:42:07,190 --> 00:42:09,790 Denne information rejser ned ind i din personlige postrum 925 00:42:09,790 --> 00:42:14,040 når Mr. IP-pakker det, etiketter det og sender det på vej. 926 00:42:14,040 --> 00:42:16,030 >> Hver pakke er begrænset størrelse. 927 00:42:16,030 --> 00:42:19,900 Postrummet skal beslutte, hvordan at opdele de oplysninger og hvordan du pakker den. 928 00:42:19,900 --> 00:42:23,400 Nu pakken har brug for en etiket indeholder vigtige oplysninger, 929 00:42:23,400 --> 00:42:27,480 såsom afsenderens adresse, receiverens adresse, og den type pakke det er. 930 00:42:27,480 --> 00:42:41,070 931 00:42:41,070 --> 00:42:43,700 >> Fordi denne særlige pakke går ud på internettet, 932 00:42:43,700 --> 00:42:46,240 også får en adresse til proxy-server, som 933 00:42:46,240 --> 00:42:47,990 har en særlig funktion 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 nu lanceret på dit lokale netværk eller LAN. 936 00:42:53,430 --> 00:42:56,220 Dette netværk anvendes til at forbinde alle de lokale computere, 937 00:42:56,220 --> 00:42:58,760 routere printere, et cetera til udveksling af oplysninger 938 00:42:58,760 --> 00:43:00,790 inden for fysisk bygningens mure. 939 00:43:00,790 --> 00:43:04,840 Den LAN er en temmelig ukontrolleret placere og desværre ulykker 940 00:43:04,840 --> 00:43:05,828 kan ske. 941 00:43:05,828 --> 00:43:13,240 942 00:43:13,240 --> 00:43:16,020 >> Motorvejen af ​​LAN er pakket med alle typer af information. 943 00:43:16,020 --> 00:43:19,270 Disse er IP-pakker, Novell pakker, Apple Talk pakker. 944 00:43:19,270 --> 00:43:21,440 De gĺr imod trafik som sædvanlig. 945 00:43:21,440 --> 00:43:24,040 Den lokale router læser behandle og om nødvendigt 946 00:43:24,040 --> 00:43:25,935 løfter pakken på et andet netværk. 947 00:43:25,935 --> 00:43:27,610 948 00:43:27,610 --> 00:43:28,810 Ah, routeren. 949 00:43:28,810 --> 00:43:31,990 Et symbol på kontrol i en tilsyneladende uorganiserede verden. 950 00:43:31,990 --> 00:43:41,050 951 00:43:41,050 --> 00:43:45,480 >> Der er han, en systematisk, ufølsom, metodisk, konservativ, 952 00:43:45,480 --> 00:43:48,100 og nogle gange ikke helt på omgangshøjde. 953 00:43:48,100 --> 00:43:50,430 Men i det mindste, er han eksakt for det meste. 954 00:43:50,430 --> 00:44:03,090 955 00:44:03,090 --> 00:44:05,530 >> Som pakkerne forlader router, de gør deres vej 956 00:44:05,530 --> 00:44:08,780 i virksomhedens intranet og hoved for routeren switch. 957 00:44:08,780 --> 00:44:10,179 958 00:44:10,179 --> 00:44:12,470 En smule mere effektiv end routeren, routeren switch 959 00:44:12,470 --> 00:44:16,700 spiller kispus med IP-pakker, behændigt routing dem undervejs. 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å. 962 00:44:19,532 --> 00:44:20,490 Her kommer en anden. 963 00:44:20,490 --> 00:44:21,198 Og det er en anden. 964 00:44:21,198 --> 00:44:21,886 Se denne, mor. 965 00:44:21,886 --> 00:44:22,258 Her er går. 966 00:44:22,258 --> 00:44:22,382 Hovsa. 967 00:44:22,382 --> 00:44:23,126 Omkring bagsiden. 968 00:44:23,126 --> 00:44:23,374 Hey. 969 00:44:23,374 --> 00:44:23,622 Derinde. 970 00:44:23,622 --> 00:44:24,122 Derinde. 971 00:44:24,122 --> 00:44:24,862 Over til venstre. 972 00:44:24,862 --> 00:44:25,110 Over til højre. 973 00:44:25,110 --> 00:44:25,358 Over til venstre. 974 00:44:25,358 --> 00:44:26,350 Over til højre. 975 00:44:26,350 --> 00:44:26,596 Du fik det. 976 00:44:26,596 --> 00:44:26,846 Her går det. 977 00:44:26,846 --> 00:44:27,342 Han skyder. 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 Hey, vent. 981 00:44:28,580 --> 00:44:28,940 Hey, pas på. 982 00:44:28,940 --> 00:44:29,898 Her kommer en anden. 983 00:44:29,898 --> 00:44:30,860 Åh, her går vi. 984 00:44:30,860 --> 00:44:33,740 985 00:44:33,740 --> 00:44:35,930 >> -som Pakker ankommer deres destination, de er 986 00:44:35,930 --> 00:44:40,640 plukket af netværkskortet, klar til at blive sendt til det næste niveau, 987 00:44:40,640 --> 00:44:42,000 i dette tilfælde proxy. 988 00:44:42,000 --> 00:44:43,060 989 00:44:43,060 --> 00:44:46,210 Fuldmagten bruges af mange virksomheder som en slags midt mand 990 00:44:46,210 --> 00:44:48,650 for at mindske belastningen på deres internetforbindelse 991 00:44:48,650 --> 00:44:50,040 og af sikkerhedsmæssige årsager. 992 00:44:50,040 --> 00:44:51,824 993 00:44:51,824 --> 00:44:55,310 Som du kan se, pakkerne er alle af forskellige størrelser, 994 00:44:55,310 --> 00:44:56,650 afhængigt af deres indhold. 995 00:44:56,650 --> 00:45:10,750 996 00:45:10,750 --> 00:45:14,790 >> Fuldmagten åbner 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 Afhængigt af om adressen er acceptabel, 999 00:45:18,707 --> 00:45:20,290 pakken sendt videre til internettet. 1000 00:45:20,290 --> 00:45:25,880 1001 00:45:25,880 --> 00:45:28,700 Der er dog nogle adresser, som ikke 1002 00:45:28,700 --> 00:45:31,440 mødes med godkendelse af proxy, dvs., 1003 00:45:31,440 --> 00:45:33,305 virksomheds- eller ledelsesmæssige retningslinjer. 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 har intet af dette. 1008 00:45:41,070 --> 00:45:43,350 For dem, der gør det, det er på vejen igen. 1009 00:45:43,350 --> 00:45:52,740 1010 00:45:52,740 --> 00:45:54,695 >> Næste op, firewallen. 1011 00:45:54,695 --> 00:45:58,060 1012 00:45:58,060 --> 00:46:01,414 Virksomhedens firewall tjener to formål. 1013 00:46:01,414 --> 00:46:03,580 Det forhindrer nogle temmelig grimme ting på internettet 1014 00:46:03,580 --> 00:46:05,379 komme ind i intranet. 1015 00:46:05,379 --> 00:46:07,670 Og det kan også forhindre følsomme virksomhedsoplysninger 1016 00:46:07,670 --> 00:46:09,900 fra at blive sendt ud på internettet. 1017 00:46:09,900 --> 00:46:11,810 1018 00:46:11,810 --> 00:46:14,210 >> Når gennem firewallen, en router opfanger pakken 1019 00:46:14,210 --> 00:46:18,290 og placerer det på en meget smallere vej eller båndbredde, som vi siger. 1020 00:46:18,290 --> 00:46:21,505 Naturligvis rækken er ikke bred nok til at tage dem alle. 1021 00:46:21,505 --> 00:46:22,727 1022 00:46:22,727 --> 00:46:25,060 Nu kan du spekulerer på, hvad sker til alle de pakker 1023 00:46:25,060 --> 00:46:27,250 som ikke gør det undervejs. 1024 00:46:27,250 --> 00:46:29,880 Godt, når Mr. IP ikke gør modtager en kvittering 1025 00:46:29,880 --> 00:46:32,160 at en pakke er blevet modtages i tide, 1026 00:46:32,160 --> 00:46:34,060 sender han blot en erstatning pakke. 1027 00:46:34,060 --> 00:46:36,040 1028 00:46:36,040 --> 00:46:40,510 >> Vi er nu klar til at komme ind i verden af ​​internettet, en edderkop 1029 00:46:40,510 --> 00:46:44,656 web af sammenkoblede net som spænder hele vores klode. 1030 00:46:44,656 --> 00:46:47,845 Her, routere og switche etablere forbindelser mellem netværk. 1031 00:46:47,845 --> 00:46:49,239 1032 00:46:49,239 --> 00:46:51,280 Nu nettet er en helt anderledes miljø 1033 00:46:51,280 --> 00:46:53,740 end du finder i beskyttende væggene i dit LAN. 1034 00:46:53,740 --> 00:46:56,510 >> Herude er det Wild West, masser af plads, 1035 00:46:56,510 --> 00:47:00,440 masser af muligheder, masser af ting at udforske, og steder at gå. 1036 00:47:00,440 --> 00:47:02,790 Takket være meget lidt styring og regulering, 1037 00:47:02,790 --> 00:47:07,250 nye ideer finde frugtbar jord til at skubbe konvolutten af ​​deres muligheder. 1038 00:47:07,250 --> 00:47:10,590 Men på grund af denne frihed, visse farer lurer også. 1039 00:47:10,590 --> 00:47:14,230 >> Du vil aldrig vide, hvornår du møde den frygtede ping af død, 1040 00:47:14,230 --> 00:47:18,040 en speciel version af en normal anmodning ping som nogle idiot udtænkt 1041 00:47:18,040 --> 00:47:19,830 at rod op intetanende værter. 1042 00:47:19,830 --> 00:47:21,470 1043 00:47:21,470 --> 00:47:25,490 Stien vores pakker tager måske via satellit, telefonlinjer, trådløs, 1044 00:47:25,490 --> 00:47:27,340 eller endda transoceanic kabel. 1045 00:47:27,340 --> 00:47:30,290 >> De behøver ikke altid tage den hurtigste eller korteste ruter er muligt, 1046 00:47:30,290 --> 00:47:33,330 men de vil komme dertil, til sidst. 1047 00:47:33,330 --> 00:47:37,255 Måske det er derfor det er undertiden kaldet den verdensomspændende ventetid. 1048 00:47:37,255 --> 00:47:39,650 Men når alt er fungerer gnidningsløst, du 1049 00:47:39,650 --> 00:47:43,270 kunne omgå kloden fem gange ved slip af en hat, 1050 00:47:43,270 --> 00:47:46,690 bogstaveligt, og alt for omkostningerne ved et lokalt opkald eller mindre. 1051 00:47:46,690 --> 00:47:47,970 1052 00:47:47,970 --> 00:47:51,025 >> Nær slutningen af ​​vores destination, vi vil finde en anden firewall. 1053 00:47:51,025 --> 00:47:53,710 1054 00:47:53,710 --> 00:47:56,160 Afhængig af din perspektiv som en datapakke, 1055 00:47:56,160 --> 00:48:00,520 firewall kunne være en bastion sikkerhed eller frygtede modstander. 1056 00:48:00,520 --> 00:48:04,420 Det hele afhænger af, hvilken side du er om, og hvad dine hensigter er. 1057 00:48:04,420 --> 00:48:08,365 >> Den firewall er designet til at lade på kun disse pakker, der opfylder kriterierne. 1058 00:48:08,365 --> 00:48:09,590 1059 00:48:09,590 --> 00:48:11,940 Denne firewall fungerer port 80 og 25. 1060 00:48:11,940 --> 00:48:13,250 1061 00:48:13,250 --> 00:48:16,380 Alle forsøg på at komme ind gennem andre porte er lukket for erhvervslivet. 1062 00:48:16,380 --> 00:48:27,690 1063 00:48:27,690 --> 00:48:30,600 >> Port 25 bruges til mail pakker. 1064 00:48:30,600 --> 00:48:32,750 1065 00:48:32,750 --> 00:48:35,791 Mens Port 80 er indgangen til pakker fra internettet til internettet 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 Inde firewall, pakker screenes mere grundigt. 1069 00:48:42,540 --> 00:48:44,660 Nogle pakker gør det let gennem tolden, 1070 00:48:44,660 --> 00:48:47,500 mens andre ser bare en smule tvivlsom. 1071 00:48:47,500 --> 00:48:49,630 >> Nu firewall officer er ikke let at narre, 1072 00:48:49,630 --> 00:48:53,010 såsom når denne ping Dødens packet lande 1073 00:48:53,010 --> 00:48:55,628 at skjule sig som en normal ping pakke. 1074 00:48:55,628 --> 00:48:56,128 -Flyt Sammen. 1075 00:48:56,128 --> 00:48:56,606 Det er OK. 1076 00:48:56,606 --> 00:48:57,106 Intet problem. 1077 00:48:57,106 --> 00:48:58,040 Hav en god dag. 1078 00:48:58,040 --> 00:48:59,360 Lad mig ud herfra. 1079 00:48:59,360 --> 00:49:00,460 Bye. 1080 00:49:00,460 --> 00:49:02,990 >> -For Disse pakker heldig nok til at gøre det så langt, 1081 00:49:02,990 --> 00:49:04,860 rejsen er næsten slut. 1082 00:49:04,860 --> 00:49:07,280 1083 00:49:07,280 --> 00:49:11,560 Det er bare en linje op på grænsefladen tages op i webserveren. 1084 00:49:11,560 --> 00:49:12,610 1085 00:49:12,610 --> 00:49:16,850 I dag kan en web-server køre på mange ting, fra en mainframe, til et webcam, 1086 00:49:16,850 --> 00:49:18,430 til computeren på dit skrivebord. 1087 00:49:18,430 --> 00:49:20,220 Hvorfor ikke dit køleskab? 1088 00:49:20,220 --> 00:49:22,140 >> Med den rette sæt op, kan du finde ud af 1089 00:49:22,140 --> 00:49:24,330 hvis du har forudsætninger til kylling cacciatore 1090 00:49:24,330 --> 00:49:25,690 eller hvis du er nødt til at gå på indkøb. 1091 00:49:25,690 --> 00:49:28,625 Husk, det er The Dawn of the Net. 1092 00:49:28,625 --> 00:49:29,850 Næsten alt er muligt. 1093 00:49:29,850 --> 00:49:32,960 1094 00:49:32,960 --> 00:49:37,080 >> Én efter én, pakkerne er modtaget, åbnes og pakkes ud. 1095 00:49:37,080 --> 00:49:40,350 1096 00:49:40,350 --> 00:49:44,280 De oplysninger, de indeholder, at er din anmodning om oplysninger, 1097 00:49:44,280 --> 00:49:46,080 sendes videre til nettet server applikation. 1098 00:49:46,080 --> 00:49:52,670 1099 00:49:52,670 --> 00:49:54,345 >> Selve pakken genanvendes. 1100 00:49:54,345 --> 00:49:57,280 1101 00:49:57,280 --> 00:50:06,770 Klar til at blive brugt igen og fyldt med dit ønskede oplysninger rettet, 1102 00:50:06,770 --> 00:50:08,680 og sende ud på sin vej tilbage til dig. 1103 00:50:08,680 --> 00:50:10,430 1104 00:50:10,430 --> 00:50:14,700 Tilbage forbi firewalls, routere, og igennem til internettet. 1105 00:50:14,700 --> 00:50:18,164 1106 00:50:18,164 --> 00:50:19,705 Tilbage gennem virksomhedens firewall. 1107 00:50:19,705 --> 00:50:24,461 1108 00:50:24,461 --> 00:50:26,295 Og på din brugerflade. 1109 00:50:26,295 --> 00:50:27,400 1110 00:50:27,400 --> 00:50:30,630 Klar til at levere din web browser med de oplysninger, du har anmodet om. 1111 00:50:30,630 --> 00:50:33,010 1112 00:50:33,010 --> 00:50:34,538 Det er denne film. 1113 00:50:34,538 --> 00:50:40,030 1114 00:50:40,030 --> 00:50:43,200 >> Tilfredse med deres indsats og stole på en bedre verden, 1115 00:50:43,200 --> 00:50:45,960 vore trofaste datapakker rider off saligt 1116 00:50:45,960 --> 00:50:49,830 i solnedgangen på en anden dag, vel vidende fuldt de 1117 00:50:49,830 --> 00:50:51,635 har tjent deres herrer godt. 1118 00:50:51,635 --> 00:50:54,030 1119 00:50:54,030 --> 00:50:57,209 Nu er det ikke en lykkelig slutning. 1120 00:50:57,209 --> 00:50:58,042 [END VIDEO PLAYBACK] 1121 00:50:58,042 --> 00:50:59,533 DAVID MALAN: Det er det for CS50. 1122 00:50:59,533 --> 00:51:01,521 Vi vil se dig i næste uge. 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