1 00:00:00,000 --> 00:00:03,395 >> [Glazbom] 2 00:00:03,395 --> 00:00:13,100 3 00:00:13,100 --> 00:00:15,570 >> DAVID J. Malan: Pa sam upravo htjela umiriti se. 4 00:00:15,570 --> 00:00:18,260 Ja bi jeka što točno Scaz rekao o institucionalne memorije. 5 00:00:18,260 --> 00:00:20,350 CS50 je za oko 20 godina na Harvardu. 6 00:00:20,350 --> 00:00:22,280 A stvarnost je, od maturanti na dolje, 7 00:00:22,280 --> 00:00:25,045 je godišnje uvjeravanja da su brucoša, a sophomores, 8 00:00:25,045 --> 00:00:26,870 a juniori i Također maturanti uzimanja 9 00:00:26,870 --> 00:00:30,360 CS50, da ćete završiti radiš dobro. 10 00:00:30,360 --> 00:00:32,680 >> Stvarnost je, studenti ne uspjeti CS50. 11 00:00:32,680 --> 00:00:35,740 U stvari, u rijetkim slučajevima gdje smo imali Es ili F, 12 00:00:35,740 --> 00:00:37,990 to je stvarno bilo zbog olakotne okolnosti, 13 00:00:37,990 --> 00:00:39,840 da li je medicinski ili osobno. 14 00:00:39,840 --> 00:00:41,830 DS su nevjerojatno rijetki, kao dobro. 15 00:00:41,830 --> 00:00:45,270 I ja mogu reći udobno, iako smo obično ne otkrivaju statistike, 16 00:00:45,270 --> 00:00:48,450 ali s obzirom da ne postoji institucionalna memorija ovdje uopće, 17 00:00:48,450 --> 00:00:51,810 većina studenata u CS50 ne završiti dobivanje rasponu ocjene. 18 00:00:51,810 --> 00:00:54,720 Značajan komad završiti završio u rasponu B previše. 19 00:00:54,720 --> 00:00:57,490 >> Dakle, čak i ako bi moglo biti Izjednačavanjem u vašem umu trojkama 20 00:00:57,490 --> 00:01:00,690 60% i zbog toga Ds, ili Cs, ili slično, 21 00:01:00,690 --> 00:01:02,530 to stvarno ne postroje sa stvarnošću. 22 00:01:02,530 --> 00:01:05,238 Zapravo, mislimo upravo ono što smo kažu na početku mandata 23 00:01:05,238 --> 00:01:08,380 tako da mnogi učenici CS50, oba u Cambridgeu i ovdje u New Havenu, 24 00:01:08,380 --> 00:01:10,220 nikada uzeti CS tečaj prije. 25 00:01:10,220 --> 00:01:13,090 A što doista u konačnici važno je mjesto gdje ćete završiti u 12. tjednu 26 00:01:13,090 --> 00:01:15,882 u odnosu na sebe u tjednu nula. 27 00:01:15,882 --> 00:01:17,590 Sada imamo višestruke prati u tijeku 28 00:01:17,590 --> 00:01:20,548 kao što know-- manje udoban, više udoban, negdje između. 29 00:01:20,548 --> 00:01:23,790 I doista, kada se statistike o ovotjednom kviza, 30 00:01:23,790 --> 00:01:27,460 nemojte se obeshrabriti ako, osobito ako osjećate da ste oko srednje vrijednosti 31 00:01:27,460 --> 00:01:30,780 ili ispod prosjeka ili medijana, pogotovo jer mi ne nužno 32 00:01:30,780 --> 00:01:33,560 poduzeti sve one demografske u obzir sredinom semestra 33 00:01:33,560 --> 00:01:35,000 sa statistikama ocjenjivanja. 34 00:01:35,000 --> 00:01:37,250 >> Drugim riječima, mi znamo statistički svake godine 35 00:01:37,250 --> 00:01:39,570 da su studenti koji su manje udobne, učiniti nešto još gore na kvizu. 36 00:01:39,570 --> 00:01:42,050 I studenti koji su udobnije učiniti nešto bolje na kvizu. 37 00:01:42,050 --> 00:01:45,430 Ali po tom obećanja u nastavnom planu i također u prvom tjednu nastave, 38 00:01:45,430 --> 00:01:46,880 uzmemo sve to u obzir. 39 00:01:46,880 --> 00:01:48,900 >> Doista, na kraju godine, ono što smo završili radiš 40 00:01:48,900 --> 00:01:52,154 je normalizaciji sve rezultate po sekcije, kako u Cambridgeu 41 00:01:52,154 --> 00:01:54,570 a sad ovdje u New Havenu, što znači uzimajući u obzir 42 00:01:54,570 --> 00:01:57,310 razjedinjenih stilova, razjedinjenih grubost je drugačija vrsta 43 00:01:57,310 --> 00:02:00,722 osobnosti koje pojedinac TAS ima i ovdje u Cambridgeu 44 00:02:00,722 --> 00:02:02,930 tako da si nije na Nedostatak čak i ako samo 45 00:02:02,930 --> 00:02:06,120 dogoditi da su imali TF ili TA koji je bio malo teže za vas 46 00:02:06,120 --> 00:02:07,170 u svom umu. 47 00:02:07,170 --> 00:02:10,139 >> Drugo, uzmemo u obzir udobnost razina i stvarna pozadina, ili nedostatak 48 00:02:10,139 --> 00:02:13,310 njegov, kada uzimanje kviz rezultate u obzir. 49 00:02:13,310 --> 00:02:14,830 Dakle, njih dvoje su uzete u obzir. 50 00:02:14,830 --> 00:02:17,142 I na kraju dana, zato što je uvijek slučaj 51 00:02:17,142 --> 00:02:19,100 da student završio u manje udoban dijelu 52 00:02:19,100 --> 00:02:24,250 kada on ili ona stvarno pripadala u u-između, ili obrnuto, 53 00:02:24,250 --> 00:02:26,230 sve je tako nevjerojatno individualizirana. 54 00:02:26,230 --> 00:02:29,560 Doista, od vas će dobiti ljut na nas, na kraj mandata kada smo kasno 55 00:02:29,560 --> 00:02:32,630 poslali svoje ocjene, jer s Scaz, i Jason, i Andy i ja, 56 00:02:32,630 --> 00:02:35,430 a tim će učiniti u Cambridgeu je doslovno 57 00:02:35,430 --> 00:02:38,480 ima na stotine e-pošte natrag i naprijed sa svim sto od tečajeva 58 00:02:38,480 --> 00:02:41,279 Tas, ovdje iu Cambridge, tražeći od njih ono što 59 00:02:41,279 --> 00:02:44,070 oni misle o svim svojim studentima na temelju nacrta razrede. 60 00:02:44,070 --> 00:02:46,230 I sve tamo nakon nevjerojatno individualiziran. 61 00:02:46,230 --> 00:02:49,230 Dakle, u mjeri u kojoj smo dobili da znate u uredovno vrijeme, odjeljaka i više, 62 00:02:49,230 --> 00:02:51,350 sve to previše uzeti u obzir. 63 00:02:51,350 --> 00:02:55,210 >> Dakle, iako smo skloni koristiti ovaj pet točka razmjera, molim vas, odvojite sebe 64 00:02:55,210 --> 00:02:57,492 od pretpostavke da tri je doista 60%. 65 00:02:57,492 --> 00:02:58,450 To je značilo da je dobro. 66 00:02:58,450 --> 00:03:01,360 I asistenti naplaćuju se termin početka 67 00:03:01,360 --> 00:03:04,050 pokušati zadržati rezultate u paru i trojkama, 68 00:03:04,050 --> 00:03:06,590 i četvorke rasponu, tako da smo zapravo imaju prostora za rast. 69 00:03:06,590 --> 00:03:08,610 I mi zapravo mjerilo po kojem 70 00:03:08,610 --> 00:03:11,086 možemo vam dati korisne povratne informacije o tome kako radite 71 00:03:11,086 --> 00:03:12,210 i kako ste napreduju. 72 00:03:12,210 --> 00:03:15,130 Dakle, nemojte to uzeti k srcu. 73 00:03:15,130 --> 00:03:20,565 >> Ima li kakvih pitanja mogu pomoći adresu ili zabrinutost da mogu pomoći ublažiti? 74 00:03:20,565 --> 00:03:23,800 Ili obeća mogu pokušati zadržati? 75 00:03:23,800 --> 00:03:24,690 Ne? 76 00:03:24,690 --> 00:03:25,330 U REDU. 77 00:03:25,330 --> 00:03:26,010 >> U redu. 78 00:03:26,010 --> 00:03:28,970 Dakle, s tim je rekao, to je CS50. 79 00:03:28,970 --> 00:03:31,670 To je početak tjedna šest u New Havenu. 80 00:03:31,670 --> 00:03:33,820 Počnimo s kratkim zatamnjenje svjetala 81 00:03:33,820 --> 00:03:37,439 postaviti pozornicu za današnje sadržaja. 82 00:03:37,439 --> 00:03:38,105 [VIDEO PLAYBACK] 83 00:03:38,105 --> 00:03:44,045 [Glazbom] 84 00:03:44,045 --> 00:03:46,600 -On Je došao s porukom. 85 00:03:46,600 --> 00:03:50,300 86 00:03:50,300 --> 00:03:52,900 Uz protokol sve svoje. 87 00:03:52,900 --> 00:04:06,417 88 00:04:06,417 --> 00:04:13,090 On je došao na svijet kul firewall, stalo usmjerivači i opasnosti daleko gore 89 00:04:13,090 --> 00:04:16,079 da je smrt. 90 00:04:16,079 --> 00:04:21,079 On je brz, on je jak, on je TCP / IP. 91 00:04:21,079 --> 00:04:23,120 I on je dobio svoju adresu. 92 00:04:23,120 --> 00:04:25,820 93 00:04:25,820 --> 00:04:29,268 Ratnici net. 94 00:04:29,268 --> 00:04:29,917 >> [END PLAYBACK] 95 00:04:29,917 --> 00:04:31,000 DAVID J. Malan: U redu. 96 00:04:31,000 --> 00:04:32,030 Ovo je CS50. 97 00:04:32,030 --> 00:04:33,820 To je početak tjedna šest. 98 00:04:33,820 --> 00:04:37,270 A ovo je početak naše izgled na internet i web programiranja. 99 00:04:37,270 --> 00:04:41,220 A, možda i većina uzbudljivo, Danas se obilježava prijelaz za nas 100 00:04:41,220 --> 00:04:43,780 iz naše komandne linije Svijet C na webu 101 00:04:43,780 --> 00:04:47,020 temelji svijet PHP i HTML, i CSS, i SQL, i JavaScript, 102 00:04:47,020 --> 00:04:49,800 i tako mnogo više da je na horizontu. 103 00:04:49,800 --> 00:04:53,390 >> Ali prvo, da je došao u našu pozornost u šetnju po kampusu da 104 00:04:53,390 --> 00:04:57,914 je sigurno kupaonica u New Haven zove Harvard sobu, koja 105 00:04:57,914 --> 00:04:59,080 je malo siv ovdje. 106 00:04:59,080 --> 00:05:03,830 Ali, istina, netko je otišao na put i rashodi za bakropis na Harvard sobi 107 00:05:03,830 --> 00:05:05,700 na ovoj ovdje sobi. 108 00:05:05,700 --> 00:05:07,790 Hvala vam za to. 109 00:05:07,790 --> 00:05:11,020 Ne mogu reći da imamo analoga u Cambridgeu, ali, 110 00:05:11,020 --> 00:05:14,060 ali mislim da imamo mali projekt za sebe sada kada smo se vratiti. 111 00:05:14,060 --> 00:05:15,890 Dakle, hvala vam za to. 112 00:05:15,890 --> 00:05:18,340 >> Tako brzo osvrnuti na gdje smo stali prošli tjedan 113 00:05:18,340 --> 00:05:21,010 i gdje idete ovaj dolazak tjedan sa problemima postaviti pet. 114 00:05:21,010 --> 00:05:24,350 Tako je u pet Problem postavljen, vi ćete biti izazov za provedbu i Provjera pravopisa. 115 00:05:24,350 --> 00:05:26,630 A za to, vi ćete biti predao prilično veliki tekst 116 00:05:26,630 --> 00:05:29,160 podnijeti kao 140.000 engleskih riječi. 117 00:05:29,160 --> 00:05:32,610 A vi ćete biti izazvani da odluči na strukturu podataka s kojima 118 00:05:32,610 --> 00:05:35,340 želite učitati sve te riječi u memoriju, a u RAM, 119 00:05:35,340 --> 00:05:38,470 a zatim provesti nekoliko funkcija, od kojih će biti provjere. 120 00:05:38,470 --> 00:05:41,555 Čime kada prođe argument, riječ, tvoja funkcija ček 121 00:05:41,555 --> 00:05:43,430 jednostavno će imati reći true ili false, 122 00:05:43,430 --> 00:05:44,990 to je riječ u rječniku. 123 00:05:44,990 --> 00:05:47,110 >> Ali vi ćete imati neke Dizajn diskrecija i izazovi 124 00:05:47,110 --> 00:05:48,568 kada je riječ o provedbi toga. 125 00:05:48,568 --> 00:05:51,250 U najjednostavnijem implementacije, što bi svakako 126 00:05:51,250 --> 00:05:53,960 provesti pravopisa u temeljni rječnik 127 00:05:53,960 --> 00:05:55,380 s kakvim struktura podataka? 128 00:05:55,380 --> 00:05:57,796 Vi samo trebate pohraniti cjelinu hrpa žice u memoriji? 129 00:05:57,796 --> 00:06:00,074 Što je ići odgovoriti od dva tjedna možda? 130 00:06:00,074 --> 00:06:00,740 PUBLIKA: Array. 131 00:06:00,740 --> 00:06:01,500 DAVID J. Malan: Možete koristiti niz. 132 00:06:01,500 --> 00:06:02,750 I to nije sve što je loše. 133 00:06:02,750 --> 00:06:05,631 Ali ne nužno znati unaprijed koliko je velika niza 134 00:06:05,631 --> 00:06:08,630 ti si idući u morati, ako ne Znaš datoteku nužno unaprijed. 135 00:06:08,630 --> 00:06:10,110 Dakle, ti si idući u morati koristite malo trikovima 136 00:06:10,110 --> 00:06:11,970 poput malloc, kao što smo počeli koristiti. 137 00:06:11,970 --> 00:06:13,977 Ili možemo obratiti koje se tiču ​​pomoću 138 00:06:13,977 --> 00:06:16,810 ono što drugi struktura podataka koje je bio svojevrsni najnižoj pojašnjenje 139 00:06:16,810 --> 00:06:17,894 na niz? 140 00:06:17,894 --> 00:06:18,810 PUBLIKA: Popis povezane. 141 00:06:18,810 --> 00:06:21,270 DAVID J. Malan: Poput povezan Popis, pri čemu smo dobili neku dinamiku. 142 00:06:21,270 --> 00:06:22,686 No, tu je malo više trošak. 143 00:06:22,686 --> 00:06:24,150 Imamo naputke za održavanje. 144 00:06:24,150 --> 00:06:25,890 I još niste kodirano ovo gore, ali tu je svakako 145 00:06:25,890 --> 00:06:28,473 da se malo više složenosti nego samo pomoću uglate zagrade 146 00:06:28,473 --> 00:06:30,080 i skakanje okolo polje. 147 00:06:30,080 --> 00:06:33,340 >> No, niz je trčanje vrijeme, Ako ste u potrazi za riječ, 148 00:06:33,340 --> 00:06:34,179 Možda se prijavite n. 149 00:06:34,179 --> 00:06:35,970 Ali opet, to bi moglo biti malo ne-trivijalan 150 00:06:35,970 --> 00:06:38,734 izgraditi taj niz ne znajući veličinu unaprijed. 151 00:06:38,734 --> 00:06:41,150 Popis povezani iako, ako vas Samo pohraniti gomilu nizova 152 00:06:41,150 --> 00:06:43,300 u popisu povezana, koja je tvoja gornja granica 153 00:06:43,300 --> 00:06:46,920 na trčanje vremena će biti u potrazi za ili provjeriti riječ u tom popisu? 154 00:06:46,920 --> 00:06:47,700 >> PUBLIKA: n. 155 00:06:47,700 --> 00:06:50,575 >> DAVID J. Malan: Da, veliki O n ili linearno, jer u najgorem slučaju, 156 00:06:50,575 --> 00:06:52,640 riječ je kao Z riječi skroz na kraju. 157 00:06:52,640 --> 00:06:55,350 I zbog popisa povezane, jer one strelice po defaultu, 158 00:06:55,350 --> 00:06:58,280 u popisu na pojedinačno povezani, samo ići iz jednog smjera u drugi, 159 00:06:58,280 --> 00:06:59,590 ne mogu skakati. 160 00:06:59,590 --> 00:07:01,160 Morate slijediti sve njih. 161 00:07:01,160 --> 00:07:05,505 >> Tako smo predložili krajem prošlog tjedna, tjedan pet, da postoje bolji načini. 162 00:07:05,505 --> 00:07:08,727 A u stvari, sveti gral stvarno bi biti stalna vrijeme 163 00:07:08,727 --> 00:07:10,560 pri čemu kada želite potražiti riječ, što 164 00:07:10,560 --> 00:07:13,370 dobili instant odgovor bez obzira koliko riječi su već 165 00:07:13,370 --> 00:07:14,350 u svom rječniku. 166 00:07:14,350 --> 00:07:17,680 >> To je umjetnički izvedba ono što bi mogli nazvati hash tablicu. 167 00:07:17,680 --> 00:07:21,900 I hash tablica vrsta lijepo amalgam je array-- nacrtana okomito 168 00:07:21,900 --> 00:07:26,416 Ovdje, samo because-- a zatim povezani list-- privući vodoravno ovdje. 169 00:07:26,416 --> 00:07:28,790 I hash tablicu može biti provodi u grozdovima načine. 170 00:07:28,790 --> 00:07:34,110 Ovaj izvadak iz udžbenika događa koristiti datume rođenja tih ljudi 171 00:07:34,110 --> 00:07:38,940 kao sredstvo kojim se to odluči gdje staviti nečije ime. 172 00:07:38,940 --> 00:07:41,230 Dakle, ovo je rječnik ako će imena. 173 00:07:41,230 --> 00:07:45,240 A kako bi se ubrzali stavljajući imena u ovom strukture podataka, 174 00:07:45,240 --> 00:07:49,280 gledaju, očito, ove Narodne Rođenje datira s obzirom na mjesec dana. 175 00:07:49,280 --> 00:07:50,570 >> Tako da je od 1 do 31. 176 00:07:50,570 --> 00:07:52,910 I zaboraviti veljače i kutak slučajevi kao što je to. 177 00:07:52,910 --> 00:07:57,050 A ako je vaš rođendan je Siječanj 1 ili 1 veljače ili 1. prosinca 178 00:07:57,050 --> 00:07:59,890 vi ćete završiti na Prvi lanac do vrha. 179 00:07:59,890 --> 00:08:02,150 Ako je vaš datum rođenja je kao 25. u mjesecu, 180 00:08:02,150 --> 00:08:04,567 ti si idući u kraj gore u kantu broj 25. 181 00:08:04,567 --> 00:08:07,400 A ako je već netko tamo u tim mjestima, što 182 00:08:07,400 --> 00:08:10,470 počnete raditi s tim povezane Popisi ih povezivanjem 183 00:08:10,470 --> 00:08:14,320 tako da možete imati proizvoljna broj ljudi, ili bilo što, 184 00:08:14,320 --> 00:08:15,580 na tom mjestu. 185 00:08:15,580 --> 00:08:18,400 >> Dakle, imate kakve mješavine konstanta vrijeme raspršivanja. 186 00:08:18,400 --> 00:08:21,160 I da hash nešto znači uzeti kao ulaz kao osoba, 187 00:08:21,160 --> 00:08:25,360 ili njegovo ili njezino ime, ili njegovog rođenja datum, a zatim odlučiti na neki izlaz 188 00:08:25,360 --> 00:08:29,780 na temelju toga, kao i gledajući njihove rođendan i izlaza od jedan do 31. 189 00:08:29,780 --> 00:08:31,900 >> Pa onda možda morati malo linearnog vremena, 190 00:08:31,900 --> 00:08:34,429 ali u stvarnosti, a kao u slučaj problema postaviti pet, 191 00:08:34,429 --> 00:08:36,220 nećemo biti radi u P postaviti pet 192 00:08:36,220 --> 00:08:40,059 toliko o asimptotske trčanje Vrijeme, kao i teoretske sporosti 193 00:08:40,059 --> 00:08:41,809 kojom algoritam mogao pokrenuti. 194 00:08:41,809 --> 00:08:44,330 Idemo stalo stvarni broj sekundi 195 00:08:44,330 --> 00:08:47,350 i stvarna količina memorije, stvarni broj bajtova memorije 196 00:08:47,350 --> 00:08:48,140 koju koristite. 197 00:08:48,140 --> 00:08:52,710 Pa iskreno, ima jedan veliki lanac kao milijun ljudi 198 00:08:52,710 --> 00:08:56,710 je prokleto sporo, ako ste u potrazi imena u popisu veličini milijuna. 199 00:08:56,710 --> 00:08:59,830 >> Ali što ako podijelite taj popis se u 31 dijelova? 200 00:08:59,830 --> 00:09:04,400 Pretraživanje 1/31 toga super dugi popis, u stvarnosti, 201 00:09:04,400 --> 00:09:05,741 svakako će biti brže. 202 00:09:05,741 --> 00:09:07,240 Asimptotski, to je ista stvar. 203 00:09:07,240 --> 00:09:08,860 Ti si jednostavno dijeljenjem konstantnim faktorom. 204 00:09:08,860 --> 00:09:10,651 A sjećam da smo baciti te stvari daleko. 205 00:09:10,651 --> 00:09:13,486 No, u stvarnosti, to se događa biti 31 puta brži. 206 00:09:13,486 --> 00:09:16,110 I to je ono što ćemo početi utjecati na P postaviti pet. 207 00:09:16,110 --> 00:09:18,750 >> Dakle P postaviti pet previše također Predlaže da uzmete u obzir 208 00:09:18,750 --> 00:09:21,810 malo sofisticiraniji struktura podataka naziva Trie. 209 00:09:21,810 --> 00:09:24,420 I Trie je samo stabla kao strukture podataka. 210 00:09:24,420 --> 00:09:26,672 No, umjesto da mali krugovi ili pravokutnici 211 00:09:26,672 --> 00:09:28,380 kao što smo zadržati crtanje za čvorove, to je zapravo 212 00:09:28,380 --> 00:09:30,840 ima cijeli nizovi za svoje čvorova. 213 00:09:30,840 --> 00:09:33,430 I iako je to malo apstraktno ovdje da pogledate, 214 00:09:33,430 --> 00:09:35,450 Zamyla u P set šetnju kroz će vas 215 00:09:35,450 --> 00:09:37,580 kroz detaljnije o tome. 216 00:09:37,580 --> 00:09:39,980 Ovo je struktura podataka da radije pametno 217 00:09:39,980 --> 00:09:44,130 možda svaki čvor biće niz veličine 26, a do Z ili nula 218 00:09:44,130 --> 00:09:45,320 preko 25 godina. 219 00:09:45,320 --> 00:09:49,260 A kada želite umetnuti osoba je ime na ove strukture podataka ili naći 220 00:09:49,260 --> 00:09:53,990 njega ili nju, što radite, ako je Ime je poput Maxwell, M-A-X-W-E-L-L, 221 00:09:53,990 --> 00:09:57,900 prvi put pogledate M. A onda ti skok na odgovarajući M mjestu 222 00:09:57,900 --> 00:09:59,100 u prvom nizu. 223 00:09:59,100 --> 00:10:02,400 Zatim skok na prvi mjesto u sljedećem nizu, 224 00:10:02,400 --> 00:10:03,610 Sljedeći strelice. 225 00:10:03,610 --> 00:10:08,300 Tada X, onda W, zatim E, tada L, potom L, a onda možda neke posebne kraj 226 00:10:08,300 --> 00:10:11,850 lik, neki Sentinel da kaže riječ ovdje prestaje. 227 00:10:11,850 --> 00:10:14,780 >> A što je lijepo o this-- i imajte na umu da je slika ovdje, 228 00:10:14,780 --> 00:10:16,797 primijetiti kako rubova svaki niz su odrezani. 229 00:10:16,797 --> 00:10:19,630 To je samo zato što je ova stvar bi biti masivan i strašnim gledati 230 00:10:19,630 --> 00:10:20,338 na na zaslonu. 231 00:10:20,338 --> 00:10:21,820 Dakle, to je excerpted. 232 00:10:21,820 --> 00:10:25,920 Što je lijepo o tome je pristup da, ako postoji milijun imena već 233 00:10:25,920 --> 00:10:30,890 u ovom strukture podataka, koliko koraka to uzmi me za umetanje Maxwell? 234 00:10:30,890 --> 00:10:36,450 M-A-X-W-E-L-L-- kao sedam-ish Koraci za umetanje ili tražiti Maxwell. 235 00:10:36,450 --> 00:10:39,320 >> Pretpostavimo da postoji trilijuna imena u ovoj strukturi podataka. 236 00:10:39,320 --> 00:10:41,900 Koliko koraka je potrebno mene tražiti Maxwell? 237 00:10:41,900 --> 00:10:43,450 M-A-X-- još sedam. 238 00:10:43,450 --> 00:10:45,770 >> I u njemu se nalazi Takozvani konstanta vrijeme. 239 00:10:45,770 --> 00:10:47,960 Ako pretpostavimo da riječi su svakako ograničen 240 00:10:47,960 --> 00:10:52,150 20 znakova, ili 46 znakova, ili neki razumno mali broj, 241 00:10:52,150 --> 00:10:53,790 onda je učinkovito konstanta. 242 00:10:53,790 --> 00:10:57,790 I tako umetanje i pretraživanje Trie je super brzo. 243 00:10:57,790 --> 00:10:59,540 Naravno, mi nikada dobiti ništa besplatno. 244 00:10:59,540 --> 00:11:02,740 I iako vas vjerojatno nisu zaronio P postaviti pet gostiju, 245 00:11:02,740 --> 00:11:06,596 kojoj cijeni se vjerojatno plaćati dobiti taj veći put učinkovitost mudro? 246 00:11:06,596 --> 00:11:07,470 >> PUBLIKA: Memorija. 247 00:11:07,470 --> 00:11:08,390 >> DAVID J. Malan: Memorija, zar ne? 248 00:11:08,390 --> 00:11:10,240 Mislim, nismo izvučeni cijela slika ovdje. 249 00:11:10,240 --> 00:11:12,823 Ovaj izvadak iz udžbenika nije nacrtana sve polja. 250 00:11:12,823 --> 00:11:16,687 Postoji ogromna količina memorije i jednostavno null upućuje da se ne koriste. 251 00:11:16,687 --> 00:11:17,520 Tako da je trgovina off. 252 00:11:17,520 --> 00:11:21,050 I to ću prepustiti vama u P postaviti pet odlučiti na koji način želite ići. 253 00:11:21,050 --> 00:11:24,460 >> Sada je to ideja hashing, kao stranu, zapravo je super prevladava. 254 00:11:24,460 --> 00:11:27,980 Tako da hash vrijednost sredstva, sasvim Jednostavno, da se nešto kao ulaz 255 00:11:27,980 --> 00:11:29,220 i proizvoditi izlaz. 256 00:11:29,220 --> 00:11:31,270 Tako hash funkcija je samo algoritam. 257 00:11:31,270 --> 00:11:34,990 >> I općenito, svrha hash funkcije u životu je da se nešto kao ulaz 258 00:11:34,990 --> 00:11:39,655 i proizvesti broj kao izlaz, poput broj jedan kroz 31 ili A do Z, 259 00:11:39,655 --> 00:11:40,960 nula do 25 godina. 260 00:11:40,960 --> 00:11:44,250 Tako to traje složen izlaz a skuplja ga na nešto 261 00:11:44,250 --> 00:11:46,310 to je malo više korisna i rukovanje. 262 00:11:46,310 --> 00:11:49,250 >> I tako ispada u vrlo popularan funkcija 263 00:11:49,250 --> 00:11:51,160 da je sigurnost svijet i ljudski svijetu 264 00:11:51,160 --> 00:11:53,060 koristim već godinama naziva SHA1. 265 00:11:53,060 --> 00:11:56,260 To je prilično otmjeno matematička Formula koja se u biti to. 266 00:11:56,260 --> 00:11:58,870 >> Vi se stvarno velik komad nula i ones-- 267 00:11:58,870 --> 00:12:01,530 koji bi mogao biti megabajta dugo, gigabajt long-- 268 00:12:01,530 --> 00:12:05,930 a to smanjuje do Samo nekoliko bitova, nekoliko bitova, 269 00:12:05,930 --> 00:12:09,082 tako da imate veliki broj poput jedan do 31, ili A do Z. 270 00:12:09,082 --> 00:12:11,540 No, u stvarnosti, to je malo veći nego samo do Z. 271 00:12:11,540 --> 00:12:16,640 >> Nažalost, mi smo na vrhuncu onoga što netko zaigrano naziva SHAppening 272 00:12:16,640 --> 00:12:19,840 pri čemu je svijet o završiti vjerojatno nekoliko mjeseci 273 00:12:19,840 --> 00:12:22,617 Vrijeme jer istraživača, Samo prošlog tjedna, 274 00:12:22,617 --> 00:12:25,700 objavljeno izvješće koje suprotno ono sigurnosni istraživači su mislili 275 00:12:25,700 --> 00:12:29,810 neko vrijeme, tako jednostavno trošiti oko, što je to bilo, 276 00:12:29,810 --> 00:12:33,420 Mislim da je 175,000-- $ puno novaca, 277 00:12:33,420 --> 00:12:36,540 ali ne izvan dosega Posebno loše negativci, 278 00:12:36,540 --> 00:12:41,560 ili posebno loše countries-- 175.000 $ mogao kupiti puno iznajmljuje poslužitelja 279 00:12:41,560 --> 00:12:42,690 Prostor u oblaku. 280 00:12:42,690 --> 00:12:44,619 A mi ćemo se vratiti oblak prije dugo. 281 00:12:44,619 --> 00:12:47,410 Ali to samo znači iznajmljivanje poslužitelja prostor na poput Microsoft poslužitelja, 282 00:12:47,410 --> 00:12:50,285 ili Google-a, ili Amazon-a, ili kao i gdje možete platiti po minuti 283 00:12:50,285 --> 00:12:51,670 koristiti tuđi računala. 284 00:12:51,670 --> 00:12:54,250 >> I to ispada, ako možete platiti netko posuditi svoja računala 285 00:12:54,250 --> 00:12:56,730 i trčanje kôd koji ste napisali na njega i koristiti lijepa fantazija 286 00:12:56,730 --> 00:13:01,580 matematika, možete suštini lik kako nečija hash funkcija 287 00:13:01,580 --> 00:13:05,320 rade, a obzirom na izlaz, obrnuti inženjering ono što mu je ulaz. 288 00:13:05,320 --> 00:13:08,590 A za današnje potrebe, dovoljno je reći, to je loše. 289 00:13:08,590 --> 00:13:12,540 Zbog SHA1 hash funkcija i kao da su super uobičajeno 290 00:13:12,540 --> 00:13:17,050 koristi u sigurnosnim aplikacijama, šifrirane veze na webu, 291 00:13:17,050 --> 00:13:21,890 bankovne transakcije, stanični šifriranje za mobitele i slično. 292 00:13:21,890 --> 00:13:24,880 I tako svaki put kad netko nađe način da preokrenu 293 00:13:24,880 --> 00:13:28,510 inženjer jedan od tih tehnologija ili break, loše stvari mogu dogoditi. 294 00:13:28,510 --> 00:13:30,300 >> Sada je svijet već zna. 295 00:13:30,300 --> 00:13:31,310 To je predvidjeti. 296 00:13:31,310 --> 00:13:34,670 A svijet je od preselio iz SHA1 za SHA256, 297 00:13:34,670 --> 00:13:37,320 koji je samo fancy način rekavši da koriste veće komadiće. 298 00:13:37,320 --> 00:13:40,570 A u stvari, čak CS50 vlastiti Web stranica nadograditi lani to-- 299 00:13:40,570 --> 00:13:43,290 Ne da mi lice sve to mnogo prijetnje pokušava dobiti na PDF 300 00:13:43,290 --> 00:13:46,520 i whatnot-- ali CS50 web stranicu koristi veći hash funkcije, 301 00:13:46,520 --> 00:13:47,980 što znači da ćemo biti na sigurnom. 302 00:13:47,980 --> 00:13:50,020 Dakle, sve vaše PDF će biti sigurno, ali ne 303 00:13:50,020 --> 00:13:52,880 nužno novac ili bilo što Posebno privatni ili osobni 304 00:13:52,880 --> 00:13:53,380 koristiti. 305 00:13:53,380 --> 00:13:56,550 Sp provjeriti taj URL ako želite kao i neke dodatne pojedinosti. 306 00:13:56,550 --> 00:13:59,840 >> Tako je problem postaviti pet je doista na horizontu. 307 00:13:59,840 --> 00:14:01,560 Kviz jedan je ovaj dolazak srijeda. 308 00:14:01,560 --> 00:14:04,479 Ali ne iskoristiti ured sati, i večeras i sutra. 309 00:14:04,479 --> 00:14:07,770 I također iskoristiti radnog vremena, ako si dostupna, odmah nakon toga. 310 00:14:07,770 --> 00:14:11,550 Osoblje i ja ću ostati ovdje i raditi više casual Q & A osim večeras. 311 00:14:11,550 --> 00:14:16,610 I neka mi snažno napomenuti, za one od nas ovdje u New Haven-- 312 00:14:16,610 --> 00:14:19,360 tako da je apsolutno po Scaz-a primjedbe osjećao, siguran sam, 313 00:14:19,360 --> 00:14:21,140 kao malo uzbrdo borbe. 314 00:14:21,140 --> 00:14:24,627 I po čuvenju, ako vas nisu naučili već čuli ili 315 00:14:24,627 --> 00:14:27,710 iz nekih prijatelja na Harvardu, znate Ovdje su neki novi institucionalni memorije. 316 00:14:27,710 --> 00:14:30,790 P postaviti pet vrsta vrstom tendira biti najteže u CS50, 317 00:14:30,790 --> 00:14:32,590 ili najizazovnijih za većinu studenata. 318 00:14:32,590 --> 00:14:37,180 >> No, što to znači da smo gotovo na vrhu brda. 319 00:14:37,180 --> 00:14:38,270 I ja stvarno mislim to. 320 00:14:38,270 --> 00:14:40,728 To je najveći izazov, ali to je također najviše rewarding 321 00:14:40,728 --> 00:14:43,560 u da za razliku od većine svake druge Uvodni informatika 322 00:14:43,560 --> 00:14:47,980 Naravno, u SAD-u što znamo, većina studenata ne završi uvod 323 00:14:47,980 --> 00:14:51,400 Naravno da je već proveden stvari kao što su drveća, i napad, 324 00:14:51,400 --> 00:14:52,880 i hash tablice, i slično. 325 00:14:52,880 --> 00:14:54,770 >> I tako sam se nadam i Nadamo se da ste 326 00:14:54,770 --> 00:14:57,280 ima ogroman smisao zadovoljstva i 327 00:14:57,280 --> 00:15:00,760 ako je tjedan ili dva preko kojih dođete do tog zadovoljstva 328 00:15:00,760 --> 00:15:02,490 ne osjeća malo kao što je ovaj. 329 00:15:02,490 --> 00:15:05,250 No, dopustite mi uvjeriti, mi samo četiri P seta lijevo. 330 00:15:05,250 --> 00:15:07,380 Dakle, vrsta tog vrha je na vidiku. 331 00:15:07,380 --> 00:15:12,370 >> S druge strane to, vjerujte nam, to je samo valjanje brežuljcima i oblake. 332 00:15:12,370 --> 00:15:16,000 I da tako kažemo, štenci su na drugoj strani. 333 00:15:16,000 --> 00:15:18,340 Dakle, samo trebate objesiti tamo malo duže. 334 00:15:18,340 --> 00:15:22,050 Mislim, doista kao što smo početi tranziciju u svijetu web programiranja, 335 00:15:22,050 --> 00:15:26,060 vidjet ćete da se stvari become-- ovo je sladak zapravo. 336 00:15:26,060 --> 00:15:29,680 337 00:15:29,680 --> 00:15:33,490 U redu, mi ćemo objaviti ovaj URL kasnije. 338 00:15:33,490 --> 00:15:36,140 Naći ćete također da smo dostizanje vrsta visoravni 339 00:15:36,140 --> 00:15:38,150 gdje je sve dapače još sofisticiraniji 340 00:15:38,150 --> 00:15:40,170 i izazovna strane Dizajn, ali nisi 341 00:15:40,170 --> 00:15:42,590 će se osjećati kao da smo stalno ide gore ovo brdo. 342 00:15:42,590 --> 00:15:44,390 Dakle, uzeti malo utjehu u tome. 343 00:15:44,390 --> 00:15:47,409 >> Dakle, bez dodatnih teškoća, počnimo da bi ovaj tržišni prijelaz 344 00:15:47,409 --> 00:15:49,950 u semestru na svijetu web, i stvarno svijet 345 00:15:49,950 --> 00:15:51,420 s kojima smo svi poznatiji. 346 00:15:51,420 --> 00:15:53,753 Imamo internet uređaja u našim džepovima, na našim stolovima, 347 00:15:53,753 --> 00:15:55,127 u našim ruksacima, i slično. 348 00:15:55,127 --> 00:15:56,210 Kako se sve ovo djelo? 349 00:15:56,210 --> 00:15:59,077 A kako možemo početi pisati Kod koji nije super Arcane 350 00:15:59,077 --> 00:16:01,910 au nekim trepćući teksta redak da nitko od vaših prijatelja ili obitelji 351 00:16:01,910 --> 00:16:04,659 su ikada idući u žele komunicirati sa, ali nešto možete staviti 352 00:16:04,659 --> 00:16:06,660 na njihovim telefonima, ili na svojim web preglednicima, 353 00:16:06,660 --> 00:16:09,010 ili na bilo uređajima s koji su u interakciji. 354 00:16:09,010 --> 00:16:10,430 >> Dakle, ovdje je nečiji dom. 355 00:16:10,430 --> 00:16:14,040 A unutar tog doma je par prijenosna računala, nekoliko staroj školi površini 356 00:16:14,040 --> 00:16:17,470 računala, nešto što se zove usmjerivač ili čvorište u sredini, 357 00:16:17,470 --> 00:16:20,310 a onda neka vrsta kabelski modem ili DSL modem. 358 00:16:20,310 --> 00:16:24,560 A onda tu je internet, općenito nacrtana kao oblak gore na nebu. 359 00:16:24,560 --> 00:16:29,230 >> Dakle ova slika, iako malo vrsta datiran, 360 00:16:29,230 --> 00:16:32,604 svakako bilježi ono što većina vjerojatno imate u svojim kućama, 361 00:16:32,604 --> 00:16:35,520 ili učinkovito ono što svi vi imate u svojim spavaonica sobe ili apartmana, 362 00:16:35,520 --> 00:16:36,480 ili slično. 363 00:16:36,480 --> 00:16:40,010 >> Dakle, ono što se zapravo događa kada pokušate koristiti internet danas? 364 00:16:40,010 --> 00:16:42,010 Dakle, svako računalo na Internet, ispada, 365 00:16:42,010 --> 00:16:46,860 treba imati jedinstvenu adresu, slično kao mi u stvarnom svijetu potrebi 366 00:16:46,860 --> 00:16:52,050 poštanska adresa, kao što je 51 Prospect Ulica, New Haven, Connecticut, ili 33 367 00:16:52,050 --> 00:16:54,170 Oxford Street, Cambridge, Massachusetts. 368 00:16:54,170 --> 00:16:58,520 Dakle, to računala na internet potrebna način jedinstveno sebe rješavanje. 369 00:16:58,520 --> 00:17:01,180 >> To je tako da kada jedno računalo Želi razgovarati s drugom, 370 00:17:01,180 --> 00:17:04,525 može poslati poruku i obavijestiti primatelja kome 371 00:17:04,525 --> 00:17:05,900 to bi trebalo poslati odgovor natrag. 372 00:17:05,900 --> 00:17:07,900 Dakle, to samo čini svojevrsnu intuitivan osjećaj možda 373 00:17:07,900 --> 00:17:09,980 da sve imaju adresu neke vrste. 374 00:17:09,980 --> 00:17:11,240 >> Ali kako ste dobili adresu? 375 00:17:11,240 --> 00:17:13,589 Pa, ako se ovdje na kampus, ili ići kući 376 00:17:13,589 --> 00:17:15,760 i uključite laptop ili stolno računalo, 377 00:17:15,760 --> 00:17:17,770 i bilo ga priključite ili se spojiti na Wi-Fi, 378 00:17:17,770 --> 00:17:19,569 ispada da postoji poseban poslužitelj 379 00:17:19,569 --> 00:17:22,089 na većini mreža zove DHCP poslužitelj. 380 00:17:22,089 --> 00:17:23,880 Zapravo ne smeta što to predstavlja, 381 00:17:23,880 --> 00:17:26,660 ali to je dinamička konfiguracija domaćin protokol, što je samo 382 00:17:26,660 --> 00:17:29,760 fancy način govoreći, to je računalo koje ni Yale ima, 383 00:17:29,760 --> 00:17:32,600 ili Harvard ima, ili Comcast ima ili Verizon ima, 384 00:17:32,600 --> 00:17:35,100 ili vaša tvrtka ima, čija je svrha u životu, 385 00:17:35,100 --> 00:17:38,810 kad čuje netko novo dodano na mrežu, jest ovdje, 386 00:17:38,810 --> 00:17:40,010 koristite ovu adresu. 387 00:17:40,010 --> 00:17:42,790 >> Dakle, mi ljudi ne moraju Teško kod u našim računalima 388 00:17:42,790 --> 00:17:44,040 što naša jedinstvena adresa. 389 00:17:44,040 --> 00:17:47,070 Upravo smo ga uključili, otvorite poklopac, i nekako ovaj poslužitelj 390 00:17:47,070 --> 00:17:52,210 na lokalnoj mreži mi samo govori da moja adresa je 51 Prospect ulica ili 33 391 00:17:52,210 --> 00:17:53,940 Oxford Street, ili slično. 392 00:17:53,940 --> 00:17:56,000 >> Sada to ne ide tako detaljne kao taj. 393 00:17:56,000 --> 00:18:00,210 Umjesto što ću dobiti je brojčana adresa zove IP adresa. 394 00:18:00,210 --> 00:18:01,960 IP znači Internet protokol. 395 00:18:01,960 --> 00:18:06,025 A izgledi su ovaj put u svom životu, vjerojatno čuli ili vidjeli riječ IP, 396 00:18:06,025 --> 00:18:08,140 ili općenito bacila oko možda. 397 00:18:08,140 --> 00:18:10,720 Ali, u stvari, to je prilično ravno naprijed stvar. 398 00:18:10,720 --> 00:18:13,610 >> IP adresa je samo točkasta decimalni broj, 399 00:18:13,610 --> 00:18:17,150 što znači da je nešto točkica nešto dot dot nešto nešto. 400 00:18:17,150 --> 00:18:21,980 I svaki od tih somethings događa biti broj između 0 i 255. 401 00:18:21,980 --> 00:18:26,710 >> Dakle, na temelju pet plus tjedana CS50, ako je ti brojevi svaki raspon od 0 do 255, 402 00:18:26,710 --> 00:18:28,713 koliko bitova je svaki tih brojeva znakova? 403 00:18:28,713 --> 00:18:29,420 >> PUBLIKA: Osam. 404 00:18:29,420 --> 00:18:30,100 >> DAVID J. Malan: To mora biti osam. 405 00:18:30,100 --> 00:18:31,933 Tako je u ukupno, koliko je bitova je IP adresa? 406 00:18:31,933 --> 00:18:32,710 PUBLIKA: 32. 407 00:18:32,710 --> 00:18:33,820 >> DAVID J. Malan: Pa 32. 408 00:18:33,820 --> 00:18:35,830 8 plus 8 plus 8 plus 8 je 32. 409 00:18:35,830 --> 00:18:38,767 Koliko Ukupno IP adrese može postojati u svijetu? 410 00:18:38,767 --> 00:18:39,600 PUBLIKA: 4 milijarde. 411 00:18:39,600 --> 00:18:42,410 DAVID J. Malan: Pa otprilike četiri milijardi, jer to je 2 32 snage. 412 00:18:42,410 --> 00:18:44,410 A ako ne možeš vrsta zahvatite da je u vašem umu, 413 00:18:44,410 --> 00:18:47,470 samo znam da je 32-bitne vrijednosti može biti velik kao 4 milijarde 414 00:18:47,470 --> 00:18:49,140 ako je to sve pozitivne vrijednosti. 415 00:18:49,140 --> 00:18:52,500 Dakle, to znači da je 4 milijarde Mogući IP adrese u svijetu. 416 00:18:52,500 --> 00:18:55,090 >> A smiješno priča, mi smo vrsta pokrenut iz njih. 417 00:18:55,090 --> 00:18:59,720 A u stvari, to je veliki problem u tome svijet je također vidio ovaj problem dolazi, 418 00:18:59,720 --> 00:19:03,639 ali nije nužno odazvali je u većini brzom mogući način. 419 00:19:03,639 --> 00:19:05,680 I doista, nakon što ste završio CS50 i počeo 420 00:19:05,680 --> 00:19:06,950 plaćati pozornost u tech svijetu, vi ćete 421 00:19:06,950 --> 00:19:08,520 vidjeti da je ovo vrlo često tematski. 422 00:19:08,520 --> 00:19:12,260 >> Na primjer, ako idemo zaista stara škola danas, Y2K. 423 00:19:12,260 --> 00:19:13,570 To zapravo nije bio iznenađenje. 424 00:19:13,570 --> 00:19:15,700 Kao svi su znali za 1000 godina da je 425 00:19:15,700 --> 00:19:20,250 was-- više od tisuću years-- da koji je na kraju će se dogoditi. 426 00:19:20,250 --> 00:19:23,295 Pa ipak, odgovorili smo na njega jako puno u zadnji tren. 427 00:19:23,295 --> 00:19:24,420 I to se događa opet. 428 00:19:24,420 --> 00:19:26,740 Dakle, danas ćemo razgovarati o IP verzije 4. 429 00:19:26,740 --> 00:19:29,250 Ali znam da je svijet konačno dobivanje 430 00:19:29,250 --> 00:19:31,590 oko nadogradnju na nešto što se zove IPv6, 431 00:19:31,590 --> 00:19:34,540 koji umjesto 32-bitni adrese, uses-- tko 432 00:19:34,540 --> 00:19:36,443 žele uzeti pogodak, koliko bitova? 433 00:19:36,443 --> 00:19:37,310 >> PUBLIKA: 64? 434 00:19:37,310 --> 00:19:38,380 >> DAVID J. Malan: Dobar pogodak, ali nije. 435 00:19:38,380 --> 00:19:39,975 Konačno smo Pokušavamo dobili ispred krivulje. 436 00:19:39,975 --> 00:19:40,558 >> PUBLIKA: 128. 437 00:19:40,558 --> 00:19:43,490 DAVID J. Malan: 128, što je mušičav veliki broj 438 00:19:43,490 --> 00:19:46,250 IP adresa, jer to je kao vrijeme 2, 2 puta, 439 00:19:46,250 --> 00:19:49,620 puta 2, puno puta dvojke gore od 4 milijarde. 440 00:19:49,620 --> 00:19:50,530 >> Dakle, ako znatiželjni. 441 00:19:50,530 --> 00:19:54,110 Ispada out-- i samo sam googled ovo pronaći ovo out-- Yale računala, 442 00:19:54,110 --> 00:19:58,910 ovdje na Yaleu, imaju tendenciju da se početi s to numbers-- 130,132 točkica nešto, 443 00:19:58,910 --> 00:20:00,669 i 128,36 dot nešto. 444 00:20:00,669 --> 00:20:02,710 No, tu je svakako Iznimke preko odbora 445 00:20:02,710 --> 00:20:05,334 Ovisno o tome što odjela i Zgrada i kampus ste na. 446 00:20:05,334 --> 00:20:09,310 Harvard tendira imati 140,247 ili 128,103. 447 00:20:09,310 --> 00:20:11,530 I općenito je to beskorisnih informacija, 448 00:20:11,530 --> 00:20:13,260 ali to je nešto što bi moglo primijetiti sada. 449 00:20:13,260 --> 00:20:15,593 Kada početi poking okolo postavke na svojim računalima, 450 00:20:15,593 --> 00:20:18,540 možda ćete početi primjećivati ​​to vrste uzoraka prije dugo. 451 00:20:18,540 --> 00:20:23,470 >> Ali kada ste kod kuće i imaju Apple AirPort ili Linksys uređaj, 452 00:20:23,470 --> 00:20:26,560 ili D-Link, ili što god je to tvoji roditelji ili braća i sestre instaliran 453 00:20:26,560 --> 00:20:28,890 u svojoj kući, te što vjerojatno imate 454 00:20:28,890 --> 00:20:30,800 je ono što se zove privatna IP adresa. 455 00:20:30,800 --> 00:20:34,850 A to su bili zapravo lijepo, privremeno rješenje 456 00:20:34,850 --> 00:20:38,050 problemu trčanja Ukratko o IP adresama. 457 00:20:38,050 --> 00:20:40,382 >> A što možete učiniti s kućne mreže, typically-- 458 00:20:40,382 --> 00:20:42,340 i iskreno, čak i Yale i Harvard počinju 459 00:20:42,340 --> 00:20:46,840 to učiniti u različitim areas-- je vas može dati hrpu računala 460 00:20:46,840 --> 00:20:50,360 jedna IP adresa, tako dugo dok ste stavili posebna naprava ispred njih, 461 00:20:50,360 --> 00:20:52,410 nešto što se zove usmjerivač, ili to može nazvati 462 00:20:52,410 --> 00:20:54,060 proxy ili bilo koji broj drugih stvari. 463 00:20:54,060 --> 00:20:56,710 No neki uređaj koji ima tu jednu IP adresu. 464 00:20:56,710 --> 00:20:59,450 A onda iza toga uređaj unutar zgrada, 465 00:20:59,450 --> 00:21:03,030 unutar kuće ili stana, može biti bilo koji broj računala, od kojih su svi 466 00:21:03,030 --> 00:21:06,460 imati IP adresu da početak s jednom od tih brojki ovdje. 467 00:21:06,460 --> 00:21:08,590 I tako dugo dok to računalo zna kako to pretvoriti 468 00:21:08,590 --> 00:21:10,900 javno obraćanje privatni adresa, 469 00:21:10,900 --> 00:21:13,340 sve se može sortirati rada kao što se očekuje. 470 00:21:13,340 --> 00:21:17,290 >> No, razgovor o tome je da ako ti si kod kuće i imate sestru, 471 00:21:17,290 --> 00:21:19,650 i oboje su posjetite neku web stranicu, 472 00:21:19,650 --> 00:21:23,520 da web stranica ne zna je li to vas ili tvoj brat posjetite web stranicu, 473 00:21:23,520 --> 00:21:26,780 zato što se čini da se isti Osoba jer sve svoje podatke 474 00:21:26,780 --> 00:21:30,050 prolazi kroz taj ruter ili da je središnja točka. 475 00:21:30,050 --> 00:21:32,220 >> Ali dosta o tim detaljima niže razine. 476 00:21:32,220 --> 00:21:37,770 Uzmimo pogledati kako IP adresa Ponekad dolazi do možda u medijima 477 00:21:37,770 --> 00:21:41,370 i kako sada možemo početi uništiti, Iskreno, još više predstava za vas. 478 00:21:41,370 --> 00:21:45,010 Ako smo mogli prigušiti svjetla za nekoliko sekundi. 479 00:21:45,010 --> 00:21:46,550 >> [VIDEO PLAYBACK] 480 00:21:46,550 --> 00:21:49,310 >> -To Je 32-bitni na IPP 4 adrese. 481 00:21:49,310 --> 00:21:50,650 >> -IP ES internet-- 482 00:21:50,650 --> 00:21:52,800 >> -Private Mreža, Tamia privatna mreža. 483 00:21:52,800 --> 00:22:05,670 484 00:22:05,670 --> 00:22:08,145 Ona je tako nevjerojatna. 485 00:22:08,145 --> 00:22:09,630 -COMe Na Charlie. 486 00:22:09,630 --> 00:22:11,750 DAVID J. Malan: To je ogledalo IP adresa. 487 00:22:11,750 --> 00:22:15,093 Ona ste nas gledaju što ona radi u realnom vremenu. 488 00:22:15,093 --> 00:22:16,285 >> [END PLAYBACK] 489 00:22:16,285 --> 00:22:17,130 >> DAVID J. Malan: U redu. 490 00:22:17,130 --> 00:22:18,480 Dakle, nekoliko problema s tim. 491 00:22:18,480 --> 00:22:22,740 Dakle, jedan, što mi tražimo na ovdje na zaslonu 492 00:22:22,740 --> 00:22:25,290 je kod napisan u jezik zove Objective-C, 493 00:22:25,290 --> 00:22:28,020 koja je vrsta nasljednika C jezik koji radimo. 494 00:22:28,020 --> 00:22:30,150 Ovo nema apsolutno ništa veze s programiranjem. 495 00:22:30,150 --> 00:22:32,399 Zapravo, najbolje što se može reći, ovo je program za crtanje 496 00:22:32,399 --> 00:22:38,360 da netko preuzeti s Internet nekako uključuje bojice. 497 00:22:38,360 --> 00:22:43,660 >> Možda manje nečuven je da to IP adresa, važeći ili nevažeći? 498 00:22:43,660 --> 00:22:44,520 >> PUBLIKA: Neispravna. 499 00:22:44,520 --> 00:22:48,479 >> DAVID J. Malan: nevaljani, jer 275 je, naravno, ne između 0 i 255. 500 00:22:48,479 --> 00:22:51,770 To je također vjerojatno u redu ipak, jer ne želim hrpa ludih ljudi 501 00:22:51,770 --> 00:22:54,790 koji su kao pauziranje TV na svojim TiVos a zatim posjetite IP vidjeti 502 00:22:54,790 --> 00:22:56,290 Ako postoji nešto što stvarno postoji. 503 00:22:56,290 --> 00:22:58,200 Tako da je jedan je malo manje nečuven. 504 00:22:58,200 --> 00:23:00,990 Ali shvatite da previše vrsta svuda oko nas. 505 00:23:00,990 --> 00:23:04,980 >> Pa naravno, nitko od nas nikada stvarno upisati brojčane adrese 506 00:23:04,980 --> 00:23:06,410 u naše preglednika. 507 00:23:06,410 --> 00:23:09,580 Bilo bi vrsta loša stvar ako Google, posjetiti Google, 508 00:23:09,580 --> 00:23:15,060 morali ste ići na 123.46.57.89. 509 00:23:15,060 --> 00:23:17,007 I cijeli svijet je imao samo zapamtite to. 510 00:23:17,007 --> 00:23:19,090 I iskreno, mi smo vrsta od vidio ovo pitanje prije. 511 00:23:19,090 --> 00:23:24,130 Natrag u dan kad ljudi ne imaju mobitele i popise kontakata, 512 00:23:24,130 --> 00:23:27,640 i tvrtke zapravo still-- zapravo, Mislim tvrtke još uvijek imaju 800 513 00:23:27,640 --> 00:23:30,600 Brojevi i volimo-članovima, ali si uglavnom vidjeti broj oglašeni 514 00:23:30,600 --> 00:23:36,480 kao 1-800-prikupljanje, OO-L-L-E-C-T. Jer nitko ne može sjetiti, 515 00:23:36,480 --> 00:23:39,754 kad vidim oglas u autobusu ili jumbo plakat, što netko broj, 516 00:23:39,754 --> 00:23:42,420 ali oni mogu vjerojatno, s više vjerojatnost, sjetite se riječi. 517 00:23:42,420 --> 00:23:44,530 >> Tako smo usvojili isti vrsta sustava u svijetu 518 00:23:44,530 --> 00:23:48,290 interneta, pri čemu postoji naziv domene sustava, tako da mi ljudi mogu 519 00:23:48,290 --> 00:23:52,340 upišite google.com, facebook.com, yale.edu, harvard.edu, 520 00:23:52,340 --> 00:23:56,140 i neka računala lik što odgovarajućeg IP 521 00:23:56,140 --> 00:23:58,480 adresa za određenu ime. 522 00:23:58,480 --> 00:24:01,620 >> A način na koji ste to učinili u stvarnom svijetu je da je za 10 $ godišnje, 523 00:24:01,620 --> 00:24:05,900 možda 50 $ godišnje, možete kupiti domenu ime ili stvarno iznajmiti naziv domene. 524 00:24:05,900 --> 00:24:09,860 I onda tko ste plaćati iznajmiti taj naziv domene, 525 00:24:09,860 --> 00:24:14,069 što im reći tko u svijetu zna što vaša IP adresa. 526 00:24:14,069 --> 00:24:16,360 I nećemo ulaziti u to pojedinosti, ali mnogi od vas 527 00:24:16,360 --> 00:24:18,750 možda želite, za konačni projekti, zapravo se prijavite 528 00:24:18,750 --> 00:24:22,120 za vlastitu web hosting Tvrtka, bilo besplatno 529 00:24:22,120 --> 00:24:23,500 ili za nekoliko dolara mjesečno. 530 00:24:23,500 --> 00:24:26,100 Neki od vas možda želite kupiti za nekoliko dolara, svoj vlastiti naziv domene, 531 00:24:26,100 --> 00:24:28,900 samo za zabavu ili za početak poslovanja ili osobni stranica i slično. 532 00:24:28,900 --> 00:24:30,880 >> I shvatiti da je sve to će u konačnici 533 00:24:30,880 --> 00:24:35,260 svode na vas reći svijetu ono što vaš poslužitelj IP adresa. 534 00:24:35,260 --> 00:24:37,740 A onda su ti DNS poslužitelji zapravo brine 535 00:24:37,740 --> 00:24:39,910 informiranja ostatak svijeta. 536 00:24:39,910 --> 00:24:41,830 Dakle, sve DNS poslužitelj ima, ukratko, unutar 537 00:24:41,830 --> 00:24:44,780 od njegova memorija poput ekvivalent Google proračunskoj tablici 538 00:24:44,780 --> 00:24:49,420 ili Excel spreadsheet-ovima s najmanje dva stupca, od kojih jedna ima imena, 539 00:24:49,420 --> 00:24:52,100 kao harvard.edu i yale.edu i google.com. 540 00:24:52,100 --> 00:24:55,870 A drugi stupac ima odgovara IP adresa ili IP 541 00:24:55,870 --> 00:24:56,382 adrese. 542 00:24:56,382 --> 00:24:57,590 A mi zapravo može vidjeti. 543 00:24:57,590 --> 00:24:59,881 Dakle, na moj Mac-- i možete to na računalima sa sustavom Windows 544 00:24:59,881 --> 00:25:04,330 kao well-- ako sam otvoriti prozor terminala ovdje, baš kao i onaj u CD50 IDE, 545 00:25:04,330 --> 00:25:08,190 većina računala imaju naredbu zove nslookup, naziv poslužitelja pogledati. 546 00:25:08,190 --> 00:25:12,380 A ako upišete nešto u kao yale.edu i pritisnite Enter, ono 547 00:25:12,380 --> 00:25:19,250 Trebam li moja mreža surađuje kao što je učinio za više testova prije klasi 548 00:25:19,250 --> 00:25:24,584 began-- pokušajmo google.com. 549 00:25:24,584 --> 00:25:26,390 Naravno, sada se ništa ne radi. 550 00:25:26,390 --> 00:25:27,190 To je odlično. 551 00:25:27,190 --> 00:25:30,660 U redu, stand by za jedan trenutak. 552 00:25:30,660 --> 00:25:32,100 nslookup google.com. 553 00:25:32,100 --> 00:25:35,570 554 00:25:35,570 --> 00:25:38,660 >> Pa, neka je vidjeti ako je Stvarni internet-- br. 555 00:25:38,660 --> 00:25:39,700 To je ono što se dogodilo. 556 00:25:39,700 --> 00:25:43,090 O moj Bože, u redu. 557 00:25:43,090 --> 00:25:45,490 Wi-Fi razbio. 558 00:25:45,490 --> 00:25:47,410 >> Hej, želim znati što je moja IP adresa? 559 00:25:47,410 --> 00:25:49,722 U redu. 560 00:25:49,722 --> 00:25:50,820 YaleSecure. 561 00:25:50,820 --> 00:25:53,330 Ovaj je kako možete otkloniti stvari kao računalni znanstvenik. 562 00:25:53,330 --> 00:25:54,617 Mi uključite Wi-Fi isključen. 563 00:25:54,617 --> 00:25:57,480 564 00:25:57,480 --> 00:25:59,450 U REDU. 565 00:25:59,450 --> 00:26:02,610 >> I zapravo, Scaz, ti smeta nas se prijavite na sigurnom jedan? 566 00:26:02,610 --> 00:26:06,246 Inače više testova are-- redu, hvala što Yale-- ili oko razbiti. 567 00:26:06,246 --> 00:26:07,370 Želim ići na YaleSecure. 568 00:26:07,370 --> 00:26:09,880 569 00:26:09,880 --> 00:26:11,870 Oh, i možda ćemo biti u redu. 570 00:26:11,870 --> 00:26:12,686 Možda smo natrag. 571 00:26:12,686 --> 00:26:16,810 572 00:26:16,810 --> 00:26:19,733 I tako, kao što je računalo Znanstvenik popraviti računalo. 573 00:26:19,733 --> 00:26:22,000 [PLJESAK] 574 00:26:22,000 --> 00:26:23,220 U redu. 575 00:26:23,220 --> 00:26:27,160 Dakle, gdje sam bio u ovo tzv prozor terminala, 576 00:26:27,160 --> 00:26:32,270 a ako ja ne nslookup yale.edu, tamo idemo. 577 00:26:32,270 --> 00:26:38,350 Tako sam se vratiti prvo IP adresu DNS poslužitelj da je moj laptop koristi. 578 00:26:38,350 --> 00:26:41,610 Dakle, osim DHCP poslužitelja koji razgovarali smo o maloprije govorio 579 00:26:41,610 --> 00:26:44,720 moj laptop što je moja IP adresa, da DHCP poslužitelj 580 00:26:44,720 --> 00:26:46,860 Također mi kaže što DNS poslužitelj za korištenje. 581 00:26:46,860 --> 00:26:48,860 Inače ja bi ručno upisati ovo. 582 00:26:48,860 --> 00:26:50,359 >> Ali to nije sve što je zanimljivo. 583 00:26:50,359 --> 00:26:54,310 Ono što me zanima jest da je to IP adresa Yale web stranice naizgled. 584 00:26:54,310 --> 00:26:55,470 Dakle, u stvari, pokušajmo to. 585 00:26:55,470 --> 00:27:02,710 Dopustite mi da pođem u preglednik i idite na http: // i zatim tu IP adresu, 586 00:27:02,710 --> 00:27:04,220 i pritisnite Enter. 587 00:27:04,220 --> 00:27:06,700 I neka nam vidjeti. 588 00:27:06,700 --> 00:27:09,587 To je, kako još možete posjetite Yale-a web stranice. 589 00:27:09,587 --> 00:27:10,920 Sada to nije sve što je lako pamtljiva. 590 00:27:10,920 --> 00:27:12,220 Kao što je prethodno frosh vjerojatno ne ide 591 00:27:12,220 --> 00:27:15,310 zapamtiti ovu posebnu adresu ako je rekao da posjete tamo nakon posjeta. 592 00:27:15,310 --> 00:27:16,580 No, čini se da rade. 593 00:27:16,580 --> 00:27:21,179 I tako DNS zapravo samo nam omogućuje da imaju mnogo više ljudskih prijateljske adrese. 594 00:27:21,179 --> 00:27:23,220 Ali ne nužno Samo prinos jedan odgovor. 595 00:27:23,220 --> 00:27:25,640 >> U stvari, kada ste stvarno velik tech tvrtki, 596 00:27:25,640 --> 00:27:27,620 vjerojatno želite imaju puno poslužitelja. 597 00:27:27,620 --> 00:27:29,027 Pa čak i to je pogrešno. 598 00:27:29,027 --> 00:27:31,110 Dakle Yale vjerojatno ne imaju samo jednu web poslužitelja. 599 00:27:31,110 --> 00:27:34,150 Google vjerojatno nema samo 10-ak web poslužitelja. 600 00:27:34,150 --> 00:27:36,960 Google osobito vjerojatno ima tisuće web poslužitelja 601 00:27:36,960 --> 00:27:40,030 diljem svijeta koji se može odgovoriti na zahtjeve ljudi poput nas. 602 00:27:40,030 --> 00:27:43,870 >> Ali oni također koriste tehnologiju nazvanu balansiranje opterećenja, koja ne duljimo, 603 00:27:43,870 --> 00:27:48,810 ima samo nekoliko uređaja u svijetu širenje opterećenja na više poslužitelja. 604 00:27:48,810 --> 00:27:52,320 Dakle, to je vrsta poput paukove mreže, ako ćete otpremanje zahtjeve. 605 00:27:52,320 --> 00:27:54,380 Ali za sada, sve što je Zanimljivo za danas 606 00:27:54,380 --> 00:27:56,870 je da je ime domene poput google.com i može 607 00:27:56,870 --> 00:28:00,100 imati više IP adrese kao što je to. 608 00:28:00,100 --> 00:28:04,610 >> No, kako se sve naše podatke zapravo dobiti natrag i naprijed onda na kraju? 609 00:28:04,610 --> 00:28:08,320 Pa, ispada da je to bilo stvari zove usmjerivača na internetu. 610 00:28:08,320 --> 00:28:10,980 A što je usmjerivač na mjeri da znate već? 611 00:28:10,980 --> 00:28:13,730 I ja sam se riječ par puta u kontekstu doma, 612 00:28:13,730 --> 00:28:17,155 ali u jednostavnim uvjetima, Što usmjerivač učiniti? 613 00:28:17,155 --> 00:28:18,780 Daj mi samo jedan pogodak na temelju svoje ime? 614 00:28:18,780 --> 00:28:20,082 >> PUBLIKA: Dakle cesta ili put? 615 00:28:20,082 --> 00:28:21,790 DAVID J. Malan: Pa to je cesta ili put. 616 00:28:21,790 --> 00:28:23,980 Tako je ruta cesta ili put, apsolutno. 617 00:28:23,980 --> 00:28:27,000 A usmjerivač, tako da uređaj koji zapravo ruta informacije, 618 00:28:27,000 --> 00:28:29,690 bi premjestiti podataka između točaka A i B. 619 00:28:29,690 --> 00:28:31,920 >> I tako u fact-- i to je možda, kada 620 00:28:31,920 --> 00:28:34,510 google prikazi routera na svijetu, sve dobivate 621 00:28:34,510 --> 00:28:35,900 su cheesy marketinške sheme. 622 00:28:35,900 --> 00:28:38,550 I tako je to vrsta najviše Predstavnik koji sam mogao naći 623 00:28:38,550 --> 00:28:39,841 koji je izgledao blago zanimljivo. 624 00:28:39,841 --> 00:28:44,170 Svaka od ovih točaka ili treperenje nade diljem svijeta predstavlja usmjerivač. 625 00:28:44,170 --> 00:28:47,210 I svaka od njih ima liniju između nekog drugog routera. 626 00:28:47,210 --> 00:28:49,090 >> Jer doista, ima tisuće, vjerojatno 627 00:28:49,090 --> 00:28:52,560 milijuni routera oko Svijet, od kojih su neki u našim domovima 628 00:28:52,560 --> 00:28:56,070 i na našim kampusima, ali puno koje su u vlasništvu velikih tvrtki 629 00:28:56,070 --> 00:29:00,250 te su međusobno povezani, tako da ako ja želim poslati neke podatke iz ovdje na Yaleu 630 00:29:00,250 --> 00:29:04,430 natrag kući u Cambridge, Yale vjerojatno nema jedan kabel, svakako, 631 00:29:04,430 --> 00:29:05,650 ide izravno na Harvardu. 632 00:29:05,650 --> 00:29:07,399 I Yale nema jedan kabel ide 633 00:29:07,399 --> 00:29:10,010 na MIT, ili na Stanford, ili u Berkeley, ili Googlea, 634 00:29:10,010 --> 00:29:11,820 ili bilo koji broj odredišta. 635 00:29:11,820 --> 00:29:14,760 >> Umjesto toga, Yale i Harvard, i svi drugi na internetu 636 00:29:14,760 --> 00:29:17,610 nema jednog ili više usmjerivača spojen na njega, možda 637 00:29:17,610 --> 00:29:18,810 na periferiji kompleksa. 638 00:29:18,810 --> 00:29:21,690 Tako da kad je moj podaci želi napustiti Yale kampusa, 639 00:29:21,690 --> 00:29:24,770 to ide na to gdje ruter, kao što je prikazano s jednim od tih točaka. 640 00:29:24,770 --> 00:29:27,940 I onda taj router otkrije li poslati ga na ovaj način, odnosno na taj način, 641 00:29:27,940 --> 00:29:33,440 ili ovako ili ovako temelji na drugom stolu u svojoj memoriji, 642 00:29:33,440 --> 00:29:36,870 druga Excel datoteka ili Google tablicu koja u jednom stupcu 643 00:29:36,870 --> 00:29:41,315 kaže, ako je vaša IP adresa počinje s brojem jedan, idite na ovaj način. 644 00:29:41,315 --> 00:29:43,690 Ako je vaša IP adresa počinje s broj dva, ići na taj način. 645 00:29:43,690 --> 00:29:47,040 I tako da možete ga razbiti numerički imati usmjerivač slanja 646 00:29:47,040 --> 00:29:49,040 Podaci na sve strane. 647 00:29:49,040 --> 00:29:51,419 >> I možemo vrsta vidjeti kao dobro. 648 00:29:51,419 --> 00:29:54,210 Idemo naprijed u ovom terminalu opet prozor, i neka mi ići naprijed 649 00:29:54,210 --> 00:30:00,700 i pratiti put do, recimo, www.mit.edu, 650 00:30:00,700 --> 00:30:02,970 što je par stotina milja daleko. 651 00:30:02,970 --> 00:30:04,500 To je stvarno prokleto brzo. 652 00:30:04,500 --> 00:30:06,290 >> Dakle, što se dogodilo? 653 00:30:06,290 --> 00:30:10,360 Tako je u samo sedam koraka, i u samo četiri milisekundi, 654 00:30:10,360 --> 00:30:14,660 Poslao sam podatke preko interneta odavde na Yaleu na MIT-u. 655 00:30:14,660 --> 00:30:18,240 Svaki od ovih redaka, možete mozda da sada predstavlja što? 656 00:30:18,240 --> 00:30:19,060 >> PUBLIKA: Usmjernik. 657 00:30:19,060 --> 00:30:20,101 >> DAVID J. Malan: Usmjernik. 658 00:30:20,101 --> 00:30:24,090 Dakle, istina, izgleda da postoji oko sedam ili tako usmjerivači, 659 00:30:24,090 --> 00:30:29,350 ili šest routera u između mene fizički Yale-a pravni fakultet ovdje 660 00:30:29,350 --> 00:30:31,612 i web MIT tamo. 661 00:30:31,612 --> 00:30:34,570 A što možemo skupljati iz toga je kao follows-- i neka mi ga počistiti. 662 00:30:34,570 --> 00:30:38,180 Ja ću to ponoviti s naredbom crta argument -Q 1 samo reći, 663 00:30:38,180 --> 00:30:39,300 daj mi samo jedan upit. 664 00:30:39,300 --> 00:30:40,800 Po defaultu, trag put ne tri. 665 00:30:40,800 --> 00:30:42,350 I to je razlog zašto smo vidjeli grozdovima brojeva. 666 00:30:42,350 --> 00:30:44,850 Želim vidjeti manje brojeve samo da bi izlazni čistač. 667 00:30:44,850 --> 00:30:46,280 I da vidimo što se događa. 668 00:30:46,280 --> 00:30:49,220 >> Dakle, iz bilo kojeg razloga, netko na Yale misli 669 00:30:49,220 --> 00:30:54,130 bilo bi smiješno da ga zovu svoje zadani usmjerivač arubacentral, koji 670 00:30:54,130 --> 00:30:57,920 na VLAN ili virtualna LAN, virtualna lokalna 671 00:30:57,920 --> 00:30:59,810 Mreža 30-- pa vas vjerojatno imate najmanje 672 00:30:59,810 --> 00:31:03,050 29 others-- router.net.yale.internal. 673 00:31:03,050 --> 00:31:06,660 I .internal ovdje je vrsta lažni top level domena je značilo da se koristi samo 674 00:31:06,660 --> 00:31:07,210 na kampusu. 675 00:31:07,210 --> 00:31:10,335 I obavijest odgovarajući IP adresu tog routera, gdje god je to ovdje 676 00:31:10,335 --> 00:31:13,920 na kampusu, je 172.28.204.129. 677 00:31:13,920 --> 00:31:17,470 A to je 36 milisekundi ići odavde do tamo. 678 00:31:17,470 --> 00:31:18,050 >> Smiješno priča. 679 00:31:18,050 --> 00:31:19,716 Mi ćemo se vratiti na to u samo trenutak. 680 00:31:19,716 --> 00:31:22,920 Ali sada je drugi router-- se koji arubacentral očito 681 00:31:22,920 --> 00:31:25,790 ima nekakav fizički Priključak najviše likely-- 682 00:31:25,790 --> 00:31:27,249 da ljudi ne zamaram se imenovanja. 683 00:31:27,249 --> 00:31:30,373 Yale ljudi ne zamaram imenovanja to zato što je unutar vaše mreže 684 00:31:30,373 --> 00:31:30,940 čini se. 685 00:31:30,940 --> 00:31:32,520 I tako to samo ima IP adresu. 686 00:31:32,520 --> 00:31:34,660 >> Ali onda treći ruter ovdje na Yale mreže 687 00:31:34,660 --> 00:31:36,700 to je vjerojatno malo dalje i dalje 688 00:31:36,700 --> 00:31:41,330 naziva cen10g god to je asr.net.yale.internal. 689 00:31:41,330 --> 00:31:43,040 I to također ima IP adresu. 690 00:31:43,040 --> 00:31:44,990 >> Sad zašto su ti brojevi vrsta fluktuira? 691 00:31:44,990 --> 00:31:47,890 2.9, 1.4, 36? 692 00:31:47,890 --> 00:31:48,840 Usmjerivači dobiti zauzet. 693 00:31:48,840 --> 00:31:50,420 I oni dobiti začepljen i podupirač gore. 694 00:31:50,420 --> 00:31:53,200 Postoji tisuće ljudi o tome kampus putem interneta sada. 695 00:31:53,200 --> 00:31:56,050 Postoji stotinu ljudi u ovom Soba putem interneta sada. 696 00:31:56,050 --> 00:31:59,030 >> I tako ono što se događa je da usmjerivači mogu dobiti zagušen. 697 00:31:59,030 --> 00:32:01,350 I tako ta vremena moglo mijenjati malo. 698 00:32:01,350 --> 00:32:04,620 Dakle, to je razlog zašto oni ne moraju nužno povećanje se izravno. 699 00:32:04,620 --> 00:32:07,510 >> No, stvari se vrsta Zanimljivo je u četvrtom koraku. 700 00:32:07,510 --> 00:32:13,040 Očigledno između Yalea i Četvrti korak je još jedan hop. 701 00:32:13,040 --> 00:32:16,480 A gdje je ruter U četvrtom koraku vjerojatno? 702 00:32:16,480 --> 00:32:17,410 >> PUBLIKA: [nečujan] 703 00:32:17,410 --> 00:32:19,410 >> DAVID J. Malan: JFK možda, možda u zračnoj luci. 704 00:32:19,410 --> 00:32:21,950 No, iz bilo kojeg razloga, administratorima sustava, pa 705 00:32:21,950 --> 00:32:24,140 geeks koji se pokreću poslužitelja za godina zove usmjerivača 706 00:32:24,140 --> 00:32:25,600 Nakon najbliže zračne koda. 707 00:32:25,600 --> 00:32:27,420 Dakle JFK vjerojatno znači to je samo negdje 708 00:32:27,420 --> 00:32:29,970 u New Yorku, možda na Manhattanu ili jedan od četvrti. 709 00:32:29,970 --> 00:32:34,460 nyc2 označava, vjerojatno, još jedan router koji je negdje u New Yorku. 710 00:32:34,460 --> 00:32:37,140 >> Ja ne znam točno gdje je red šest je ovdje, usmjerivač broj šest. 711 00:32:37,140 --> 00:32:40,110 quest.net veliki ISP, internet davatelj usluga, 712 00:32:40,110 --> 00:32:43,240 koji pruža internet povezivost na velikim mjestima kao što su Yale i drugima. 713 00:32:43,240 --> 00:32:47,110 A onda je to posljednja, to izgleda kao da je MIT ni ne 714 00:32:47,110 --> 00:32:50,180 imaju svoje web stranice u Cambridgeu nužno, 715 00:32:50,180 --> 00:32:52,090 nego što ste vanjske njihov website, 716 00:32:52,090 --> 00:32:55,150 ili barem fizički poslužitelji, se tvrtka zove Akamai. 717 00:32:55,150 --> 00:32:57,940 I Akamai je zapravo desno dolje cesta s MIT-u Cambridge 718 00:32:57,940 --> 00:32:58,790 ispada. 719 00:32:58,790 --> 00:33:02,360 >> Ali shvatite da čak i previše mislio idete www.mit.edu, 720 00:33:02,360 --> 00:33:05,200 smo stvarno mogli biti poslani bilo gdje u svijetu. 721 00:33:05,200 --> 00:33:06,960 >> I da vidimo negdje drugdje u svijetu. 722 00:33:06,960 --> 00:33:09,240 Dopustite mi ići naprijed i jasno ovaj zaslon i umjesto 723 00:33:09,240 --> 00:33:15,240 pratiti put, samo jednom, tako da upita on, da www.cnn.co.jp, 724 00:33:15,240 --> 00:33:18,390 japanski početnu stranicu za CNN, vijesti stranici. 725 00:33:18,390 --> 00:33:20,660 I ako sam pogodio Upišite se sada, da vidimo što se događa. 726 00:33:20,660 --> 00:33:23,610 Mi smo opet početkom u arubacentral. 727 00:33:23,610 --> 00:33:26,510 Mi smo onda ide na bezimeni router, malo više. 728 00:33:26,510 --> 00:33:29,527 Dakle, to je 12 hmelj se doći u Japan ovaj put. 729 00:33:29,527 --> 00:33:30,860 I da vidimo što možemo skupljati. 730 00:33:30,860 --> 00:33:32,450 >> Tako isto hop, hop isto. 731 00:33:32,450 --> 00:33:35,170 Malo drugačiji sada. 732 00:33:35,170 --> 00:33:36,380 Ovaj je zanimljivo. 733 00:33:36,380 --> 00:33:40,870 Pa ja sam guessing ovdje, stamford1 je Nekoliko gradova daleko u Connecticutu također. 734 00:33:40,870 --> 00:33:43,810 Ove usmjerivači u nizu šest i sedam nemaju imena. 735 00:33:43,810 --> 00:33:46,370 No, to je vrsta nevjerojatna. 736 00:33:46,370 --> 00:33:53,310 >> Dakle, ono što čini se da je između usmjerivači u koraku sedam i osam? 737 00:33:53,310 --> 00:33:54,760 I zašto kažeš koliko? 738 00:33:54,760 --> 00:33:55,260 Da? 739 00:33:55,260 --> 00:33:56,060 >> PUBLIKA: Ocean. 740 00:33:56,060 --> 00:33:57,640 >> DAVID J. Malan: Vjerojatno ocean. 741 00:33:57,640 --> 00:34:01,366 Mi znamo da je istina kao, intuitivno, zar ne? 742 00:34:01,366 --> 00:34:04,790 No, možemo potvrditi kako je mnogo vrsta od vrsta empirijski zašto? 743 00:34:04,790 --> 00:34:06,860 Što se promijenilo između Redovi sedam i osam? 744 00:34:06,860 --> 00:34:09,429 745 00:34:09,429 --> 00:34:14,739 >> To je puno više vremena za odlazak na što god to bezimeni ruter sedam je, 746 00:34:14,739 --> 00:34:18,670 Vjerojatno negdje u kontinentalnog dijela SAD, na korak osam, 747 00:34:18,670 --> 00:34:22,639 što je vjerojatno negdje u Japanu temelji se na ime domene .jp tamo. 748 00:34:22,639 --> 00:34:25,719 I tako oni dodatno sto nešto milisekundi 749 00:34:25,719 --> 00:34:28,960 ili 90 ili tako milisekundi je rezultat naših podataka ide 750 00:34:28,960 --> 00:34:31,100 preko prilično veliku količinu vode. 751 00:34:31,100 --> 00:34:34,570 >> Sada znatiželjno, čini se da je možda koji kabel ide preko cijelog SAD-a. 752 00:34:34,570 --> 00:34:37,070 Ako mi zapravo ide preko Zapad Obala doći do Japana, 753 00:34:37,070 --> 00:34:39,111 to je vrsta na dug put ako idemo na drugi način. 754 00:34:39,111 --> 00:34:41,400 Dakle, to nije posve jasno što se događa fizički. 755 00:34:41,400 --> 00:34:43,830 No, činjenica da je svaki Dodatni hop doista 756 00:34:43,830 --> 00:34:46,020 je značajno više nego svaki drugi, to je 757 00:34:46,020 --> 00:34:50,440 prilično dobro potvrda da CNN Japanski web poslužitelj je vjerojatno istina 758 00:34:50,440 --> 00:34:51,310 u Japanu. 759 00:34:51,310 --> 00:34:54,089 I to je sigurno dalje daleko od MIT je. 760 00:34:54,089 --> 00:34:56,380 I to je vrijedno napomenuti previše, vaši podaci nisu nužno 761 00:34:56,380 --> 00:34:58,794 će putovati najkraće udaljenosti. 762 00:34:58,794 --> 00:35:00,960 U stvari, ako se poigrati s tragovima trase kod kuće 763 00:35:00,960 --> 00:35:04,170 samo branje slučajan websiteovi, što možda da samo poslati e-mail 764 00:35:04,170 --> 00:35:06,490 ili posjetiti web stranicu to je ovdje u New Havenu, 765 00:35:06,490 --> 00:35:09,200 Ponekad vaše podatke možda prvi skrenuti, sići na DC, 766 00:35:09,200 --> 00:35:10,450 a zatim se vratiti gore. 767 00:35:10,450 --> 00:35:12,860 A to je samo zbog dinamičke odluke usmjeravanja 768 00:35:12,860 --> 00:35:14,650 da su ti računala odluka. 769 00:35:14,650 --> 00:35:18,930 >> Sada samo za zabavu, produkcijski tim obrubljen jedan od tih videa za nas 770 00:35:18,930 --> 00:35:20,807 samo se malo više kratak. 771 00:35:20,807 --> 00:35:23,640 No, da nam daju brzo osjećaj here-- a možemo ostaviti svjetla on-- 772 00:35:23,640 --> 00:35:32,363 kako bi koliko je kabliranje zapravo nosi sve naše podatke. 773 00:35:32,363 --> 00:35:33,029 [VIDEO PLAYBACK] 774 00:35:33,029 --> 00:35:36,023 [Glazbom] 775 00:35:36,023 --> 00:36:31,911 776 00:36:31,911 --> 00:36:32,777 [END PLAYBACK] 777 00:36:32,777 --> 00:36:35,860 DAVID J. Malan: Svi umrežavanje video imaju kul sondiranje glazbu očito. 778 00:36:35,860 --> 00:36:38,084 Dakle, to je da se samo osjećaj koliko ima 779 00:36:38,084 --> 00:36:39,500 događa ispod haube. 780 00:36:39,500 --> 00:36:41,355 >> Ali pogledajmo nešto niža razina sada 781 00:36:41,355 --> 00:36:44,150 na koje podatke je zapravo poprijeko te linije, 782 00:36:44,150 --> 00:36:46,720 pa čak i ide bežično u sobi kao što je ovaj. 783 00:36:46,720 --> 00:36:49,580 >> Tako ispada kada zahtjev web stranice, ili pošaljite e-mail, 784 00:36:49,580 --> 00:36:53,670 ili primiti web stranicu ili e-mail, ili Gchat poruka ili Facebook poruka, 785 00:36:53,670 --> 00:36:57,800 ili slično, da se ne samo jedna Veliki komad bitova bežično teče 786 00:36:57,800 --> 00:37:00,600 kroz zrak ili elektroničkim na žici. 787 00:37:00,600 --> 00:37:03,680 Umjesto toga, da je zahtjev ili Odgovor je uglavnom 788 00:37:03,680 --> 00:37:05,810 chunked se u odvojene komade. 789 00:37:05,810 --> 00:37:08,880 >> Dakle, drugim riječima, kada imate zatražiti da se o nekom drugom računalu, 790 00:37:08,880 --> 00:37:10,980 ili ste vratiti odgovor s druge computer-- 791 00:37:10,980 --> 00:37:15,800 kao što pretpostavljam, na primjer, ako unfamiliar-- kao previše ljudi 792 00:37:15,800 --> 00:37:18,400 Čini se da su ovi days-- ako upoznati s this-- 793 00:37:18,400 --> 00:37:20,200 Nije li ovo fellow-- ovu momka. 794 00:37:20,200 --> 00:37:23,950 Dakle, pretpostavimo da je to poruka koja Želim poslati nekome na leđa. 795 00:37:23,950 --> 00:37:28,930 Tko je u vrlo natrag bih dobiti sliku Rick Astley danas? 796 00:37:28,930 --> 00:37:29,805 U redu, što je vaše ime? 797 00:37:29,805 --> 00:37:30,590 >> PUBLIKA: Cole. 798 00:37:30,590 --> 00:37:31,306 >> DAVID J. Malan: Što je to? 799 00:37:31,306 --> 00:37:31,672 >> PUBLIKA: Cole. 800 00:37:31,672 --> 00:37:32,040 >> DAVID J. Malan: Holt? 801 00:37:32,040 --> 00:37:32,540 H-O? 802 00:37:32,540 --> 00:37:33,711 PUBLIKA: OO-L-e. 803 00:37:33,711 --> 00:37:34,960 DAVID J. Malan: OO-L-e, Cole. 804 00:37:34,960 --> 00:37:35,520 Oprostite. 805 00:37:35,520 --> 00:37:36,430 OO-L-E. 806 00:37:36,430 --> 00:37:36,930 U redu. 807 00:37:36,930 --> 00:37:40,990 Dakle, ako želim poslati Colea ovo slika ovdje, znate 808 00:37:40,990 --> 00:37:42,410 je vrsta velike slike, zar ne? 809 00:37:42,410 --> 00:37:44,472 To može biti malo kilobajta, nekoliko megabajta, 810 00:37:44,472 --> 00:37:45,930 pogotovo ako je visoke rezolucije. 811 00:37:45,930 --> 00:37:48,660 A ja stvarno ne želim da se zaustavi svi drugi korištenje interneta 812 00:37:48,660 --> 00:37:50,680 Upravo dok sam poslati ovo stvarno velika, visoka kvaliteta slike 813 00:37:50,680 --> 00:37:52,138 Rick Astley od cijeloj sobi. 814 00:37:52,138 --> 00:37:55,310 Htio bih svoje podatke na dalje proći mreže i Wi-Fi 815 00:37:55,310 --> 00:37:56,100 kao. 816 00:37:56,100 --> 00:38:00,100 >> I tako to čini i ovaj sense-- je nadoknadivi elektronski, 817 00:38:00,100 --> 00:38:01,780 ne toliko u stvarnom svijetu. 818 00:38:01,780 --> 00:38:04,904 Zapravo, to će imati višestruke značenja ako se uzme moje audio izlaz. 819 00:38:04,904 --> 00:38:08,360 Dakle, ako sam suzu ovo pola kao što je ovaj ovdje, 820 00:38:08,360 --> 00:38:11,912 to sada može putovati internet učinkovitije, 821 00:38:11,912 --> 00:38:13,120 jer to je manji komad. 822 00:38:13,120 --> 00:38:16,780 Tako je s nižim vjerojatnost je da će sudariti s tuđe prometa 823 00:38:16,780 --> 00:38:17,650 na internetu. 824 00:38:17,650 --> 00:38:21,240 >> I tako ono što vaše računalo doista kada želite poslati poruku Cole 825 00:38:21,240 --> 00:38:24,917 je li komade do poruke kao što je ovaj u manje komade, fragmenti tako kažemo. 826 00:38:24,917 --> 00:38:28,000 A onda ih stavlja unutar onoga što ćemo nazvati vrsta virtualnih kuverti. 827 00:38:28,000 --> 00:38:29,620 >> Dakle, imam četiri papirnate omotnice ovdje. 828 00:38:29,620 --> 00:38:32,690 I ja sam ih pre-brojevima, jedan, dva, tri, četiri i. 829 00:38:32,690 --> 00:38:35,800 A što ću raditi na prednjoj to, baš kao normalan mailing, 830 00:38:35,800 --> 00:38:38,000 je ću staviti Colea ime. 831 00:38:38,000 --> 00:38:41,270 I onda na vrhu, ja sam će staviti moje ime tamo, 832 00:38:41,270 --> 00:38:44,995 David, tako da je prva takva paketa Šaljem vani na internetu 833 00:38:44,995 --> 00:38:47,620 izgleda malo nešto poput To je, istaknute karakteristike 834 00:38:47,620 --> 00:38:50,830 od kojih su da ima na adresa, od adrese, 835 00:38:50,830 --> 00:38:52,670 i broj, tako da koji nadamo se da 836 00:38:52,670 --> 00:38:55,680 je dovoljno podataka za Cole rekonstruirati ovu poruku. 837 00:38:55,680 --> 00:38:58,820 >> Pa neka mi učiniti isto i ovdje, isto ovdje, a isto ovdje, 838 00:38:58,820 --> 00:39:01,310 pisanje svoje ime u Polje na sve njih. 839 00:39:01,310 --> 00:39:04,240 A onda idemo naprijed i staviti ove slike iznutra. 840 00:39:04,240 --> 00:39:06,540 >> Dakle, ovdje je jedan paketa to je spreman ići. 841 00:39:06,540 --> 00:39:09,780 Ovdje je još jedna paketa to je spreman ići. 842 00:39:09,780 --> 00:39:14,100 Ovdje je treći paketa to je spreman ići. 843 00:39:14,100 --> 00:39:16,870 I ovdje je četvrta paketa koji je spreman ići. 844 00:39:16,870 --> 00:39:19,849 >> A sada ono što je zanimljivo Kako je internet u stvarnosti radova 845 00:39:19,849 --> 00:39:22,140 je da, iako imam četiri paketa, od kojih su svi 846 00:39:22,140 --> 00:39:24,730 su namijenjeni za iste mjesto, oni nisu nužno 847 00:39:24,730 --> 00:39:26,870 će proći isti put. 848 00:39:26,870 --> 00:39:32,070 I tako, iako sam mogao predati to paketa off najbliže usmjerivač 849 00:39:32,070 --> 00:39:36,660 recimo, ako želite poslati ih na sve strane, da vidimo 850 00:39:36,660 --> 00:39:40,706 što se zapravo događa, cilj koja je da bi ih u konačnici Coleu. 851 00:39:40,706 --> 00:39:44,850 852 00:39:44,850 --> 00:39:48,770 I doista, oni već ne nužno da u istom smjeru. 853 00:39:48,770 --> 00:39:50,510 I to je u redu. 854 00:39:50,510 --> 00:39:52,480 To je malo nezgodno i Oprah stil danas. 855 00:39:52,480 --> 00:39:56,540 >> A sada mi dopustite da namjerno uzeti da je jedan natrag. 856 00:39:56,540 --> 00:40:00,196 A sada Cole, ako želite okupiti se najbolje što možete. 857 00:40:00,196 --> 00:40:06,610 858 00:40:06,610 --> 00:40:10,180 Naravno, svi mi možemo pogoditi što zaključak ovdje će biti. 859 00:40:10,180 --> 00:40:12,600 Ti si idući u morati 3/4 Rick Astley u samo trenutak. 860 00:40:12,600 --> 00:40:15,920 861 00:40:15,920 --> 00:40:19,291 A što da je Posljedica toga? 862 00:40:19,291 --> 00:40:20,540 Želite pokušati držati? 863 00:40:20,540 --> 00:40:23,540 Imamo jednu kameru Pokazao je na vama, ako želite 864 00:40:23,540 --> 00:40:26,226 pozirati s Rick Astley ovdje. 865 00:40:26,226 --> 00:40:28,610 866 00:40:28,610 --> 00:40:29,510 Idemo tamo. 867 00:40:29,510 --> 00:40:30,410 Lijep. 868 00:40:30,410 --> 00:40:33,230 >> Ali čini se da nedostaje fragment Rick Astley. 869 00:40:33,230 --> 00:40:37,015 Tako ispada da je internet općenito vođeni ne samo IP, 870 00:40:37,015 --> 00:40:39,890 ali u stvari smo čuli na samom početak predavanja u tom video-- 871 00:40:39,890 --> 00:40:42,473 i vjerojatno ste vidjeli ovo akronim više often-- što se uistinu 872 00:40:42,473 --> 00:40:44,360 je protokol teže čuti? 873 00:40:44,360 --> 00:40:45,120 >> PUBLIKA: TCP / IP. 874 00:40:45,120 --> 00:40:48,090 >> DAVID J. Malan: TCP / IP, koji je samo kombinacija 875 00:40:48,090 --> 00:40:49,940 dva protokola, jedan se zove IP. 876 00:40:49,940 --> 00:40:52,640 Što opet, samo skup konvencija, preko kojeg smo 877 00:40:52,640 --> 00:40:54,740 rješavanje svako računalo na internetu. 878 00:40:54,740 --> 00:40:56,930 A onda TCP, koji služi drugoj svrsi. 879 00:40:56,930 --> 00:41:00,110 >> TCP je protokol koji vam obično koristi u sprezi 880 00:41:00,110 --> 00:41:04,410 s IP, koji među ostalim stvari, jamči isporuku. 881 00:41:04,410 --> 00:41:08,860 U stvari, TCP je protokol koji bi primijetiti da je jedan od paketa 882 00:41:08,860 --> 00:41:10,930 očito nisu dobili Cole, jer on čini 883 00:41:10,930 --> 00:41:12,830 da nedostaje broj četiri od četiri. 884 00:41:12,830 --> 00:41:16,530 I tako ono TCP, protokol ne, to je priča Cole, 885 00:41:16,530 --> 00:41:19,850 hej Cole, ako dobijete samo tri od četiri paketa, 886 00:41:19,850 --> 00:41:22,600 recite mi što neki Nedostaju, u biti, 887 00:41:22,600 --> 00:41:25,570 a onda je moja svrha u životu treba biti prenosimo to. 888 00:41:25,570 --> 00:41:28,580 >> I tako, ako ja također, Pošiljatelj, koristite TCP, 889 00:41:28,580 --> 00:41:31,810 Onda sam trebao stvoriti novi packet-- Nije li to jedna naborana here-- 890 00:41:31,810 --> 00:41:35,980 prenosimo samo ovaj komad je, tako da je u konačnici Cole ima 891 00:41:35,980 --> 00:41:38,280 kompletan suvenir, ako ništa drugo. 892 00:41:38,280 --> 00:41:43,000 No, tako da u konačnici su podaci zapravo dobiva svoje ispravnu destinaciju. 893 00:41:43,000 --> 00:41:48,020 >> No, na žalost, pisanje Colea ime na prednji nije dovoljno, sami po sebi. 894 00:41:48,020 --> 00:41:50,270 I doista, ne bih napisati Coleovo ime, ali vjerojatno 895 00:41:50,270 --> 00:41:51,655 njegova IP adresa na koverti. 896 00:41:51,655 --> 00:41:52,780 I ne bih napisati Davida. 897 00:41:52,780 --> 00:41:56,550 Ja bih napisati moju IP adresu na omotnicu tako da računala mogu zapravo 898 00:41:56,550 --> 00:41:57,999 komunicirati natrag i naprijed. 899 00:41:57,999 --> 00:42:00,540 Ali ispada da računala možete učiniti tako više nego služiti se 900 00:42:00,540 --> 00:42:01,900 Rick Astley slike. 901 00:42:01,900 --> 00:42:05,340 Oni također mogu ponovno poslati i primati e-poštu, chat poruke. 902 00:42:05,340 --> 00:42:09,780 Oni mogu raditi stvari kao što su prijenos datoteka, i bilo koji broj drugih alata 903 00:42:09,780 --> 00:42:12,330 koristite na internetu, poslužitelji mogu učiniti ovih dana. 904 00:42:12,330 --> 00:42:15,300 >> I samo zato što je tvrtka, ili škola, odnosno osoba 905 00:42:15,300 --> 00:42:19,420 želi imati web poslužitelj, i poslužitelja e-pošte i chat poslužitelja, 906 00:42:19,420 --> 00:42:21,420 ne znači da je potrebno tri računala. 907 00:42:21,420 --> 00:42:26,200 Možete imati samo jedno računalo trčanje više usluga, da se tako izrazim. 908 00:42:26,200 --> 00:42:29,190 >> I tako, kada je Cole dobiva poruka kao što je to, kako je 909 00:42:29,190 --> 00:42:32,940 ne njegovo računalo znam da li se pokazati tu sliku u svom pregledniku, 910 00:42:32,940 --> 00:42:37,730 ili Gchat, ili Facebook Messenger, ili bilo koji broj drugih alata? 911 00:42:37,730 --> 00:42:40,430 >> Tako ispada da su i na kao omotnica je dodatni komad 912 00:42:40,430 --> 00:42:43,070 informacija poznat kao broj porta. 913 00:42:43,070 --> 00:42:45,240 I broj luka samo broj, istina, 914 00:42:45,240 --> 00:42:48,342 ali to jedinstveno identificira ne računalo, ali usluga. 915 00:42:48,342 --> 00:42:49,550 I tu je grozdovima od njih. 916 00:42:49,550 --> 00:42:51,258 Tako ispada da je u svijetu, ljudi 917 00:42:51,258 --> 00:42:57,095 su se odlučili na malo, kao konvencije, od kojih su ovi. 918 00:42:57,095 --> 00:42:59,220 Dakle, postoji nešto što se zove File Transfer Protocol. 919 00:42:59,220 --> 00:42:59,870 To je prilično datirana. 920 00:42:59,870 --> 00:43:00,970 To je potpuno nesigurno. 921 00:43:00,970 --> 00:43:02,320 Puno ljudi još uvijek ga koristiti. 922 00:43:02,320 --> 00:43:04,240 I to koristi broj porta 21. 923 00:43:04,240 --> 00:43:07,250 Drugim riječima, ako slanje datoteka putem FTP, 924 00:43:07,250 --> 00:43:10,570 omotnica bi ne samo pošiljatelj i IP adresa prijemnika, 925 00:43:10,570 --> 00:43:14,020 to bi također imaju broj 21, tako da prijemni računalo zna oh, to 926 00:43:14,020 --> 00:43:17,280 je datoteka, ne e-mail ili chat poruke. 927 00:43:17,280 --> 00:43:19,016 >> 25 je SMTP. 928 00:43:19,016 --> 00:43:20,516 Kako mnogi od vas ikada koristiti SMTP? 929 00:43:20,516 --> 00:43:22,850 930 00:43:22,850 --> 00:43:23,380 Pogrešno. 931 00:43:23,380 --> 00:43:24,490 Gotovo svi imate. 932 00:43:24,490 --> 00:43:28,730 Ako ste ikada koristili e-poštu, koju ste koristili SMTP, jednostavni protokol za prijenos pošte, 933 00:43:28,730 --> 00:43:32,300 što je samo fancy način govoreći, to je vrsta računala ili usluge 934 00:43:32,300 --> 00:43:34,600 koji šalje vašu e-mail izlazne. 935 00:43:34,600 --> 00:43:38,780 >> I nikada, ako ste vidjeli kratice poput POP, IMAP ili, a tu je i nekoliko drugih, 936 00:43:38,780 --> 00:43:40,670 oni su za primanje e, obično. 937 00:43:40,670 --> 00:43:42,650 To samo znači da je različite usluge. 938 00:43:42,650 --> 00:43:45,850 To je softver koji netko piše da šalje ili sluša 939 00:43:45,850 --> 00:43:48,880 na određeni broj porta tako da ne brkati e-pošte 940 00:43:48,880 --> 00:43:50,360 s nekom drugom vrstom podataka. 941 00:43:50,360 --> 00:43:55,500 >> Sada web je HTTP, što je Broj 80, kao i luka 443. 942 00:43:55,500 --> 00:43:57,590 A u stvari, iako mi ljudi sreću 943 00:43:57,590 --> 00:43:59,610 ne moraju to učiniti, svaki put kada posjetite 944 00:43:59,610 --> 00:44:05,810 website poput http://www.yale.edu, preglednik 945 00:44:05,810 --> 00:44:07,790 samo se vrsta pomoći u smislu da je 946 00:44:07,790 --> 00:44:10,970 uz pretpostavku da želite brojčane port 80. 947 00:44:10,970 --> 00:44:15,710 Mi već znamo da DNS mogu shvatiti što je IP adresa od www.yale.edu. 948 00:44:15,710 --> 00:44:17,970 Ali računalo je samo će zaključiti da ti 949 00:44:17,970 --> 00:44:21,560 Želite port 80, jer ste koristeći Chrome ili IE ili neki drugi preglednik. 950 00:44:21,560 --> 00:44:24,930 Ali ja tehnički mogao debelo crijevo 80. 951 00:44:24,930 --> 00:44:28,520 A onda sam izričito reći moj preglednik, poslati paket ili više 952 00:44:28,520 --> 00:44:32,080 informacija za www.yale.edu traži današnju početnu stranicu. 953 00:44:32,080 --> 00:44:36,070 Ali konkretno, adresa je na Yale-a IP na portu 80 954 00:44:36,070 --> 00:44:39,190 tako da sam zapravo dobiti natrag Yale web poslužitelja. 955 00:44:39,190 --> 00:44:42,229 >> Sada je odmah nestaje jer preglednici samo 956 00:44:42,229 --> 00:44:44,020 odlučiti da se ne trebaju zbuniti ljude 957 00:44:44,020 --> 00:44:46,810 tako da još Arcane Informacije poput debelog crijeva 80. 958 00:44:46,810 --> 00:44:50,640 I iskreno, preglednici kao Chrome uopće ne 959 00:44:50,640 --> 00:44:55,464 vam pokazati HTTP više, ili debelog crijeva, ili Slash Slash, ili kosom crtom, 960 00:44:55,464 --> 00:44:58,380 u nekom smislu, jer oni pokušavaju kako bi stvari jednostavnije za korisnike. 961 00:44:58,380 --> 00:45:01,080 U drugom smislu, to je samo vrsta korisničkog iskustva stvar-- 962 00:45:01,080 --> 00:45:02,720 neka je riješiti neke od nereda. 963 00:45:02,720 --> 00:45:05,405 Ali to skriva neke od ove temeljne pojedinosti. 964 00:45:05,405 --> 00:45:09,360 >> A u stvari, nitko od nas Vjerojatno nikada upišite http više. 965 00:45:09,360 --> 00:45:12,060 Vi samo upišite u nešto kao www.harvard.edu. 966 00:45:12,060 --> 00:45:15,310 I opet, Chrome zaključuje da želite HTTP. 967 00:45:15,310 --> 00:45:18,970 Ali postoje i drugi protokoli da mi sigurno mogao koristiti. 968 00:45:18,970 --> 00:45:24,480 >> Dakle, s obzirom na sve to, ako vas sada neka vrsta staviti na tzv inženjering šešir, 969 00:45:24,480 --> 00:45:27,417 Kako se stvari nazivaju firewall raditi? 970 00:45:27,417 --> 00:45:29,750 Dakle, vjerojatno ste općenito upoznati sa firewall, 971 00:45:29,750 --> 00:45:30,990 ne toliko u fizičkom smislu. 972 00:45:30,990 --> 00:45:32,470 Dakle, natrag u dan, i dalje sve do danas, 973 00:45:32,470 --> 00:45:35,430 ako imaš kao strip centrima za instanca koja ima mnogo dućana, 974 00:45:35,430 --> 00:45:38,500 općenito zidovi između njih pojedinačne trgovinama ili trgovinama 975 00:45:38,500 --> 00:45:43,180 su firewall u smislu da imaju posebnu izolaciju 976 00:45:43,180 --> 00:45:45,310 tako da, ako je požar izbije u jednoj trgovini, 977 00:45:45,310 --> 00:45:48,210 to ne mora nužno proširio trgovine pokraj vrata. 978 00:45:48,210 --> 00:45:51,710 >> Računalo svijetu ima firewall kako napraviti nešto drugačije. 979 00:45:51,710 --> 00:45:52,798 Što čini vatrena kugla učiniti? 980 00:45:52,798 --> 00:45:53,298 Da? 981 00:45:53,298 --> 00:45:55,290 >> PUBLIKA: U osnovi oni odsječeni vezu 982 00:45:55,290 --> 00:45:59,493 ako oni naići nešto kao što je, na primjer, 983 00:45:59,493 --> 00:46:01,361 imaju broj id izjave. 984 00:46:01,361 --> 00:46:04,340 A ako se nešto dogodi, oni rezati vezu. 985 00:46:04,340 --> 00:46:07,570 Kao i ako ovaj zlonamjernog napada [Nečujan] računalo, or-- 986 00:46:07,570 --> 00:46:08,630 >> DAVID J. Malan: OK dobro. 987 00:46:08,630 --> 00:46:11,220 Da, i zapravo si čak ide malo dalje 988 00:46:11,220 --> 00:46:14,590 u opisuje nešto što bi moglo biti naziva sustav za otkrivanje upada, 989 00:46:14,590 --> 00:46:18,305 ili IDS za kratko, pri čemu vas zapravo pravila definirane. 990 00:46:18,305 --> 00:46:22,140 A ako ne počnete vidjeti sumnjivo ponašanja, te pokušati stati na kraj tome. 991 00:46:22,140 --> 00:46:24,250 >> A firewall, iskreno, na razini umrežavanja, 992 00:46:24,250 --> 00:46:26,821 još je gluplji i jednostavnije od toga, općenito. 993 00:46:26,821 --> 00:46:29,070 A tu je različite vrste vatrozida u svijetu. 994 00:46:29,070 --> 00:46:31,569 Ali one koje djeluju na razina govorimo today-- 995 00:46:31,569 --> 00:46:35,330 IP i TCP-- raditi još više straightforwardly. 996 00:46:35,330 --> 00:46:39,180 >> Na primjer, ako ste bili Yale sustav administratori ili harvardski sustav 997 00:46:39,180 --> 00:46:42,020 Administratori, ili neki veliki Brat u nekom poduzeću, 998 00:46:42,020 --> 00:46:45,040 a vi htjeli da spriječi sve svoje studenti ili sve svoje zaposlenike 999 00:46:45,040 --> 00:46:47,619 od odlaska na facebook.com, sve što morate učiniti 1000 00:46:47,619 --> 00:46:50,160 se pobrinite da sve njihove mrežni promet, prije svega, 1001 00:46:50,160 --> 00:46:51,850 prolazi kroz poseban uređaj. 1002 00:46:51,850 --> 00:46:53,030 Nazovimo ga vatrozid. 1003 00:46:53,030 --> 00:46:54,910 >> I to je u redu, jer je možete napraviti svoj router 1004 00:46:54,910 --> 00:46:57,618 ista stvar kao firewall ako staviti istu vrstu softvera 1005 00:46:57,618 --> 00:46:58,940 na istom stroju. 1006 00:46:58,940 --> 00:47:01,780 Dakle, ako sve svoje studente ili zaposlenici prometa 1007 00:47:01,780 --> 00:47:04,450 prolazi kroz ovo Središnja firewall, kako 1008 00:47:04,450 --> 00:47:08,540 bismo blokirati ljude od odlaska na Facebook.com, na primjer? 1009 00:47:08,540 --> 00:47:10,780 Što bi se sustav Administrator morate učiniti? 1010 00:47:10,780 --> 00:47:11,370 Itko drugi? 1011 00:47:11,370 --> 00:47:12,911 Pokušajmo ići okolo. 1012 00:47:12,911 --> 00:47:15,074 >> PUBLIKA: [nečujan] 1013 00:47:15,074 --> 00:47:16,365 DAVID J. Malan: opet reći? 1014 00:47:16,365 --> 00:47:19,215 PUBLIKA: To jednostavno trebao dobiti uhvaćen unutar sustava. 1015 00:47:19,215 --> 00:47:22,487 Pa samo stavi Facebook u 127.0.0-- 1016 00:47:22,487 --> 00:47:23,820 DAVID J. Malan: O, zanimljivo. 1017 00:47:23,820 --> 00:47:27,290 Dakle, možete zapravo tada hack vaš DNS sustava. 1018 00:47:27,290 --> 00:47:31,180 To je doista način na koji možete to učiniti pri čemu svaki put Yale Student vuče 1019 00:47:31,180 --> 00:47:34,670 do www.facebook.com, sve nas danas ovdje na kampusu 1020 00:47:34,670 --> 00:47:38,590 koristite Yale DNS poslužitelja, jer Yale DHCP-poslužitelj nam je dao 1021 00:47:38,590 --> 00:47:39,580 tu adresu. 1022 00:47:39,580 --> 00:47:42,490 Tako da, što bi vrsta razbiti stvari ili break konvencije 1023 00:47:42,490 --> 00:47:49,190 od samo govoreći, da, facebook.com Adresa je varka, 1024 00:47:49,190 --> 00:47:52,530 je 1.2.3.4, koja je zapravo nije legitimna. 1025 00:47:52,530 --> 00:47:53,930 Ili možda je 278. 1026 00:47:53,930 --> 00:47:57,460 sve što je u TV emisiji A Trenutak prije, tako da nitko od nas 1027 00:47:57,460 --> 00:47:59,176 zapravo možete posjetiti facebook.com. 1028 00:47:59,176 --> 00:48:00,590 >> Dakle, pretpostavimo Yale učinio. 1029 00:48:00,590 --> 00:48:03,336 Pretpostavimo Yale želio zadržati vi iz Facebook.com. 1030 00:48:03,336 --> 00:48:05,700 I zato, oni promijenio DNS postavke 1031 00:48:05,700 --> 00:48:08,812 da vam lažne IP obratiti za Facebook.com. 1032 00:48:08,812 --> 00:48:10,616 Kako ćete odgovoriti? 1033 00:48:10,616 --> 00:48:12,990 Tehnički, not-- oh, sada svatko želi sudjelovati. 1034 00:48:12,990 --> 00:48:13,490 U redu, da. 1035 00:48:13,490 --> 00:48:16,190 PUBLIKA: Vi samo upišite u Stvarni IP adresa Facebook. 1036 00:48:16,190 --> 00:48:16,710 >> DAVID J. Malan: U redu, dobro. 1037 00:48:16,710 --> 00:48:19,350 Tako bismo mogli upisati u Stvarni IP adresa Facebook, 1038 00:48:19,350 --> 00:48:21,090 baš kao što sam učinio s Yale-a web stranice. 1039 00:48:21,090 --> 00:48:24,636 A ako se Facebook server konfiguriran podržati da, to bi trebalo doista raditi. 1040 00:48:24,636 --> 00:48:26,510 To je manja bol u vrat, jer sada smo 1041 00:48:26,510 --> 00:48:30,220 imati na umu neke random 32-bitne vrijednosti, ali to bi mogao raditi. 1042 00:48:30,220 --> 00:48:31,622 Što još možete učiniti? 1043 00:48:31,622 --> 00:48:32,121 Da. 1044 00:48:32,121 --> 00:48:35,117 >> PUBLIKA: Možete promijeniti te postavke [nečujan]. 1045 00:48:35,117 --> 00:48:37,700 DAVID J. Malan: Da, mogao čak i promijeniti DNS postavke. 1046 00:48:37,700 --> 00:48:40,480 Dakle, u stvari, to je zapravo prilično korisna, iskreno, 1047 00:48:40,480 --> 00:48:45,590 Ako ste u zračnoj luci, ili ako ste u kafiću, ili nešto što 1048 00:48:45,590 --> 00:48:48,834 ima čudan internet pri čemu se ponekad DNS poslužitelj jednostavno prestane raditi. 1049 00:48:48,834 --> 00:48:51,000 Pa čak i sam povremeno napraviti to, ne za zlonamjerne, ja 1050 00:48:51,000 --> 00:48:52,750 želite koristiti Facebook svrhe, ali stvarno 1051 00:48:52,750 --> 00:48:56,344 jer mi se čini da imaju mrežu veza, ali se ništa ne radi. 1052 00:48:56,344 --> 00:48:58,260 I tako jedan od prvih stvari koje sam try-- i vi 1053 00:48:58,260 --> 00:49:01,710 možete to učiniti na Windows too-- ali na mom Macu, ako idem na mreži. 1054 00:49:01,710 --> 00:49:03,330 I biram svoje Wi-Fi veze. 1055 00:49:03,330 --> 00:49:04,750 I idem na Advanced. 1056 00:49:04,750 --> 00:49:06,080 I idem na DNS. 1057 00:49:06,080 --> 00:49:08,260 To su tri IP adrese koje Yale 1058 00:49:08,260 --> 00:49:10,290 daje mi za tri DNS poslužitelja. 1059 00:49:10,290 --> 00:49:14,110 Svrha je onda za mene to probati bilo jedan od tih riješiti adrese. 1060 00:49:14,110 --> 00:49:15,946 >> Ali mogu poništiti to radiš plus. 1061 00:49:15,946 --> 00:49:18,333 A tko želi predložiti DNS poslužitelj? 1062 00:49:18,333 --> 00:49:19,120 >> PUBLIKA: 8.8.8.8? 1063 00:49:19,120 --> 00:49:20,578 >> DAVID J. Malan: O, ti si nevjerojatna. 1064 00:49:20,578 --> 00:49:21,650 Da, 8.8.8.8. 1065 00:49:21,650 --> 00:49:26,170 Dakle Google, blagoslovi njihova srca, Kupio IP adresu 8.8.8.8, 1066 00:49:26,170 --> 00:49:29,560 jer vrsta izgleda kao G Vjerojatno, i to je lako zapamtiti. 1067 00:49:29,560 --> 00:49:34,820 Ali, istina, sada sam konfiguriran moj Računalo koristiti Googleov DNS poslužitelj. 1068 00:49:34,820 --> 00:49:38,050 >> Pa sad, ako idem na yale.edu, to je još uvijek ide na posao. 1069 00:49:38,050 --> 00:49:40,100 Ali ja ne koristim Yale-a DNS poslužitelji više. 1070 00:49:40,100 --> 00:49:44,430 A ako idem na facebook.com, sve one izgledaju prozore 1071 00:49:44,430 --> 00:49:45,960 će ići preko Googlea. 1072 00:49:45,960 --> 00:49:49,120 >> Dakle, s jedne strane, imam pametno izigrane lokalni sustav 1073 00:49:49,120 --> 00:49:51,810 Administratori samo razumijevanje kako umrežavanje djela. 1074 00:49:51,810 --> 00:49:53,360 Ali ja plaćam cijenu. 1075 00:49:53,360 --> 00:49:54,740 Ništa nije besplatno. 1076 00:49:54,740 --> 00:49:56,096 Što sam upravo odustao? 1077 00:49:56,096 --> 00:50:00,180 1078 00:50:00,180 --> 00:50:02,250 Što sam upravo odustao? 1079 00:50:02,250 --> 00:50:06,090 Sve od vas pametnih ljudi koji su bio koristeći 8.8.8.8, jer to je cool 1080 00:50:06,090 --> 00:50:10,440 ili rješava probleme, što sam ste radili sve ovo vrijeme? 1081 00:50:10,440 --> 00:50:11,910 >> PUBLIKA: Putovanja dalje? 1082 00:50:11,910 --> 00:50:15,201 >> DAVID J. Malan: Možda putuju dalje, jer Google je vjerojatno ne sasvim kao 1083 00:50:15,201 --> 00:50:16,770 bliski kao poslužitelj niz ulicu. 1084 00:50:16,770 --> 00:50:18,420 No, više worrisomely. 1085 00:50:18,420 --> 00:50:18,920 Da? 1086 00:50:18,920 --> 00:50:20,940 >> PUBLIKA: Tako sada Google zna gdje idete. 1087 00:50:20,940 --> 00:50:23,856 >> DAVID J. Malan: Google zna doslovno svaka web stranica koju posjećujete, 1088 00:50:23,856 --> 00:50:26,080 jer ste doslovno moleći ih, hej Google, 1089 00:50:26,080 --> 00:50:28,360 može li prevesti yale.edu za mene? 1090 00:50:28,360 --> 00:50:32,430 Ili hej Google, može li prevesti ovaj drugi website adresa za mene 1091 00:50:32,430 --> 00:50:33,334 u IP adresu. 1092 00:50:33,334 --> 00:50:35,750 I tako they're-- nemam Znate li što pričaš. 1093 00:50:35,750 --> 00:50:38,080 I tako oni znaju sve o vama. 1094 00:50:38,080 --> 00:50:42,180 Dakle shvatiti da je ovo besplatna usluga s ciljem iz njihove perspektive 1095 00:50:42,180 --> 00:50:42,680 kao. 1096 00:50:42,680 --> 00:50:44,420 Ali to može sigurno dobili ste iz svezati. 1097 00:50:44,420 --> 00:50:46,380 >> Sada samo za rješavanje jedna pitanje koje često dolazi do 1098 00:50:46,380 --> 00:50:48,640 među studentima, a posebno kad putujete u inozemstvo 1099 00:50:48,640 --> 00:50:50,765 u nekim zemljama poput Kina, gdje se doista 1100 00:50:50,765 --> 00:50:54,559 je Great Firewall of China kod kojega Vlada tamo blokira sasvim 1101 00:50:54,559 --> 00:50:56,100 malo prometa na različitim razinama. 1102 00:50:56,100 --> 00:50:58,141 Ne morate se baš blok promet na razini 1103 00:50:58,141 --> 00:51:01,240 govorimo ovdje, DNS ili na drugi način, možete ga blokirati na drugim razinama. 1104 00:51:01,240 --> 00:51:04,030 >> A u stvari, samo da biti jasan, firewall 1105 00:51:04,030 --> 00:51:08,400 može raditi čak i više nego samo jednostavno što administratori sustava promjenu 1106 00:51:08,400 --> 00:51:09,500 DNS postavke. 1107 00:51:09,500 --> 00:51:12,920 Firewall, uređaj između SAD i ostatak svijeta, 1108 00:51:12,920 --> 00:51:16,850 može samo blokirati bilo odlasku Zahtjevi za IP adresu 1109 00:51:16,850 --> 00:51:21,240 za Facebook na port 80, ili IP adresa za harvard.edu, 1110 00:51:21,240 --> 00:51:22,580 ili IP adresu bilo što. 1111 00:51:22,580 --> 00:51:26,280 Tako firewall može pogledati tvoj kuverte "IP adrese, pa čak i luka 1112 00:51:26,280 --> 00:51:29,384 brojevi, a ako Yale htjeli, to samo može zaustaviti sve nas 1113 00:51:29,384 --> 00:51:32,550 od čak pomoću FTP više, koji bi vjerojatno biti dobra stvar, jer to 1114 00:51:32,550 --> 00:51:34,320 je doista nesigurno protokol. 1115 00:51:34,320 --> 00:51:37,620 Yale nas čak može zaustaviti posjetite cjelinu webu 1116 00:51:37,620 --> 00:51:42,632 Samo blokirajući sve luke Promet na broju 80, kao dobro. 1117 00:51:42,632 --> 00:51:43,840 Tako da bi moglo biti još jedan način. 1118 00:51:43,840 --> 00:51:45,740 A tu je i ljubitelj načine kao dobro. 1119 00:51:45,740 --> 00:51:47,770 >> Ali kad ste na putovanju inozemstvu, primjerice, 1120 00:51:47,770 --> 00:51:50,740 ili ako ste u internet caffe, ili ako ste negdje gdje ima 1121 00:51:50,740 --> 00:51:53,179 blokade ili prijetnje, što možete učiniti? 1122 00:51:53,179 --> 00:51:56,220 Pa, ako idete ulicom do Starbucks ili putujete u zračnoj luci, 1123 00:51:56,220 --> 00:51:58,780 općenito možete samo skoknuti na Wi-Fi odabirom 1124 00:51:58,780 --> 00:52:04,631 kao, JFK Wi-Fi na LaGuardia Wi-Fi, ili Logan Airport Wi-Fi, ili što ne. 1125 00:52:04,631 --> 00:52:05,880 I to nije kodiran, zar ne? 1126 00:52:05,880 --> 00:52:06,949 Nema ikona lokota. 1127 00:52:06,949 --> 00:52:09,490 A ti vjerojatno ne zatraži za korisničko ime i lozinku. 1128 00:52:09,490 --> 00:52:11,240 Ti si samo zatraži s nekim glupim obliku 1129 00:52:11,240 --> 00:52:15,260 reći kao, slažem se kako bi koristili ovu samo 30 minuta, ili nešto slično. 1130 00:52:15,260 --> 00:52:18,761 >> Ali nema enkripcije između ti i Starbucks Wi-Fi pristup 1131 00:52:18,761 --> 00:52:20,760 točka, stvari s antene na zidu. 1132 00:52:20,760 --> 00:52:24,840 Nema šifriranje između tebe i zračne luke Wi-Fi signali. 1133 00:52:24,840 --> 00:52:29,060 >> I tako tehnički, da je jezivo osoba sjedi nekoliko sjedala dolje od vas 1134 00:52:29,060 --> 00:52:31,970 u Starbucksu ili u zračnoj luci može biti, s pravom softver, 1135 00:52:31,970 --> 00:52:35,164 gledajući sve svoje bežične promet na svom laptopu. 1136 00:52:35,164 --> 00:52:37,080 To nije tako teško staviti laptop u ono što je 1137 00:52:37,080 --> 00:52:39,880 zove pomiješan modu, koji kao što ime sugerira, 1138 00:52:39,880 --> 00:52:41,760 znači da ste vrsta labav s pravilima. 1139 00:52:41,760 --> 00:52:44,740 I to samo sluša ne samo promet značilo za nju, 1140 00:52:44,740 --> 00:52:47,700 ali i svi drugi Promet u dometu. 1141 00:52:47,700 --> 00:52:50,550 >> I tom logikom, ona može vidjeti sve paketa informacija 1142 00:52:50,550 --> 00:52:51,360 koju prima. 1143 00:52:51,360 --> 00:52:53,510 A ako one pakete nisu šifrirane, te 1144 00:52:53,510 --> 00:52:56,680 su stavljajući sebe u opasnost od Vaše e-pošte ili poruke, 1145 00:52:56,680 --> 00:52:58,620 ili bilo što drugo uzimajući izložena. 1146 00:52:58,620 --> 00:53:01,220 >> Dakle, čak i ako niste u inozemstvu ali ti si samo u Starbucks, 1147 00:53:01,220 --> 00:53:03,800 ili ste na neki slučajan osoba je Wi-Fi koji nije kodiran, 1148 00:53:03,800 --> 00:53:05,410 VPN je dobra stvar. 1149 00:53:05,410 --> 00:53:07,410 VPN je virtualna privatna mreža. 1150 00:53:07,410 --> 00:53:09,480 I to je tehnologija koja vam omogućuje da imaju 1151 00:53:09,480 --> 00:53:14,560 sigurna, da se šifrirani connection-- ljubitelj od Cezara ili Vigenere-- 1152 00:53:14,560 --> 00:53:17,420 između laptop, ili telefon, ili vaš desktop, 1153 00:53:17,420 --> 00:53:22,460 i poslužitelj na drugim mjestima, kao što su poslužitelj na Yale kampusa. 1154 00:53:22,460 --> 00:53:25,840 >> A ako putujete abroad-- i zapravo, vi naći u hotelima 1155 00:53:25,840 --> 00:53:26,560 cijelo vrijeme. 1156 00:53:26,560 --> 00:53:28,580 A pogotovo što želja računalni znanstvenici 1157 00:53:28,580 --> 00:53:32,090 gdje ti dečki bi, kao geeks, želite koristiti osim 80 luka, 1158 00:53:32,090 --> 00:53:35,770 a osim 443-- lukama i u stvari za problema postaviti šest, 1159 00:53:35,770 --> 00:53:39,280 ćemo igrati s više TCP portovi samo choice-- puno 1160 00:53:39,280 --> 00:53:42,940 hotela i trgovine i mreže Samo blokirati takve stvari 1161 00:53:42,940 --> 00:53:45,970 jer su pomalo naivno, ili u neznanju, samo mislim 1162 00:53:45,970 --> 00:53:48,010 da nitko ne treba one druge priključke. 1163 00:53:48,010 --> 00:53:51,150 >> I tako pomoću VPN može vam zaobići one vrste ograničenja, 1164 00:53:51,150 --> 00:53:54,050 jer ono što VPN se je to vam omogućuje u Starbucks, 1165 00:53:54,050 --> 00:53:58,630 ili zračne luke, ili bilo gdje u svijetu povezivanje encryptedly na yale.edu, 1166 00:53:58,630 --> 00:54:02,950 na neki server ovdje na kampusu, a onda tunel, da tako kažemo, 1167 00:54:02,950 --> 00:54:06,570 sve svoje prometa gdje god ti si kroz Yale, u kojem trenutku 1168 00:54:06,570 --> 00:54:08,720 to onda ide na svoje konačno odredište. 1169 00:54:08,720 --> 00:54:11,150 >> Ali to šifriranje, što izbjegavajte bilo koji od ovih vrsta 1170 00:54:11,150 --> 00:54:15,380 filtera i nametanja koje Neki lokalna mreža nametnula. 1171 00:54:15,380 --> 00:54:17,980 I plus, imate mnogo više robustan obrane 1172 00:54:17,980 --> 00:54:19,730 protiv grozan ljudi oko vas koji bi mogli 1173 00:54:19,730 --> 00:54:21,300 biti težak za slušanje na svoj promet. 1174 00:54:21,300 --> 00:54:24,591 Još uvijek mogao biti creepy ljudi ovdje natrag kući na Yaleu promatranje prometa 1175 00:54:24,591 --> 00:54:28,440 kao da dolazi iz VPN, ali barem si gurnuo prijetnju dalje. 1176 00:54:28,440 --> 00:54:30,490 I to je ovdje, trgovina off. 1177 00:54:30,490 --> 00:54:33,645 >> Sada, naravno, ako ste u Kina ili čak u kafiću, 1178 00:54:33,645 --> 00:54:35,770 a ti preusmjeruje sve prometa putem Yale, 1179 00:54:35,770 --> 00:54:37,590 koju cijenu plaćamo možda? 1180 00:54:37,590 --> 00:54:38,272 >> PUBLIKA: Brzina. 1181 00:54:38,272 --> 00:54:39,480 DAVID J. Malan: Brzina, zar ne? 1182 00:54:39,480 --> 00:54:41,430 Mora biti neki matematike ili neki fanciness uključeni 1183 00:54:41,430 --> 00:54:42,574 u stvarnom šifriranja. 1184 00:54:42,574 --> 00:54:44,990 Tu bi moglo biti tisuće milja udaljenosti ili tisuća 1185 00:54:44,990 --> 00:54:47,250 milja kabela između vas i Yale. 1186 00:54:47,250 --> 00:54:49,800 I to je jako loše, ako ste u Kini, na primjer, 1187 00:54:49,800 --> 00:54:51,650 a želite posjetiti website u Kini. 1188 00:54:51,650 --> 00:54:54,230 I tako vaši podaci će SAD, a onda natrag u Kinu 1189 00:54:54,230 --> 00:54:56,620 samo zato što ste šifriranje da kroz ovaj tunel. 1190 00:54:56,620 --> 00:54:59,960 >> Ali to rješava tehnički i raditi probleme podjednako. 1191 00:54:59,960 --> 00:55:02,050 No, sve se svodi na ove vrlo jednostavne ideje. 1192 00:55:02,050 --> 00:55:06,530 A Harvard, za one znatiželjan, ima jedan i ovdje, na vpn.harvard.edu, 1193 00:55:06,530 --> 00:55:09,150 koji djeluje kao Yale-a. 1194 00:55:09,150 --> 00:55:12,580 >> Dakle, sa svim što je rekao, zašto je cijela ova mreža korisna? 1195 00:55:12,580 --> 00:55:14,080 A što možemo početi raditi s njim? 1196 00:55:14,080 --> 00:55:15,630 Pa, neka je učiniti ovo sada više stvaran. 1197 00:55:15,630 --> 00:55:17,610 To je skraćenica s kojima većina nas 1198 00:55:17,610 --> 00:55:22,140 vjerojatno super familiar-- HTTP-- koja se zalaže za hiper prijenos teksta 1199 00:55:22,140 --> 00:55:22,950 protokol. 1200 00:55:22,950 --> 00:55:26,460 A to samo znači to jezik, protokol 1201 00:55:26,460 --> 00:55:29,140 koji web preglednici i Web poslužitelj govoriti. 1202 00:55:29,140 --> 00:55:31,437 >> P u HTTP je doista protokol. 1203 00:55:31,437 --> 00:55:33,270 I protokol je samo skup konvencija. 1204 00:55:33,270 --> 00:55:36,690 Vidjeli smo IP-- internet protocol-- TCP-- kontrola mjenjača 1205 00:55:36,690 --> 00:55:38,290 protocol-- i HTTP. 1206 00:55:38,290 --> 00:55:40,570 Ali što je to glupo stvar protokola? 1207 00:55:40,570 --> 00:55:41,930 To je samo skup konvencija. 1208 00:55:41,930 --> 00:55:43,760 >> Dakle, ako sam nekako doći ovdje, i želim da vas pozdravim. 1209 00:55:43,760 --> 00:55:44,930 Ja bih pozdraviti, moje ime je David. 1210 00:55:44,930 --> 00:55:45,600 >> PUBLIKA: Luis. 1211 00:55:45,600 --> 00:55:46,475 >> DAVID J. Malan: Luis. 1212 00:55:46,475 --> 00:55:49,360 Imamo ovaj glupi čovjeka konvencija rukujući se ovdje. 1213 00:55:49,360 --> 00:55:50,570 Ali to je protokol, zar ne? 1214 00:55:50,570 --> 00:55:51,470 Druge sam ruku. 1215 00:55:51,470 --> 00:55:52,530 Luis ispruži ruku. 1216 00:55:52,530 --> 00:55:53,070 Mi smo to učinili. 1217 00:55:53,070 --> 00:55:54,790 A onda završi, učinjeno. 1218 00:55:54,790 --> 00:55:58,100 >> I to je točno isto duh protokola računala 1219 00:55:58,100 --> 00:56:02,770 gdje je kao u HTTP, što se događa je to. 1220 00:56:02,770 --> 00:56:05,520 Ako ste računalo na ostavio ovdje, a tu je i neke web 1221 00:56:05,520 --> 00:56:07,230 poslužitelj tamo na desnoj strani. 1222 00:56:07,230 --> 00:56:11,130 I računalo na lijevoj želi zatražiti podatke od tog poslužitelja. 1223 00:56:11,130 --> 00:56:13,140 To je vrsta dvosmjerno rada. 1224 00:56:13,140 --> 00:56:15,800 Preglednik na lijevoj traži neke web stranice. 1225 00:56:15,800 --> 00:56:18,404 Poslužitelj na desnoj odgovara s neke web stranice. 1226 00:56:18,404 --> 00:56:20,570 A vidjet ćemo što je oblik oni uzeti u samo trenutak. 1227 00:56:20,570 --> 00:56:24,311 >> I ispada da oni computers-- koji preglednik i poslužitelj ili klijent 1228 00:56:24,311 --> 00:56:25,310 i poslužitelja, da se tako izrazim. 1229 00:56:25,310 --> 00:56:28,120 Slično kao u restoranu gdje Klijent traži nešto, 1230 00:56:28,120 --> 00:56:31,670 a poslužitelj donosi njega ili nju something-- dobiti 1231 00:56:31,670 --> 00:56:33,170 je vrsta operativnog riječi. 1232 00:56:33,170 --> 00:56:38,560 Doslovno unutar omotnice koje moj preglednik šalje odavde na webu 1233 00:56:38,560 --> 00:56:40,880 poslužitelj je riječ dobiti. 1234 00:56:40,880 --> 00:56:42,700 Kao želim dobiti današnju vijest. 1235 00:56:42,700 --> 00:56:45,370 Želim dobiti moj Facebook News Feed, ili sam 1236 00:56:45,370 --> 00:56:47,330 žele dobiti neke stranice s poslužitelja. 1237 00:56:47,330 --> 00:56:50,760 >> Naime, to je ono što je događa unutar tog okvira. 1238 00:56:50,760 --> 00:56:53,810 Tako sam, uz Cole, bitno Poslali Cole odgovor. 1239 00:56:53,810 --> 00:56:56,750 Ako zamislite da je Cole zapravo Želio sliku Rick Astley, 1240 00:56:56,750 --> 00:57:00,700 možda bi mi poslao zahtjev slični u duhu do ovoga. 1241 00:57:00,700 --> 00:57:04,670 Unutar svoje omotnice za mene, gdje je Ja sam sada u ulozi Google, 1242 00:57:04,670 --> 00:57:08,270 će biti zahtjev koji doslovno kaže, dobiti, a zatim prema naprijed slash-- 1243 00:57:08,270 --> 00:57:10,636 i vjerojatno ste vidjeli kose crte u URL-ovima prije. 1244 00:57:10,636 --> 00:57:13,260 To samo znači da mi dati zadani stranica, zadani Rick Astley 1245 00:57:13,260 --> 00:57:14,560 Slika u ovom slučaju. 1246 00:57:14,560 --> 00:57:20,100 >> I usput, Cole govori jezik HTTP verziju 1.1 ili 1.1 protokol. 1247 00:57:20,100 --> 00:57:22,090 I ispada da postoji starija verzija 1.0. 1248 00:57:22,090 --> 00:57:23,910 No, računala imaju tendenciju da koriste 1.1. 1249 00:57:23,910 --> 00:57:27,840 >> U drugom redu je korisna stvar koja će se vratiti možda prije dugo. 1250 00:57:27,840 --> 00:57:31,900 Ali to je samo specifikacija za mene, primatelj, da što želim 1251 00:57:31,900 --> 00:57:33,586 je www.google.com. 1252 00:57:33,586 --> 00:57:36,340 Budući da je vrlo moguće ovih dana za nekoliko desetaka, 1253 00:57:36,340 --> 00:57:39,510 stotine web stranice s različita imena domena za sve 1254 00:57:39,510 --> 00:57:40,735 žive na istom poslužitelju. 1255 00:57:40,735 --> 00:57:42,860 To neće biti istina toliko u Googleovom slučaju. 1256 00:57:42,860 --> 00:57:45,261 No, u manjoj tvrtke slučaj, apsolutno može biti. 1257 00:57:45,261 --> 00:57:47,260 Dakle, Cole je samo vrsta stavljajući u omotnici, 1258 00:57:47,260 --> 00:57:50,840 usput, kada je ovaj doseže Vaša IP adresa na portu 80, 1259 00:57:50,840 --> 00:57:54,450 Samo budite sigurni da znate Želim www.google.com, ne 1260 00:57:54,450 --> 00:57:56,740 neki drugi slučajni web stranice na istom poslužitelju. 1261 00:57:56,740 --> 00:58:00,360 >> Ono što sam tada odgovoriti na Cole s, na kraju dana, je slika. 1262 00:58:00,360 --> 00:58:02,920 No, na vrhu toj slici unutar omotnice 1263 00:58:02,920 --> 00:58:05,600 je zapravo neki tekst, gdje sam rekao, u redu. 1264 00:58:05,600 --> 00:58:07,970 Govorim HTTP verziju 1.1 također. 1265 00:58:07,970 --> 00:58:09,200 200. 1266 00:58:09,200 --> 00:58:11,730 Koji je broj status koji većina nas vjerojatno 1267 00:58:11,730 --> 00:58:14,185 nikada nije vidio, jer to znači da je u redu. 1268 00:58:14,185 --> 00:58:16,810 I to je dobro, jer je to znači ja sam uspješno reagirati 1269 00:58:16,810 --> 00:58:18,040 Coleu zahtjev. 1270 00:58:18,040 --> 00:58:21,930 >> Koje brojeve koje vjerojatno vidio na webu da nisu u redu? 1271 00:58:21,930 --> 00:58:22,780 >> PUBLIKA: 404. 1272 00:58:22,780 --> 00:58:24,830 >> DAVID J. Malan: 404-- datoteka nije pronađena. 1273 00:58:24,830 --> 00:58:27,520 Dakle, istina, svaki put kad sam vidio jedna od onih dosadnih datoteke ne 1274 00:58:27,520 --> 00:58:31,010 naći pogreške, jer web stranica je mrtav, 1275 00:58:31,010 --> 00:58:34,190 ili zato što mistyped URL, to samo znači 1276 00:58:34,190 --> 00:58:37,600 da je mala omotnica da je vaš Računalo je primio sa servera 1277 00:58:37,600 --> 00:58:42,670 sadržavao poruku HTTP 1.1, 404-- nije pronađen. 1278 00:58:42,670 --> 00:58:44,930 To je datoteka ili da je zahtjev što je napravio nije pronađen. 1279 00:58:44,930 --> 00:58:48,660 >> Štoviše, unutar omotnice obično je to linija, vrsta sadržaja. 1280 00:58:48,660 --> 00:58:51,080 Ponekad je HTML, nešto ćemo uskoro vidjeti. 1281 00:58:51,080 --> 00:58:52,225 Ponekad je to JPEG. 1282 00:58:52,225 --> 00:58:53,100 Ponekad je to GIF. 1283 00:58:53,100 --> 00:58:56,060 Ponekad je film datoteka, audio datoteka, bilo koji broj stvari. 1284 00:58:56,060 --> 00:59:00,059 Dakle, unutar omotnice je samo mali savjet o tome što sam primio. 1285 00:59:00,059 --> 00:59:03,100 Postoji druge šifre statusa previše, neki od kojih ćemo istražiti u P postavili šest, 1286 00:59:03,100 --> 00:59:05,890 a vi ćete naletjeti P postaviti sedam i / ili osam. 1287 00:59:05,890 --> 00:59:08,580 No, neki ovdje, kao i 404 koje smo vidjeli. 1288 00:59:08,580 --> 00:59:11,700 Zabranjeni, 403, znači kao dozvole su u krivu, 1289 00:59:11,700 --> 00:59:14,740 kao da nisu vrsta to ispravno konfiguriran. 1290 00:59:14,740 --> 00:59:17,830 301 i 302, rijetko smo vidjeli vizualno. 1291 00:59:17,830 --> 00:59:19,150 Ali oni znače za preusmjeravanje. 1292 00:59:19,150 --> 00:59:21,650 Svaki put kad sam otišao u jedan URL i da ste bili magično 1293 00:59:21,650 --> 00:59:24,410 poslao negdje drugdje, to je jer preglednik je poslao natrag 1294 00:59:24,410 --> 00:59:27,210 kuverta sadrži broj 301 ili 302, 1295 00:59:27,210 --> 00:59:30,790 i URL koji želi Vaš preglednik ići na umjesto. 1296 00:59:30,790 --> 00:59:32,010 >> 500 je strašno. 1297 00:59:32,010 --> 00:59:34,842 Vi ćete ga vidjeti prije dugo, vjerojatno P postavili šest ili P postaviti sedam. 1298 00:59:34,842 --> 00:59:37,050 I to obično znači postoji neki bug u kodu, 1299 00:59:37,050 --> 00:59:40,000 jer doista ćemo biti pisanje kod koji odgovara na web zahtjeve. 1300 00:59:40,000 --> 00:59:42,110 A vi ste upravo je dobio neke pogreška u logici ili sintaksu, 1301 00:59:42,110 --> 00:59:43,820 i poslužitelj ne mogu to podnijeti. 1302 00:59:43,820 --> 00:59:47,460 >> Tako ćemo vidjeti kako sada možemo utjecati i Razumijem te zahtjeve na sljedeći način. 1303 00:59:47,460 --> 00:59:50,716 Ako odem u, recimo, google.com. 1304 00:59:50,716 --> 00:59:55,240 Pusti me na www.google.com. 1305 00:59:55,240 --> 01:00:01,220 I zbog demonstracije je, neka je vidi, moram ići na Postavke ovdje. 1306 01:00:01,220 --> 01:00:03,180 Ja ću ići na pretrage postavke. 1307 01:00:03,180 --> 01:00:08,236 I Google ima sve dosadne mogućnosti, ali korisnih značajki. 1308 01:00:08,236 --> 01:00:11,110 Dakle, Google je tu stvar kao trenutak Rezultati gdje počnete tipkati, 1309 01:00:11,110 --> 01:00:12,889 i automatski stvari početi pojavljivati. 1310 01:00:12,889 --> 01:00:14,680 I to je sve u redu i tehnički korisno, 1311 01:00:14,680 --> 01:00:16,420 a mi ćemo shvatiti prije dugo kako se to radi. 1312 01:00:16,420 --> 01:00:18,429 Ali za sada, ja sam okreće off instant rezultate, 1313 01:00:18,429 --> 01:00:20,720 jer želim svoj preglednik vrsta rada stare škole pa 1314 01:00:20,720 --> 01:00:22,940 da mogu vidjeti što se događa. 1315 01:00:22,940 --> 01:00:23,840 >> Dakle, sada sam ovdje. 1316 01:00:23,840 --> 01:00:25,090 I želim tražiti mačke. 1317 01:00:25,090 --> 01:00:30,351 I primijetite vidim neke prijedloge, neke vrlo benigni prijedlozi 1318 01:00:30,351 --> 01:00:30,850 srećom. 1319 01:00:30,850 --> 01:00:34,730 A sada, ako sam pogodio Enter, da vidimo što se događa. 1320 01:00:34,730 --> 01:00:35,850 >> Dakle, postoje neke mačke. 1321 01:00:35,850 --> 01:00:37,540 A na vrhu je hit na Wikipediji. 1322 01:00:37,540 --> 01:00:39,820 Ali danas mi je stalo tehnologija se ovdje. 1323 01:00:39,820 --> 01:00:42,479 Dakle URL na koji sam poslan je to ovdje. 1324 01:00:42,479 --> 01:00:44,520 A ima nekih stvari sam stvarno ne razumijem. 1325 01:00:44,520 --> 01:00:47,430 >> Tako ću ići naprijed, jer Ja vrsta znati kako Google radi, 1326 01:00:47,430 --> 01:00:50,700 i ja ću destilirati ovo URL u svom najjednostavnijem obliku. 1327 01:00:50,700 --> 01:00:52,510 A sada ću pritisnite Enter opet. 1328 01:00:52,510 --> 01:00:53,360 I to još uvijek radi. 1329 01:00:53,360 --> 01:00:55,800 Imam stranicu rezultata Sve o mačkama. 1330 01:00:55,800 --> 01:00:58,460 >> Ali primijetite jednostavnost mog URL. 1331 01:00:58,460 --> 01:01:00,820 Ispada to je kako mnogo web djela. 1332 01:01:00,820 --> 01:01:03,500 Web je samo cjelina hrpa računala 1333 01:01:03,500 --> 01:01:05,320 trčanje softver koji se ulaz. 1334 01:01:05,320 --> 01:01:07,480 Nije mogao niz stil unosa. 1335 01:01:07,480 --> 01:01:09,670 Nije naredbenog retka Argumenti kao što smo navikli. 1336 01:01:09,670 --> 01:01:13,449 Oni se ulaz, ove web poslužitelji, putem URL-ova često. 1337 01:01:13,449 --> 01:01:15,240 I svaki put kad ste tražili nešto, 1338 01:01:15,240 --> 01:01:17,448 svaki put ste prijavljeni Facebook, svaki put kad ste 1339 01:01:17,448 --> 01:01:20,090 učinio ništa interaktivni s web stranica, što radite 1340 01:01:20,090 --> 01:01:24,340 učinkovito podnošenjem obrasca, pa da speak-- tekstualne okvire, potvrdne okvire, 1341 01:01:24,340 --> 01:01:27,880 kružiće, i sitnica koje šalju Informacije od vas na poslužitelj. 1342 01:01:27,880 --> 01:01:31,960 >> I ispada da weba poslužitelj zna gledati na taj URL 1343 01:01:31,960 --> 01:01:36,040 i analizirati ga, kao i na to gledate karaktera po znak u potrazi za bilo što 1344 01:01:36,040 --> 01:01:38,000 Zanimljivo, nakon upitnikom. 1345 01:01:38,000 --> 01:01:40,910 Jer nakon upitnikom, ispada, će doći 1346 01:01:40,910 --> 01:01:42,730 hrpa ključnih parova vrijednosti. 1347 01:01:42,730 --> 01:01:44,570 Mislim ključnu = vrijednost. 1348 01:01:44,570 --> 01:01:48,130 A onda, ako postoji multiple-- možda ampersand, neki drugi ključni = vrijednost, 1349 01:01:48,130 --> 01:01:50,200 znak za struju, ključna = vrijednost. 1350 01:01:50,200 --> 01:01:54,560 >> Tako smo vrsta vidjeli ovu ideju Prije nešto gdje ima vrijednost. 1351 01:01:54,560 --> 01:01:55,880 To je samo novi format ovdje. 1352 01:01:55,880 --> 01:01:59,040 A ja samo znam, po konvenciji, Google koristi Q za upit. 1353 01:01:59,040 --> 01:02:02,670 A onda, ako želim tražiti pse, ja Možete ručno tražiti pse kao što je to. 1354 01:02:02,670 --> 01:02:06,360 A onda sam očito sve neki rezultati pretraživanja uključuju pse. 1355 01:02:06,360 --> 01:02:07,727 >> Dakle, čini se da je zanimljiv. 1356 01:02:07,727 --> 01:02:10,060 I doista, što se događa ispod haube je to. 1357 01:02:10,060 --> 01:02:11,460 Dopustite mi da to učinite. 1358 01:02:11,460 --> 01:02:13,620 To je A- vidimo. 1359 01:02:13,620 --> 01:02:16,320 Pusti me natrag preko ovdje samo na trenutak. 1360 01:02:16,320 --> 01:02:19,810 >> Mi ćemo vidjeti da postoji drugi načini dostaviti podatke. 1361 01:02:19,810 --> 01:02:25,340 Dakle, ako sam se prijaviti na Facebook, ili Gmail, ili bilo koje druge popularne web stranice, 1362 01:02:25,340 --> 01:02:30,720 Čini vrsta loše ako sve što sam upisali u okvir za pretraživanje završi u mom URL, 1363 01:02:30,720 --> 01:02:32,850 u adresnu traku moje pregledniku. 1364 01:02:32,850 --> 01:02:33,690 Zašto? 1365 01:02:33,690 --> 01:02:35,395 Zašto je to tako blago zabrinjavajuća? 1366 01:02:35,395 --> 01:02:39,567 1367 01:02:39,567 --> 01:02:40,067 Da? 1368 01:02:40,067 --> 01:02:41,380 PUBLIKA: Upišite lozinku. 1369 01:02:41,380 --> 01:02:41,720 DAVID J. Malan: Da. 1370 01:02:41,720 --> 01:02:44,000 Pa što ako ono što sam utipkao je moja lozinka? 1371 01:02:44,000 --> 01:02:47,881 Nekako sam to ne želim tako očito vidljiva u adresnu traku moje pregledniku. 1372 01:02:47,881 --> 01:02:50,630 Jedan od njih, jer je moje neugodno sustanarom sklon gledati preko ramena, 1373 01:02:50,630 --> 01:02:53,980 i on ili ona sada može vidjeti, iako to je metaka kad sam ga upišete u, 1374 01:02:53,980 --> 01:02:54,810 mali krugovi. 1375 01:02:54,810 --> 01:02:56,010 Sada je u mojoj adresne trake. 1376 01:02:56,010 --> 01:02:59,270 >> Štoviše, ono što je istina o stvari imaju tendenciju da se upišete u adresnoj traci. 1377 01:02:59,270 --> 01:03:00,230 >> PUBLIKA: [nečujan] 1378 01:03:00,230 --> 01:03:01,505 >> DAVID J. Malan: Što je to? 1379 01:03:01,505 --> 01:03:02,630 PUBLIKA: Ona dobiva poslao. 1380 01:03:02,630 --> 01:03:03,510 DAVID J. Malan: Ona dobiva poslao. 1381 01:03:03,510 --> 01:03:05,102 I također, to dobiva sjetio. 1382 01:03:05,102 --> 01:03:07,060 Zato sljedeći put upišete stvari tamo, 1383 01:03:07,060 --> 01:03:10,440 često autocompletes a sjeća što ste upisali prije. 1384 01:03:10,440 --> 01:03:13,850 I tako je to pravi povijest da vaše sestre, ili svojim sustanarom, 1385 01:03:13,850 --> 01:03:16,830 ili tko može hodati do prilično mnogo vidjeti svaku web stranicu 1386 01:03:16,830 --> 01:03:19,760 ste posjetili jer je prijavljeni u toj adresne trake. 1387 01:03:19,760 --> 01:03:22,790 >> Štoviše, pretpostavimo da želite upload fotografija na Facebook. 1388 01:03:22,790 --> 01:03:26,520 Kako u svijetu su ti će staviti fotografiju u URL? 1389 01:03:26,520 --> 01:03:30,217 >> Pa ispada to možete učiniti u nekim način, ali to je svakako nisu očiti. 1390 01:03:30,217 --> 01:03:33,050 I tako je taj drugi način slanje informacija u omotnicu, 1391 01:03:33,050 --> 01:03:35,680 Ne putem GET, ali preko nešto što se zove POST. 1392 01:03:35,680 --> 01:03:38,060 I u teoriji, to izgleda ljepušan velik dio isti. 1393 01:03:38,060 --> 01:03:41,270 Umjesto riječ GET, POST kažemo, a zatim iste vrste formata. 1394 01:03:41,270 --> 01:03:43,310 >> Na primjer, to je screenshot onoga što 1395 01:03:43,310 --> 01:03:46,920 to bi moglo izgledati ako pokušam prijavom u Facebook, koja me šalje u datoteku 1396 01:03:46,920 --> 01:03:51,230 zove login.php, što je zapravo još i danas se zove kao takva. 1397 01:03:51,230 --> 01:03:53,910 To je isti naziv datoteke Marko dali to prije mnogo godina. 1398 01:03:53,910 --> 01:03:58,520 To je program pisao u PHP putem koje korisnici mogu prijaviti na web stranici. 1399 01:03:58,520 --> 01:04:00,370 >> Ali trebate poslati neke dodatne ulaz. 1400 01:04:00,370 --> 01:04:05,170 I prije nego što ide nakon naziv datoteke kao što je učinio prije sa cats-- 1401 01:04:05,170 --> 01:04:09,720 q = cats-- može ići niže u zahtjevu, dublje unutar omotnice ako 1402 01:04:09,720 --> 01:04:12,440 će, gdje nitko ne može vidjeti, i gdje se ne završe 1403 01:04:12,440 --> 01:04:15,670 u korisnikovom pregledniku traku, a time i Ne sjećam se da ljudi Snoop 1404 01:04:15,670 --> 01:04:16,290 oko. 1405 01:04:16,290 --> 01:04:21,260 >> I tako ovdje je moj e-mail adresu i moj lažni lozinku zapravo ići. 1406 01:04:21,260 --> 01:04:27,400 A ako Facebook koristi Ne HTTP, HTTPS, ali, 1407 01:04:27,400 --> 01:04:30,710 sve ovo će biti kodiran, kodirani, ala Cezara ili Vigenere, 1408 01:04:30,710 --> 01:04:34,960 ali još fancily tako da nitko zapravo može vidjeti ovaj zahtjev. 1409 01:04:34,960 --> 01:04:38,120 >> I tako doista, bilo koje vrijeme imate URL koji počinje s HTTPS, 1410 01:04:38,120 --> 01:04:39,560 to samo znači da je kodiran. 1411 01:04:39,560 --> 01:04:42,710 Ali na kraju dana, što je zapravo unutar tih kuverti? 1412 01:04:42,710 --> 01:04:44,070 Ovo je super niska razina. 1413 01:04:44,070 --> 01:04:46,240 I na sreću, nismo će nužno 1414 01:04:46,240 --> 01:04:49,310 ići tako nisko razinu svaki put do započeti pisanje zanimljiv program. 1415 01:04:49,310 --> 01:04:51,060 Možemo početi uzimati ideje tjedan jedan 1416 01:04:51,060 --> 01:04:54,020 kroz pet, pretpostavimo da postoji Sada je to infrastruktura koja 1417 01:04:54,020 --> 01:04:57,160 omogućuje nam pisanje softvera koja djeluje na webu, 1418 01:04:57,160 --> 01:05:00,120 i to će nam omogućiti Ovog će tjedna početi 1419 01:05:00,120 --> 01:05:01,840 gleda na nešto što se zove HTML. 1420 01:05:01,840 --> 01:05:04,750 To je stvar koja je još dublje unutar omotnice, 1421 01:05:04,750 --> 01:05:06,150 ali to je stvar smo će početi pisati. 1422 01:05:06,150 --> 01:05:08,020 A to je stvar više Zanimljivo, mi smo 1423 01:05:08,020 --> 01:05:11,420 će pisati programe koji počinje generiranje automatski 1424 01:05:11,420 --> 01:05:15,410 tako da naši web stranice ne tvrdi kodirani, ali se ulaz i izlaz proizvode. 1425 01:05:15,410 --> 01:05:18,810 >> Ovo je možda najjednostavniji web stranica možete učiniti u svijetu. 1426 01:05:18,810 --> 01:05:23,000 Ja doista može otvoriti nešto glupo kao što TextEdit 1427 01:05:23,000 --> 01:05:26,160 na moj Mac, što me samo daje jednostavan tekst prozor kao što je ovaj. 1428 01:05:26,160 --> 01:05:29,510 PC korisnici imaju Notepad.ext, koji je vrlo sličan u duhu. 1429 01:05:29,510 --> 01:05:33,212 >> I ja se doslovno upisati iz this-- DOCTYPE HTML, 1430 01:05:33,212 --> 01:05:34,420 koji izgleda malo zagonetan. 1431 01:05:34,420 --> 01:05:35,850 No, mi ćemo se vratiti na to. 1432 01:05:35,850 --> 01:05:38,730 HTML, s tim čudno kutna zagrade i kose crte, 1433 01:05:38,730 --> 01:05:42,240 unutar kojih sada ću reći ovdje dolazi glavu moje web stranice. 1434 01:05:42,240 --> 01:05:45,220 Unutar toga, samo sam Znaš, i uskoro ćete znati, 1435 01:05:45,220 --> 01:05:47,850 da ja mogu staviti naslov moje web stranice. 1436 01:05:47,850 --> 01:05:49,720 A onda ispod voditelj web stranice je 1437 01:05:49,720 --> 01:05:51,972 ići na tzv Tijelo web stranice. 1438 01:05:51,972 --> 01:05:54,180 A ja sam samo uvlačenje jednostavno kao u C vrsta zadržati 1439 01:05:54,180 --> 01:05:57,620 stvari lijepo čitati stilski. 1440 01:05:57,620 --> 01:06:04,745 A sada ću spasiti ovo kao file na moj desktop, zove hello.html. 1441 01:06:04,745 --> 01:06:06,770 >> A ja ću reći da, koristite HTML. 1442 01:06:06,770 --> 01:06:09,690 Nemojte ga promijeniti Txt, čak iako je sve to je tekstualna datoteka, 1443 01:06:09,690 --> 01:06:12,130 baš kao i program C napisano s uređivač teksta. 1444 01:06:12,130 --> 01:06:15,080 Iako nije u CS50 IDE Na Trenutak, samo ovdje na mom Macu. 1445 01:06:15,080 --> 01:06:18,490 >> I ako ja sad ići na moj radna površina, vidjet ćete hello.html. 1446 01:06:18,490 --> 01:06:20,720 Ako sam dvaput kliknite ovaj, to će otvoriti Chrome. 1447 01:06:20,720 --> 01:06:23,260 I premda ove datoteke dogoditi da žive na moj radna površina, 1448 01:06:23,260 --> 01:06:26,550 da je možda najjednostavniji Web stranice sam mogao napraviti. 1449 01:06:26,550 --> 01:06:30,080 >> Uočite da naslov Kartica put do vrha je Hello World. 1450 01:06:30,080 --> 01:06:32,470 Tijelo web stranice je doista Hello World. 1451 01:06:32,470 --> 01:06:35,830 I sve sam učinio da se U tom trenutku je provesti, 1452 01:06:35,830 --> 01:06:38,342 ili je napisati novi jezik, zvan HTML. 1453 01:06:38,342 --> 01:06:40,300 To nije programiranje jezik kao C Nema 1454 01:06:40,300 --> 01:06:42,508 ne će biti uvjeti, i petlje, i funkcije. 1455 01:06:42,508 --> 01:06:46,560 To je označni jezik, u kojem Slučaj ti samo reći primanje 1456 01:06:46,560 --> 01:06:48,410 Program ono što želite učiniti. 1457 01:06:48,410 --> 01:06:51,195 To znači hej preglednik, ovdje dolazi HTML stranica. 1458 01:06:51,195 --> 01:06:53,040 Hej preglednik, ovdje dolazi glava moju stranicu. 1459 01:06:53,040 --> 01:06:55,130 Hej preglednik, ovdje dolazi tijelo moje stranice. 1460 01:06:55,130 --> 01:06:57,100 Hej preglednik, to je to za tijelo. 1461 01:06:57,100 --> 01:06:59,350 To je to za HTML stranice. 1462 01:06:59,350 --> 01:07:03,560 >> I s tim jednostavnim definicijama sami ćemo uskoro vidjeti da je jedan, 1463 01:07:03,560 --> 01:07:05,122 možemo predstavljati to kao stablo. 1464 01:07:05,122 --> 01:07:06,080 No, više o tome kasnije. 1465 01:07:06,080 --> 01:07:08,788 Dakle, to će sve povezati na naši najnoviji strukture podataka. 1466 01:07:08,788 --> 01:07:12,460 Drugo, mi ćemo uvesti ovu glupu šalu. 1467 01:07:12,460 --> 01:07:15,680 To je stvarna tetovaža koje ovaj tip je imao na vratu. 1468 01:07:15,680 --> 01:07:19,660 To je vjerojatno smiješno prvi tjedan ili dva, a nakon toga, možda ne toliko. 1469 01:07:19,660 --> 01:07:22,960 >> Ali HTML, pa čak i web Stranica Upravo sam napravio, super um 1470 01:07:22,960 --> 01:07:25,670 numbingly disappointing-- samo govoreći Pozdrav svijetu 1471 01:07:25,670 --> 01:07:27,210 u crnoj tekst na bijeloj pozadini. 1472 01:07:27,210 --> 01:07:28,680 Sigurno možemo učiniti mnogo bolje. 1473 01:07:28,680 --> 01:07:31,552 I mi ćemo učiniti uvođenjem drugi jezik zove CSS. 1474 01:07:31,552 --> 01:07:34,760 To također nije programski language-- nema petlje, uvjeti, ili petlje, 1475 01:07:34,760 --> 01:07:38,470 ali stvarno, samo sintaksu kojom možemo reći, da ovaj tekst velika. 1476 01:07:38,470 --> 01:07:39,415 Napravite ovaj tekst mala. 1477 01:07:39,415 --> 01:07:40,040 Pravo poravnajte ga. 1478 01:07:40,040 --> 01:07:40,650 Lijeva poravnajte ga. 1479 01:07:40,650 --> 01:07:41,195 Učinite to ružičasta. 1480 01:07:41,195 --> 01:07:41,820 Učinite to ljubičasta. 1481 01:07:41,820 --> 01:07:42,650 Učinite to plava. 1482 01:07:42,650 --> 01:07:44,860 Ili bilo koji broj druge vizualne efekte. 1483 01:07:44,860 --> 01:07:48,590 I tako ćemo vidjeti kako započeti stylizing web stranice, tako da oni izgledaju na način 1484 01:07:48,590 --> 01:07:50,480 bliže ono što želimo. 1485 01:07:50,480 --> 01:07:56,930 >> I na kraju, što doista uništio možda puno TV i film za vas. 1486 01:07:56,930 --> 01:07:58,930 Mislio sam da ćemo završiti ovdje s našim konačnim sekundi 1487 01:07:58,930 --> 01:08:03,700 na završnom isječak koji pokazuje Kako sjeckanje na internetskim radovima. 1488 01:08:03,700 --> 01:08:06,250 Ako smo mogli prigušiti pali zadnju put. 1489 01:08:06,250 --> 01:08:07,250 >> [VIDEO PLAYBACK] 1490 01:08:07,250 --> 01:08:09,520 >> -Nema šanse. 1491 01:08:09,520 --> 01:08:10,650 Ja sam uzimajući sjeckan. 1492 01:08:10,650 --> 01:08:11,770 >> -Okorsky? 1493 01:08:11,770 --> 01:08:14,230 >> -No-- Ne, to je glavni. 1494 01:08:14,230 --> 01:08:17,074 Već su spalili preko NCIS javnosti firewall. 1495 01:08:17,074 --> 01:08:19,990 -Pa, Izolirati čvor i deponij ih na drugoj strani rutera. 1496 01:08:19,990 --> 01:08:20,990 -Pokušavam. 1497 01:08:20,990 --> 01:08:23,990 Ona se kreće prebrzo. 1498 01:08:23,990 --> 01:08:25,179 >> Oh, to nije dobro. 1499 01:08:25,179 --> 01:08:27,470 Oni pomoću naše veze [Nečujan] Ova baza podataka. 1500 01:08:27,470 --> 01:08:28,458 Sever to. 1501 01:08:28,458 --> 01:08:28,958 -Ne Mogu. 1502 01:08:28,958 --> 01:08:29,454 To je točka napada. 1503 01:08:29,454 --> 01:08:31,438 On ili ona je samo će nakon mog stroja. 1504 01:08:31,438 --> 01:08:32,430 >> -To Nije moguće. 1505 01:08:32,430 --> 01:08:33,847 Postoji DOD razina moje šifriranja. 1506 01:08:33,847 --> 01:08:35,055 Bilo bi trajati mjesecima get-- 1507 01:08:35,055 --> 01:08:35,857 -Hej, Što je to? 1508 01:08:35,857 --> 01:08:36,398 Video igre? 1509 01:08:36,398 --> 01:08:37,886 >> -Ne Tony, mi smo uzimajući sjeckan. 1510 01:08:37,886 --> 01:08:40,795 >> -Ako Su dobili u Abby računalu, cijeli NCIS mreža je sljedeći. 1511 01:08:40,795 --> 01:08:42,050 >> -Ja Ga ne može zaustaviti. 1512 01:08:42,050 --> 01:08:43,050 Učinite nešto McGee. 1513 01:08:43,050 --> 01:08:44,550 >> -I've Nikada nije vidio kod ovako. 1514 01:08:44,550 --> 01:08:47,432 1515 01:08:47,432 --> 01:08:48,571 Oh. 1516 01:08:48,571 --> 01:08:49,196 Gdje je to ići? 1517 01:08:49,196 --> 01:08:50,604 Abby? 1518 01:08:50,604 --> 01:08:51,520 -Ja Nisam ništa. 1519 01:08:51,520 --> 01:08:53,020 Mislio sam da jesam. 1520 01:08:53,020 --> 01:08:54,520 >> -Ne. 1521 01:08:54,520 --> 01:08:57,232 >> -Učinio sam. 1522 01:08:57,232 --> 01:08:58,307 >> [END PLAYBACK] 1523 01:08:58,307 --> 01:09:00,390 DAVID J. Malan: Najbolji dio je dvoje ljudi upisivanjem 1524 01:09:00,390 --> 01:09:02,170 na tipkovnici istovremeno. 1525 01:09:02,170 --> 01:09:03,200 >> Dakle, to je to za CS50. 1526 01:09:03,200 --> 01:09:04,700 Držat ćemo oko radnog vremena. 1527 01:09:04,700 --> 01:09:06,344 I mi Vidimo se sljedeći put. 1528 01:09:06,344 --> 01:09:07,760 [Muziciranja - "Seinfeld TEMA"] 1529 01:09:07,760 --> 01:09:11,139 1530 01:09:11,139 --> 01:09:11,680 Ovo je CS50. 1531 01:09:11,680 --> 01:09:17,960 1532 01:09:17,960 --> 01:09:20,854 Ne želim biti gusar. 1533 01:09:20,854 --> 01:09:21,770 ZVUČNIK 2: Yarr David. 1534 01:09:21,770 --> 01:09:23,700 To je u redu dvostruki što se nosi. 1535 01:09:23,700 --> 01:09:26,450 Puno prihvaćati u tom dimu. 1536 01:09:26,450 --> 01:09:29,327