1 00:00:00,000 --> 00:00:04,580 2 00:00:04,580 --> 00:00:06,580 DOUG LLOYD: Hvis du har vært å se disse videoene 3 00:00:06,580 --> 00:00:09,030 i den rekkefølge som vi anbefaler, vi er i ferd med å gjennomgå 4 00:00:09,030 --> 00:00:10,260 bit av en kultur skift. 5 00:00:10,260 --> 00:00:13,093 Fordi nå, kommer vi til å starte snakker om internett og web 6 00:00:13,093 --> 00:00:13,669 teknologier. 7 00:00:13,669 --> 00:00:15,835 Så frem til nå, har vi virkelig gjort mye av C. 8 00:00:15,835 --> 00:00:17,370 >> Og når vi har vært kjører våre programmer, 9 00:00:17,370 --> 00:00:19,500 vi har kjørt dem fra kommandolinjen. 10 00:00:19,500 --> 00:00:23,080 Det er ganske mye hvor brukerne har blitt samspill med programmene 11 00:00:23,080 --> 00:00:23,760 at vi skriver. 12 00:00:23,760 --> 00:00:26,859 De plukker noe å be, noe skjer i terminalvindu 13 00:00:26,859 --> 00:00:27,650 og så er det gjort. 14 00:00:27,650 --> 00:00:30,957 >> Noen ganger kan du ha vedvarende data som gjenstår etterpå. 15 00:00:30,957 --> 00:00:32,040 Men det er ganske mye det. 16 00:00:32,040 --> 00:00:33,081 Det er på kommandolinjen. 17 00:00:33,081 --> 00:00:34,775 Det er den eneste måten brukeren kan samhandle. 18 00:00:34,775 --> 00:00:36,650 Fra dette tidspunktet, vi kommer til å starte 19 00:00:36,650 --> 00:00:39,980 overgangen, slik at brukerne kan samhandle med våre nettsider. 20 00:00:39,980 --> 00:00:42,688 Så vi kommer til å skrive nettsteder, som ikke er skrevet i C, 21 00:00:42,688 --> 00:00:46,600 men er skrevet i en rekke annen programmeringsspråk, inkludert PHP, 22 00:00:46,600 --> 00:00:50,810 og det er liksom hjelpespråk, HTML, CSS og lignende. 23 00:00:50,810 --> 00:00:53,130 Så vi kommer til å starte snakke om disse tingene. 24 00:00:53,130 --> 00:00:55,740 >> Før vi kommer inn web programmering selv, 25 00:00:55,740 --> 00:00:58,720 Jeg tror det er trolig en god idé å ta et skritt tilbake og snakke 26 00:00:58,720 --> 00:01:02,720 om hvordan datamaskiner og mennesker samhandler over nettet. 27 00:01:02,720 --> 00:01:07,520 Så denne videoen er egentlig en primer, en grunnleggende guide, til internett. 28 00:01:07,520 --> 00:01:10,951 Nå er det forbeholdet her CS50 er ikke et nettverk klasse. 29 00:01:10,951 --> 00:01:13,700 Så det vi skal snakke om her er ganske høyt nivå. 30 00:01:13,700 --> 00:01:17,240 Vi kommer ikke til å komme inn i noen lavt nivå 31 00:01:17,240 --> 00:01:19,540 detaljer om hvordan alt dette fungerer. 32 00:01:19,540 --> 00:01:21,290 Hvis du er interessert i det, vil jeg på det sterkeste 33 00:01:21,290 --> 00:01:24,580 anbefale å ta en klasse på datanettverk. 34 00:01:24,580 --> 00:01:26,540 Og vi kan også fortelle hvit løgn eller to bare 35 00:01:26,540 --> 00:01:31,590 for det formål å gjøre generell forståelse klart. 36 00:01:31,590 --> 00:01:35,780 >> Så med det sagt, la oss snakke om hvordan vi samhandler med internett. 37 00:01:35,780 --> 00:01:37,570 Så her er vi. 38 00:01:37,570 --> 00:01:38,430 Her er oss. 39 00:01:38,430 --> 00:01:41,096 Vi er ganske ser frem til komme inn på Internett, som 40 00:01:41,096 --> 00:01:42,810 som vi alle vet, er stappfullt av katter. 41 00:01:42,810 --> 00:01:45,210 >> Nå trenger vi bare koble til internett som dette? 42 00:01:45,210 --> 00:01:46,360 Vel, sannsynligvis ikke. 43 00:01:46,360 --> 00:01:48,620 Intuitivt, vet du det, si for eksempel, 44 00:01:48,620 --> 00:01:51,190 når du endrer Wi-Fi nettverk på datamaskinen, 45 00:01:51,190 --> 00:01:54,010 du ser ikke en som heter internett med mindre det bare så skjer 46 00:01:54,010 --> 00:01:58,870 å være navnet på din lokale Wi-Fi. 47 00:01:58,870 --> 00:01:59,370 Høyre? 48 00:01:59,370 --> 00:02:00,880 >> Det er som regel noe sånt hjemme. 49 00:02:00,880 --> 00:02:03,338 Eller hvis du er på jobb, det kan være navnet på firmaet. 50 00:02:03,338 --> 00:02:05,340 Det er ikke bare en alternativ som heter internett. 51 00:02:05,340 --> 00:02:09,710 Og så noe eller noen ting eksisterer i mellom når 52 00:02:09,710 --> 00:02:11,490 vi ønsker å koble til internett. 53 00:02:11,490 --> 00:02:12,740 Hva er noen av de tingene? 54 00:02:12,740 --> 00:02:14,110 Vel, vi kommer til å snakke om det. 55 00:02:14,110 --> 00:02:16,180 Vi kommer også til å snakke om noen av de viktigste tingene 56 00:02:16,180 --> 00:02:18,710 vi trenger for å kunne for å koble til internett. 57 00:02:18,710 --> 00:02:21,214 Og den første av disse ting er en IP-adresse. 58 00:02:21,214 --> 00:02:23,380 Så du har sikkert hørt begrepet IP-adresse før. 59 00:02:23,380 --> 00:02:24,630 Hva betyr det? 60 00:02:24,630 --> 00:02:28,270 Vel, er en IP-adresse utgangspunktet en unik identifikator 61 00:02:28,270 --> 00:02:30,820 av din datamaskin på et nettverk. 62 00:02:30,820 --> 00:02:33,640 Akkurat som alle hjem eller Kontoret har en unik adresse 63 00:02:33,640 --> 00:02:36,660 som man kunne sende en mail. 64 00:02:36,660 --> 00:02:40,750 >> På samme måte hver datamaskin hvis det ønsker å motta data eller sende data, 65 00:02:40,750 --> 00:02:43,040 må ha en unik adresse. 66 00:02:43,040 --> 00:02:45,720 Slik at når informasjon blir sendt eller mottatt, 67 00:02:45,720 --> 00:02:49,720 Det blir derfor sendt fra eller mottatt til riktig sted. 68 00:02:49,720 --> 00:02:52,660 Dette adressering ordningen, som jeg sa, kalles IP-adressering. 69 00:02:52,660 --> 00:02:57,690 IP er står for Internet Protocol, som vi skal snakke om igjen om kort tid. 70 00:02:57,690 --> 00:03:00,230 >> Nå, hva betyr IP adressering se ut? 71 00:03:00,230 --> 00:03:04,330 Vel, ordningen i utgangspunktet var, når det først ble implementert, 72 00:03:04,330 --> 00:03:07,846 å gi hver datamaskin en unik 32-bit adressen. 73 00:03:07,846 --> 00:03:08,720 Det er mye av biter. 74 00:03:08,720 --> 00:03:10,900 Det er 4 milliarder adresser. 75 00:03:10,900 --> 00:03:14,190 >> Og generelt, istedenfor å bruke heksadesimal notasjon, som 76 00:03:14,190 --> 00:03:18,450 Vi har tidligere brukt i sammenheng med pekere i C for å snakke om adresser, 77 00:03:18,450 --> 00:03:21,580 vi vanligvis representerer IP adresser i en litt mer 78 00:03:21,580 --> 00:03:24,370 av en human vennlig måte, som representerer dem 79 00:03:24,370 --> 00:03:28,680 som fire grupper av 8 bits representert som desimaltall. 80 00:03:28,680 --> 00:03:34,920 Fordi mennesker ikke ofte snakker heksadesimale, med mindre du programmerer. 81 00:03:34,920 --> 00:03:38,400 Men folk som bruker internett er ikke nødvendigvis programmerere. 82 00:03:38,400 --> 00:03:41,660 >> Og så gjør det enkelt og tilgjengelig for dem 83 00:03:41,660 --> 00:03:45,430 å være i stand til å snakke om hva deres IP-adresse er i tilfelle de kanskje 84 00:03:45,430 --> 00:03:47,690 må ringe opp noen å feilsøke noe, 85 00:03:47,690 --> 00:03:51,610 det er bedre å gjøre det i mer vanlig konvensjonell desimaltall 86 00:03:51,610 --> 00:03:52,880 format. 87 00:03:52,880 --> 00:03:57,570 Og så en IP-adresse ser bare ganske mye som dette, w.x.y.z, 88 00:03:57,570 --> 00:04:00,650 hvor hver og en av disse bokstavene representerer en ikke-negativ verdi 89 00:04:00,650 --> 00:04:02,960 i området fra 0 til 255. 90 00:04:02,960 --> 00:04:07,950 Husker at en 8-bits tall kan holde 256 forskjellige verdier. 91 00:04:07,950 --> 00:04:10,520 >> Og så det er derfor vårt utvalg er fra 0 til 255. 92 00:04:10,520 --> 00:04:15,030 Og vi har fire klynger av 8 biter for en totalsum på 32 bits. 93 00:04:15,030 --> 00:04:17,920 Og så en IP-adresse makt se omtrent slik ut. 94 00:04:17,920 --> 00:04:24,120 Dette er liksom en generisk standard IP-adresse, 123.45.67.89. 95 00:04:24,120 --> 00:04:28,850 Alle av dem er i området fra 0 til 255, så det er en gyldig IP-adresse. 96 00:04:28,850 --> 00:04:34,040 >> Her ved Harvard University, alle våre IP-adresser starte med 140,247. 97 00:04:34,040 --> 00:04:37,130 Det er bare slik at IP adresser i dette geografiske området 98 00:04:37,130 --> 00:04:38,130 har blitt tildelt. 99 00:04:38,130 --> 00:04:42,750 Og slik at dette kan være en IP-adresse som kan eksistere her ved Harvard. 100 00:04:42,750 --> 00:04:46,810 >> Så som jeg sa, hvis hver IP-adresse er 32 bits, har vi ca 4 milliarder 101 00:04:46,810 --> 00:04:49,290 å gi ut, litt mer enn 4 milliarder. 102 00:04:49,290 --> 00:04:51,470 Men vi kan slags se et problem, ikke sant? 103 00:04:51,470 --> 00:04:53,190 Hva er verdens befolkning akkurat nå? 104 00:04:53,190 --> 00:04:56,560 >> Vel, det er et sted nord for 7 milliarder mennesker. 105 00:04:56,560 --> 00:04:58,800 Og i den vestlige verden Minst, folk flest 106 00:04:58,800 --> 00:05:02,644 har mer enn én enhet stand til internett-tilkobling. 107 00:05:02,644 --> 00:05:03,560 Jeg har en rett her. 108 00:05:03,560 --> 00:05:04,880 Og jeg har en annen i lomma. 109 00:05:04,880 --> 00:05:06,340 Og jeg har en tilbake på kontoret mitt. 110 00:05:06,340 --> 00:05:07,387 >> Og så det er tre. 111 00:05:07,387 --> 00:05:09,970 Og som ikke engang telle de som jeg har hjemme, også. 112 00:05:09,970 --> 00:05:12,160 Og så det er slags et problem, ikke sant? 113 00:05:12,160 --> 00:05:15,380 Vi har minst 7 milliarder mennesker og bare 4 milliarder adresser. 114 00:05:15,380 --> 00:05:18,719 >> Og hver enhet er ment å være entydig identifisert. 115 00:05:18,719 --> 00:05:21,260 Vi har utviklet noen midlertidige løsninger å håndtere dette problemet, 116 00:05:21,260 --> 00:05:23,240 noe som kalles en privat IP-adresse, som vi ikke 117 00:05:23,240 --> 00:05:24,573 kommer til å komme inn i denne videoen. 118 00:05:24,573 --> 00:05:31,920 Men i utgangspunktet, kan det fremme web, internett, til slags falsk 119 00:05:31,920 --> 00:05:35,610 ut litt at du har en unik adressen ved å ha private adresser 120 00:05:35,610 --> 00:05:38,730 og deretter lede dem gjennom en enkelt adresse, hvilke 121 00:05:38,730 --> 00:05:41,220 deles av mange forskjellige datamaskiner. 122 00:05:41,220 --> 00:05:43,200 >> Men det er egentlig ikke en langsiktig løsning. 123 00:05:43,200 --> 00:05:45,250 Selv det faste er ikke kommer til å vare evig. 124 00:05:45,250 --> 00:05:50,030 Og så må vi ha en annen måte å håndtere dette. 125 00:05:50,030 --> 00:05:51,904 >> Så som jeg sa, hadde vi ca 4 milliarder kroner. 126 00:05:51,904 --> 00:05:53,820 Men som ikke kommer til å være god nok, ikke sant? 127 00:05:53,820 --> 00:05:56,540 Og så den måten at det har avgjort der vi er 128 00:05:56,540 --> 00:05:59,240 kommer til å håndtere dette på er å gjøre lengre IP-adresser. 129 00:05:59,240 --> 00:06:03,344 I stedet for 32-bits adresser, er vi kommer til å ha 128-bits adresser. 130 00:06:03,344 --> 00:06:05,260 Så i stedet for 4 milliarder adresser, skal vi 131 00:06:05,260 --> 00:06:11,130 å ha det store antall adresser, som er 340 000 000 000 milliarder kroner 132 00:06:11,130 --> 00:06:14,150 milliarder, så mye av IP-adresser. 133 00:06:14,150 --> 00:06:18,240 >> Og denne nye ordningen kalles IPv6 er ofte hvordan det er referert. 134 00:06:18,240 --> 00:06:21,242 Den gamle ordningen er IPv4. 135 00:06:21,242 --> 00:06:23,450 Det er litt av et problem i at dette problemet har vært 136 00:06:23,450 --> 00:06:25,470 kjent om for en veldig lang tid. 137 00:06:25,470 --> 00:06:28,025 138 00:06:28,025 --> 00:06:32,201 >> Og du vil se dette mye i sammenheng med datamaskiner og databehandling. 139 00:06:32,201 --> 00:06:33,700 Vi er flinke til å forutse problemer. 140 00:06:33,700 --> 00:06:36,449 Men vi er dårlige til å håndtere dem selv om vi vet om dem. 141 00:06:36,449 --> 00:06:38,340 Så IPv6 har vært rundt på en stund. 142 00:06:38,340 --> 00:06:40,510 Og bare i de siste par år har vi faktisk 143 00:06:40,510 --> 00:06:47,190 startet innfasing av disse IPv6-adresser å fase ut de IPv4-adresser. 144 00:06:47,190 --> 00:06:49,520 Men noen steder har dem. 145 00:06:49,520 --> 00:06:52,200 Og de ser like ut til en vanlig IP-adresse. 146 00:06:52,200 --> 00:06:53,520 Men de er mye lenger. 147 00:06:53,520 --> 00:06:59,900 >> Så i stedet for nå å ha fire klynger av 8 byte for din adresse, 148 00:06:59,900 --> 00:07:03,580 vi nå har åtte klynger av 16 bytes. 149 00:07:03,580 --> 00:07:06,680 Og 8 ganger 16 er 128. 150 00:07:06,680 --> 00:07:11,210 Og vi representerer disse i mindre konvensjonell heksadesimal form. 151 00:07:11,210 --> 00:07:16,930 Fordi har 16-bit tall betyr at stedet for å være et område fra 0 til 255, 152 00:07:16,930 --> 00:07:20,350 Vi ville ha en rekkevidde fra 0 til 65 535. 153 00:07:20,350 --> 00:07:22,470 >> Og så har en haug av de som henger sammen 154 00:07:22,470 --> 00:07:24,680 ville være svært vanskelig å lese. 155 00:07:24,680 --> 00:07:27,480 Og så vi vanligvis bruker hex bare ut av bekvemmelighet. 156 00:07:27,480 --> 00:07:31,180 Og så en typisk IPv6-adresse kan se noe som dette. 157 00:07:31,180 --> 00:07:35,860 >> Det er sikkert mye lenger enn IPv4-adressen vi har sett før. 158 00:07:35,860 --> 00:07:39,280 Men dette ville være en gyldig IPv6-adresse. 159 00:07:39,280 --> 00:07:41,570 Dette handler også om IPv6-adresse. 160 00:07:41,570 --> 00:07:44,331 >> Dette skjer for å tilhøre Google. 161 00:07:44,331 --> 00:07:46,080 Og legg merke til det er en haug med nuller der. 162 00:07:46,080 --> 00:07:47,930 Noen ganger disse adressene kan bli så lang. 163 00:07:47,930 --> 00:07:50,530 Og siden vi er fortsatt ganske tidlig i IPv6, 164 00:07:50,530 --> 00:07:54,250 noen ganger kan det være store biter av nuller i det at vi ikke trenger. 165 00:07:54,250 --> 00:08:01,920 >> Hvis du leser dette høyt, det er 2001.4860.4860.0.0.0.0.8844. 166 00:08:01,920 --> 00:08:03,325 Det er litt mye, ikke sant? 167 00:08:03,325 --> 00:08:05,450 Så hvis du ser en haug med nuller, kanskje du noen ganger 168 00:08:05,450 --> 00:08:08,990 se en IPv6-adresse som dette, der de utelater nuller 169 00:08:08,990 --> 00:08:10,959 og bruke en dobbel kolon i stedet. 170 00:08:10,959 --> 00:08:11,750 Dette er OK, skjønt. 171 00:08:11,750 --> 00:08:14,610 Fordi vi vet at det er ment å være åtte forskjellige biter. 172 00:08:14,610 --> 00:08:17,190 Og så ved implikasjon, ser vi fire. 173 00:08:17,190 --> 00:08:20,620 Så vi vet at det må være fire sett nuller som dette, som fyller det i. 174 00:08:20,620 --> 00:08:23,760 >> Så noen ganger, kan du se en IPv6-adresse ikke å ha 175 00:08:23,760 --> 00:08:26,650 åtte adskilte biter som vi gjør her. 176 00:08:26,650 --> 00:08:28,760 Du kan se det som ser ut som dette. 177 00:08:28,760 --> 00:08:31,310 Og det betyr bare at alt du ikke ser i 178 00:08:31,310 --> 00:08:37,450 mellom hvor som dobbel kolon er det bare null separert. 179 00:08:37,450 --> 00:08:37,998 >> Så ok. 180 00:08:37,998 --> 00:08:40,039 Vi vet litt mer om IP-adresser nå. 181 00:08:40,039 --> 00:08:41,250 Men hvordan får vi dem? 182 00:08:41,250 --> 00:08:44,727 Vi kan ikke bare plukke den vi ønsker. 183 00:08:44,727 --> 00:08:47,810 Hvis vi gjorde det, kan vi ende opp med å slåss noen for den samme IP-adresse. 184 00:08:47,810 --> 00:08:50,050 Eller noen kan ha valgt det tidligere. 185 00:08:50,050 --> 00:08:52,799 Hvis vi prøver og ta det, kommer vi å kjøre inn litt av et problem. 186 00:08:52,799 --> 00:08:56,300 Og så vi kan ikke bare plukke IP-adresse som vi ønsker. 187 00:08:56,300 --> 00:08:58,410 >> Så den måten at vi får en IP-adressen er et sted 188 00:08:58,410 --> 00:09:02,960 mellom vår datamaskin og internett, den store internett der ute, 189 00:09:02,960 --> 00:09:07,500 det er noe som heter en DHCP-server, en Dynamic Host Configuration Protocol 190 00:09:07,500 --> 00:09:08,630 server. 191 00:09:08,630 --> 00:09:09,960 Det er en stor munnfull tekst. 192 00:09:09,960 --> 00:09:12,670 Men egentlig alt den gjør er det tildeler du en IP-adresse. 193 00:09:12,670 --> 00:09:16,960 >> DHCP-serveren har en liste over adresser som det kan gyldig tildele. 194 00:09:16,960 --> 00:09:18,160 Og det gir deg en. 195 00:09:18,160 --> 00:09:19,743 Det er ganske mye alt som skal til. 196 00:09:19,743 --> 00:09:23,810 Nå før DHCP, denne oppgaven tilordne adresser 197 00:09:23,810 --> 00:09:25,106 falt til en systemadministrator. 198 00:09:25,106 --> 00:09:27,730 Så en faktisk person ville ha å tildele datamaskinen manuelt 199 00:09:27,730 --> 00:09:30,670 og adresse når du koblet til et nettverk. 200 00:09:30,670 --> 00:09:34,307 Så DHCP bare liksom automatiserer denne prosessen med å gi deg en IP-adresse. 201 00:09:34,307 --> 00:09:35,390 Men det er hvordan du får det. 202 00:09:35,390 --> 00:09:37,431 Det er bare et program som kjører et sted mellom deg 203 00:09:37,431 --> 00:09:40,920 og internett som har en bank av IP-adresser som den kan gi ut. 204 00:09:40,920 --> 00:09:43,170 Og når du kobler til nettverk, det gir deg en. 205 00:09:43,170 --> 00:09:44,660 Så la oss se dette diagrammet. 206 00:09:44,660 --> 00:09:49,660 Et sted mellom deg og internett, det er en DHCP-server. 207 00:09:49,660 --> 00:09:50,160 OK. 208 00:09:50,160 --> 00:09:51,500 Så det er bra. 209 00:09:51,500 --> 00:09:53,537 Nå, la oss snakke om DNS. 210 00:09:53,537 --> 00:09:55,370 Så vi har snakket selv disse IP-adressene. 211 00:09:55,370 --> 00:09:57,840 Og vi vet at hvis vi er kommer til å identifisere 212 00:09:57,840 --> 00:10:01,740 en enhet på internett, det må ha en unik adresse. 213 00:10:01,740 --> 00:10:04,150 >> Og vi kunne besøke det adressere hvis vi ville. 214 00:10:04,150 --> 00:10:09,600 Men du har sikkert aldri skrevet i noe som 192.168.1.0 215 00:10:09,600 --> 00:10:11,490 i nettleseren din, ikke sant? 216 00:10:11,490 --> 00:10:13,980 Du trenger ikke skrive inn tall inn i nettleseren din. 217 00:10:13,980 --> 00:10:19,410 Du vanligvis skriver i lesbar navn som google.com eller cs50.harvard.edu, 218 00:10:19,410 --> 00:10:20,640 ikke sant? 219 00:10:20,640 --> 00:10:22,880 >> De er ikke IP-adresser, though. 220 00:10:22,880 --> 00:10:27,320 Så eksisterer denne tjenesten kalles Domain Name 221 00:10:27,320 --> 00:10:33,990 System, DNS, som oversetter IP adresser til menneskelige forståelige ord 222 00:10:33,990 --> 00:10:37,690 eller setninger som er mye mer minneverdig enn å huske et sett med fire tall 223 00:10:37,690 --> 00:10:40,430 eller, snart et sett av åtte heksadesimale tall. 224 00:10:40,430 --> 00:10:42,400 Det ville være veldig utfordrende, ikke sant? 225 00:10:42,400 --> 00:10:45,560 >> Tenk om før dagene av mobiltelefoner. 226 00:10:45,560 --> 00:10:47,730 Du hadde huske venners telefonnumre. 227 00:10:47,730 --> 00:10:49,230 Det kan ha fått tøff etter en liten stund. 228 00:10:49,230 --> 00:10:51,190 Og på samme måte, hvis du vil å besøke en haug med nettsteder, 229 00:10:51,190 --> 00:10:53,570 har du sannsynligvis ikke vil huske en haug med tall. 230 00:10:53,570 --> 00:10:56,640 Du vil heller huske en haug med ord. 231 00:10:56,640 --> 00:11:01,930 >> Så denne kartleggingen, dette sette, av sett med tall til lesbar navn 232 00:11:01,930 --> 00:11:04,520 slags gjør DNS den gule sider av nettet. 233 00:11:04,520 --> 00:11:06,270 Og du kan tenke på det som om det er bare 234 00:11:06,270 --> 00:11:14,305 en enorm liste kjører fra 0.0.0.0 alle helt ned til 255.255.255.255, som 235 00:11:14,305 --> 00:11:21,490 ville være den høyeste possible-- det er hele spekteret fra 0s til 255s av alle fire 236 00:11:21,490 --> 00:11:25,525 milliard-ish IPv4-adresser. 237 00:11:25,525 --> 00:11:27,400 Jeg har gjort opp de på toppen og bunnen. 238 00:11:27,400 --> 00:11:30,500 Men den i midten er det er faktisk en IP-adresse. 239 00:11:30,500 --> 00:11:38,440 Så hvis vi besøkte 74.125.202.138, tilsynelatende som betyr at området 240 00:11:38,440 --> 00:11:40,490 der, io-- hva pokker er det? 241 00:11:40,490 --> 00:11:46,290 Vel, ikke alle navn som kart er faktisk klart hva det er, ikke sant? 242 00:11:46,290 --> 00:11:48,920 >> Så noen ganger noen som eier en IP-adresse 243 00:11:48,920 --> 00:11:52,090 kan nevne deres vert noe at de er faktisk ikke. 244 00:11:52,090 --> 00:11:55,442 For eksempel at IP-adressen hvis du dro dit, er faktisk bare google.com. 245 00:11:55,442 --> 00:11:57,540 Men Google har mye forskjellige servere. 246 00:11:57,540 --> 00:11:59,322 >> Og de kan ikke kalle dem alle google.com. 247 00:11:59,322 --> 00:12:03,530 Så de har sine egne interne system for å oversette 248 00:12:03,530 --> 00:12:09,125 google.com til hva serveren faktisk er koblet til den IP-adressen. 249 00:12:09,125 --> 00:12:11,250 Og så er det en annen system som eksisterer mellom 250 00:12:11,250 --> 00:12:15,120 å oversette det gobbledygook her til google.com. 251 00:12:15,120 --> 00:12:16,830 Men vi vil ikke komme inn som. 252 00:12:16,830 --> 00:12:18,920 >> Og tilsvarende for IPv6s, vi også kommer 253 00:12:18,920 --> 00:12:22,089 å ha en gul sider som vil være mye større. 254 00:12:22,089 --> 00:12:23,880 Og tilsvarende, i midten det-- det var 255 00:12:23,880 --> 00:12:26,496 vanskelig å finne en IPv6 adresse som var legitimt. 256 00:12:26,496 --> 00:12:27,620 Men jeg fant en for Google. 257 00:12:27,620 --> 00:12:30,460 >> Men det er Googles Irish hjemmeside. 258 00:12:30,460 --> 00:12:34,170 Men hvis du gikk til at IPv6-adresse, Hvis nettleseren din var IPv6 stand, 259 00:12:34,170 --> 00:12:36,940 som vil bringe deg til Googles Irish hjemmeside. 260 00:12:36,940 --> 00:12:39,460 Så det du går. 261 00:12:39,460 --> 00:12:41,830 >> Men dette er ikke helt sant, ikke sant? 262 00:12:41,830 --> 00:12:43,710 Dette systemet virker tungvint, ikke sant? 263 00:12:43,710 --> 00:12:47,220 Hvis det er en enorm liste over fire milliard ting å se opp, 264 00:12:47,220 --> 00:12:48,270 det er ganske stor. 265 00:12:48,270 --> 00:12:52,634 Det finnes ingen gule sider av verden, ikke sant? 266 00:12:52,634 --> 00:12:54,800 Hvis du fortsatt får den gule sider levert til you-- 267 00:12:54,800 --> 00:12:56,841 Jeg fikk min her om dagen, og jeg bare resirkulert det. 268 00:12:56,841 --> 00:12:59,070 Men hvis du får den gule sider levert til deg, 269 00:12:59,070 --> 00:13:02,120 du får ikke en bok som er hver telefonnummer som finnes på planeten, 270 00:13:02,120 --> 00:13:02,620 ikke sant? 271 00:13:02,620 --> 00:13:05,500 Du får en liste over lokale telefonnumre, 272 00:13:05,500 --> 00:13:07,670 de du er mest sannsynlig å ringe. 273 00:13:07,670 --> 00:13:09,400 >> Og det er faktisk hva DNS er. 274 00:13:09,400 --> 00:13:12,860 Hvis du tenker på det, er DNS virkelig de lokale gule sider. 275 00:13:12,860 --> 00:13:17,350 Og store DNS-servere som google.coms, de 276 00:13:17,350 --> 00:13:19,180 er faktisk bare mer som biblioteker som 277 00:13:19,180 --> 00:13:25,470 har en kopi av alle de lokale gule sider eller alle de lokale DNS-poster. 278 00:13:25,470 --> 00:13:29,520 Så det er egentlig ingen repository av full DNS av internett, 279 00:13:29,520 --> 00:13:32,410 akkurat som det er ingen gule sider av verden. 280 00:13:32,410 --> 00:13:36,450 >> Det er alle disse lokale små skala DNSs som finnes der ute. 281 00:13:36,450 --> 00:13:39,010 Og det finnes tjenester som aggregere dem sammen. 282 00:13:39,010 --> 00:13:42,174 Men de er avhengige av dem mindre DNS-systemer 283 00:13:42,174 --> 00:13:45,340 oppdatere sin informasjon, slik at de har den mest nøyaktige informasjon. 284 00:13:45,340 --> 00:13:48,500 >> Så igjen, denne analogien er stort aggregerende 285 00:13:48,500 --> 00:13:51,910 DNS-systemer er som bibliotekene som har en kopi 286 00:13:51,910 --> 00:13:56,410 av hvert gule sider av verden. 287 00:13:56,410 --> 00:13:58,350 De gjør ikke seg selv oppdatere disse bøkene. 288 00:13:58,350 --> 00:14:01,620 De er avhengige av bøkene som kommer inn, slik at de kan oppdatere informasjonen 289 00:14:01,620 --> 00:14:04,560 hvis de trenger det. 290 00:14:04,560 --> 00:14:07,700 >> Så DNS-systemet ikke er et gigant-blokk. 291 00:14:07,700 --> 00:14:11,026 Det er desentralisert tvers mange, mange servere. 292 00:14:11,026 --> 00:14:13,400 Så nå vet vi at et sted mellom oss og internett 293 00:14:13,400 --> 00:14:18,350 det eksisterer en DNS-server samt en DHCP-server. 294 00:14:18,350 --> 00:14:20,910 >> Nå tilgangspunkter, hva våre tilgangspunkter? 295 00:14:20,910 --> 00:14:23,840 Vel, tilgangspunkter er du antakelig ganske kjent med fra faktisk 296 00:14:23,840 --> 00:14:24,964 tilkobling til internett. 297 00:14:24,964 --> 00:14:28,820 Det er nettverket som du velger, hjemmet eller arbeidet ditt nettverk 298 00:14:28,820 --> 00:14:30,310 eller hva har du. 299 00:14:30,310 --> 00:14:32,597 >> Og jeg generalisere Konseptet med et tilgangspunkt 300 00:14:32,597 --> 00:14:33,930 her for formålene i denne video. 301 00:14:33,930 --> 00:14:35,721 Men det er faktisk mange ting som 302 00:14:35,721 --> 00:14:38,766 kan rulles opp i tilgangspunkter. 303 00:14:38,766 --> 00:14:41,890 Det er begrepene rutere, som er liksom en generell term som vi bruker. 304 00:14:41,890 --> 00:14:45,940 >> Men det er også brytere og ting faktisk kalt 305 00:14:45,940 --> 00:14:49,070 tilgangspunkter som er atskilt fra denne generelle begrepet et tilgangs 306 00:14:49,070 --> 00:14:49,780 punkt. 307 00:14:49,780 --> 00:14:54,510 Men innerst inne hva skjer er med IPv4, jeg 308 00:14:54,510 --> 00:14:57,030 sa vi har dette konseptet av private adresser, ikke sant? 309 00:14:57,030 --> 00:15:03,680 Og i stedet for hver maskin ha en unik IP-adresse, hvilken 310 00:15:03,680 --> 00:15:07,720 vi har kjørt ut av, fordi vi er over 4 milliarder enheter 311 00:15:07,720 --> 00:15:09,860 prøver å koble til internett, hva vi gjør 312 00:15:09,860 --> 00:15:12,810 er i stedet tildele en IP-adressen til en ruter. 313 00:15:12,810 --> 00:15:15,960 At ruteren eller tilgangspunktet bare i hjemmet, for eksempel. 314 00:15:15,960 --> 00:15:19,280 >> Og ruterens jobb å liksom fungere som en trafikk politimann, 315 00:15:19,280 --> 00:15:23,540 slik at alle som er koblet til at ruteren til å bruke samme IP 316 00:15:23,540 --> 00:15:25,115 adresse for å komme seg ut. 317 00:15:25,115 --> 00:15:25,990 Gir det mening? 318 00:15:25,990 --> 00:15:29,414 Så alle i ditt hjem har en privat IP-adresse. 319 00:15:29,414 --> 00:15:31,830 De kan ikke koble til internett, eller internett i stedet 320 00:15:31,830 --> 00:15:34,870 kan ikke snakke til dem, gjennom at privat adresse. 321 00:15:34,870 --> 00:15:37,656 De kan bare snakke til dem gjennom adressen i ruteren. 322 00:15:37,656 --> 00:15:39,530 Og det er ruterens jobb å hente informasjon 323 00:15:39,530 --> 00:15:42,900 at du sender ruteren og direkte til riktig sted 324 00:15:42,900 --> 00:15:46,890 og for å få informasjon som kommer inn i ruteren for ruteren 325 00:15:46,890 --> 00:15:48,860 å sende det til deg. 326 00:15:48,860 --> 00:15:52,470 >> Så ruterne er virkelig enheter her-- spesielt en ruter 327 00:15:52,470 --> 00:15:59,010 i hjemmet ditt, den mest vanlige form til bruk i tilfelle for de fleste people-- 328 00:15:59,010 --> 00:16:00,870 som har offentlig IP-adresse. 329 00:16:00,870 --> 00:16:03,910 Det er den enheten som er koblet til internett. 330 00:16:03,910 --> 00:16:07,190 Og du kobler til ruteren å ha informasjonsflyt 331 00:16:07,190 --> 00:16:09,910 gjennom det på dine vegne. 332 00:16:09,910 --> 00:16:14,420 >> Som jeg sa, et moderne hjem nettverk, router og switch og aksesspunkt 333 00:16:14,420 --> 00:16:16,420 er alle slags buntet opp i en enkelt enhet. 334 00:16:16,420 --> 00:16:19,240 Noen ganger kan en modem er buntet i der også. 335 00:16:19,240 --> 00:16:20,800 Det er vanligvis bare kalt en ruter. 336 00:16:20,800 --> 00:16:23,210 Men det er egentlig alle disse tingene sammen. 337 00:16:23,210 --> 00:16:27,870 >> Storskala forretningsnettverk eller såkalte Wide Area Networks, WANs, 338 00:16:27,870 --> 00:16:29,570 faktisk holde disse enhetene skille. 339 00:16:29,570 --> 00:16:30,470 De har en bryter. 340 00:16:30,470 --> 00:16:31,550 De har rutere. 341 00:16:31,550 --> 00:16:33,510 De har flere tilgangspunkter. 342 00:16:33,510 --> 00:16:36,250 >> For eksempel, på en universitetet du vil se ting 343 00:16:36,250 --> 00:16:40,300 som ser ut som såkalte rutere montert er alle rundt campus. 344 00:16:40,300 --> 00:16:44,120 De er alle tilgangspunkter som flyter inn rutere, svitsjer, et cetera, 345 00:16:44,120 --> 00:16:45,250 å passere informasjon sammen. 346 00:16:45,250 --> 00:16:49,120 Fordi disse nettverkene er så stor at ett enkelt tilgangspunkt 347 00:16:49,120 --> 00:16:51,870 kan ikke dekke det store området. 348 00:16:51,870 --> 00:16:54,990 >> Og så disse store nettverk, bedriftsnettverk, et cetera, 349 00:16:54,990 --> 00:16:57,710 delt disse inn separat enheter, slik at nettverket og skalaen 350 00:16:57,710 --> 00:16:59,780 og blir om nødvendig. 351 00:16:59,780 --> 00:17:04,180 Så igjen, et sted mellom oss og internett, har vi et tilgangspunkt. 352 00:17:04,180 --> 00:17:05,430 Og det er det vi kobler til. 353 00:17:05,430 --> 00:17:08,992 Og gjennom det, vi kan komme til internett. 354 00:17:08,992 --> 00:17:10,700 Som jeg sa på begynnelsen av denne videoen 355 00:17:10,700 --> 00:17:12,540 Dette er ikke et kurs på nettverksbygging. 356 00:17:12,540 --> 00:17:13,990 Så dette er ikke hele historien. 357 00:17:13,990 --> 00:17:15,109 Og jeg har litt glattet over det. 358 00:17:15,109 --> 00:17:17,150 Og kanskje jeg har forlatt deg enda litt forvirret 359 00:17:17,150 --> 00:17:18,670 om hva noen av disse tingene er. 360 00:17:18,670 --> 00:17:19,329 Men det er OK. 361 00:17:19,329 --> 00:17:20,599 >> Vi trenger ikke hele historien. 362 00:17:20,599 --> 00:17:25,250 Det er nok for oss å vite flytting frem bare utgangspunktet litt 363 00:17:25,250 --> 00:17:27,450 om hvordan internett fungerer. 364 00:17:27,450 --> 00:17:30,670 Så det vi vet er at vi har disse private nettverk på huset vårt. 365 00:17:30,670 --> 00:17:32,880 >> Og vi kobler til en ruter. 366 00:17:32,880 --> 00:17:36,674 Og at ruteren er koblet til internett for øvrig. 367 00:17:36,674 --> 00:17:38,090 Men hva er internett på frifot? 368 00:17:38,090 --> 00:17:39,930 Jeg fortsetter å si dette, men hva er det? 369 00:17:39,930 --> 00:17:43,610 >> Vel, det er egentlig bare alle disse individuelle nettverk på huset mitt, 370 00:17:43,610 --> 00:17:47,460 og på huset ditt, og på alle andre Huset, som er koblet sammen. 371 00:17:47,460 --> 00:17:52,030 Det er en sammenvevd nettverk, en inter-nett. 372 00:17:52,030 --> 00:17:53,840 Så i stedet for å tenke om internett 373 00:17:53,840 --> 00:17:59,080 som denne gigantiske sky, dette eteriske ting som finnes der ute, 374 00:17:59,080 --> 00:18:02,470 det er egentlig bare en tilkobling Blant alle disse nettverkene. 375 00:18:02,470 --> 00:18:03,500 >> Så her vi går. 376 00:18:03,500 --> 00:18:04,752 Vi har vår lokale nettverket. 377 00:18:04,752 --> 00:18:07,210 Og vi er ikke den eneste personen sannsynligvis på vår lokale nettverk 378 00:18:07,210 --> 00:18:08,335 prøver å bruke Internett. 379 00:18:08,335 --> 00:18:10,940 Det er trolig flere av oss prøver å komme inn. 380 00:18:10,940 --> 00:18:13,870 >> Og vi er ikke det eneste nettverket som eksisterer i verden, ikke sant? 381 00:18:13,870 --> 00:18:18,300 Det finnes andre nettverk også at prøver å koble til internett. 382 00:18:18,300 --> 00:18:21,400 Men internett er ikke, igjen, en separat enhet. 383 00:18:21,400 --> 00:18:25,592 >> Det er bare et sett med regler som tillater disse nettverkene, disse små nettverk, 384 00:18:25,592 --> 00:18:27,300 det blå, lilla, og den røde nettverk 385 00:18:27,300 --> 00:18:28,980 hit, for å kommunisere med hverandre. 386 00:18:28,980 --> 00:18:31,230 Så det er ingen ting de er alle å koble til. 387 00:18:31,230 --> 00:18:35,010 De er alle bare koblet til hverandre, ikke sant? 388 00:18:35,010 --> 00:18:37,710 >> Og så et sted på disse nettverk eksisterer tjenestene 389 00:18:37,710 --> 00:18:39,095 at vi faktisk ønsker. 390 00:18:39,095 --> 00:18:41,220 Så kanskje i det blå nettverk er der Google bor. 391 00:18:41,220 --> 00:18:43,303 Og i den lilla nettverk Her Facebook bor. 392 00:18:43,303 --> 00:18:46,310 Og i den røde nettverket, vel, kanskje det er der alle disse kattene er. 393 00:18:46,310 --> 00:18:49,440 >> Og så hvis vi ønsker å få informasjon om katter, 394 00:18:49,440 --> 00:18:55,166 vi bare krysser denne kjeden av nettverkene å få den informasjonen vi ønsker. 395 00:18:55,166 --> 00:18:57,040 Og her, jeg har representert nettverket som alle 396 00:18:57,040 --> 00:18:58,414 å være i stand til å snakke med hverandre. 397 00:18:58,414 --> 00:19:00,300 Og vi kan bare snakke til nettverket. 398 00:19:00,300 --> 00:19:01,910 Men nettverket kan ikke snakke tilbake til oss. 399 00:19:01,910 --> 00:19:03,326 >> Men det er ikke sant heller, ikke sant? 400 00:19:03,326 --> 00:19:04,610 Dette er alle en toveis gate. 401 00:19:04,610 --> 00:19:07,860 Informasjon kan strømme igjennom nettverk og tilbake. 402 00:19:07,860 --> 00:19:09,007 >> Hvordan det gjøre det? 403 00:19:09,007 --> 00:19:11,090 Vel, internett virkelig et system av protokoller. 404 00:19:11,090 --> 00:19:11,970 Og vi kommer til å begynne å snakke om hva 405 00:19:11,970 --> 00:19:14,130 disse protokollene er i fremtidige videoer. 406 00:19:14,130 --> 00:19:16,940 >> Men igjen, internett er ikke en egen greie. 407 00:19:16,940 --> 00:19:20,760 Det er et sett med regler som definerer hvordan nettverk kommuniserer, 408 00:19:20,760 --> 00:19:23,410 disse små nettverk, disse lokale nettverk som vi er vant til, 409 00:19:23,410 --> 00:19:26,600 folk i huset vårt, folk på skolen vår, folk på jobben vår, 410 00:19:26,600 --> 00:19:29,160 alle deler et nettverk. 411 00:19:29,160 --> 00:19:31,900 Og hvordan disse nettverkene interconnect og snakke med hverandre, 412 00:19:31,900 --> 00:19:34,160 det er faktisk hva Internett handler om. 413 00:19:34,160 --> 00:19:36,090 Så la oss, i en fremtidig video, snakke om noen 414 00:19:36,090 --> 00:19:38,940 av protokollene som utgjør Internett for å forhåpentligvis 415 00:19:38,940 --> 00:19:42,320 gi deg litt mer av en godt avrundet forståelse. 416 00:19:42,320 --> 00:19:43,320 Jeg er Doug Lloyd. 417 00:19:43,320 --> 00:19:45,260 Dette er CS50. 418 00:19:45,260 --> 00:19:47,351