1 00:00:00,000 --> 00:00:04,580 2 00:00:04,580 --> 00:00:06,580 DOUG LLOYD: Om du har varit att titta på dessa filmer 3 00:00:06,580 --> 00:00:09,030 i den ordning som vi rekommenderar, Vi håller på att genomgå 4 00:00:09,030 --> 00:00:10,260 bit av en kultur skift. 5 00:00:10,260 --> 00:00:13,093 För nu, kommer vi att börja talar om internet och webb 6 00:00:13,093 --> 00:00:13,669 teknik. 7 00:00:13,669 --> 00:00:15,835 Så fram till nu, vi har verkligen gjort en hel del C. 8 00:00:15,835 --> 00:00:17,370 >> Och när vi har varit kör våra program, 9 00:00:17,370 --> 00:00:19,500 Vi har varit igång dem från kommandoraden. 10 00:00:19,500 --> 00:00:23,080 Det är ganska mycket hur användarna har har interagera med program 11 00:00:23,080 --> 00:00:23,760 att vi skriver. 12 00:00:23,760 --> 00:00:26,859 De plockar något att uppmana, något händer i terminalfönstret, 13 00:00:26,859 --> 00:00:27,650 och sedan är det gjort. 14 00:00:27,650 --> 00:00:30,957 >> Ibland kanske du har ihållande data som återstår efteråt. 15 00:00:30,957 --> 00:00:32,040 Men det är ganska mycket det. 16 00:00:32,040 --> 00:00:33,081 Det är på kommandoraden. 17 00:00:33,081 --> 00:00:34,775 Det är det enda sättet att användaren kan interagera. 18 00:00:34,775 --> 00:00:36,650 Från denna punkt framåt, Vi ska börja 19 00:00:36,650 --> 00:00:39,980 övergår så att användarna kan interagera med våra webbplatser. 20 00:00:39,980 --> 00:00:42,688 Så vi kommer att skriva webbplatser, som inte är skrivna i C, 21 00:00:42,688 --> 00:00:46,600 men är skrivna på en rad andra programmeringsspråk, inklusive PHP, 22 00:00:46,600 --> 00:00:50,810 och det är typ av hjälpar språk HTML, CSS, och liknande. 23 00:00:50,810 --> 00:00:53,130 Så vi kommer att börja talar om dessa saker. 24 00:00:53,130 --> 00:00:55,740 >> Innan vi går in webb programmering själv, 25 00:00:55,740 --> 00:00:58,720 Jag tror det är förmodligen en bra idé att ta ett steg tillbaka och prata 26 00:00:58,720 --> 00:01:02,720 om hur datorer och människor interagerar över webben. 27 00:01:02,720 --> 00:01:07,520 Så här videon är verkligen en primer, en grundläggande guide, till internet. 28 00:01:07,520 --> 00:01:10,951 Nu är förbehållet här CS50 är inte en nätverksklass. 29 00:01:10,951 --> 00:01:13,700 Så vad vi ska tala om här är ganska hög nivå. 30 00:01:13,700 --> 00:01:17,240 Vi kommer inte att komma in i någon låg nivå 31 00:01:17,240 --> 00:01:19,540 information om hur allt det här fungerar. 32 00:01:19,540 --> 00:01:21,290 Om du är intresserad i det, Jag skulle starkt 33 00:01:21,290 --> 00:01:24,580 rekommendera att ta en klass på datornätverk. 34 00:01:24,580 --> 00:01:26,540 Och vi kan även tala vit lögn eller två bara 35 00:01:26,540 --> 00:01:31,590 i syfte att göra den allmän förståelse klar. 36 00:01:31,590 --> 00:01:35,780 >> Så med det sagt, låt oss tala om hur vi interagerar med internet. 37 00:01:35,780 --> 00:01:37,570 Så här är vi. 38 00:01:37,570 --> 00:01:38,430 Här är vi. 39 00:01:38,430 --> 00:01:41,096 Vi är ganska ser fram emot att komma ut på Internet, som 40 00:01:41,096 --> 00:01:42,810 som vi alla vet, är full av katter. 41 00:01:42,810 --> 00:01:45,210 >> Nu ska vi bara ansluta till Internet så här? 42 00:01:45,210 --> 00:01:46,360 Tja, förmodligen inte. 43 00:01:46,360 --> 00:01:48,620 Intuitivt, du vet att säga till exempel, 44 00:01:48,620 --> 00:01:51,190 när du ändrar din Wi-Fi nätverk på din dator, 45 00:01:51,190 --> 00:01:54,010 du ser inte en som kallas internet såvida inte bara så händer 46 00:01:54,010 --> 00:01:58,870 att vara namnet på din lokala Wi-Fi. 47 00:01:58,870 --> 00:01:59,370 Höger? 48 00:01:59,370 --> 00:02:00,880 >> Det är oftast något som hemma. 49 00:02:00,880 --> 00:02:03,338 Eller om du är på jobbet, kanske det vara namnet på ditt företag. 50 00:02:03,338 --> 00:02:05,340 Det är inte bara en alternativ som kallas internet. 51 00:02:05,340 --> 00:02:09,710 Och så något eller några saker finns däremellan när 52 00:02:09,710 --> 00:02:11,490 vi vill ansluta till Internet. 53 00:02:11,490 --> 00:02:12,740 Vad är några av dessa saker? 54 00:02:12,740 --> 00:02:14,110 Tja, vi kommer att prata om det. 55 00:02:14,110 --> 00:02:16,180 Vi kommer även att tala om några av de viktigaste sakerna 56 00:02:16,180 --> 00:02:18,710 vi behöver för att kunna för att ansluta till internet. 57 00:02:18,710 --> 00:02:21,214 Och den första av dessa saker är en IP-adress. 58 00:02:21,214 --> 00:02:23,380 Så du har säkert hört termen IP-adressen innan. 59 00:02:23,380 --> 00:02:24,630 Vad betyder det? 60 00:02:24,630 --> 00:02:28,270 Tja, är en IP-adress i grunden en unik identifierare 61 00:02:28,270 --> 00:02:30,820 din dator i ett nätverk. 62 00:02:30,820 --> 00:02:33,640 Precis som varje hem eller Kontoret har en unik adress 63 00:02:33,640 --> 00:02:36,660 som man kan skicka ett mail. 64 00:02:36,660 --> 00:02:40,750 >> På samma sätt, varje dator om det vill ta emot data eller skicka data, 65 00:02:40,750 --> 00:02:43,040 måste ha en unik adress. 66 00:02:43,040 --> 00:02:45,720 Så att när information skickas eller tas emot, 67 00:02:45,720 --> 00:02:49,720 det skickas från eller tas emot till rätt plats. 68 00:02:49,720 --> 00:02:52,660 Detta adresserings, som jag sade, kallas IP-adressering. 69 00:02:52,660 --> 00:02:57,690 IP är står för Internet Protocol, som vi kommer att prata om igen inom kort. 70 00:02:57,690 --> 00:03:00,230 >> Nu, vad IP-adressering ser ut? 71 00:03:00,230 --> 00:03:04,330 Tja, ordningen i princip var, när den först genomförs, 72 00:03:04,330 --> 00:03:07,846 att ge varje dator en unik 32-bitars adress. 73 00:03:07,846 --> 00:03:08,720 Det är en hel del bitar. 74 00:03:08,720 --> 00:03:10,900 Det är 4 miljarder adresser. 75 00:03:10,900 --> 00:03:14,190 >> Och i allmänhet, istället för att använda hexadecimala notation, som 76 00:03:14,190 --> 00:03:18,450 vi har använt tidigare i samband med pekare i C att prata om adresser, 77 00:03:18,450 --> 00:03:21,580 Vi representerar vanligtvis IP adresser i en lite mer 78 00:03:21,580 --> 00:03:24,370 av en human vänlig sätt, vilket motsvarar dem 79 00:03:24,370 --> 00:03:28,680 som fyra grupper av 8 bitar representerade som decimaltal. 80 00:03:28,680 --> 00:03:34,920 Eftersom människor inte ofta talar hexadecimal, såvida du programmera. 81 00:03:34,920 --> 00:03:38,400 Men människor som använder internet är inte nödvändigtvis programmerare. 82 00:03:38,400 --> 00:03:41,660 >> Och så gör det enkelt och tillgängliga för dem 83 00:03:41,660 --> 00:03:45,430 att kunna tala om vad deras IP-adressen är om de kanske 84 00:03:45,430 --> 00:03:47,690 behöver ringa upp någon att felsöka något, 85 00:03:47,690 --> 00:03:51,610 det är bättre att göra det i det mer gemensamma konventionella decimaltal 86 00:03:51,610 --> 00:03:52,880 formatet. 87 00:03:52,880 --> 00:03:57,570 Och så en IP-adress bara ser ganska mycket så här, w.x.y.z, 88 00:03:57,570 --> 00:04:00,650 där var och en av dessa skrivelser representerar ett icke-negativt värde 89 00:04:00,650 --> 00:04:02,960 inom området från 0 till 255. 90 00:04:02,960 --> 00:04:07,950 Minns att en 8-bitars tal kan hålla 256 distinkta värden. 91 00:04:07,950 --> 00:04:10,520 >> Och så det är därför vårt sortiment är 0 till 255. 92 00:04:10,520 --> 00:04:15,030 Och vi har fyra kluster av 8 bitar för en slutsumma på 32 bitar. 93 00:04:15,030 --> 00:04:17,920 Och så en IP-adress kanske se ut så här. 94 00:04:17,920 --> 00:04:24,120 Detta är en slags generisk standard IP-adress, 123.45.67.89. 95 00:04:24,120 --> 00:04:28,850 Alla är i intervallet 0 till 255, så det är en giltig IP-adress. 96 00:04:28,850 --> 00:04:34,040 >> Här vid Harvard University, alla våra IP-adresser börjar med 140,247. 97 00:04:34,040 --> 00:04:37,130 Det är bara så att IP- adresser i detta geografiska område 98 00:04:37,130 --> 00:04:38,130 har tilldelats. 99 00:04:38,130 --> 00:04:42,750 Och så detta kan vara en IP-adress som kan finnas här på Harvard. 100 00:04:42,750 --> 00:04:46,810 >> Så som sagt, om varje IP-adress är 32 bitar, vi har cirka 4 miljarder 101 00:04:46,810 --> 00:04:49,290 att ge ut, lite mer än 4 miljarder. 102 00:04:49,290 --> 00:04:51,470 Men vi kan typ av se ett problem, eller hur? 103 00:04:51,470 --> 00:04:53,190 Vad är världens befolkning just nu? 104 00:04:53,190 --> 00:04:56,560 >> Tja, det är någonstans norr om 7 miljarder människor. 105 00:04:56,560 --> 00:04:58,800 Och i västvärlden Åtminstone de flesta människor 106 00:04:58,800 --> 00:05:02,644 har mer än en enhet kan Internet-anslutning. 107 00:05:02,644 --> 00:05:03,560 Jag har en rätt här. 108 00:05:03,560 --> 00:05:04,880 Och jag har en annan i min ficka. 109 00:05:04,880 --> 00:05:06,340 Och jag har en tillbaka på mitt kontor. 110 00:05:06,340 --> 00:05:07,387 >> Och så det är tre. 111 00:05:07,387 --> 00:05:09,970 Och som inte ens räkna de som jag har hemma, alltför. 112 00:05:09,970 --> 00:05:12,160 Och så det är typ av ett problem, eller hur? 113 00:05:12,160 --> 00:05:15,380 Vi har åtminstone 7 miljarder människor och endast fyra miljarder adresser. 114 00:05:15,380 --> 00:05:18,719 >> Och varje enhet är tänkt att identifieras. 115 00:05:18,719 --> 00:05:21,260 Vi har utvecklat några lösningar att ta itu med detta problem, 116 00:05:21,260 --> 00:05:23,240 något som kallas en privat IP-adress, som vi inte 117 00:05:23,240 --> 00:05:24,573 kommer att komma in i den här videon. 118 00:05:24,573 --> 00:05:31,920 Men i grund och botten, gör det möjligt främja webb, internet, till typ av falska 119 00:05:31,920 --> 00:05:35,610 en liten bit att du har en unik adress genom att ha privata adresser 120 00:05:35,610 --> 00:05:38,730 och sedan kanalisera dem genom en enda adress, som 121 00:05:38,730 --> 00:05:41,220 delas av många olika datorer. 122 00:05:41,220 --> 00:05:43,200 >> Men det är egentligen inte en långsiktig lösning. 123 00:05:43,200 --> 00:05:45,250 Även det fast inte kommer att vara för evigt. 124 00:05:45,250 --> 00:05:50,030 Och så måste vi ha en annan sätt att hantera detta. 125 00:05:50,030 --> 00:05:51,904 >> Så som sagt, vi hade cirka 4 miljarder. 126 00:05:51,904 --> 00:05:53,820 Men det kommer inte att vara tillräckligt bra, eller hur? 127 00:05:53,820 --> 00:05:56,540 Och så sätt att den har beslutats där vi är 128 00:05:56,540 --> 00:05:59,240 kommer att ta itu med detta är att göra längre IP-adresser. 129 00:05:59,240 --> 00:06:03,344 I stället för 32-bitarsadresser, vi är kommer att ha 128-bitars adresser. 130 00:06:03,344 --> 00:06:05,260 Så i stället för 4 miljarder adresser, kommer vi 131 00:06:05,260 --> 00:06:11,130 ha det stort antal adresser, vilket är 340 miljarder miljarder miljarder 132 00:06:11,130 --> 00:06:14,150 miljarder, så en hel del IP-adresser. 133 00:06:14,150 --> 00:06:18,240 >> Och detta nya system kallas IPv6 är ofta hur det avses. 134 00:06:18,240 --> 00:06:21,242 Det gamla systemet är IPv4. 135 00:06:21,242 --> 00:06:23,450 Det är lite av ett problem i att detta problem har varit 136 00:06:23,450 --> 00:06:25,470 känt för en riktigt lång tid. 137 00:06:25,470 --> 00:06:28,025 138 00:06:28,025 --> 00:06:32,201 >> Och du ser här en hel del i samband med datorer och datorer. 139 00:06:32,201 --> 00:06:33,700 Vi är bra på att förutse problem. 140 00:06:33,700 --> 00:06:36,449 Men vi är dåliga på att hantera dem även om vi vet om dem. 141 00:06:36,449 --> 00:06:38,340 Så IPv6 har funnits ett tag. 142 00:06:38,340 --> 00:06:40,510 Och bara i de senaste år har vi faktiskt 143 00:06:40,510 --> 00:06:47,190 började fasa i dessa IPv6-adresser att fasa ut IPv4-adresser. 144 00:06:47,190 --> 00:06:49,520 Men vissa platser har dem. 145 00:06:49,520 --> 00:06:52,200 Och de ser liknande till en vanlig IP-adress. 146 00:06:52,200 --> 00:06:53,520 Men de är mycket längre. 147 00:06:53,520 --> 00:06:59,900 >> Så istället för att nu ha fyra kluster av 8 byte för din adress, 148 00:06:59,900 --> 00:07:03,580 Vi har nu åtta kluster av 16 byte. 149 00:07:03,580 --> 00:07:06,680 Och 8 gånger 16 är 128. 150 00:07:06,680 --> 00:07:11,210 Och vi företräder dessa i mindre konventionell hexadecimal form. 151 00:07:11,210 --> 00:07:16,930 Eftersom att ha 16-bitars tal innebär att istället för att vara ett område av 0 till 255, 152 00:07:16,930 --> 00:07:20,350 Vi skulle ha en intervallet 0 till 65535. 153 00:07:20,350 --> 00:07:22,470 >> Och så har ett gäng av dem som fastnat tillsammans 154 00:07:22,470 --> 00:07:24,680 skulle vara mycket svårt att läsa. 155 00:07:24,680 --> 00:07:27,480 Och så vi brukar använda hex bara av bekvämlighet. 156 00:07:27,480 --> 00:07:31,180 Och så en typisk IPv6-adress kan se ut så här. 157 00:07:31,180 --> 00:07:35,860 >> Det är verkligen en mycket längre än IPv4-adressen som vi har sett förut. 158 00:07:35,860 --> 00:07:39,280 Men detta skulle vara en giltig IPv6-adress. 159 00:07:39,280 --> 00:07:41,570 Detta handlar också om IPv6-adress. 160 00:07:41,570 --> 00:07:44,331 >> Detta råkar tillhöra Google. 161 00:07:44,331 --> 00:07:46,080 Och märker att det finns en gäng nollor där. 162 00:07:46,080 --> 00:07:47,930 Ibland dessa adresser kan få så länge. 163 00:07:47,930 --> 00:07:50,530 Och eftersom vi är fortfarande ganska tidigt i IPv6, 164 00:07:50,530 --> 00:07:54,250 Ibland kan det finnas stora bitar av nollor i det att vi inte behöver. 165 00:07:54,250 --> 00:08:01,920 >> Om du läser denna högt, Det är 2001.4860.4860.0.0.0.0.8844. 166 00:08:01,920 --> 00:08:03,325 Det är lite av en hel del, eller hur? 167 00:08:03,325 --> 00:08:05,450 Så om du ser ett gäng nollor, kanske du ibland 168 00:08:05,450 --> 00:08:08,990 se en IPv6-adress som denna, där de utelämna noll 169 00:08:08,990 --> 00:08:10,959 och använda en dubbel kolon i stället. 170 00:08:10,959 --> 00:08:11,750 Detta är OK, men. 171 00:08:11,750 --> 00:08:14,610 Eftersom vi vet att det finns ska vara åtta olika bitar. 172 00:08:14,610 --> 00:08:17,190 Och så underförstått, ser vi fyra. 173 00:08:17,190 --> 00:08:20,620 Så vi vet att det måste finnas fyra uppsättningar av nollor som detta, fyller att det i. 174 00:08:20,620 --> 00:08:23,760 >> Så ibland kan du se en IPv6-adress som inte har 175 00:08:23,760 --> 00:08:26,650 åtta åtskilda bitar som vi gör här. 176 00:08:26,650 --> 00:08:28,760 Du kan se det ser ut så här. 177 00:08:28,760 --> 00:08:31,310 Och det betyder bara att allt du inte ser i 178 00:08:31,310 --> 00:08:37,450 mellan var att dubbel kolon är bara nollpunkts separeras. 179 00:08:37,450 --> 00:08:37,998 >> Så okej. 180 00:08:37,998 --> 00:08:40,039 Vi vet lite mer om IP-adresser nu. 181 00:08:40,039 --> 00:08:41,250 Men hur ska vi få dem? 182 00:08:41,250 --> 00:08:44,727 Vi kan inte bara plocka det vi vill ha. 183 00:08:44,727 --> 00:08:47,810 Om vi ​​gjorde det, skulle vi hamna striderna någon för samma IP-adress. 184 00:08:47,810 --> 00:08:50,050 Eller någon kan ha valt det tidigare. 185 00:08:50,050 --> 00:08:52,799 Om vi ​​försöker ta det, vi kommer att köra in en bit av ett problem. 186 00:08:52,799 --> 00:08:56,300 Och så att vi inte kan bara plocka IP-adressen som vi vill ha. 187 00:08:56,300 --> 00:08:58,410 >> Så det sätt som vi får en IP-adressen är någonstans 188 00:08:58,410 --> 00:09:02,960 mellan vår dator och internet, den stora internet där ute, 189 00:09:02,960 --> 00:09:07,500 det finns något som kallas en DHCP-server, en Dynamic Host Configuration Protocol 190 00:09:07,500 --> 00:09:08,630 servern. 191 00:09:08,630 --> 00:09:09,960 Det är en stor munfull text. 192 00:09:09,960 --> 00:09:12,670 Men egentligen allt den gör är det delar du en IP-adress. 193 00:09:12,670 --> 00:09:16,960 >> DHCP-servern har en lista över adresser som det med framgång kan tilldela. 194 00:09:16,960 --> 00:09:18,160 Och det ger dig en. 195 00:09:18,160 --> 00:09:19,743 Det är ganska mycket allt som finns till den. 196 00:09:19,743 --> 00:09:23,810 Nu innan DHCP, denna uppgift att tilldela adresser 197 00:09:23,810 --> 00:09:25,106 föll till en systemadministratör. 198 00:09:25,106 --> 00:09:27,730 Så en verklig person skulle ha att manuellt tilldela din dator 199 00:09:27,730 --> 00:09:30,670 och adress när du ansluten till ett nätverk. 200 00:09:30,670 --> 00:09:34,307 Så DHCP bara sorts automatiserar detta process för att ge dig en IP-adress. 201 00:09:34,307 --> 00:09:35,390 Men det är hur du får det. 202 00:09:35,390 --> 00:09:37,431 Det är bara ett program körs någonstans mellan dig 203 00:09:37,431 --> 00:09:40,920 och internet som har en bank av IP-adresser som det kan ge ut. 204 00:09:40,920 --> 00:09:43,170 Och när du ansluter till nätverk, det ger dig en. 205 00:09:43,170 --> 00:09:44,660 Så låt oss återkomma till detta diagram. 206 00:09:44,660 --> 00:09:49,660 Någonstans mellan dig och internet, det finns en DHCP-server. 207 00:09:49,660 --> 00:09:50,160 OK. 208 00:09:50,160 --> 00:09:51,500 Så det är bra. 209 00:09:51,500 --> 00:09:53,537 Nu, låt oss tala om DNS. 210 00:09:53,537 --> 00:09:55,370 Så vi har pratat även Dessa IP-adresser. 211 00:09:55,370 --> 00:09:57,840 Och vi vet att om vi är kommer att identifiera 212 00:09:57,840 --> 00:10:01,740 en enhet på internet, det måste ha en unik adress. 213 00:10:01,740 --> 00:10:04,150 >> Och vi kan besöka det adress om vi ville. 214 00:10:04,150 --> 00:10:09,600 Men du har antagligen aldrig skrivit i något som 192.168.1.0 215 00:10:09,600 --> 00:10:11,490 i din webbläsare, eller hur? 216 00:10:11,490 --> 00:10:13,980 Du behöver inte skriva in siffror i din webbläsare. 217 00:10:13,980 --> 00:10:19,410 Du skriver vanligtvis i läsbara namn liknande google.com eller cs50.harvard.edu, 218 00:10:19,410 --> 00:10:20,640 höger? 219 00:10:20,640 --> 00:10:22,880 >> De är inte IP-adresser, men. 220 00:10:22,880 --> 00:10:27,320 Så finns den här tjänsten kallas Domain Name 221 00:10:27,320 --> 00:10:33,990 System, DNS, som översätter IP adresser till humana begripliga ord 222 00:10:33,990 --> 00:10:37,690 eller fraser som är mycket mer minnesvärd än att minnas en grupp om fyra siffror 223 00:10:37,690 --> 00:10:40,430 eller, snart, en uppsättning av åtta hexadecimala tal. 224 00:10:40,430 --> 00:10:42,400 Det skulle vara riktigt utmanande, eller hur? 225 00:10:42,400 --> 00:10:45,560 >> Tänk på innan dagar av mobiltelefoner. 226 00:10:45,560 --> 00:10:47,730 Du hade din memorera ditt väns telefonnummer. 227 00:10:47,730 --> 00:10:49,230 Det kunde ha blivit tufft Efter en liten stund. 228 00:10:49,230 --> 00:10:51,190 Och på samma sätt, om du vill att besöka en massa hemsidor, 229 00:10:51,190 --> 00:10:53,570 du förmodligen inte vill minns en massa siffror. 230 00:10:53,570 --> 00:10:56,640 Du hellre minns en massa ord. 231 00:10:56,640 --> 00:11:01,930 >> Så här kartläggning, detta översätta, av uppsättningar siffror till läsbara namn 232 00:11:01,930 --> 00:11:04,520 typ av gör DNS det gula sidorna av banan. 233 00:11:04,520 --> 00:11:06,270 Och du kan tänka på det som om det bara 234 00:11:06,270 --> 00:11:14,305 en enorm lista som löper från 0.0.0.0 alla vägen ner till 255.255.255.255, vilket 235 00:11:14,305 --> 00:11:21,490 skulle vara den högsta possible-- som är hela skalan från 0: or till 255s av alla 4 236 00:11:21,490 --> 00:11:25,525 miljarder ish IPv4-adresser. 237 00:11:25,525 --> 00:11:27,400 Jag gjorde upp de på toppen och botten. 238 00:11:27,400 --> 00:11:30,500 Men en i mitten finns är faktiskt en IP-adress. 239 00:11:30,500 --> 00:11:38,440 Så om vi besökte 74.125.202.138, tydligen som översätter till webbplatsen 240 00:11:38,440 --> 00:11:40,490 där io-- vad sjutton är det? 241 00:11:40,490 --> 00:11:46,290 Tja, är inte varje namn som mappar faktiskt klart vad det är, eller hur? 242 00:11:46,290 --> 00:11:48,920 >> Så ibland någon som äger en IP-adress 243 00:11:48,920 --> 00:11:52,090 kan namnge sin värd något att de är faktiskt inte. 244 00:11:52,090 --> 00:11:55,442 Till exempel att IP-adressen om du åkte dit, är egentligen bara google.com. 245 00:11:55,442 --> 00:11:57,540 Men Google har en hel del olika servrar. 246 00:11:57,540 --> 00:11:59,322 >> Och de kan inte kalla dem alla google.com. 247 00:11:59,322 --> 00:12:03,530 Så de har sina egna internt system för att översätta 248 00:12:03,530 --> 00:12:09,125 google.com till vilken server faktiskt är ansluten till den IP-adressen. 249 00:12:09,125 --> 00:12:11,250 Och så finns det en annan system som finns mellan 250 00:12:11,250 --> 00:12:15,120 att översätta det rappakalja här för att google.com. 251 00:12:15,120 --> 00:12:16,830 Men vi kommer inte gå in på det. 252 00:12:16,830 --> 00:12:18,920 >> Och på liknande sätt för IPv6s, vi kommer också 253 00:12:18,920 --> 00:12:22,089 att ha en gula sidorna som kommer att vara mycket större. 254 00:12:22,089 --> 00:12:23,880 Och på liknande sätt, i mitten there-- det var 255 00:12:23,880 --> 00:12:26,496 svårt att hitta en IPv6 adress som var legitim. 256 00:12:26,496 --> 00:12:27,620 Men jag hittade en för Google. 257 00:12:27,620 --> 00:12:30,460 >> Men det är Googles irländska hemsida. 258 00:12:30,460 --> 00:12:34,170 Men om du gick till den IPv6-adress, Om din webbläsare var IPv6 kapabel, 259 00:12:34,170 --> 00:12:36,940 som skulle ta dig till Googles irländska hemsida. 260 00:12:36,940 --> 00:12:39,460 Så där du går. 261 00:12:39,460 --> 00:12:41,830 >> Men detta är inte helt sant, eller hur? 262 00:12:41,830 --> 00:12:43,710 Detta system verkar besvärligt, eller hur? 263 00:12:43,710 --> 00:12:47,220 Om det finns en enorm lista över 4 miljard saker att behöva se upp, 264 00:12:47,220 --> 00:12:48,270 det är ganska stor. 265 00:12:48,270 --> 00:12:52,634 Det finns inga gula sidorna av världen, eller hur? 266 00:12:52,634 --> 00:12:54,800 Om du fortfarande får den gula sidor levereras till dig-- 267 00:12:54,800 --> 00:12:56,841 I got mine häromdagen, och jag bara återanvändas det. 268 00:12:56,841 --> 00:12:59,070 Men om du får den gula sidor levereras till dig, 269 00:12:59,070 --> 00:13:02,120 du inte får en bok som är varje telefonnummer som finns på planeten, 270 00:13:02,120 --> 00:13:02,620 höger? 271 00:13:02,620 --> 00:13:05,500 Du får en lista över lokala telefonnummer, 272 00:13:05,500 --> 00:13:07,670 de du är mest troligt att ringa. 273 00:13:07,670 --> 00:13:09,400 >> Och det är faktiskt vad DNS är. 274 00:13:09,400 --> 00:13:12,860 Om du tänker på det, är DNS verkligen de lokala gula sidorna. 275 00:13:12,860 --> 00:13:17,350 Och stora DNS-servrar liknande google.coms, de 276 00:13:17,350 --> 00:13:19,180 är faktiskt bara mer som bibliotek som 277 00:13:19,180 --> 00:13:25,470 har en kopia av alla de lokala gula sidor eller alla lokala DNS-poster. 278 00:13:25,470 --> 00:13:29,520 Så det finns egentligen ingen slutförvar av hela DNS av Internet, 279 00:13:29,520 --> 00:13:32,410 precis som det finns ingen gula sidorna av världen. 280 00:13:32,410 --> 00:13:36,450 >> Det finns alla dessa lokala små skala DNSS som finns där ute. 281 00:13:36,450 --> 00:13:39,010 Och det finns tjänster som aggregera ihop dem. 282 00:13:39,010 --> 00:13:42,174 Men de är beroende av dem mindre DNS-system 283 00:13:42,174 --> 00:13:45,340 uppdatera sin information, så att de har den mest korrekta informationen. 284 00:13:45,340 --> 00:13:48,500 >> Så återigen, denna analogi är stor aggregerande 285 00:13:48,500 --> 00:13:51,910 DNS-system är som bibliotek som har en kopia 286 00:13:51,910 --> 00:13:56,410 av varje gula sidorna av världen. 287 00:13:56,410 --> 00:13:58,350 De gör inte själva uppdatera dessa böcker. 288 00:13:58,350 --> 00:14:01,620 De beror på böcker som kommer in, så att de kan uppdatera informationen 289 00:14:01,620 --> 00:14:04,560 om de behöver det. 290 00:14:04,560 --> 00:14:07,700 >> Så DNS-systemet är inte ett jätte-block. 291 00:14:07,700 --> 00:14:11,026 Det är decentraliserad över många, många servrar. 292 00:14:11,026 --> 00:14:13,400 Så nu vet vi att någonstans mellan oss och internet 293 00:14:13,400 --> 00:14:18,350 det finns en DNS-server samt en DHCP-server. 294 00:14:18,350 --> 00:14:20,910 >> Nu, accesspunkter, vad våra accesspunkter? 295 00:14:20,910 --> 00:14:23,840 Tja, accesspunkter du förmodligen ganska bekant med från faktiskt 296 00:14:23,840 --> 00:14:24,964 att ansluta till Internet. 297 00:14:24,964 --> 00:14:28,820 Det är det nätverk som du väljer, hemmet eller ditt arbetsnätverk 298 00:14:28,820 --> 00:14:30,310 eller vad har du. 299 00:14:30,310 --> 00:14:32,597 >> Och jag generaliserar begreppet en åtkomstpunkt 300 00:14:32,597 --> 00:14:33,930 här för tillämpningen av denna video. 301 00:14:33,930 --> 00:14:35,721 Men det finns faktiskt en massa saker som 302 00:14:35,721 --> 00:14:38,766 kan rullas upp i åtkomstpunkter. 303 00:14:38,766 --> 00:14:41,890 Det finns begrepp routrar, som är en slags allmän term som vi använder. 304 00:14:41,890 --> 00:14:45,940 >> Men det finns också växlar och saker och ting faktiskt kallas 305 00:14:45,940 --> 00:14:49,070 accesspunkter som är skilda från denna allmänna begreppet en tillgång 306 00:14:49,070 --> 00:14:49,780 punkt. 307 00:14:49,780 --> 00:14:54,510 Men i princip vad händer är med IPv4, jag 308 00:14:54,510 --> 00:14:57,030 sa att vi har detta begrepp av privata adresser, eller hur? 309 00:14:57,030 --> 00:15:03,680 Och i stället för varje maskin som har en unik IP-adress, som 310 00:15:03,680 --> 00:15:07,720 Vi har tagit slut, eftersom Vi är över 4 miljarder enheter 311 00:15:07,720 --> 00:15:09,860 försöker ansluta till internet, vad vi gör 312 00:15:09,860 --> 00:15:12,810 istället tilldela en IP-adress till en router. 313 00:15:12,810 --> 00:15:15,960 Denna router eller åtkomstpunkt bara i ditt hem, till exempel. 314 00:15:15,960 --> 00:15:19,280 >> Och routerns jobb som till sorts fungera som en trafikpolis, 315 00:15:19,280 --> 00:15:23,540 vilket gör att alla som är ansluten till att routern att använda samma IP 316 00:15:23,540 --> 00:15:25,115 adress att komma ut. 317 00:15:25,115 --> 00:15:25,990 Betyder det vettigt? 318 00:15:25,990 --> 00:15:29,414 Så att alla i ditt hem har en privat IP-adress. 319 00:15:29,414 --> 00:15:31,830 De kan inte ansluta till internet eller internet snarare 320 00:15:31,830 --> 00:15:34,870 kan inte tala med dem, genom att privata adress. 321 00:15:34,870 --> 00:15:37,656 De kan bara tala till dem genom adressen i routern. 322 00:15:37,656 --> 00:15:39,530 Och det är det routerns jobb att ta informationen 323 00:15:39,530 --> 00:15:42,900 att du skickar routern och styra den till rätt plats 324 00:15:42,900 --> 00:15:46,890 och information som är kommande i routern för routern 325 00:15:46,890 --> 00:15:48,860 att skicka den till dig. 326 00:15:48,860 --> 00:15:52,470 >> Så routrar är verkligen anordningar här-- särskilt en router 327 00:15:52,470 --> 00:15:59,010 i ditt hem, den vanligaste sortens Användnings fallet för de flesta people-- 328 00:15:59,010 --> 00:16:00,870 som har den offentliga IP-adressen. 329 00:16:00,870 --> 00:16:03,910 Det är den enhet som är ansluten till Internet. 330 00:16:03,910 --> 00:16:07,190 Och du ansluter till routern att informationsflödet 331 00:16:07,190 --> 00:16:09,910 genom det på din räkning. 332 00:16:09,910 --> 00:16:14,420 >> Som jag sa, ett modernt hem nätverk, router och switch och åtkomstpunkten 333 00:16:14,420 --> 00:16:16,420 är alla typer av buntade upp till en enda anordning. 334 00:16:16,420 --> 00:16:19,240 Ibland kan en modem är buntas i där också. 335 00:16:19,240 --> 00:16:20,800 Det är oftast bara kallas en router. 336 00:16:20,800 --> 00:16:23,210 Men det är verkligen alla dessa saker tillsammans. 337 00:16:23,210 --> 00:16:27,870 >> Storskaliga företagsnätverk eller så kallade Wide Area Networks, WAN, 338 00:16:27,870 --> 00:16:29,570 faktiskt hålla dessa enheter separat. 339 00:16:29,570 --> 00:16:30,470 De har en omkopplare. 340 00:16:30,470 --> 00:16:31,550 De har routrar. 341 00:16:31,550 --> 00:16:33,510 De har flera åtkomstpunkter. 342 00:16:33,510 --> 00:16:36,250 >> Till exempel vid en universitet ser du saker 343 00:16:36,250 --> 00:16:40,300 som ser ut så kallade routrar monterade är runt campus. 344 00:16:40,300 --> 00:16:44,120 De är alla kopplingspunkter som flödar i routrar, switchar, et cetera, 345 00:16:44,120 --> 00:16:45,250 att passera information tillsammans. 346 00:16:45,250 --> 00:16:49,120 Eftersom dessa nätverk är så stor att en enda åtkomstpunkt 347 00:16:49,120 --> 00:16:51,870 kan inte täcka sina stort område. 348 00:16:51,870 --> 00:16:54,990 >> Och så dessa stora nätverk, företagsnätverk, et cetera, 349 00:16:54,990 --> 00:16:57,710 dela dessa i separata enheter, så nätverket och omfattning 350 00:16:57,710 --> 00:16:59,780 och växa vid behov. 351 00:16:59,780 --> 00:17:04,180 Så återigen, någonstans mellan oss och Internet, har vi en åtkomstpunkt. 352 00:17:04,180 --> 00:17:05,430 Och det är vad vi ansluta till. 353 00:17:05,430 --> 00:17:08,992 Och genom det, vi kan få till internet. 354 00:17:08,992 --> 00:17:10,700 Som jag sade i i början av den här videon, 355 00:17:10,700 --> 00:17:12,540 Detta är inte en kurs i nätverk. 356 00:17:12,540 --> 00:17:13,990 Så detta är inte hela historien. 357 00:17:13,990 --> 00:17:15,109 Och jag har typ av slätade över det. 358 00:17:15,109 --> 00:17:17,150 Och kanske jag har lämnat dig även lite förvirrad 359 00:17:17,150 --> 00:17:18,670 vad några av dessa saker är. 360 00:17:18,670 --> 00:17:19,329 Men det är OK. 361 00:17:19,329 --> 00:17:20,599 >> Vi behöver inte hela historien. 362 00:17:20,599 --> 00:17:25,250 Det är tillräckligt för oss att veta rörliga framåt bara i princip lite 363 00:17:25,250 --> 00:17:27,450 om hur internet fungerar. 364 00:17:27,450 --> 00:17:30,670 Så vad vi vet är att vi har dessa privata nätverk på vårt hus. 365 00:17:30,670 --> 00:17:32,880 >> Och vi ansluter till en router. 366 00:17:32,880 --> 00:17:36,674 Och att routern är ansluten till Internet i stort. 367 00:17:36,674 --> 00:17:38,090 Men vad är internet i stort? 368 00:17:38,090 --> 00:17:39,930 Jag fortsätter att säga detta, men vad är det? 369 00:17:39,930 --> 00:17:43,610 >> Tja, det är egentligen bara alla dessa enskilda nätverk på mitt hus, 370 00:17:43,610 --> 00:17:47,460 och i ditt hus, och på alla andra hus, som är sammankopplade. 371 00:17:47,460 --> 00:17:52,030 Det är ett sammankopplat nätverk, en inter-net. 372 00:17:52,030 --> 00:17:53,840 Så istället för att tänka om internet 373 00:17:53,840 --> 00:17:59,080 eftersom denna jätte moln, denna eteriska sak som finns där ute, 374 00:17:59,080 --> 00:18:02,470 det är egentligen bara en anslutning bland alla dessa nätverk. 375 00:18:02,470 --> 00:18:03,500 >> Så nu kör vi. 376 00:18:03,500 --> 00:18:04,752 Vi har vårt lokala nätverk. 377 00:18:04,752 --> 00:18:07,210 Och vi är inte den enda personen förmodligen på vår lokala nätverk 378 00:18:07,210 --> 00:18:08,335 försöker använda internet. 379 00:18:08,335 --> 00:18:10,940 Det finns förmodligen flera vi försöker att komma in. 380 00:18:10,940 --> 00:18:13,870 >> Och vi är inte den enda nätverk som finns i världen, eller hur? 381 00:18:13,870 --> 00:18:18,300 Det finns andra nätverk också att försöker ansluta till Internet. 382 00:18:18,300 --> 00:18:21,400 Men internet är inte igen, en separat enhet. 383 00:18:21,400 --> 00:18:25,592 >> Det är bara en uppsättning regler som tillåter dessa nätverk, dessa små nätverk, 384 00:18:25,592 --> 00:18:27,300 blå, lila, och den röda nätverks 385 00:18:27,300 --> 00:18:28,980 här, för att kommunicera med varandra. 386 00:18:28,980 --> 00:18:31,230 Så det finns ingen sak de är alla ansluter till. 387 00:18:31,230 --> 00:18:35,010 De är alla bara ansluten till varandra, eller hur? 388 00:18:35,010 --> 00:18:37,710 >> Och så någonstans på dessa nät finns tjänster 389 00:18:37,710 --> 00:18:39,095 att vi verkligen vill. 390 00:18:39,095 --> 00:18:41,220 Så kanske i det blå nätet är där Google bor. 391 00:18:41,220 --> 00:18:43,303 Och i den lila nätet är där Facebook bor. 392 00:18:43,303 --> 00:18:46,310 Och i den röda nätet, ja, kanske det är där alla dessa katter. 393 00:18:46,310 --> 00:18:49,440 >> Och så om vi vill få information om katter, 394 00:18:49,440 --> 00:18:55,166 vi bara passera denna kedja av nätverk att få den information vi vill ha. 395 00:18:55,166 --> 00:18:57,040 Och här, har jag representerat nätverket som alla 396 00:18:57,040 --> 00:18:58,414 att kunna tala med varandra. 397 00:18:58,414 --> 00:19:00,300 Och vi kan bara tala till nätverket. 398 00:19:00,300 --> 00:19:01,910 Men nätverket kan inte prata tillbaka till oss. 399 00:19:01,910 --> 00:19:03,326 >> Men det är inte sant heller, eller hur? 400 00:19:03,326 --> 00:19:04,610 Detta är allt en tvåvägskommunikation. 401 00:19:04,610 --> 00:19:07,860 Information kan strömma genom nätverk och tillbaka. 402 00:19:07,860 --> 00:19:09,007 >> Hur gör den det? 403 00:19:09,007 --> 00:19:11,090 Tja, internet är verkligen ett system av protokoll. 404 00:19:11,090 --> 00:19:11,970 Och vi kommer att börja prata om vad 405 00:19:11,970 --> 00:19:14,130 dessa protokoll är i kommande filmer. 406 00:19:14,130 --> 00:19:16,940 >> Men återigen, internet är inte en separat sak. 407 00:19:16,940 --> 00:19:20,760 Det är en uppsättning regler som definierar hur nätverk kommunicerar, 408 00:19:20,760 --> 00:19:23,410 dessa små nätverk, dessa lokala nätverk som vi är vana vid, 409 00:19:23,410 --> 00:19:26,600 människorna i vårt hus, folk på vår skola, människor på vårt jobb, 410 00:19:26,600 --> 00:19:29,160 alla delar ett nätverk. 411 00:19:29,160 --> 00:19:31,900 Och hur dessa nätverk samtrafik och prata med varandra, 412 00:19:31,900 --> 00:19:34,160 det är faktiskt vad Internets handlar om. 413 00:19:34,160 --> 00:19:36,090 Så låt oss, i en framtida video, tala om några 414 00:19:36,090 --> 00:19:38,940 av de protokoll som innefattar Internet för att förhoppningsvis 415 00:19:38,940 --> 00:19:42,320 ge dig lite mer av en väl avrundad förståelse. 416 00:19:42,320 --> 00:19:43,320 Jag är Doug Lloyd. 417 00:19:43,320 --> 00:19:45,260 Detta är CS50. 418 00:19:45,260 --> 00:19:47,351