1 00:00:00,000 --> 00:00:03,395 >> [MUSIC PLAYING] 2 00:00:03,395 --> 00:00:13,100 3 00:00:13,100 --> 00:00:15,570 >> DAVID J. Malan: Jadi aku hanya ingin meredakan untuk. 4 00:00:15,570 --> 00:00:18,260 Aku akan echo persis apa Scaz kata tentang memori institusional. 5 00:00:18,260 --> 00:00:20,350 CS50 telah sekitar untuk 20 tahun di Harvard. 6 00:00:20,350 --> 00:00:22,280 Dan kenyataannya adalah, dari para senior di bawah, 7 00:00:22,280 --> 00:00:25,045 ada setiap tahunnya jaminan bahwa mahasiswa, yang tahun kedua, 8 00:00:25,045 --> 00:00:26,870 dan junior dan juga para senior mengambil 9 00:00:26,870 --> 00:00:30,360 CS50, bahwa Anda akhirnya baik-baik saja. 10 00:00:30,360 --> 00:00:32,680 >> Kenyataannya adalah, siswa tidak gagal CS50. 11 00:00:32,680 --> 00:00:35,740 Bahkan, dalam kasus yang jarang di mana kami sudah Es atau Fs, 12 00:00:35,740 --> 00:00:37,990 itu benar-benar telah karena keadaan khusus, 13 00:00:37,990 --> 00:00:39,840 apakah itu medis atau pribadi. 14 00:00:39,840 --> 00:00:41,830 Ds adalah sangat jarang juga. 15 00:00:41,830 --> 00:00:45,270 Dan saya dapat mengatakan dengan nyaman, meskipun kami biasanya tidak mengungkapkan statistik, 16 00:00:45,270 --> 00:00:48,450 tetapi mengingat bahwa tidak ada memori institusional sini apapun, 17 00:00:48,450 --> 00:00:51,810 mayoritas siswa di CS50 akhirnya mendapatkan Berbagai nilai. 18 00:00:51,810 --> 00:00:54,720 Sebuah potongan signifikan berakhir berakhir di kisaran B juga. 19 00:00:54,720 --> 00:00:57,490 >> Jadi meskipun Anda mungkin menyamakan di bertiga pikiran Anda 20 00:00:57,490 --> 00:01:00,690 dengan 60% dan oleh karena itu Ds, atau Cs, atau sejenisnya, 21 00:01:00,690 --> 00:01:02,530 itu benar-benar tidak sejalan dengan realitas. 22 00:01:02,530 --> 00:01:05,238 Bahkan, kita berarti persis apa yang kita mengatakan pada awal istilah 23 00:01:05,238 --> 00:01:08,380 bahwa begitu banyak siswa di CS50, baik di Cambridge dan di sini di New Haven, 24 00:01:08,380 --> 00:01:10,220 tidak pernah mengambil kursus CS sebelumnya. 25 00:01:10,220 --> 00:01:13,090 Dan apa yang memang pada akhirnya penting adalah di mana Anda berakhir di minggu 12 26 00:01:13,090 --> 00:01:15,882 relatif terhadap diri Anda di minggu nol. 27 00:01:15,882 --> 00:01:17,590 Sekarang kita memiliki beberapa trek dalam kursus 28 00:01:17,590 --> 00:01:20,548 Anda tahu-- kurang nyaman, lebih nyaman, di suatu tempat di antara. 29 00:01:20,548 --> 00:01:23,790 Dan memang, ketika Anda mendapatkan statistik minggu ini kuis, 30 00:01:23,790 --> 00:01:27,460 jangan berkecil hati jika, terutama jika Anda merasa bahwa Anda di sekitar mean 31 00:01:27,460 --> 00:01:30,780 atau di bawah rata-rata atau median, terutama karena kita belum tentu 32 00:01:30,780 --> 00:01:33,560 mengambil semua demografi mereka memperhitungkan pertengahan semester 33 00:01:33,560 --> 00:01:35,000 dengan statistik grading. 34 00:01:35,000 --> 00:01:37,250 >> Dengan kata lain, kita tahu statistik setiap tahun 35 00:01:37,250 --> 00:01:39,570 bahwa siswa yang kurang nyaman, melakukan sedikit lebih buruk pada kuis. 36 00:01:39,570 --> 00:01:42,050 Dan siswa yang lebih nyaman melakukan sedikit lebih baik di kuis. 37 00:01:42,050 --> 00:01:45,430 Tapi per janji dalam silabus dan juga di minggu pertama kuliah, 38 00:01:45,430 --> 00:01:46,880 kita mengambil semua itu ke rekening. 39 00:01:46,880 --> 00:01:48,900 >> Memang, pada akhir tahun, apa yang kita akhirnya melakukan 40 00:01:48,900 --> 00:01:52,154 adalah normalisasi semua nilai di bagian, baik di Cambridge 41 00:01:52,154 --> 00:01:54,570 dan sekarang di sini di New Haven, yang berarti memperhitungkan 42 00:01:54,570 --> 00:01:57,310 gaya yang berbeda, yang berbeda dengan kekerasan, jenis yang berbeda 43 00:01:57,310 --> 00:02:00,722 kepribadian bahwa individu TA miliki di sini dan di Cambridge 44 00:02:00,722 --> 00:02:02,930 sehingga Anda tidak di Kerugian bahkan jika Anda hanya 45 00:02:02,930 --> 00:02:06,120 kebetulan telah memiliki TF atau TA yang sudah sedikit lebih sulit pada Anda 46 00:02:06,120 --> 00:02:07,170 di dalam pikiranmu. 47 00:02:07,170 --> 00:02:10,139 >> Dua, kami memperhitungkan kenyamanan akun tingkat dan latar belakang yang sebenarnya, atau kurangnya 48 00:02:10,139 --> 00:02:13,310 daripadanya, saat mengambil skor memperhitungkan kuis. 49 00:02:13,310 --> 00:02:14,830 Jadi kedua adalah faktor di. 50 00:02:14,830 --> 00:02:17,142 Dan pada akhir hari, karena itu selalu terjadi 51 00:02:17,142 --> 00:02:19,100 bahwa seorang siswa berakhir di bagian kurang nyaman 52 00:02:19,100 --> 00:02:24,250 ketika dia benar-benar milik dalam di-antara atau sebaliknya, 53 00:02:24,250 --> 00:02:26,230 semuanya begitu sangat individual. 54 00:02:26,230 --> 00:02:29,560 Memang, Anda akan mendapatkan kesal pada kami di akhir masa ketika kita terlambat 55 00:02:29,560 --> 00:02:32,630 mengirimkan nilai Anda karena dengan Scaz, dan Jason, dan Andy, dan aku, 56 00:02:32,630 --> 00:02:35,430 dan tim akan melakukan di Cambridge secara harfiah 57 00:02:35,430 --> 00:02:38,480 memiliki ratusan email kembali dan balik dengan semua ratus kursus 58 00:02:38,480 --> 00:02:41,279 TA, di sini dan di Cambridge, meminta mereka apa 59 00:02:41,279 --> 00:02:44,070 mereka berpikir tentang semua siswanya berdasarkan draft nilai. 60 00:02:44,070 --> 00:02:46,230 Dan segala sesuatu yang ada setelah adalah sangat individual. 61 00:02:46,230 --> 00:02:49,230 Jadi sejauh kita mengenal Anda di jam kantor, bagian, dan banyak lagi, 62 00:02:49,230 --> 00:02:51,350 semua itu terlalu diperhitungkan. 63 00:02:51,350 --> 00:02:55,210 >> Jadi meskipun kita cenderung menggunakan lima ini skala titik, silakan, melepaskan diri 64 00:02:55,210 --> 00:02:57,492 dari asumsi bahwa tiga memang 60%. 65 00:02:57,492 --> 00:02:58,450 Hal ini dimaksudkan untuk menjadi baik. 66 00:02:58,450 --> 00:03:01,360 Dan asisten pengajar dibebankan pada awal jangka 67 00:03:01,360 --> 00:03:04,050 mencoba untuk menjaga skor dalam berpasangan, dan bertiga, 68 00:03:04,050 --> 00:03:06,590 dan merangkak berkisar sehingga kita benar-benar memiliki ruang untuk tumbuh. 69 00:03:06,590 --> 00:03:08,610 Dan kami benar-benar memiliki tolok ukur dimana 70 00:03:08,610 --> 00:03:11,086 kami dapat memberikan yang berguna umpan balik tentang bagaimana Anda melakukan 71 00:03:11,086 --> 00:03:12,210 dan bagaimana Anda maju. 72 00:03:12,210 --> 00:03:15,130 Jadi jangan mengambil hati. 73 00:03:15,130 --> 00:03:20,565 >> Apakah ada pertanyaan saya dapat membantu mengatasi atau masalah saya dapat membantu meredakan? 74 00:03:20,565 --> 00:03:23,800 Atau janji saya dapat mencoba untuk menjaga? 75 00:03:23,800 --> 00:03:24,690 Tidak? 76 00:03:24,690 --> 00:03:25,330 OKE. 77 00:03:25,330 --> 00:03:26,010 >> Baiklah. 78 00:03:26,010 --> 00:03:28,970 Jadi dengan mengatakan bahwa, ini adalah CS50. 79 00:03:28,970 --> 00:03:31,670 Ini adalah awal minggu enam di sini di New Haven. 80 00:03:31,670 --> 00:03:33,820 Mari kita mulai dengan singkat peredupan lampu 81 00:03:33,820 --> 00:03:37,439 untuk mengatur panggung untuk konten saat ini. 82 00:03:37,439 --> 00:03:38,105 [VIDEO PLAYBACK] 83 00:03:38,105 --> 00:03:44,045 [MUSIC PLAYING] 84 00:03:44,045 --> 00:03:46,600 -Dia Datang dengan pesan. 85 00:03:46,600 --> 00:03:50,300 86 00:03:50,300 --> 00:03:52,900 Dengan protokol semua sendiri. 87 00:03:52,900 --> 00:04:06,417 88 00:04:06,417 --> 00:04:13,090 Dia datang ke dunia firewall keren, router tidak peduli, dan bahaya yang jauh lebih buruk 89 00:04:13,090 --> 00:04:16,079 bahwa kematian. 90 00:04:16,079 --> 00:04:21,079 Dia cepat, dia kuat, dia TCP / IP. 91 00:04:21,079 --> 00:04:23,120 Dan dia punya alamat Anda. 92 00:04:23,120 --> 00:04:25,820 93 00:04:25,820 --> 00:04:29,268 Prajurit jaring. 94 00:04:29,268 --> 00:04:29,917 >> [END PLAYBACK] 95 00:04:29,917 --> 00:04:31,000 DAVID J. Malan: Baiklah. 96 00:04:31,000 --> 00:04:32,030 Ini adalah CS50. 97 00:04:32,030 --> 00:04:33,820 Ini adalah awal minggu enam. 98 00:04:33,820 --> 00:04:37,270 Dan ini adalah awal dari tampilan kami di internet dan web programming. 99 00:04:37,270 --> 00:04:41,220 Dan, mungkin yang paling menggairahkan, hari ini menandai transisi bagi kita 100 00:04:41,220 --> 00:04:43,780 dari baris perintah kami dunia C ke web 101 00:04:43,780 --> 00:04:47,020 dunia berbasis PHP, HTML dan, dan CSS, dan SQL, dan JavaScript, 102 00:04:47,020 --> 00:04:49,800 dan banyak lagi yang ada di cakrawala. 103 00:04:49,800 --> 00:04:53,390 >> Tapi pertama, itu telah datang ke perhatian kita dalam berjalan di kampus yang ada 104 00:04:53,390 --> 00:04:57,914 adalah kamar mandi tertentu di sini di New Haven disebut ruang Harvard, yang 105 00:04:57,914 --> 00:04:59,080 adalah sedikit diklik di sini. 106 00:04:59,080 --> 00:05:03,830 Tapi memang, seseorang pergi ke waktu dan biaya etsa di Harvard kamar 107 00:05:03,830 --> 00:05:05,700 di sini ruangan ini. 108 00:05:05,700 --> 00:05:07,790 Terima kasih untuk itu. 109 00:05:07,790 --> 00:05:11,020 Saya tidak bisa mengatakan kami memiliki analog di Cambridge belum, 110 00:05:11,020 --> 00:05:14,060 tapi saya pikir kami memiliki proyek kecil untuk diri kita sendiri sekarang ketika kita kembali. 111 00:05:14,060 --> 00:05:15,890 Jadi terima kasih untuk itu. 112 00:05:15,890 --> 00:05:18,340 >> Jadi cepat melihat kembali tempat kami tinggalkan pekan lalu 113 00:05:18,340 --> 00:05:21,010 dan di mana Anda akan datang ini minggu dengan masalah mengatur lima. 114 00:05:21,010 --> 00:05:24,350 Jadi dalam masalah mengatur lima, Anda akan ditantang untuk menerapkan pemeriksa ejaan. 115 00:05:24,350 --> 00:05:26,630 Dan untuk melakukan itu, Anda akan menyerahkan teks yang cukup besar 116 00:05:26,630 --> 00:05:29,160 file dengan seperti 140.000 kata bahasa Inggris. 117 00:05:29,160 --> 00:05:32,610 Dan Anda akan ditantang untuk memutuskan pada struktur data yang Anda 118 00:05:32,610 --> 00:05:35,340 ingin memuat semua kata-kata ke dalam memori, dan ke RAM, 119 00:05:35,340 --> 00:05:38,470 dan kemudian menerapkan beberapa fungsi, salah satunya akan menjadi memeriksa. 120 00:05:38,470 --> 00:05:41,555 Dimana ketika melewati sebuah argumen, kata, fungsi cek 121 00:05:41,555 --> 00:05:43,430 hanya akan memiliki mengatakan benar atau salah, 122 00:05:43,430 --> 00:05:44,990 ini adalah kata dalam kamus. 123 00:05:44,990 --> 00:05:47,110 >> Tapi Anda akan memiliki beberapa desain kebijaksanaan dan tantangan 124 00:05:47,110 --> 00:05:48,568 ketika datang ke menerapkan itu. 125 00:05:48,568 --> 00:05:51,250 Dalam pelaksanaan sederhana, Anda bisa pasti 126 00:05:51,250 --> 00:05:53,960 menerapkan pemeriksa ejaan di kamus mendasari 127 00:05:53,960 --> 00:05:55,380 dengan jenis struktur data? 128 00:05:55,380 --> 00:05:57,796 Anda hanya perlu menyimpan keseluruhan sekelompok string dalam memori? 129 00:05:57,796 --> 00:06:00,074 Apa pergi untuk menjawab dari dua minggu mungkin? 130 00:06:00,074 --> 00:06:00,740 AUDIENCE: Array. 131 00:06:00,740 --> 00:06:01,500 DAVID J. Malan: Anda dapat menggunakan sebuah array. 132 00:06:01,500 --> 00:06:02,750 Dan itu tidak semua yang buruk. 133 00:06:02,750 --> 00:06:05,631 Tapi Anda tidak perlu tahu di muka seberapa besar array 134 00:06:05,631 --> 00:06:08,630 Anda akan membutuhkan, jika Anda tidak tahu file tentu terlebih dahulu. 135 00:06:08,630 --> 00:06:10,110 Jadi Anda akan harus menggunakan sedikit tipuan 136 00:06:10,110 --> 00:06:11,970 seperti malloc, seperti kita mulai menggunakan. 137 00:06:11,970 --> 00:06:13,977 Atau kita bisa mengatasi bahwa perhatian dengan menggunakan 138 00:06:13,977 --> 00:06:16,810 apa struktur data lain yang menjadi semacam perangkat tambahan marjinal 139 00:06:16,810 --> 00:06:17,894 pada array? 140 00:06:17,894 --> 00:06:18,810 AUDIENCE: Daftar Linked. 141 00:06:18,810 --> 00:06:21,270 DAVID J. Malan: Seperti terkait daftar, dimana kita mendapatkan beberapa dinamisme. 142 00:06:21,270 --> 00:06:22,686 Tapi ada beban sedikit lebih. 143 00:06:22,686 --> 00:06:24,150 Kami memiliki pointer untuk mempertahankan. 144 00:06:24,150 --> 00:06:25,890 Dan Anda belum dikodekan ini up, tapi pasti ada 145 00:06:25,890 --> 00:06:28,473 menjadi kompleksitas sedikit lebih daripada hanya menggunakan kurung siku 146 00:06:28,473 --> 00:06:30,080 dan melompat-lompat array. 147 00:06:30,080 --> 00:06:33,340 >> Tapi kali array yang berjalan, jika Anda mencari sebuah kata, 148 00:06:33,340 --> 00:06:34,179 mungkin log n. 149 00:06:34,179 --> 00:06:35,970 Tapi sekali lagi, itu mungkin sedikit non-sepele 150 00:06:35,970 --> 00:06:38,734 untuk membangun array tidak mengetahui ukuran di muka. 151 00:06:38,734 --> 00:06:41,150 Sebuah linked list meskipun, jika Anda hanya menyimpan sekelompok string 152 00:06:41,150 --> 00:06:43,300 dalam linked list, apa batas atas Anda 153 00:06:43,300 --> 00:06:46,920 pada waktu berjalan akan mencari untuk atau check kata dalam daftar itu? 154 00:06:46,920 --> 00:06:47,700 >> AUDIENCE: n. 155 00:06:47,700 --> 00:06:50,575 >> DAVID J. Malan: Ya, O besar n atau linear karena dalam kasus terburuk, 156 00:06:50,575 --> 00:06:52,640 kata tersebut seperti kata Z semua jalan di akhir. 157 00:06:52,640 --> 00:06:55,350 Dan karena linked list, karena mereka panah secara default, 158 00:06:55,350 --> 00:06:58,280 dalam daftar sendiri-sendiri terkait, hanya pergi dari satu arah ke arah yang lain, 159 00:06:58,280 --> 00:06:59,590 Anda tidak dapat melompat-lompat. 160 00:06:59,590 --> 00:07:01,160 Anda harus mengikuti semua dari mereka. 161 00:07:01,160 --> 00:07:05,505 >> Jadi kami mengusulkan pada akhir pekan lalu, minggu lima, bahwa ada cara yang lebih baik. 162 00:07:05,505 --> 00:07:08,727 Dan pada kenyataannya, grail suci benar-benar akan waktu yang konstan 163 00:07:08,727 --> 00:07:10,560 dimana ketika Anda ingin untuk mencari kata, Anda 164 00:07:10,560 --> 00:07:13,370 mendapatkan jawaban instan terlepas berapa banyak kata-kata yang sudah 165 00:07:13,370 --> 00:07:14,350 dalam kamus Anda. 166 00:07:14,350 --> 00:07:17,680 >> Ini adalah rendition seorang seniman dari apa yang Anda sebut sebuah tabel hash. 167 00:07:17,680 --> 00:07:21,900 Dan tabel hash adalah jenis bagus amalgam dari array-- ditarik secara vertikal 168 00:07:21,900 --> 00:07:26,416 di sini, hanya because-- dan kemudian terkait list-- menarik horizontal di sini. 169 00:07:26,416 --> 00:07:28,790 Dan tabel hash dapat diimplementasikan dalam tandan cara. 170 00:07:28,790 --> 00:07:34,110 Ini kutipan dari buku teks terjadi menggunakan tanggal lahir orang-orang ini 171 00:07:34,110 --> 00:07:38,940 sebagai sarana yang itu memutuskan di mana untuk menempatkan nama seseorang. 172 00:07:38,940 --> 00:07:41,230 Jadi ini adalah sebuah kamus jika Anda akan nama. 173 00:07:41,230 --> 00:07:45,240 Dan untuk mempercepat menempatkan Nama-nama dalam struktur data, 174 00:07:45,240 --> 00:07:49,280 mereka melihat, tampaknya, orang-orang ini yang lahir tanggal sehubungan dengan bulan. 175 00:07:49,280 --> 00:07:50,570 >> Jadi 1-31. 176 00:07:50,570 --> 00:07:52,910 Dan melupakan Februari dan sudut kasus seperti itu. 177 00:07:52,910 --> 00:07:57,050 Dan jika ulang tahun Anda adalah pada Januari 1, atau Februari 1, atau 1 Desember 178 00:07:57,050 --> 00:07:59,890 Anda akan berakhir di yang pertama rantai di bagian atas. 179 00:07:59,890 --> 00:08:02,150 Jika tanggal lahir Anda seperti 25 bulan, 180 00:08:02,150 --> 00:08:04,567 Anda akan berakhir di ember nomor 25. 181 00:08:04,567 --> 00:08:07,400 Dan jika sudah ada seseorang di sana di salah satu dari mereka lokasi, apa 182 00:08:07,400 --> 00:08:10,470 Anda mulai melakukan dengan ini terkait daftar adalah jahitan mereka bersama-sama 183 00:08:10,470 --> 00:08:14,320 sehingga Anda dapat memiliki sewenang-wenang jumlah orang, atau apa pun, 184 00:08:14,320 --> 00:08:15,580 di lokasi tersebut. 185 00:08:15,580 --> 00:08:18,400 >> Jadi Anda memiliki jenis campuran waktu yang konstan untuk hashing. 186 00:08:18,400 --> 00:08:21,160 Dan untuk hash sesuatu berarti mengambil sebagai masukan seperti orang, 187 00:08:21,160 --> 00:08:25,360 atau atau namanya, atau atau kelahirannya tanggal, dan kemudian memutuskan beberapa output 188 00:08:25,360 --> 00:08:29,780 berdasarkan itu, seperti melihat mereka ulang tahun dan keluaran satu sampai 31. 189 00:08:29,780 --> 00:08:31,900 >> Jadi Anda mungkin memiliki sedikit waktu linier, 190 00:08:31,900 --> 00:08:34,429 tetapi dalam kenyataannya, dan seperti dalam kasus permasalahan yang lima, 191 00:08:34,429 --> 00:08:36,220 kita tidak akan bekerja di P ditetapkan lima 192 00:08:36,220 --> 00:08:40,059 begitu banyak tentang menjalankan asymptotic waktu, seperti kelambatan teoritis 193 00:08:40,059 --> 00:08:41,809 dengan algoritma yang mungkin dijalankan. 194 00:08:41,809 --> 00:08:44,330 Kita akan peduli jumlah sebenarnya detik 195 00:08:44,330 --> 00:08:47,350 dan jumlah aktual memori, jumlah sebenarnya byte memori 196 00:08:47,350 --> 00:08:48,140 Anda menggunakan. 197 00:08:48,140 --> 00:08:52,710 Jadi terus terang, memiliki satu besar rantai seperti juta orang 198 00:08:52,710 --> 00:08:56,710 cukup sialan lambat jika Anda mencari untuk nama dalam daftar ukuran juta. 199 00:08:56,710 --> 00:08:59,830 >> Tapi bagaimana jika Anda membagi bahwa daftar menjadi 31 bagian? 200 00:08:59,830 --> 00:09:04,400 Mencari 31/01 itu Super daftar panjang, pada kenyataannya, 201 00:09:04,400 --> 00:09:05,741 ini tentunya akan lebih cepat. 202 00:09:05,741 --> 00:09:07,240 Asimtotik, itu hal yang sama. 203 00:09:07,240 --> 00:09:08,860 Anda hanya membagi dengan faktor konstan. 204 00:09:08,860 --> 00:09:10,651 Dan ingat bahwa kita membuang hal-hal pergi. 205 00:09:10,651 --> 00:09:13,486 Namun dalam kenyataannya, itu akan menjadi 31 kali lebih cepat. 206 00:09:13,486 --> 00:09:16,110 Dan itulah yang akan kita mulai leverage dalam P ditetapkan lima. 207 00:09:16,110 --> 00:09:18,750 >> Jadi P ditetapkan lima terlalu juga mengusulkan bahwa Anda mempertimbangkan 208 00:09:18,750 --> 00:09:21,810 sedikit lebih canggih struktur data yang disebut trie. 209 00:09:21,810 --> 00:09:24,420 Dan trie hanya pohon seperti struktur data. 210 00:09:24,420 --> 00:09:26,672 Tapi bukannya memiliki lingkaran kecil atau empat persegi panjang 211 00:09:26,672 --> 00:09:28,380 seperti yang kita terus menggambar untuk node, itu benar-benar 212 00:09:28,380 --> 00:09:30,840 memiliki seluruh array untuk node nya. 213 00:09:30,840 --> 00:09:33,430 Dan meskipun ini adalah bit abstrak di sini untuk melihat, 214 00:09:33,430 --> 00:09:35,450 Zamyla di P set berjalan melalui akan memandu Anda 215 00:09:35,450 --> 00:09:37,580 melalui lebih detail tentang hal ini. 216 00:09:37,580 --> 00:09:39,980 Ini adalah struktur data yang lebih cerdik 217 00:09:39,980 --> 00:09:44,130 mungkin setiap node menjadi array ukuran 26, A sampai Z atau nol 218 00:09:44,130 --> 00:09:45,320 melalui 25. 219 00:09:45,320 --> 00:09:49,260 Dan ketika Anda ingin memasukkan seseorang nama ke dalam struktur data atau menemukan 220 00:09:49,260 --> 00:09:53,990 dia, apa yang Anda lakukan, jika Nama seperti Maxwell, M-A-X-W-E-L-L, 221 00:09:53,990 --> 00:09:57,900 Anda pertama kali melihat M. Dan kemudian Anda melompat ke lokasi M yang sesuai 222 00:09:57,900 --> 00:09:59,100 dalam array pertama. 223 00:09:59,100 --> 00:10:02,400 Anda kemudian melompat ke A, yang pertama lokasi dalam array berikutnya, 224 00:10:02,400 --> 00:10:03,610 mengikuti panah. 225 00:10:03,610 --> 00:10:08,300 Kemudian X, maka W, maka E, maka L, maka L, dan kemudian mungkin beberapa akhir khusus 226 00:10:08,300 --> 00:10:11,850 karakter, beberapa sentinel yang mengatakan kata berhenti di sini. 227 00:10:11,850 --> 00:10:14,780 >> Dan apa yang baik tentang this-- dan perlu diingat bahwa gambar di sini, 228 00:10:14,780 --> 00:10:16,797 perhatikan bagaimana tepi setiap array yang dipotong. 229 00:10:16,797 --> 00:10:19,630 Itu hanya karena hal ini akan menjadi besar dan mengerikan melihat 230 00:10:19,630 --> 00:10:20,338 di atas layar. 231 00:10:20,338 --> 00:10:21,820 Jadi itu dikutip. 232 00:10:21,820 --> 00:10:25,920 Apa yang baik tentang pendekatan ini adalah bahwa jika ada satu juta nama yang sudah 233 00:10:25,920 --> 00:10:30,890 dalam struktur data, berapa banyak langkah yang dibutuhkan saya untuk memasukkan Maxwell? 234 00:10:30,890 --> 00:10:36,450 M-A-X-W-E-L-L-- seperti tujuh-ish langkah-langkah untuk memasukkan atau mencari Maxwell. 235 00:10:36,450 --> 00:10:39,320 >> Misalkan ada satu triliun nama dalam struktur data. 236 00:10:39,320 --> 00:10:41,900 Berapa banyak langkah yang dibutuhkan saya untuk mencari Maxwell? 237 00:10:41,900 --> 00:10:43,450 M-A-X-- masih tujuh. 238 00:10:43,450 --> 00:10:45,770 >> Dan di situlah letak disebut konstanta waktu. 239 00:10:45,770 --> 00:10:47,960 Jika kita menganggap bahwa kata-kata tentu dibatasi 240 00:10:47,960 --> 00:10:52,150 20 karakter, atau 46 karakter, atau beberapa bilangan bulat yang cukup kecil, 241 00:10:52,150 --> 00:10:53,790 maka itu efektif konstan. 242 00:10:53,790 --> 00:10:57,790 Dan penyisipan dan mencari trie super cepat. 243 00:10:57,790 --> 00:10:59,540 Tentu saja, kita tidak pernah mendapatkan sesuatu secara gratis. 244 00:10:59,540 --> 00:11:02,740 Dan meskipun Anda mungkin belum terjun ke P ditetapkan lima belum, 245 00:11:02,740 --> 00:11:06,596 berapa harga yang kita mungkin membayar untuk mendapatkan bahwa waktu efisiensi bijaksana? 246 00:11:06,596 --> 00:11:07,470 >> AUDIENCE: Memory. 247 00:11:07,470 --> 00:11:08,390 >> DAVID J. Malan: Memory, kan? 248 00:11:08,390 --> 00:11:10,240 Maksudku, kita sudah tidak ditarik seluruh gambar di sini. 249 00:11:10,240 --> 00:11:12,823 Ini kutipan dari buku teks belum ditarik semua array. 250 00:11:12,823 --> 00:11:16,687 Ada sejumlah besar memori dan hanya pointer nol yang tidak sedang digunakan. 251 00:11:16,687 --> 00:11:17,520 Jadi itu adalah trade off. 252 00:11:17,520 --> 00:11:21,050 Dan itu akan diserahkan kepada Anda di P ditetapkan lima untuk memutuskan arah mana Anda ingin pergi. 253 00:11:21,050 --> 00:11:24,460 >> Sekarang ini ide hashing, sebagai samping, sebenarnya yang super lazim. 254 00:11:24,460 --> 00:11:27,980 Jadi untuk hash nilai berarti, cukup hanya, untuk mengambil sesuatu sebagai masukan 255 00:11:27,980 --> 00:11:29,220 dan menghasilkan output. 256 00:11:29,220 --> 00:11:31,270 Jadi fungsi hash hanya sebuah algoritma. 257 00:11:31,270 --> 00:11:34,990 >> Dan umumnya, tujuan fungsi hash dalam hidup adalah untuk mengambil sesuatu sebagai masukan 258 00:11:34,990 --> 00:11:39,655 dan menghasilkan angka sebagai output, seperti nomor satu sampai 31 atau A sampai Z, 259 00:11:39,655 --> 00:11:40,960 nol melalui 25. 260 00:11:40,960 --> 00:11:44,250 Sehingga dibutuhkan output yang kompleks dan menyusut itu ke sesuatu 261 00:11:44,250 --> 00:11:46,310 itu sedikit lebih berguna dan dikelola. 262 00:11:46,310 --> 00:11:49,250 >> Dan ternyata di fungsi yang sangat populer 263 00:11:49,250 --> 00:11:51,160 bahwa dunia keamanan dan dunia manusia 264 00:11:51,160 --> 00:11:53,060 telah menggunakan selama bertahun-tahun disebut SHA1. 265 00:11:53,060 --> 00:11:56,260 Ini adalah cukup mewah matematika formula yang pada dasarnya melakukan itu. 266 00:11:56,260 --> 00:11:58,870 >> Anda mengambil benar-benar besar sepotong nol dan ones-- 267 00:11:58,870 --> 00:12:01,530 yang bisa menjadi megabyte panjang, long-- gigabyte 268 00:12:01,530 --> 00:12:05,930 dan menyusut ke bawah untuk hanya beberapa bit, beberapa bit, 269 00:12:05,930 --> 00:12:09,082 sehingga Anda memiliki nomor seperti satu sampai 31, atau A sampai Z. 270 00:12:09,082 --> 00:12:11,540 Namun dalam kenyataannya, itu sedikit lebih besar dari sekedar A sampai Z. 271 00:12:11,540 --> 00:12:16,640 >> Sayangnya, kita berada di titik puncak apa seseorang bercanda disebut SHAppening yang 272 00:12:16,640 --> 00:12:19,840 dimana dunia adalah untuk berakhir di mungkin beberapa bulan 273 00:12:19,840 --> 00:12:22,617 waktu karena peneliti, hanya minggu terakhir ini, 274 00:12:22,617 --> 00:12:25,700 menerbitkan sebuah laporan yang bertentangan dengan apa yang peneliti keamanan telah memikirkan 275 00:12:25,700 --> 00:12:29,810 untuk beberapa waktu, dengan hanya menghabiskan sekitar, apa itu, 276 00:12:29,810 --> 00:12:33,420 Saya pikir itu adalah $ 175,000-- banyak uang, 277 00:12:33,420 --> 00:12:36,540 tapi tidak di luar jangkauan orang jahat sangat buruk, 278 00:12:36,540 --> 00:12:41,560 atau sangat buruk countries-- $ 175.000 bisa membeli Anda banyak server sewaan 279 00:12:41,560 --> 00:12:42,690 ruang di awan. 280 00:12:42,690 --> 00:12:44,619 Dan kami akan kembali ke awan sebelum lama. 281 00:12:44,619 --> 00:12:47,410 Tapi itu hanya berarti menyewa server ruang pada server seperti Microsoft, 282 00:12:47,410 --> 00:12:50,285 atau Google, atau Amazon, atau seperti di mana Anda dapat membayar oleh menit 283 00:12:50,285 --> 00:12:51,670 menggunakan komputer orang lain. 284 00:12:51,670 --> 00:12:54,250 >> Dan ternyata jika Anda dapat membayar orang lain untuk meminjam komputer mereka 285 00:12:54,250 --> 00:12:56,730 dan menjalankan kode yang telah Anda tulis di atasnya dan menggunakan cukup mewah 286 00:12:56,730 --> 00:13:01,580 matematika, Anda bisa dasarnya angka bagaimana fungsi hash seseorang adalah 287 00:13:01,580 --> 00:13:05,320 bekerja, dan diberikan output, reverse engineering apa masukan adalah. 288 00:13:05,320 --> 00:13:08,590 Dan untuk tujuan hari ini, Cukuplah untuk mengatakan, ini buruk. 289 00:13:08,590 --> 00:13:12,540 Karena SHA1 dan hash fungsi seperti itu super umum 290 00:13:12,540 --> 00:13:17,050 digunakan dalam aplikasi keamanan, koneksi terenkripsi di web, 291 00:13:17,050 --> 00:13:21,890 transaksi bank, enkripsi seluler untuk ponsel Anda, dan sejenisnya. 292 00:13:21,890 --> 00:13:24,880 Dan sehingga setiap kali seseorang menemukan cara untuk membalikkan 293 00:13:24,880 --> 00:13:28,510 insinyur salah satu teknologi tersebut atau istirahat itu, hal-hal buruk bisa terjadi. 294 00:13:28,510 --> 00:13:30,300 >> Sekarang dunia sudah tahu ini. 295 00:13:30,300 --> 00:13:31,310 Ini adalah mendatang. 296 00:13:31,310 --> 00:13:34,670 Dan dunia sejak pindah dari SHA1 ke SHA256, 297 00:13:34,670 --> 00:13:37,320 yang hanya cara mewah mengatakan mereka menggunakan bit yang lebih besar. 298 00:13:37,320 --> 00:13:40,570 Dan pada kenyataannya, bahkan CS50 sendiri situs upgrade tahun lalu to-- 299 00:13:40,570 --> 00:13:43,290 tidak yang kita hadapi semua ini banyak ancaman mencoba untuk mendapatkan di PDF 300 00:13:43,290 --> 00:13:46,520 dan whatnot-- tapi website CS50 ini menggunakan fungsi hash yang lebih besar, 301 00:13:46,520 --> 00:13:47,980 yang berarti bahwa kita akan aman. 302 00:13:47,980 --> 00:13:50,020 Jadi semua PDF Anda akan aman, tapi tidak 303 00:13:50,020 --> 00:13:52,880 tentu uang atau apa pun terutama swasta atau pribadi 304 00:13:52,880 --> 00:13:53,380 menggunakan. 305 00:13:53,380 --> 00:13:56,550 Sp memeriksa URL bahwa jika Anda akan seperti beberapa rincian tambahan. 306 00:13:56,550 --> 00:13:59,840 >> Jadi masalah mengatur lima adalah memang di cakrawala. 307 00:13:59,840 --> 00:14:01,560 Kuis satu ini Rabu mendatang. 308 00:14:01,560 --> 00:14:04,479 Tapi jangan mengambil keuntungan dari kantor jam, baik malam ini dan besok. 309 00:14:04,479 --> 00:14:07,770 Dan juga mengambil keuntungan dari jam kantor, jika Anda tersedia, setelah ini. 310 00:14:07,770 --> 00:14:11,550 Staf dan saya akan bertahan dan melakukan lebih santai Q & A selain malam ini. 311 00:14:11,550 --> 00:14:16,610 Dan biarkan aku sangat diperhatikan di sini, untuk Bagi kita di sini di New Haven-- 312 00:14:16,610 --> 00:14:19,360 sehingga benar-benar per Scaz ini Pernyataan merasa, saya yakin, 313 00:14:19,360 --> 00:14:21,140 seperti sedikit perjuangan berat. 314 00:14:21,140 --> 00:14:24,627 Dan oleh reputasi, jika Anda belum belajar sudah atau mendengar 315 00:14:24,627 --> 00:14:27,710 dari beberapa teman di Harvard, tahu berikut adalah beberapa memori institusional baru. 316 00:14:27,710 --> 00:14:30,790 P menetapkan lima jenis jenis cenderung menjadi yang paling sulit di CS50, 317 00:14:30,790 --> 00:14:32,590 atau yang paling menantang bagi sebagian besar siswa. 318 00:14:32,590 --> 00:14:37,180 >> Tapi apa itu artinya bahwa kita hampir di puncak bukit ini. 319 00:14:37,180 --> 00:14:38,270 Dan aku benar-benar berarti ini. 320 00:14:38,270 --> 00:14:40,728 Itu yang paling menantang, tapi itu juga yang paling berharga 321 00:14:40,728 --> 00:14:43,560 di bahwa tidak seperti kebanyakan setiap lain ilmu komputer pengantar 322 00:14:43,560 --> 00:14:47,980 Tentu saja di AS yang kita tahu, sebagian besar siswa tidak menyelesaikan intro 323 00:14:47,980 --> 00:14:51,400 Tentu saja karena telah diimplementasikan hal-hal seperti pohon, dan mencoba, 324 00:14:51,400 --> 00:14:52,880 dan tabel hash, dan sejenisnya. 325 00:14:52,880 --> 00:14:54,770 >> Dan jadi saya berharap, dan kami berharap bahwa Anda 326 00:14:54,770 --> 00:14:57,280 memiliki rasa besar kepuasan bahkan 327 00:14:57,280 --> 00:15:00,760 jika seminggu atau dua melalui yang Anda mendapatkan kepuasan yang 328 00:15:00,760 --> 00:15:02,490 tidak merasa sedikit seperti ini. 329 00:15:02,490 --> 00:15:05,250 Tapi biarkan saya meyakinkan, kita hanya memiliki empat P set tersisa. 330 00:15:05,250 --> 00:15:07,380 Jadi semacam atas yang sudah di depan mata. 331 00:15:07,380 --> 00:15:12,370 >> Di sisi lain dari itu, mempercayai kami, itu hanya bukit-bukit dan awan. 332 00:15:12,370 --> 00:15:16,000 Dan akan kita katakan, anak anjing berada di sisi lain. 333 00:15:16,000 --> 00:15:18,340 Jadi Anda hanya harus bertahan di sana sedikit lebih lama. 334 00:15:18,340 --> 00:15:22,050 Maksudku, memang saat kita mulai transisi ke dunia pemrograman web, 335 00:15:22,050 --> 00:15:26,060 Anda akan menemukan bahwa hal-hal become-- ini menggemaskan sebenarnya. 336 00:15:26,060 --> 00:15:29,680 337 00:15:29,680 --> 00:15:33,490 OK, kami akan posting URL ini nanti. 338 00:15:33,490 --> 00:15:36,140 Anda akan menemukan juga bahwa kita mencapai semacam dataran tinggi 339 00:15:36,140 --> 00:15:38,150 di mana segala sesuatu memang masih canggih 340 00:15:38,150 --> 00:15:40,170 dan menantang dengan desain, tapi kau tidak 341 00:15:40,170 --> 00:15:42,590 akan merasa seperti kita menerus naik bukit ini. 342 00:15:42,590 --> 00:15:44,390 Jadi mengambil beberapa kenyamanan dalam hal itu. 343 00:15:44,390 --> 00:15:47,409 >> Jadi tanpa basa-basi lagi, mari kita mulai untuk membuat transisi pasar ini 344 00:15:47,409 --> 00:15:49,950 pada semester ke dunia web, dan benar-benar dunia 345 00:15:49,950 --> 00:15:51,420 dengan yang kita semua lebih akrab. 346 00:15:51,420 --> 00:15:53,753 Kami punya perangkat internet di saku kita, di meja kami, 347 00:15:53,753 --> 00:15:55,127 di ransel kita, dan sejenisnya. 348 00:15:55,127 --> 00:15:56,210 Bagaimana semua pekerjaan ini? 349 00:15:56,210 --> 00:15:59,077 Dan bagaimana kita dapat mulai menulis kode yang tidak super misterius 350 00:15:59,077 --> 00:16:01,910 dan dalam beberapa teks berkedip cepat bahwa tidak ada teman atau keluarga 351 00:16:01,910 --> 00:16:04,659 pernah akan ingin berinteraksi dengan, tetapi sesuatu yang Anda dapat menempatkan 352 00:16:04,659 --> 00:16:06,660 pada ponsel mereka, atau pada browser web mereka, 353 00:16:06,660 --> 00:16:09,010 atau pada perangkat dengan yang mereka berinteraksi. 354 00:16:09,010 --> 00:16:10,430 >> Jadi di sini adalah rumah seseorang. 355 00:16:10,430 --> 00:16:14,040 Dan di dalam rumah ini adalah beberapa laptop, beberapa desktop jadul 356 00:16:14,040 --> 00:16:17,470 komputer, sesuatu yang disebut router atau hub di tengah, 357 00:16:17,470 --> 00:16:20,310 dan kemudian beberapa jenis modem kabel atau modem DSL. 358 00:16:20,310 --> 00:16:24,560 Dan kemudian ada internet, umumnya ditarik sebagai awan di atas sana di langit. 359 00:16:24,560 --> 00:16:29,230 >> Jadi gambar ini, meskipun semacam sedikit tanggal, 360 00:16:29,230 --> 00:16:32,604 tentu menangkap apa yang paling Anda mungkin memiliki di rumah Anda, 361 00:16:32,604 --> 00:16:35,520 atau secara efektif apa yang Anda semua memiliki di kamar asrama Anda, atau apartemen, 362 00:16:35,520 --> 00:16:36,480 atau sejenisnya. 363 00:16:36,480 --> 00:16:40,010 >> Jadi apa yang sebenarnya terjadi ketika Anda mencoba untuk menggunakan internet saat ini? 364 00:16:40,010 --> 00:16:42,010 Jadi setiap komputer pada internet, ternyata, 365 00:16:42,010 --> 00:16:46,860 perlu memiliki alamat yang unik, seperti kita dalam kebutuhan dunia nyata 366 00:16:46,860 --> 00:16:52,050 alamat pos, seperti 51 Prospect Street, New Haven, Connecticut, atau 33 367 00:16:52,050 --> 00:16:54,170 Oxford Street, Cambridge, Massachusetts. 368 00:16:54,170 --> 00:16:58,520 Jadi lakukan komputer di internet membutuhkan cara mengatasi sendiri unik. 369 00:16:58,520 --> 00:17:01,180 >> Itulah sehingga ketika satu komputer ingin berbicara dengan yang lain, 370 00:17:01,180 --> 00:17:04,525 dapat mengirim pesan dan menginformasikan penerima kepada siapa 371 00:17:04,525 --> 00:17:05,900 harus mengirim respon kembali. 372 00:17:05,900 --> 00:17:07,900 Jadi itu hanya membuat semacam intuisi mungkin 373 00:17:07,900 --> 00:17:09,980 bahwa segala sesuatu memiliki alamat dari beberapa macam. 374 00:17:09,980 --> 00:17:11,240 >> Tapi bagaimana Anda mendapatkan alamat? 375 00:17:11,240 --> 00:17:13,589 Nah, jika Anda mendapatkan di sini di kampus, atau Anda pulang 376 00:17:13,589 --> 00:17:15,760 dan Anda menghidupkan Anda laptop atau komputer desktop, 377 00:17:15,760 --> 00:17:17,770 dan baik pasang atau terhubung ke Wi-Fi, 378 00:17:17,770 --> 00:17:19,569 ternyata ada server khusus 379 00:17:19,569 --> 00:17:22,089 pada sebagian besar jaringan disebut server DHCP. 380 00:17:22,089 --> 00:17:23,880 Tidak terlalu penting apa ini singkatan, 381 00:17:23,880 --> 00:17:26,660 tapi itu konfigurasi host dinamis protokol, yang hanya 382 00:17:26,660 --> 00:17:29,760 cara mewah untuk mengatakan, ini adalah komputer yang baik Yale memiliki, 383 00:17:29,760 --> 00:17:32,600 atau Harvard memiliki, atau Comcast memiliki, atau Verizon memiliki, 384 00:17:32,600 --> 00:17:35,100 atau perusahaan Anda memiliki, yang tujuan dalam hidup, 385 00:17:35,100 --> 00:17:38,810 ketika mendengar seseorang yang baru ditambahkan ke jaringan, adalah untuk mengatakan di sini, 386 00:17:38,810 --> 00:17:40,010 menggunakan alamat ini. 387 00:17:40,010 --> 00:17:42,790 >> Jadi kita manusia tidak perlu kode keras ke komputer kita 388 00:17:42,790 --> 00:17:44,040 apa alamat unik adalah. 389 00:17:44,040 --> 00:17:47,070 Kami hanya menyalakannya, buka tutup, dan entah bagaimana server ini 390 00:17:47,070 --> 00:17:52,210 pada jaringan lokal hanya memberitahu saya bahwa alamat saya adalah 51 Prospect Street, atau 33 391 00:17:52,210 --> 00:17:53,940 Oxford Street, atau sejenisnya. 392 00:17:53,940 --> 00:17:56,000 >> Sekarang itu tidak akan begitu verbose seperti itu. 393 00:17:56,000 --> 00:18:00,210 Sebaliknya apa yang akan saya dapatkan adalah alamat numerik yang disebut alamat IP. 394 00:18:00,210 --> 00:18:01,960 IP yang berarti protokol internet. 395 00:18:01,960 --> 00:18:06,025 Dan kemungkinan besar saat ini dalam hidup Anda, Anda mungkin pernah mendengar atau melihat kata IP, 396 00:18:06,025 --> 00:18:08,140 atau umumnya dilemparkan sekitar mungkin. 397 00:18:08,140 --> 00:18:10,720 Namun pada kenyataannya, itu cukup lurus ke depan hal. 398 00:18:10,720 --> 00:18:13,610 >> Sebuah alamat IP hanya angka desimal bertitik, 399 00:18:13,610 --> 00:18:17,150 yang berarti itu adalah sesuatu dot sesuatu dot sesuatu dot sesuatu. 400 00:18:17,150 --> 00:18:21,980 Dan masing-masing somethings terjadi menjadi nomor antara 0 dan 255. 401 00:18:21,980 --> 00:18:26,710 >> Jadi berdasarkan lima minggu ditambah dari CS50, jika angka-angka ini setiap rentang dari 0 sampai 255, 402 00:18:26,710 --> 00:18:28,713 berapa banyak bit adalah setiap orang nomor tanda-tanda? 403 00:18:28,713 --> 00:18:29,420 >> AUDIENCE: Delapan. 404 00:18:29,420 --> 00:18:30,100 >> DAVID J. Malan: Ini harus menjadi delapan. 405 00:18:30,100 --> 00:18:31,933 Jadi secara total, berapa banyak bit adalah alamat IP? 406 00:18:31,933 --> 00:18:32,710 AUDIENCE: 32. 407 00:18:32,710 --> 00:18:33,820 >> DAVID J. Malan: Jadi 32. 408 00:18:33,820 --> 00:18:35,830 8 ditambah 8 ditambah 8 ditambah 8 adalah 32. 409 00:18:35,830 --> 00:18:38,767 Berapa banyak jumlah alamat IP bisa ada di dunia ini? 410 00:18:38,767 --> 00:18:39,600 AUDIENCE: 4 miliar. 411 00:18:39,600 --> 00:18:42,410 DAVID J. Malan: Jadi kira-kira empat miliar karena itulah 2 32 daya. 412 00:18:42,410 --> 00:18:44,410 Dan jika Anda tidak bisa semacam grok itu dalam pikiran Anda, 413 00:18:44,410 --> 00:18:47,470 hanya tahu bahwa nilai-nilai 32-bit dapat menjadi sebesar 4 miliar 414 00:18:47,470 --> 00:18:49,140 jika itu semua nilai-nilai positif. 415 00:18:49,140 --> 00:18:52,500 Jadi itu berarti ada 4 miliar alamat IP mungkin di dunia. 416 00:18:52,500 --> 00:18:55,090 >> Dan cerita lucu, kami jenis kehabisan dari mereka. 417 00:18:55,090 --> 00:18:59,720 Dan sebenarnya itu masalah besar dalam dunia juga melihat masalah ini datang, 418 00:18:59,720 --> 00:19:03,639 namun belum tentu merespons itu dengan cara yang paling cepat mungkin. 419 00:19:03,639 --> 00:19:05,680 Dan memang, setelah Anda sudah selesai CS50 dan mulai 420 00:19:05,680 --> 00:19:06,950 memperhatikan di dunia teknologi, Anda akan 421 00:19:06,950 --> 00:19:08,520 melihat ini sangat umum tematik. 422 00:19:08,520 --> 00:19:12,260 >> Misalnya, jika kita benar-benar pergi sekolah tua saat ini, Y2K. 423 00:19:12,260 --> 00:19:13,570 Itu tidak benar-benar mengejutkan. 424 00:19:13,570 --> 00:19:15,700 Seperti semua orang tahu untuk 1.000 tahun yang yang 425 00:19:15,700 --> 00:19:20,250 was-- lebih dari seribu years-- yang yang akhirnya akan terjadi. 426 00:19:20,250 --> 00:19:23,295 Namun, kita menanggapi itu sangat banyak pada menit terakhir. 427 00:19:23,295 --> 00:19:24,420 Dan itu terjadi lagi. 428 00:19:24,420 --> 00:19:26,740 Jadi hari ini kita akan berbicara tentang IP versi 4. 429 00:19:26,740 --> 00:19:29,250 Tapi tahu bahwa dunia akhirnya mendapatkan 430 00:19:29,250 --> 00:19:31,590 sekitar untuk upgrade ke sesuatu yang disebut IPv6, 431 00:19:31,590 --> 00:19:34,540 yang bukan 32-bit alamat, uses-- siapa pun 432 00:19:34,540 --> 00:19:36,443 ingin mengambil menebak, berapa banyak bit? 433 00:19:36,443 --> 00:19:37,310 >> AUDIENCE: 64? 434 00:19:37,310 --> 00:19:38,380 >> DAVID J. Malan: Baik menebak, tapi tidak ada. 435 00:19:38,380 --> 00:19:39,975 Kami akhirnya mencoba mendapatkan di depan kurva. 436 00:19:39,975 --> 00:19:40,558 >> AUDIENCE: 128. 437 00:19:40,558 --> 00:19:43,490 DAVID J. Malan: 128, yang adalah sejumlah besar panik 438 00:19:43,490 --> 00:19:46,250 alamat IP, karena itu seperti kali 2, kali 2, 439 00:19:46,250 --> 00:19:49,620 kali 2, banyak kali berpasangan naik dari 4 miliar. 440 00:19:49,620 --> 00:19:50,530 >> Jadi jika penasaran. 441 00:19:50,530 --> 00:19:54,110 Ternyata out-- dan aku hanya googled ini untuk menemukan ini out-- komputer Yale, 442 00:19:54,110 --> 00:19:58,910 di sini di Yale, cenderung mulai dengan ini Numbers 130,132 dot sesuatu, 443 00:19:58,910 --> 00:20:00,669 dan 128,36 dot sesuatu. 444 00:20:00,669 --> 00:20:02,710 Tapi ada pasti pengecualian di seluruh papan 445 00:20:02,710 --> 00:20:05,334 tergantung pada departemen apa dan bangunan dan kampus Anda berada di. 446 00:20:05,334 --> 00:20:09,310 Harvard cenderung memiliki 140,247, atau 128,103. 447 00:20:09,310 --> 00:20:11,530 Dan umumnya ini informasi yang tidak berguna, 448 00:20:11,530 --> 00:20:13,260 tapi itu sesuatu yang Anda mungkin melihat sekarang. 449 00:20:13,260 --> 00:20:15,593 Ketika Anda mulai mengaduk-aduk pengaturan pada komputer Anda, 450 00:20:15,593 --> 00:20:18,540 Anda mungkin mulai melihat ini macam pola lama. 451 00:20:18,540 --> 00:20:23,470 >> Tetapi ketika Anda berada di rumah dan memiliki Apple AirPort, atau perangkat Linksys, 452 00:20:23,470 --> 00:20:26,560 atau D-Link, atau apa pun itu orang tua atau saudara kandung diinstal 453 00:20:26,560 --> 00:20:28,890 di rumah Anda, baik apa yang Anda mungkin memiliki 454 00:20:28,890 --> 00:20:30,800 adalah apa yang disebut alamat IP pribadi. 455 00:20:30,800 --> 00:20:34,850 Dan ini adalah benar-benar bagus, solusi sementara 456 00:20:34,850 --> 00:20:38,050 untuk masalah berjalan pendek pada alamat IP. 457 00:20:38,050 --> 00:20:40,382 >> Dan apa yang dapat Anda lakukan dengan jaringan rumah, typically-- 458 00:20:40,382 --> 00:20:42,340 dan terus terang, bahkan Yale dan Harvard mulai 459 00:20:42,340 --> 00:20:46,840 untuk melakukan hal ini di areas-- berbeda adalah Anda dapat memberikan sejumlah besar komputer 460 00:20:46,840 --> 00:20:50,360 satu alamat IP selama Anda menempatkan perangkat khusus di depan mereka, 461 00:20:50,360 --> 00:20:52,410 sesuatu yang disebut router, atau dapat disebut 462 00:20:52,410 --> 00:20:54,060 proxy atau banyak hal lainnya. 463 00:20:54,060 --> 00:20:56,710 Tapi perangkat tertentu yang memiliki alamat IP satu. 464 00:20:56,710 --> 00:20:59,450 Dan kemudian balik perangkat, dalam bangunan, 465 00:20:59,450 --> 00:21:03,030 dalam sebuah rumah atau apartemen, dapat sejumlah komputer, yang semuanya 466 00:21:03,030 --> 00:21:06,460 memiliki alamat IP yang mulai dengan satu digit ini di sini. 467 00:21:06,460 --> 00:21:08,590 Dan selama komputer yang tahu bagaimana mengkonversi 468 00:21:08,590 --> 00:21:10,900 alamat publik untuk alamat pribadi, 469 00:21:10,900 --> 00:21:13,340 semuanya bisa memilah pekerjaan seperti yang diharapkan. 470 00:21:13,340 --> 00:21:17,290 >> Namun kebalikan dari ini adalah bahwa jika Anda berada di rumah dan Anda memiliki saudara kandung, 471 00:21:17,290 --> 00:21:19,650 dan Anda berdua adalah mengunjungi beberapa situs, 472 00:21:19,650 --> 00:21:23,520 situs web yang tidak tahu apakah itu Anda atau saudara Anda mengunjungi situs web, 473 00:21:23,520 --> 00:21:26,780 karena Anda tampak sama orang karena semua data Anda 474 00:21:26,780 --> 00:21:30,050 akan melalui router yang atau titik pusat. 475 00:21:30,050 --> 00:21:32,220 >> Tapi cukup tentang ini lebih rendah rincian tingkat. 476 00:21:32,220 --> 00:21:37,770 Mari kita lihat bagaimana alamat IP kadang-kadang datang mungkin di media 477 00:21:37,770 --> 00:21:41,370 dan bagaimana kita sekarang dapat mulai untuk merusak, terus terang, bahkan lebih menunjukkan untuk Anda. 478 00:21:41,370 --> 00:21:45,010 Jika kita bisa meredupkan lampu selama beberapa detik. 479 00:21:45,010 --> 00:21:46,550 >> [VIDEO PLAYBACK] 480 00:21:46,550 --> 00:21:49,310 >> -Ini Adalah 32-bit pada IPP 4 alamat. 481 00:21:49,310 --> 00:21:50,650 >> -IP ES internet-- 482 00:21:50,650 --> 00:21:52,800 >> Jaringan-swasta, Jaringan pribadi Tamia ini. 483 00:21:52,800 --> 00:22:05,670 484 00:22:05,670 --> 00:22:08,145 Dia begitu menakjubkan. 485 00:22:08,145 --> 00:22:09,630 -Ayo Charlie. 486 00:22:09,630 --> 00:22:11,750 DAVID J. Malan: Ini alamat IP cermin. 487 00:22:11,750 --> 00:22:15,093 Dia membiarkan kita menonton yang dia melakukan secara real time. 488 00:22:15,093 --> 00:22:16,285 >> [END PLAYBACK] 489 00:22:16,285 --> 00:22:17,130 >> DAVID J. Malan: OK. 490 00:22:17,130 --> 00:22:18,480 Jadi beberapa masalah dengan ini. 491 00:22:18,480 --> 00:22:22,740 Jadi satu, apa yang kita cari di sini di layar 492 00:22:22,740 --> 00:22:25,290 adalah kode yang ditulis dalam bahasa yang disebut Objective-C, 493 00:22:25,290 --> 00:22:28,020 yang merupakan jenis pengganti untuk bahasa C yang kita lakukan. 494 00:22:28,020 --> 00:22:30,150 Ini sama sekali tidak ada hubungannya dengan pemrograman. 495 00:22:30,150 --> 00:22:32,399 Bahkan, seperti yang terbaik yang bisa saya katakan, ini adalah program menggambar 496 00:22:32,399 --> 00:22:38,360 bahwa seseorang download dari internet entah bagaimana melibatkan krayon. 497 00:22:38,360 --> 00:22:43,660 >> Mungkin kurang mengerikan adalah bahwa alamat IP ini, valid atau tidak valid? 498 00:22:43,660 --> 00:22:44,520 >> AUDIENCE: tidak valid. 499 00:22:44,520 --> 00:22:48,479 >> DAVID J. Malan: INVALID, karena 275 adalah, tentu saja, tidak antara 0 dan 255. 500 00:22:48,479 --> 00:22:51,770 Itu juga mungkin OK meskipun, karena Anda tidak ingin sekelompok orang gila 501 00:22:51,770 --> 00:22:54,790 yang seperti berhenti TV pada mereka TiVos dan kemudian mengunjungi IP untuk melihat 502 00:22:54,790 --> 00:22:56,290 jika sebenarnya ada sesuatu di sana. 503 00:22:56,290 --> 00:22:58,200 Sehingga satu ini sedikit kurang mengerikan. 504 00:22:58,200 --> 00:23:00,990 Tapi menyadari bahwa terlalu adalah semacam di sekitar kita. 505 00:23:00,990 --> 00:23:04,980 >> Jadi tentu saja, tidak satupun dari kita yang pernah benar-benar mengetik alamat numerik 506 00:23:04,980 --> 00:23:06,410 ke browser kita. 507 00:23:06,410 --> 00:23:09,580 Ini akan menjadi semacam hal yang buruk jika Google, untuk mengunjungi Google, 508 00:23:09,580 --> 00:23:15,060 Anda harus pergi ke 123.46.57.89. 509 00:23:15,060 --> 00:23:17,007 Dan seluruh dunia memiliki hanya ingat itu. 510 00:23:17,007 --> 00:23:19,090 Dan terus terang, kami sudah baik dari melihat masalah ini sebelumnya. 511 00:23:19,090 --> 00:23:24,130 Kembali pada hari ketika orang tidak memiliki ponsel dan daftar kontak, 512 00:23:24,130 --> 00:23:27,640 dan perusahaan sebenarnya still-- sebenarnya, Saya kira perusahaan masih memiliki 800 513 00:23:27,640 --> 00:23:30,600 angka dan like-- tetapi Anda umumnya melihat nomor diiklankan 514 00:23:30,600 --> 00:23:36,480 sebagai 1-800-MENGUMPULKAN, C-O-L-L-E-C-T. Karena tidak ada yang benar-benar ingat, 515 00:23:36,480 --> 00:23:39,754 ketika melihat sebuah iklan di bus atau billboard, apa yang orang nomor adalah, 516 00:23:39,754 --> 00:23:42,420 tapi mereka mungkin bisa, dengan tinggi probabilitas, ingat kata. 517 00:23:42,420 --> 00:23:44,530 >> Jadi kita mengadopsi sama jenis sistem di dunia 518 00:23:44,530 --> 00:23:48,290 internet dimana ada sistem nama domain sehingga kita manusia bisa 519 00:23:48,290 --> 00:23:52,340 ketik google.com, facebook.com, yale.edu, harvard.edu, 520 00:23:52,340 --> 00:23:56,140 dan membiarkan sosok komputer apa yang IP yang sesuai 521 00:23:56,140 --> 00:23:58,480 alamat untuk nama yang diberikan. 522 00:23:58,480 --> 00:24:01,620 >> Dan cara Anda melakukan hal ini dalam dunia nyata adalah bahwa untuk $ 10 per tahun, 523 00:24:01,620 --> 00:24:05,900 mungkin $ 50 per tahun, Anda dapat membeli domain nama, atau benar-benar menyewa nama domain. 524 00:24:05,900 --> 00:24:09,860 Dan kemudian siapapun yang Anda membayar untuk menyewa nama domain, 525 00:24:09,860 --> 00:24:14,069 Anda memberitahu mereka yang di dunia tahu apa alamat IP Anda. 526 00:24:14,069 --> 00:24:16,360 Dan kami tidak akan masuk ke ini khusus, namun banyak dari Anda 527 00:24:16,360 --> 00:24:18,750 mungkin ingin, untuk akhir proyek, untuk benar-benar mendaftar 528 00:24:18,750 --> 00:24:22,120 untuk Anda web hosting sendiri perusahaan, baik secara gratis 529 00:24:22,120 --> 00:24:23,500 atau untuk beberapa dolar per bulan. 530 00:24:23,500 --> 00:24:26,100 Beberapa dari Anda mungkin ingin membeli, untuk beberapa dolar, nama domain Anda sendiri, 531 00:24:26,100 --> 00:24:28,900 hanya untuk bersenang-senang atau untuk memulai bisnis atau situs pribadi atau sejenisnya. 532 00:24:28,900 --> 00:24:30,880 >> Dan menyadari bahwa semua itu pada akhirnya akan 533 00:24:30,880 --> 00:24:35,260 mendidih hingga Anda memberitahu dunia apa alamat IP server Anda adalah. 534 00:24:35,260 --> 00:24:37,740 Dan kemudian DNS ini server sebenarnya mengurus 535 00:24:37,740 --> 00:24:39,910 menginformasikan sisa dunia. 536 00:24:39,910 --> 00:24:41,830 Jadi semua server DNS memiliki, singkatnya, di dalam 537 00:24:41,830 --> 00:24:44,780 memori adalah seperti setara dengan spreadsheet Google 538 00:24:44,780 --> 00:24:49,420 atau spreadsheet Excel dengan setidaknya dua kolom, salah satu yang memiliki nama, 539 00:24:49,420 --> 00:24:52,100 seperti harvard.edu, dan yale.edu, dan google.com. 540 00:24:52,100 --> 00:24:55,870 Dan kolom lainnya memiliki sesuai alamat IP atau IP 541 00:24:55,870 --> 00:24:56,382 alamat. 542 00:24:56,382 --> 00:24:57,590 Dan kita benar-benar dapat melihat ini. 543 00:24:57,590 --> 00:24:59,881 Jadi pada Mac-- saya dan Anda bisa melakukan ini pada komputer Windows 544 00:24:59,881 --> 00:25:04,330 seperti baik jika saya membuka jendela terminal di sini, cukup seperti yang ada di CD50 IDE, 545 00:25:04,330 --> 00:25:08,190 kebanyakan komputer memiliki perintah yang disebut nslookup, server nama mencari. 546 00:25:08,190 --> 00:25:12,380 Dan jika saya mengetik sesuatu di seperti yale.edu dan tekan Enter, apa 547 00:25:12,380 --> 00:25:19,250 Aku harus melihat apakah jaringan saya bekerja sama sebagai itu untuk beberapa tes sebelum kelas 548 00:25:19,250 --> 00:25:24,584 began-- mari kita coba google.com. 549 00:25:24,584 --> 00:25:26,390 Tentu saja sekarang tidak ada yang bekerja. 550 00:25:26,390 --> 00:25:27,190 Itu bagus. 551 00:25:27,190 --> 00:25:30,660 Baiklah, berdiri untuk satu saat. 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 >> Nah, mari kita lihat apakah sebenarnya internet-- ada. 555 00:25:38,660 --> 00:25:39,700 Itulah yang terjadi. 556 00:25:39,700 --> 00:25:43,090 Oh my god, baik-baik. 557 00:25:43,090 --> 00:25:45,490 Wi-Fi pecah. 558 00:25:45,490 --> 00:25:47,410 >> Hei, ingin tahu apa alamat IP saya? 559 00:25:47,410 --> 00:25:49,722 Baiklah. 560 00:25:49,722 --> 00:25:50,820 YaleSecure. 561 00:25:50,820 --> 00:25:53,330 Ini adalah bagaimana Anda memecahkan masalah hal sebagai ilmuwan komputer. 562 00:25:53,330 --> 00:25:54,617 Kami mengubah Wi-Fi off. 563 00:25:54,617 --> 00:25:57,480 564 00:25:57,480 --> 00:25:59,450 OKE. 565 00:25:59,450 --> 00:26:02,610 >> Dan sebenarnya, Scaz, apakah Anda keberatan login kita ke dalam satu aman? 566 00:26:02,610 --> 00:26:06,246 Jika tidak lebih tes are-- OK, terima Anda Yale-- atau akan istirahat. 567 00:26:06,246 --> 00:26:07,370 Aku ingin pergi YaleSecure. 568 00:26:07,370 --> 00:26:09,880 569 00:26:09,880 --> 00:26:11,870 Oh, dan mungkin kita akan OK. 570 00:26:11,870 --> 00:26:12,686 Mungkin kita kembali. 571 00:26:12,686 --> 00:26:16,810 572 00:26:16,810 --> 00:26:19,733 Dan itulah bagaimana, sebagai komputer ilmuwan memperbaiki komputer. 573 00:26:19,733 --> 00:26:22,000 [Tepuk Tangan] 574 00:26:22,000 --> 00:26:23,220 Baiklah. 575 00:26:23,220 --> 00:26:27,160 Jadi di mana aku berada dalam ini disebut jendela terminal, 576 00:26:27,160 --> 00:26:32,270 dan jika saya nslookup yale.edu, ada kita pergi. 577 00:26:32,270 --> 00:26:38,350 Jadi aku kembali pertama alamat IP dari server DNS yang laptop saya menggunakan. 578 00:26:38,350 --> 00:26:41,610 Jadi selain server DHCP yang kita berbicara tentang beberapa saat yang lalu menceritakan 579 00:26:41,610 --> 00:26:44,720 apa laptop saya IP saya alamat adalah, bahwa DHCP server 580 00:26:44,720 --> 00:26:46,860 juga memberitahu saya apa DNS server yang digunakan. 581 00:26:46,860 --> 00:26:48,860 Kalau tidak, aku akan mengetik secara manual ini. 582 00:26:48,860 --> 00:26:50,359 >> Tapi itu tidak semua yang menarik. 583 00:26:50,359 --> 00:26:54,310 Apa yang saya pedulikan adalah bahwa ini adalah Alamat IP dari situs Yale rupanya. 584 00:26:54,310 --> 00:26:55,470 Jadi sebenarnya, mari kita coba ini. 585 00:26:55,470 --> 00:27:02,710 Biarkan aku pergi ke browser dan pergi http: //, dan kemudian alamat IP, 586 00:27:02,710 --> 00:27:04,220 dan tekan Enter. 587 00:27:04,220 --> 00:27:06,700 Dan mari kita lihat. 588 00:27:06,700 --> 00:27:09,587 Itu adalah bagaimana lagi Anda bisa kunjungi website Yale. 589 00:27:09,587 --> 00:27:10,920 Sekarang tidak semua yang mengesankan. 590 00:27:10,920 --> 00:27:12,220 Seperti, pra-Frosh mungkin tidak akan 591 00:27:12,220 --> 00:27:15,310 untuk mengingat alamat tertentu jika disuruh berkunjung ke sana setelah mengunjungi. 592 00:27:15,310 --> 00:27:16,580 Tapi itu tampaknya bekerja. 593 00:27:16,580 --> 00:27:21,179 Dan DNS benar-benar hanya memungkinkan kita untuk memiliki lebih banyak alamat ramah manusia. 594 00:27:21,179 --> 00:27:23,220 Tapi mereka tidak selalu hanya menghasilkan satu jawaban. 595 00:27:23,220 --> 00:27:25,640 >> Bahkan, ketika Anda seorang benar-benar perusahaan teknologi besar, 596 00:27:25,640 --> 00:27:27,620 Anda mungkin ingin memiliki banyak server. 597 00:27:27,620 --> 00:27:29,027 Dan bahkan ini menyesatkan. 598 00:27:29,027 --> 00:27:31,110 Jadi Yale mungkin tidak hanya memiliki satu server web. 599 00:27:31,110 --> 00:27:34,150 Google mungkin tidak memiliki hanya 10 atau lebih server web. 600 00:27:34,150 --> 00:27:36,960 Google terutama mungkin memiliki ribuan server web 601 00:27:36,960 --> 00:27:40,030 di seluruh dunia yang dapat merespon permintaan dari orang-orang seperti kita. 602 00:27:40,030 --> 00:27:43,870 >> Tetapi mereka juga menggunakan teknologi yang disebut load balancing, yang cerita panjang pendek, 603 00:27:43,870 --> 00:27:48,810 memiliki hanya beberapa perangkat di dunia menyebarkan beban di lebih server. 604 00:27:48,810 --> 00:27:52,320 Jadi jenis seperti jaring laba-laba jika Anda akan mengirimkan permintaan. 605 00:27:52,320 --> 00:27:54,380 Tapi untuk saat ini, semua itu menarik untuk hari ini 606 00:27:54,380 --> 00:27:56,870 adalah bahwa nama domain seperti google.com bahkan bisa 607 00:27:56,870 --> 00:28:00,100 memiliki beberapa alamat IP seperti itu. 608 00:28:00,100 --> 00:28:04,610 >> Tapi bagaimana semua data kami benar-benar kembali dan sebagainya maka pada akhirnya? 609 00:28:04,610 --> 00:28:08,320 Nah, ternyata ada ini hal disebut router di internet. 610 00:28:08,320 --> 00:28:10,980 Dan apa adalah router ke Sejauh Anda sudah tahu? 611 00:28:10,980 --> 00:28:13,730 Dan saya telah menggunakan kata pasangan kali dalam konteks rumah, 612 00:28:13,730 --> 00:28:17,155 tetapi dalam istilah yang sederhana, apa router lakukan? 613 00:28:17,155 --> 00:28:18,780 Beri aku hanya menebak berdasarkan nama? 614 00:28:18,780 --> 00:28:20,082 >> AUDIENCE: Jadi jalan atau jalan? 615 00:28:20,082 --> 00:28:21,790 DAVID J. Malan: Jadi itu jalan atau jalan. 616 00:28:21,790 --> 00:28:23,980 Jadi rute adalah jalan atau jalan, benar-benar. 617 00:28:23,980 --> 00:28:27,000 Dan router, sehingga perangkat yang sebenarnya informasi rute, 618 00:28:27,000 --> 00:28:29,690 akan memindahkan data antara titik A dan B. 619 00:28:29,690 --> 00:28:31,920 >> Dan di fact-- dan ini mungkin ketika 620 00:28:31,920 --> 00:28:34,510 Anda Google penggambaran dari router di dunia, semua yang Anda dapatkan 621 00:28:34,510 --> 00:28:35,900 adalah diagram pemasaran cheesy. 622 00:28:35,900 --> 00:28:38,550 Dan jadi ini adalah semacam paling perwakilan yang saya bisa menemukan 623 00:28:38,550 --> 00:28:39,841 yang tampak agak menarik. 624 00:28:39,841 --> 00:28:44,170 Masing-masing titik-titik ini atau secercah harapan di seluruh dunia merupakan router. 625 00:28:44,170 --> 00:28:47,210 Dan masing-masing memiliki garis antara beberapa router lainnya. 626 00:28:47,210 --> 00:28:49,090 >> Karena memang, ada ribuan, mungkin 627 00:28:49,090 --> 00:28:52,560 jutaan router sekitar dunia, beberapa di antaranya di rumah kita 628 00:28:52,560 --> 00:28:56,070 dan di kampus-kampus kami, tapi banyak yang dimiliki oleh perusahaan-perusahaan besar 629 00:28:56,070 --> 00:29:00,250 dan saling berhubungan sehingga jika saya ingin mengirim beberapa data dari sini di Yale 630 00:29:00,250 --> 00:29:04,430 pulang ke Cambridge, Yale mungkin tidak memiliki satu kabel, tentu, 631 00:29:04,430 --> 00:29:05,650 akan langsung ke Harvard. 632 00:29:05,650 --> 00:29:07,399 Dan Yale tidak memiliki kabel tunggal akan 633 00:29:07,399 --> 00:29:10,010 MIT, atau ke Stanford, atau untuk Berkeley, atau Google, 634 00:29:10,010 --> 00:29:11,820 atau sejumlah tujuan. 635 00:29:11,820 --> 00:29:14,760 >> Sebaliknya, Yale, dan Harvard, dan orang lain di internet 636 00:29:14,760 --> 00:29:17,610 tidak memiliki satu atau lebih router terhubung, mungkin 637 00:29:17,610 --> 00:29:18,810 di pinggiran kampus. 638 00:29:18,810 --> 00:29:21,690 Sehingga ketika data saya ingin meninggalkan kampus Yale, 639 00:29:21,690 --> 00:29:24,770 ia pergi ke router terdekat, seperti yang digambarkan oleh salah satu titik-titik ini. 640 00:29:24,770 --> 00:29:27,940 Dan kemudian bahwa angka-angka router apakah untuk mengirimkannya dengan cara ini, atau cara ini, 641 00:29:27,940 --> 00:29:33,440 atau cara ini, atau cara ini berdasarkan di meja lain di memori, 642 00:29:33,440 --> 00:29:36,870 Excel file lain atau Google spreadsheet yang dalam satu kolom 643 00:29:36,870 --> 00:29:41,315 mengatakan, jika alamat IP Anda dimulai dengan nomor satu, pergi dengan cara ini. 644 00:29:41,315 --> 00:29:43,690 Jika alamat IP Anda dimulai dengan nomor dua, pergi ke arah sana. 645 00:29:43,690 --> 00:29:47,040 Dan sehingga Anda dapat memecahnya numerik untuk memiliki router pengiriman 646 00:29:47,040 --> 00:29:49,040 Data segala arah. 647 00:29:49,040 --> 00:29:51,419 >> Dan kita bisa melihat jenis ini juga. 648 00:29:51,419 --> 00:29:54,210 Mari kita pergi ke depan ke terminal ini jendela lagi, dan biarkan aku pergi ke depan 649 00:29:54,210 --> 00:30:00,700 dan melacak rute ke, katakanlah, www.mit.edu, 650 00:30:00,700 --> 00:30:02,970 yang beberapa ratus mil jauhnya. 651 00:30:02,970 --> 00:30:04,500 Itu benar-benar sialan cepat. 652 00:30:04,500 --> 00:30:06,290 >> Jadi apa yang baru saja terjadi? 653 00:30:06,290 --> 00:30:10,360 Jadi hanya dalam tujuh langkah, dan hanya dalam empat milidetik, 654 00:30:10,360 --> 00:30:14,660 Saya mengirim data melalui internet dari sini di Yale untuk MIT. 655 00:30:14,660 --> 00:30:18,240 Setiap baris ini, Anda bisa mungkin kira sekarang mewakili apa? 656 00:30:18,240 --> 00:30:19,060 >> AUDIENCE: router A. 657 00:30:19,060 --> 00:30:20,101 >> DAVID J. Malan: router A. 658 00:30:20,101 --> 00:30:24,090 Jadi memang, sepertinya ada sekitar tujuh atau lebih router, 659 00:30:24,090 --> 00:30:29,350 atau enam router di antara aku fisik di sekolah hukum Yale di sini 660 00:30:29,350 --> 00:30:31,612 dan situs MIT di sana. 661 00:30:31,612 --> 00:30:34,570 Dan apa yang dapat kita ambil dari ini sebagai follows-- dan biarkan aku membersihkannya. 662 00:30:34,570 --> 00:30:38,180 Aku akan mengulangi dengan perintah Argumen garis q 1 untuk hanya mengatakan, 663 00:30:38,180 --> 00:30:39,300 hanya memberi saya satu permintaan. 664 00:30:39,300 --> 00:30:40,800 Secara default, trace route melakukan tiga. 665 00:30:40,800 --> 00:30:42,350 Dan itu sebabnya kami melihat tandan nomor. 666 00:30:42,350 --> 00:30:44,850 Saya ingin melihat nomor lebih sedikit hanya untuk menjaga output bersih. 667 00:30:44,850 --> 00:30:46,280 Dan mari kita lihat apa yang terjadi. 668 00:30:46,280 --> 00:30:49,220 >> Jadi untuk alasan apa pun, seseorang di pikiran Yale 669 00:30:49,220 --> 00:30:54,130 akan lucu untuk menyebutnya Anda standar arubacentral router, yang 670 00:30:54,130 --> 00:30:57,920 adalah pada vlan atau virtual LAN, area virtual lokal 671 00:30:57,920 --> 00:30:59,810 jaringan 30-- sehingga Anda mungkin memiliki setidaknya 672 00:30:59,810 --> 00:31:03,050 29 router.net.yale.internal others--. 673 00:31:03,050 --> 00:31:06,660 Dan INTERNAL sini adalah jenis palsu domain tingkat atas dimaksudkan untuk digunakan hanya 674 00:31:06,660 --> 00:31:07,210 di kampus. 675 00:31:07,210 --> 00:31:10,335 Dan melihat alamat IP yang sesuai itu router, di mana pun di sini 676 00:31:10,335 --> 00:31:13,920 di kampus, adalah 172.28.204.129. 677 00:31:13,920 --> 00:31:17,470 Dan butuh 36 milidetik untuk pergi dari sini ke sana. 678 00:31:17,470 --> 00:31:18,050 >> Cerita lucu. 679 00:31:18,050 --> 00:31:19,716 Kita akan kembali ke hanya dalam beberapa saat. 680 00:31:19,716 --> 00:31:22,920 Tapi sekarang router-- kedua yang arubacentral rupanya 681 00:31:22,920 --> 00:31:25,790 memiliki beberapa jenis fisik koneksi paling likely-- 682 00:31:25,790 --> 00:31:27,249 manusia tidak repot-repot penamaan itu. 683 00:31:27,249 --> 00:31:30,373 Yale manusia tidak repot-repot penamaan karena itu dalam jaringan Anda 684 00:31:30,373 --> 00:31:30,940 kelihatannya. 685 00:31:30,940 --> 00:31:32,520 Dan sehingga hanya memiliki alamat IP. 686 00:31:32,520 --> 00:31:34,660 >> Tapi kemudian router ketiga di sini pada jaringan Yale 687 00:31:34,660 --> 00:31:36,700 itu mungkin sedikit lebih jauh masih 688 00:31:36,700 --> 00:31:41,330 disebut cen10g apapun yang asr.net.yale.internal. 689 00:31:41,330 --> 00:31:43,040 Dan juga memiliki alamat IP. 690 00:31:43,040 --> 00:31:44,990 >> Sekarang mengapa angka-angka ini jenis berfluktuasi? 691 00:31:44,990 --> 00:31:47,890 2,9, 1,4, 36? 692 00:31:47,890 --> 00:31:48,840 Router mendapatkan sibuk. 693 00:31:48,840 --> 00:31:50,420 Dan mereka mendapatkan sesak dan didukung. 694 00:31:50,420 --> 00:31:53,200 Ada ribuan orang di ini kampus menggunakan internet sekarang. 695 00:31:53,200 --> 00:31:56,050 Ada seratus orang di ini Ruangan menggunakan internet sekarang. 696 00:31:56,050 --> 00:31:59,030 >> Dan apa yang terjadi adalah bahwa router mungkin akan sesak. 697 00:31:59,030 --> 00:32:01,350 Dan saat-saat mungkin berfluktuasi sedikit. 698 00:32:01,350 --> 00:32:04,620 Jadi itu sebabnya mereka tidak tentu meningkatkan tedeng aling-aling. 699 00:32:04,620 --> 00:32:07,510 >> Tapi hal-hal semacam menarik pada langkah empat. 700 00:32:07,510 --> 00:32:13,040 Rupanya antara Yale dan Langkah empat adalah hop lain. 701 00:32:13,040 --> 00:32:16,480 Dan di mana router pada langkah empat mungkin? 702 00:32:16,480 --> 00:32:17,410 >> AUDIENCE: [tidak terdengar] 703 00:32:17,410 --> 00:32:19,410 >> DAVID J. Malan: JFK mungkin, mungkin di bandara. 704 00:32:19,410 --> 00:32:21,950 Tapi untuk alasan apapun, administrator sistem, sehingga 705 00:32:21,950 --> 00:32:24,140 Geeks yang menjalankan server untuk tahun telah bernama router 706 00:32:24,140 --> 00:32:25,600 setelah kode bandara terdekat. 707 00:32:25,600 --> 00:32:27,420 Jadi JFK mungkin berarti itu hanya suatu tempat 708 00:32:27,420 --> 00:32:29,970 di New York, mungkin di Manhattan atau salah satu borough. 709 00:32:29,970 --> 00:32:34,460 nyc2 menunjukkan, mungkin, lain router itu di suatu tempat di New York. 710 00:32:34,460 --> 00:32:37,140 >> Aku tak tahu di mana baris enam di sini, jumlah router enam. 711 00:32:37,140 --> 00:32:40,110 quest.net ISP besar, penyedia layanan internet, 712 00:32:40,110 --> 00:32:43,240 yang menyediakan konektivitas internet ke tempat-tempat besar seperti Yale dan lain-lain. 713 00:32:43,240 --> 00:32:47,110 Dan kemudian yang terakhir ini, terlihat seperti itu MIT bahkan tidak 714 00:32:47,110 --> 00:32:50,180 memiliki website sendiri di Cambridge tentu, 715 00:32:50,180 --> 00:32:52,090 melainkan mereka sudah outsourcing situs web mereka, 716 00:32:52,090 --> 00:32:55,150 atau setidaknya server fisik, untuk sebuah perusahaan bernama Akamai. 717 00:32:55,150 --> 00:32:57,940 Dan Akamai sebenarnya sampai jalan dari MIT di Cambridge 718 00:32:57,940 --> 00:32:58,790 ternyata. 719 00:32:58,790 --> 00:33:02,360 >> Tapi menyadari juga bahwa bahkan berpikir Anda akan www.mit.edu, 720 00:33:02,360 --> 00:33:05,200 kita bisa benar-benar dikirim mana saja di dunia. 721 00:33:05,200 --> 00:33:06,960 >> Dan mari kita lihat di suatu tempat lain di dunia. 722 00:33:06,960 --> 00:33:09,240 Biarkan aku pergi ke depan dan jelas layar ini dan sebagai gantinya 723 00:33:09,240 --> 00:33:15,240 melacak rute, hanya sekali, sehingga permintaan satu, untuk www.cnn.co.jp, 724 00:33:15,240 --> 00:33:18,390 halaman rumah Jepang untuk CNN, situs berita. 725 00:33:18,390 --> 00:33:20,660 Dan jika saya tekan Enter sekarang, Mari lihat apa yang terjadi. 726 00:33:20,660 --> 00:33:23,610 Kami lagi mulai arubacentral. 727 00:33:23,610 --> 00:33:26,510 Kami kemudian pergi ke tanpa nama router, beberapa lagi. 728 00:33:26,510 --> 00:33:29,527 Jadi butuh 12 hop ke sampai ke Jepang kali ini. 729 00:33:29,527 --> 00:33:30,860 Dan mari kita lihat apa yang bisa kita memungut. 730 00:33:30,860 --> 00:33:32,450 >> Hop Jadi sama, hop yang sama. 731 00:33:32,450 --> 00:33:35,170 Sedikit berbeda sekarang. 732 00:33:35,170 --> 00:33:36,380 Yang satu ini menarik. 733 00:33:36,380 --> 00:33:40,870 Jadi aku menebak di sini, stamford1 adalah beberapa kota jauh di Connecticut juga. 734 00:33:40,870 --> 00:33:43,810 Router ini berturut-turut enam dan tujuh tidak memiliki nama. 735 00:33:43,810 --> 00:33:46,370 Tapi ini adalah jenis menakjubkan. 736 00:33:46,370 --> 00:33:53,310 >> Jadi apa yang tampaknya menjadi antara router pada langkah tujuh dan delapan? 737 00:33:53,310 --> 00:33:54,760 Dan mengapa Anda mengatakan sebanyak? 738 00:33:54,760 --> 00:33:55,260 Ya? 739 00:33:55,260 --> 00:33:56,060 >> AUDIENCE: Ocean. 740 00:33:56,060 --> 00:33:57,640 >> DAVID J. Malan: Mungkin lautan. 741 00:33:57,640 --> 00:34:01,366 Kita tahu itu benar seperti, intuitif, kan? 742 00:34:01,366 --> 00:34:04,790 Tapi kita bisa memastikan sebanyak jenis dari semacam empiris mengapa? 743 00:34:04,790 --> 00:34:06,860 Apa yang telah berubah antara baris tujuh dan delapan? 744 00:34:06,860 --> 00:34:09,429 745 00:34:09,429 --> 00:34:14,739 >> Butuh lebih banyak waktu untuk pergi ke apa ini router tanpa nama tujuh adalah, 746 00:34:14,739 --> 00:34:18,670 mungkin di suatu tempat di benua Amerika, ke langkah delapan, 747 00:34:18,670 --> 00:34:22,639 yang mungkin di suatu tempat di Jepang berdasarkan nama domain .jp ada. 748 00:34:22,639 --> 00:34:25,719 Dan begitu mereka tambahan ratus sesuatu milidetik 749 00:34:25,719 --> 00:34:28,960 atau 90 atau lebih milidetik adalah hasil data kami akan 750 00:34:28,960 --> 00:34:31,100 atas tubuh yang cukup besar air. 751 00:34:31,100 --> 00:34:34,570 >> Sekarang anehnya, tampaknya bahwa mungkin kabel yang berlangsung di seluruh AS. 752 00:34:34,570 --> 00:34:37,070 Jika kita benar-benar akan lebih Pantai Barat untuk sampai ke Jepang, 753 00:34:37,070 --> 00:34:39,111 itu semacam jalan panjang jika kita pergi ke arah lain. 754 00:34:39,111 --> 00:34:41,400 Sehingga tidak sepenuhnya jelas apa yang terjadi secara fisik. 755 00:34:41,400 --> 00:34:43,830 Tetapi kenyataannya bahwa setiap hop tambahan memang 756 00:34:43,830 --> 00:34:46,020 mengambil nyata lagi dari setiap lain, itu 757 00:34:46,020 --> 00:34:50,440 cukup baik konfirmasi bahwa CNN Web server Jepang mungkin memang 758 00:34:50,440 --> 00:34:51,310 di Jepang. 759 00:34:51,310 --> 00:34:54,089 Dan itu pasti jauh jauh dari MIT telah. 760 00:34:54,089 --> 00:34:56,380 Dan itu perlu dicatat juga, Data Anda tidak harus 761 00:34:56,380 --> 00:34:58,794 akan bepergian dengan jarak sesingkat mungkin. 762 00:34:58,794 --> 00:35:00,960 Bahkan, jika Anda bermain-main dengan trace route di rumah 763 00:35:00,960 --> 00:35:04,170 hanya memilih website acak, Anda mungkin menemukan bahwa hanya untuk mengirim email 764 00:35:04,170 --> 00:35:06,490 atau untuk mengunjungi website yang ada di sini di New Haven, 765 00:35:06,490 --> 00:35:09,200 kadang-kadang data Anda mungkin pertama mengambil jalan memutar, pergi ke DC, 766 00:35:09,200 --> 00:35:10,450 dan kemudian datang kembali. 767 00:35:10,450 --> 00:35:12,860 Dan itu hanya karena keputusan routing dinamis 768 00:35:12,860 --> 00:35:14,650 bahwa komputer ini membuat. 769 00:35:14,650 --> 00:35:18,930 >> Sekarang hanya untuk bersenang-senang, tim produksi dipangkas salah satu video ini untuk kita 770 00:35:18,930 --> 00:35:20,807 hanya sedikit lebih ringkas. 771 00:35:20,807 --> 00:35:23,640 Tetapi untuk memberikan kita rasa cepat di sini- dan kita bisa meninggalkan lampu on-- 772 00:35:23,640 --> 00:35:32,363 untuk berapa banyak kabel adalah sebenarnya membawa semua data kami. 773 00:35:32,363 --> 00:35:33,029 [VIDEO PLAYBACK] 774 00:35:33,029 --> 00:35:36,023 [MUSIC PLAYING] 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: Semua video jaringan memiliki musik terdengar keren rupanya. 778 00:36:35,860 --> 00:36:38,084 Jadi itu untuk mendapatkan hanya rasa berapa banyak memiliki 779 00:36:38,084 --> 00:36:39,500 telah terjadi di bawah tenda. 780 00:36:39,500 --> 00:36:41,355 >> Tapi mari kita lihat sebuah tingkat sedikit lebih rendah sekarang 781 00:36:41,355 --> 00:36:44,150 apa data yang sebenarnya melintasi jalur tersebut, 782 00:36:44,150 --> 00:36:46,720 dan bahkan akan secara nirkabel di ruang seperti ini. 783 00:36:46,720 --> 00:36:49,580 >> Jadi ternyata ketika Anda meminta halaman web, atau mengirim e-mail, 784 00:36:49,580 --> 00:36:53,670 atau menerima halaman web, atau e-mail, atau pesan Gchat, atau pesan Facebook, 785 00:36:53,670 --> 00:36:57,800 atau sejenisnya, yang tidak hanya satu sebagian besar dari bit mengalir secara nirkabel 786 00:36:57,800 --> 00:37:00,600 melalui udara atau elektronik pada sebuah kawat. 787 00:37:00,600 --> 00:37:03,680 Sebaliknya, permintaan itu atau Tanggapan umumnya 788 00:37:03,680 --> 00:37:05,810 chunked menjadi potongan-potongan terpisah. 789 00:37:05,810 --> 00:37:08,880 >> Jadi dengan kata lain, ketika Anda memiliki meminta untuk membuat komputer lain, 790 00:37:08,880 --> 00:37:10,980 atau Anda mendapatkan kembali respon dari computer-- lain 791 00:37:10,980 --> 00:37:15,800 seperti misalkan, misalnya, jika yang asing karena terlalu banyak orang 792 00:37:15,800 --> 00:37:18,400 tampaknya days-- ini jika tidak terbiasa dengan this-- 793 00:37:18,400 --> 00:37:20,200 Bukankah ini fellow-- orang ini. 794 00:37:20,200 --> 00:37:23,950 Jadi kira ini adalah pesan yang Saya ingin mengirim kepada seseorang di belakang. 795 00:37:23,950 --> 00:37:28,930 Yang di belakang sangat ingin menerima gambar dari Rick Astley hari ini? 796 00:37:28,930 --> 00:37:29,805 OK, siapa namamu? 797 00:37:29,805 --> 00:37:30,590 >> AUDIENCE: Cole. 798 00:37:30,590 --> 00:37:31,306 >> DAVID J. Malan: Apa itu? 799 00:37:31,306 --> 00:37:31,672 >> AUDIENCE: 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 AUDIENCE: C-O-L-E. 803 00:37:33,711 --> 00:37:34,960 DAVID J. Malan: C-O-L-E, Cole. 804 00:37:34,960 --> 00:37:35,520 Maaf. 805 00:37:35,520 --> 00:37:36,430 C-O-L-E. 806 00:37:36,430 --> 00:37:36,930 Baiklah. 807 00:37:36,930 --> 00:37:40,990 Jadi jika saya ingin mengirim Cole ini gambar di sini, Anda tahu ini 808 00:37:40,990 --> 00:37:42,410 adalah jenis gambaran besar, kan? 809 00:37:42,410 --> 00:37:44,472 Ini bisa menjadi beberapa kilobyte, beberapa megabyte, 810 00:37:44,472 --> 00:37:45,930 terutama jika itu resolusi tinggi. 811 00:37:45,930 --> 00:37:48,660 Dan aku tidak benar-benar ingin berhenti orang lain dari menggunakan internet 812 00:37:48,660 --> 00:37:50,680 hanya sementara saya mengirimkan ini benar-benar besar, kualitas gambar yang tinggi 813 00:37:50,680 --> 00:37:52,138 Rick Astley seluruh ruangan. 814 00:37:52,138 --> 00:37:55,310 Saya ingin data Anda untuk terus melintasi jaringan dan Wi-Fi 815 00:37:55,310 --> 00:37:56,100 demikian juga. 816 00:37:56,100 --> 00:38:00,100 >> Dan sehingga membuat sense-- dan ini dipulihkan secara elektronik, 817 00:38:00,100 --> 00:38:01,780 tidak begitu banyak di dunia nyata. 818 00:38:01,780 --> 00:38:04,904 Sebenarnya, ini akan memiliki beberapa arti jika Anda mengambil audio saya keluar. 819 00:38:04,904 --> 00:38:08,360 Jadi jika saya merobek ini di paruh seperti ini di sini, 820 00:38:08,360 --> 00:38:11,912 ini sekarang dapat melakukan perjalanan dengan internet lebih efisien, 821 00:38:11,912 --> 00:38:13,120 karena itu adalah bagian yang lebih kecil. 822 00:38:13,120 --> 00:38:16,780 Jadi dengan probabilitas rendah itu akan berbenturan dengan lalu lintas orang lain 823 00:38:16,780 --> 00:38:17,650 di internet. 824 00:38:17,650 --> 00:38:21,240 >> Dan jadi apa komputer Anda memang tidak ketika Anda ingin mengirim pesan ke Cole 825 00:38:21,240 --> 00:38:24,917 itu potongan up pesan seperti ini dalam potongan kecil, fragmen sehingga untuk berbicara. 826 00:38:24,917 --> 00:38:28,000 Dan kemudian menempatkan mereka dalam apa yang kami akan memanggil semacam amplop virtual. 827 00:38:28,000 --> 00:38:29,620 >> Jadi saya memiliki empat amplop kertas di sini. 828 00:38:29,620 --> 00:38:32,690 Dan aku sudah pra-nomor mereka, satu, dua, tiga, dan empat. 829 00:38:32,690 --> 00:38:35,800 Dan apa yang akan saya lakukan di depan ini, hanya seperti mailing normal, 830 00:38:35,800 --> 00:38:38,000 adalah aku akan menempatkan nama Cole ada. 831 00:38:38,000 --> 00:38:41,270 Dan kemudian di atas, saya akan menempatkan nama saya di sana, 832 00:38:41,270 --> 00:38:44,995 David, sehingga paket tersebut pertama Aku akan mengirim luar sana di internet 833 00:38:44,995 --> 00:38:47,620 terlihat sedikit sesuatu seperti ini, karakteristik yang menonjol 834 00:38:47,620 --> 00:38:50,830 dari yang yang memiliki untuk mengatasi, dari alamat, 835 00:38:50,830 --> 00:38:52,670 dan juga sejumlah, sehingga bahwa yang diharapkan 836 00:38:52,670 --> 00:38:55,680 adalah informasi yang cukup untuk Cole untuk merekonstruksi pesan ini. 837 00:38:55,680 --> 00:38:58,820 >> Jadi biarkan aku melakukan hal yang sama di sini, sama di sini, dan yang sama di sini, 838 00:38:58,820 --> 00:39:01,310 menulis namanya di Ke lapangan pada mereka semua. 839 00:39:01,310 --> 00:39:04,240 Dan kemudian mari kita pergi ke depan dan menempatkan gambar ini di dalam. 840 00:39:04,240 --> 00:39:06,540 >> Jadi di sini adalah satu paket yang siap untuk pergi. 841 00:39:06,540 --> 00:39:09,780 Berikut ini adalah paket lain yang siap untuk pergi. 842 00:39:09,780 --> 00:39:14,100 Berikut ini adalah paket ketiga yang siap untuk pergi. 843 00:39:14,100 --> 00:39:16,870 Dan di sini adalah keempat paket yang siap untuk pergi. 844 00:39:16,870 --> 00:39:19,849 >> Dan sekarang apa yang menarik tentang bagaimana internet pada kenyataannya karya 845 00:39:19,849 --> 00:39:22,140 adalah bahwa meskipun saya punya empat paket, yang semuanya 846 00:39:22,140 --> 00:39:24,730 ditakdirkan untuk sama Lokasi, mereka belum tentu 847 00:39:24,730 --> 00:39:26,870 akan melintasi rute yang sama. 848 00:39:26,870 --> 00:39:32,070 Dan jadi meskipun saya mungkin tangan ini Paket off ke router terdekat 849 00:39:32,070 --> 00:39:36,660 katakanlah, jika Anda ingin mengirim mereka setiap cara yang, mari kita lihat 850 00:39:36,660 --> 00:39:40,706 apa yang sebenarnya terjadi, tujuan yang membuat mereka akhirnya Cole. 851 00:39:40,706 --> 00:39:44,850 852 00:39:44,850 --> 00:39:48,770 Dan memang, mereka sudah tidak tentu mengambil arah yang sama. 853 00:39:48,770 --> 00:39:50,510 Dan itu baik-baik saja. 854 00:39:50,510 --> 00:39:52,480 Ini adalah sedikit canggung dan gaya Oprah hari ini. 855 00:39:52,480 --> 00:39:56,540 >> Dan sekarang biarkan aku sengaja mengambil satu kembali. 856 00:39:56,540 --> 00:40:00,196 Dan sekarang Cole, jika Anda ingin berkumpul kembali sebaik mungkin. 857 00:40:00,196 --> 00:40:06,610 858 00:40:06,610 --> 00:40:10,180 Tentu saja, kita semua bisa menebak apa kesimpulan di sini akan menjadi. 859 00:40:10,180 --> 00:40:12,600 Anda akan memiliki 3/4 dari Rick Astley hanya dalam beberapa saat. 860 00:40:12,600 --> 00:40:15,920 861 00:40:15,920 --> 00:40:19,291 Dan apa meskipun adalah Implikasi dari itu? 862 00:40:19,291 --> 00:40:20,540 Anda ingin mencoba untuk menahan itu? 863 00:40:20,540 --> 00:40:23,540 Kami memiliki satu kamera menunjuk pada Anda jika Anda ingin 864 00:40:23,540 --> 00:40:26,226 berpose dengan Rick Astley di sini. 865 00:40:26,226 --> 00:40:28,610 866 00:40:28,610 --> 00:40:29,510 Di sana kami pergi. 867 00:40:29,510 --> 00:40:30,410 Indah. 868 00:40:30,410 --> 00:40:33,230 >> Tetapi Anda tampaknya akan hilang fragmen dari Rick Astley. 869 00:40:33,230 --> 00:40:37,015 Jadi ternyata bahwa internet umumnya didorong oleh tidak hanya IP, 870 00:40:37,015 --> 00:40:39,890 tapi sebenarnya kita mendengar di sangat mulai dari kuliah di video-- yang 871 00:40:39,890 --> 00:40:42,473 dan Anda mungkin pernah melihat ini akronim lebih often-- apa yang sebenarnya 872 00:40:42,473 --> 00:40:44,360 adalah protokol Anda cenderung mendengar tentang? 873 00:40:44,360 --> 00:40:45,120 >> AUDIENCE: TCP / IP. 874 00:40:45,120 --> 00:40:48,090 >> DAVID J. Malan: TCP / IP, yang hanya kombinasi 875 00:40:48,090 --> 00:40:49,940 dari dua protokol, satu disebut IP. 876 00:40:49,940 --> 00:40:52,640 Yang lagi, hanya mengatur konvensi via yang kita 877 00:40:52,640 --> 00:40:54,740 mengatasi setiap komputer di internet. 878 00:40:54,740 --> 00:40:56,930 Dan kemudian TCP, yang melayani tujuan lain. 879 00:40:56,930 --> 00:41:00,110 >> TCP adalah protokol yang Anda biasanya digunakan dalam hubungannya 880 00:41:00,110 --> 00:41:04,410 dengan IP, yang antara lain hal, pengiriman jaminan. 881 00:41:04,410 --> 00:41:08,860 Bahkan, TCP adalah protokol yang akan melihat bahwa salah satu paket 882 00:41:08,860 --> 00:41:10,930 ternyata tidak bisa Cole, karena ia tampaknya 883 00:41:10,930 --> 00:41:12,830 menjadi hilang nomor empat dari empat. 884 00:41:12,830 --> 00:41:16,530 Dan jadi apa TCP, protokol tidak, itu mengatakan Cole, 885 00:41:16,530 --> 00:41:19,850 hey Cole, jika Anda hanya menerima tiga dari empat paket, 886 00:41:19,850 --> 00:41:22,600 memberitahu saya mana yang Anda hilang, pada dasarnya, 887 00:41:22,600 --> 00:41:25,570 dan kemudian tujuan saya dalam hidup harus untuk memancarkan kembali itu. 888 00:41:25,570 --> 00:41:28,580 >> Dan jadi jika saya juga, pengirim, menggunakan TCP, 889 00:41:28,580 --> 00:41:31,810 Saya kemudian harus membuat packet-- baru Bukankah ini keriput satu di sini- 890 00:41:31,810 --> 00:41:35,980 memancarkan kembali hanya ini sepotong itu, sehingga akhirnya Cole memiliki 891 00:41:35,980 --> 00:41:38,280 souvenir lengkap, jika tidak ada yang lain. 892 00:41:38,280 --> 00:41:43,000 Tapi sehingga pada akhirnya data sebenarnya sampai ke tujuan yang benar. 893 00:41:43,000 --> 00:41:48,020 >> Namun sayangnya, menulis nama Cole di bagian depan tidak cukup, per se. 894 00:41:48,020 --> 00:41:50,270 Dan benar-benar, saya tidak akan menulis Nama Cole, tapi mungkin 895 00:41:50,270 --> 00:41:51,655 alamat IP-nya di amplop. 896 00:41:51,655 --> 00:41:52,780 Dan aku tidak akan menulis David. 897 00:41:52,780 --> 00:41:56,550 Saya akan menulis alamat IP saya di amplop sehingga komputer dapat benar-benar 898 00:41:56,550 --> 00:41:57,999 berkomunikasi kembali dan sebagainya. 899 00:41:57,999 --> 00:42:00,540 Tapi ternyata bahwa komputer dapat melakukan cara yang lebih dari melayani sampai 900 00:42:00,540 --> 00:42:01,900 gambar Rick Astley. 901 00:42:01,900 --> 00:42:05,340 Mereka juga dapat mengirim ulang dan menerima email, pesan chat. 902 00:42:05,340 --> 00:42:09,780 Mereka dapat melakukan hal-hal seperti transfer file, dan sejumlah alat lainnya 903 00:42:09,780 --> 00:42:12,330 Anda gunakan di internet, server dapat lakukan hari ini. 904 00:42:12,330 --> 00:42:15,300 >> Dan hanya karena sebuah perusahaan, atau sekolah, atau seseorang 905 00:42:15,300 --> 00:42:19,420 ingin memiliki sebuah server web, dan server email, dan server obrolan, 906 00:42:19,420 --> 00:42:21,420 tidak berarti Anda perlu tiga komputer. 907 00:42:21,420 --> 00:42:26,200 Anda dapat memiliki hanya satu komputer yang menjalankan beberapa layanan, sehingga untuk berbicara. 908 00:42:26,200 --> 00:42:29,190 >> Dan jadi ketika Cole menerima pesan seperti itu, bagaimana 909 00:42:29,190 --> 00:42:32,940 tidak komputer tahu apakah akan menunjukkan gambar yang di browser-nya, 910 00:42:32,940 --> 00:42:37,730 atau dalam Gchat, atau Facebook Messenger, atau dalam sejumlah alat lainnya? 911 00:42:37,730 --> 00:42:40,430 >> Jadi ternyata juga pada yang sebagai amplop adalah bagian tambahan 912 00:42:40,430 --> 00:42:43,070 informasi yang dikenal sebagai nomor port. 913 00:42:43,070 --> 00:42:45,240 Dan nomor port adalah hanya nomor memang, 914 00:42:45,240 --> 00:42:48,342 tapi unik mengidentifikasi tidak komputer, tetapi layanan. 915 00:42:48,342 --> 00:42:49,550 Dan ada tandan tersebut. 916 00:42:49,550 --> 00:42:51,258 Jadi ternyata bahwa di dunia, manusia 917 00:42:51,258 --> 00:42:57,095 telah memutuskan pada beberapa seperti konvensi, beberapa di antaranya adalah ini. 918 00:42:57,095 --> 00:42:59,220 Jadi ada sesuatu yang disebut Berkas Transfer Protocol. 919 00:42:59,220 --> 00:42:59,870 Ini cukup tanggal. 920 00:42:59,870 --> 00:43:00,970 Ini benar-benar tidak aman. 921 00:43:00,970 --> 00:43:02,320 Banyak orang masih menggunakannya. 922 00:43:02,320 --> 00:43:04,240 Dan menggunakan nomor port 21. 923 00:43:04,240 --> 00:43:07,250 Dengan kata lain, jika mengirim file melalui FTP, 924 00:43:07,250 --> 00:43:10,570 amplop akan memiliki tidak hanya pengirim dan alamat IP penerima, 925 00:43:10,570 --> 00:43:14,020 itu juga akan memiliki nomor 21 sehingga komputer yang menerima tahu oh, ini 926 00:43:14,020 --> 00:43:17,280 adalah file, bukan email atau pesan chat. 927 00:43:17,280 --> 00:43:19,016 >> 25 adalah SMTP. 928 00:43:19,016 --> 00:43:20,516 Berapa banyak dari Anda yang pernah menggunakan SMTP? 929 00:43:20,516 --> 00:43:22,850 930 00:43:22,850 --> 00:43:23,380 Salah. 931 00:43:23,380 --> 00:43:24,490 Hampir semua yang Anda miliki. 932 00:43:24,490 --> 00:43:28,730 Jika Anda pernah menggunakan email, Anda telah menggunakan SMTP, sederhana transfer protocol email, 933 00:43:28,730 --> 00:43:32,300 yang adalah cara mewah mengatakan, ini adalah jenis komputer atau layanan 934 00:43:32,300 --> 00:43:34,600 yang mengirim keluar email Anda. 935 00:43:34,600 --> 00:43:38,780 >> Dan jika Anda sudah pernah melihat akronim seperti POP, atau IMAP, dan ada beberapa orang lain, 936 00:43:38,780 --> 00:43:40,670 mereka adalah untuk menerima email, biasanya. 937 00:43:40,670 --> 00:43:42,650 Itu hanya berarti itu layanan yang berbeda. 938 00:43:42,650 --> 00:43:45,850 Ini perangkat lunak yang seseorang menulis bahwa mengirimkan atau mendengarkan 939 00:43:45,850 --> 00:43:48,880 pada nomor port tertentu sehingga bahwa itu tidak membingungkan email 940 00:43:48,880 --> 00:43:50,360 dengan beberapa jenis lain dari data. 941 00:43:50,360 --> 00:43:55,500 >> Sekarang web adalah HTTP, yang merupakan nomor 80, dan juga port 443. 942 00:43:55,500 --> 00:43:57,590 Dan pada kenyataannya, meskipun kita manusia untungnya 943 00:43:57,590 --> 00:43:59,610 tidak perlu melakukan hal ini, setiap kali Anda mengunjungi 944 00:43:59,610 --> 00:44:05,810 website seperti http://www.yale.edu, browser 945 00:44:05,810 --> 00:44:07,790 hanya menjadi semacam membantu dalam bahwa itu 946 00:44:07,790 --> 00:44:10,970 dengan asumsi bahwa Anda ingin pelabuhan numerik 80. 947 00:44:10,970 --> 00:44:15,710 Kita sudah tahu bahwa DNS tahu apa alamat IP dari www.yale.edu. 948 00:44:15,710 --> 00:44:17,970 Tapi komputer hanya akan menyimpulkan bahwa Anda 949 00:44:17,970 --> 00:44:21,560 ingin port 80 karena Anda menggunakan Chrome, atau IE, atau browser lain. 950 00:44:21,560 --> 00:44:24,930 Tapi saya secara teknis bisa melakukan usus 80. 951 00:44:24,930 --> 00:44:28,520 Dan kemudian saya secara eksplisit dapat memberitahu browser saya, mengirim paket atau lebih 952 00:44:28,520 --> 00:44:32,080 informasi untuk www.yale.edu meminta halaman rumah hari ini. 953 00:44:32,080 --> 00:44:36,070 Namun secara khusus, alamat untuk IP Yale di port 80 954 00:44:36,070 --> 00:44:39,190 sehingga saya benar-benar mendapatkan kembali server web Yale. 955 00:44:39,190 --> 00:44:42,229 >> Sekarang segera menghilang karena browser hanya 956 00:44:42,229 --> 00:44:44,020 memutuskan bahwa kita tidak perlu bingung manusia 957 00:44:44,020 --> 00:44:46,810 dengan memiliki lebih banyak lagi misterius Informasi seperti usus 80. 958 00:44:46,810 --> 00:44:50,640 Dan terus terang, browser seperti Chrome bahkan tidak 959 00:44:50,640 --> 00:44:55,464 menunjukkan HTTP lagi, atau usus besar, atau slash slash, atau garis miring di belakang, 960 00:44:55,464 --> 00:44:58,380 dalam arti karena mereka berusaha untuk membuat hal-hal sederhana bagi pengguna. 961 00:44:58,380 --> 00:45:01,080 Dalam arti lain, itu hanya jenis dari pengalaman pengguna thing-- 962 00:45:01,080 --> 00:45:02,720 mari kita menyingkirkan beberapa kekacauan. 963 00:45:02,720 --> 00:45:05,405 Tapi itu bersembunyi beberapa rincian ini mendasari. 964 00:45:05,405 --> 00:45:09,360 >> Dan pada kenyataannya, tidak satupun dari kita mungkin pernah ketik http lagi. 965 00:45:09,360 --> 00:45:12,060 Anda hanya mengetikkan sesuatu seperti www.harvard.edu. 966 00:45:12,060 --> 00:45:15,310 Dan lagi, menyimpulkan Chrome yang Anda inginkan HTTP. 967 00:45:15,310 --> 00:45:18,970 Tapi ada protokol lain bahwa kita bisa pasti menggunakan. 968 00:45:18,970 --> 00:45:24,480 >> Jadi diberikan semua ini, jika Anda sekarang semacam dari memakai yang disebut topi rekayasa, 969 00:45:24,480 --> 00:45:27,417 bagaimana hal yang disebut firewall bekerja? 970 00:45:27,417 --> 00:45:29,750 Jadi Anda mungkin umumnya akrab dengan firewall, 971 00:45:29,750 --> 00:45:30,990 tidak begitu banyak dalam arti fisik. 972 00:45:30,990 --> 00:45:32,470 Jadi kembali pada hari, dan masih sampai hari ini, 973 00:45:32,470 --> 00:45:35,430 jika Anda punya seperti mal strip untuk Misalnya yang memiliki banyak toko-toko, 974 00:45:35,430 --> 00:45:38,500 umumnya dinding di antara toko individu atau toko 975 00:45:38,500 --> 00:45:43,180 adalah firewall dalam arti bahwa mereka memiliki isolasi khusus 976 00:45:43,180 --> 00:45:45,310 sehingga jika api pecah di satu toko, 977 00:45:45,310 --> 00:45:48,210 itu tidak selalu menyebar ke toko sebelah. 978 00:45:48,210 --> 00:45:51,710 >> Dunia komputer juga memiliki firewall yang melakukan sesuatu yang berbeda. 979 00:45:51,710 --> 00:45:52,798 Apa bola api lakukan? 980 00:45:52,798 --> 00:45:53,298 Ya? 981 00:45:53,298 --> 00:45:55,290 >> AUDIENCE: Pada dasarnya mereka memotong koneksi 982 00:45:55,290 --> 00:45:59,493 jika mereka menemukan sesuatu seperti, misalnya, 983 00:45:59,493 --> 00:46:01,361 mereka memiliki sejumlah pernyataan id. 984 00:46:01,361 --> 00:46:04,340 Dan jika sesuatu terjadi, mereka memotong sambungan. 985 00:46:04,340 --> 00:46:07,570 Seperti jika serangan berbahaya ini [Tidak terdengar] komputer Anda, or-- 986 00:46:07,570 --> 00:46:08,630 >> DAVID J. Malan: OK baik. 987 00:46:08,630 --> 00:46:11,220 Ya, dan pada kenyataannya Anda bahkan akan sedikit lebih jauh 988 00:46:11,220 --> 00:46:14,590 dalam menggambarkan sesuatu yang mungkin disebut sistem deteksi intrusi, 989 00:46:14,590 --> 00:46:18,305 atau IDS untuk jangka pendek, dimana Anda benar-benar memiliki aturan yang ditetapkan. 990 00:46:18,305 --> 00:46:22,140 Dan jika Anda mulai melihat mencurigakan perilaku, Anda mencoba untuk mengakhiri itu. 991 00:46:22,140 --> 00:46:24,250 >> Dan firewall, terus terang, pada tingkat jaringan, 992 00:46:24,250 --> 00:46:26,821 bahkan bodoh dan sederhana dari itu, secara umum. 993 00:46:26,821 --> 00:46:29,070 Dan ada berbagai jenis dari firewall di dunia. 994 00:46:29,070 --> 00:46:31,569 Tapi orang-orang yang beroperasi pada tingkat kita berbicara today-- 995 00:46:31,569 --> 00:46:35,330 IP dan TCP-- bekerja bahkan lebih lugas. 996 00:46:35,330 --> 00:46:39,180 >> Misalnya, jika Anda sistem Yale administrator, atau sistem Harvard 997 00:46:39,180 --> 00:46:42,020 administrator, atau Big Saudara di beberapa perusahaan, 998 00:46:42,020 --> 00:46:45,040 dan Anda ingin mencegah semua Anda siswa atau semua karyawan Anda 999 00:46:45,040 --> 00:46:47,619 dari pergi ke facebook.com, semua harus Anda lakukan 1000 00:46:47,619 --> 00:46:50,160 adalah memastikan bahwa semua mereka lalu lintas jaringan, pertama-tama, 1001 00:46:50,160 --> 00:46:51,850 berjalan melalui perangkat khusus. 1002 00:46:51,850 --> 00:46:53,030 Mari kita menyebutnya firewall. 1003 00:46:53,030 --> 00:46:54,910 >> Dan itu bagus, karena Anda dapat membuat router Anda 1004 00:46:54,910 --> 00:46:57,618 hal yang sama sebagai firewall jika Anda menempatkan jenis yang sama perangkat lunak 1005 00:46:57,618 --> 00:46:58,940 pada mesin yang sama. 1006 00:46:58,940 --> 00:47:01,780 Jadi, jika semua siswa Anda atau lalu lintas karyawan 1007 00:47:01,780 --> 00:47:04,450 akan melalui ini firewall pusat, bagaimana 1008 00:47:04,450 --> 00:47:08,540 akan kami memblokir orang dari pergi untuk facebook.com, misalnya? 1009 00:47:08,540 --> 00:47:10,780 Apa yang akan sistem memiliki administrator untuk melakukan? 1010 00:47:10,780 --> 00:47:11,370 Orang lain? 1011 00:47:11,370 --> 00:47:12,911 Mari kita coba untuk pergi sekitar. 1012 00:47:12,911 --> 00:47:15,074 >> AUDIENCE: [tidak terdengar] 1013 00:47:15,074 --> 00:47:16,365 DAVID J. Malan: Katakan itu lagi? 1014 00:47:16,365 --> 00:47:19,215 AUDIENCE: Ini harus hanya mendapatkan terperangkap di dalam sistem. 1015 00:47:19,215 --> 00:47:22,487 Jadi hanya menempatkan Facebook ke 127.0.0-- 1016 00:47:22,487 --> 00:47:23,820 DAVID J. Malan: Oh, menarik. 1017 00:47:23,820 --> 00:47:27,290 Jadi Anda benar-benar dapat kemudian hack sistem DNS Anda. 1018 00:47:27,290 --> 00:47:31,180 Ini memang cara Anda bisa melakukan ini dimana setiap saat mahasiswa Yale menarik 1019 00:47:31,180 --> 00:47:34,670 up www.facebook.com, semua kita di sini hari ini di kampus 1020 00:47:34,670 --> 00:47:38,590 menggunakan DNS server Yale, karena server DHCP Yale memberi kami 1021 00:47:38,590 --> 00:47:39,580 alamat tersebut. 1022 00:47:39,580 --> 00:47:42,490 Jadi ya, Anda bisa jenis memecahkan hal-hal atau istirahat konvensi 1023 00:47:42,490 --> 00:47:49,190 dengan hanya mengatakan, ya, alamat facebook.com adalah palsu, 1024 00:47:49,190 --> 00:47:52,530 adalah 1.2.3.4, yang merupakan tidak benar-benar sah. 1025 00:47:52,530 --> 00:47:53,930 Atau mungkin itu 278. 1026 00:47:53,930 --> 00:47:57,460 apa pun dalam acara TV saat yang lalu sehingga tidak satupun dari kita 1027 00:47:57,460 --> 00:47:59,176 benar-benar dapat mengunjungi facebook.com. 1028 00:47:59,176 --> 00:48:00,590 >> Jadi misalkan Yale melakukan itu. 1029 00:48:00,590 --> 00:48:03,336 Misalkan Yale ingin menjaga Anda keluar dari facebook.com. 1030 00:48:03,336 --> 00:48:05,700 Dan karena itu, mereka mengubah pengaturan DNS 1031 00:48:05,700 --> 00:48:08,812 untuk memberikan IP palsu alamat untuk facebook.com. 1032 00:48:08,812 --> 00:48:10,616 Bagaimana Anda menanggapi? 1033 00:48:10,616 --> 00:48:12,990 Secara teknis, not-- oh, sekarang semua orang ingin berpartisipasi. 1034 00:48:12,990 --> 00:48:13,490 OK, ya. 1035 00:48:13,490 --> 00:48:16,190 AUDIENCE: Anda cukup ketik di alamat IP sebenarnya dari Facebook. 1036 00:48:16,190 --> 00:48:16,710 >> DAVID J. Malan: OK, baik. 1037 00:48:16,710 --> 00:48:19,350 Jadi kita hanya bisa mengetik di alamat IP sebenarnya dari Facebook, 1038 00:48:19,350 --> 00:48:21,090 banyak seperti yang saya lakukan dengan situs Yale. 1039 00:48:21,090 --> 00:48:24,636 Dan jika server Facebook dikonfigurasi untuk mendukung itu, sebaiknya memang bekerja. 1040 00:48:24,636 --> 00:48:26,510 Itu sakit kecil di leher, karena sekarang kita 1041 00:48:26,510 --> 00:48:30,220 harus ingat beberapa acak Nilai 32-bit, tapi itu bisa bekerja. 1042 00:48:30,220 --> 00:48:31,622 Apa lagi yang bisa Anda lakukan? 1043 00:48:31,622 --> 00:48:32,121 Ya. 1044 00:48:32,121 --> 00:48:35,117 >> AUDIENCE: Anda bisa mengubah pengaturan tersebut [tidak terdengar]. 1045 00:48:35,117 --> 00:48:37,700 DAVID J. Malan: Ya, Anda bisa bahkan mengubah pengaturan DNS Anda. 1046 00:48:37,700 --> 00:48:40,480 Jadi sebenarnya ini sebenarnya cukup berguna, terus terang, 1047 00:48:40,480 --> 00:48:45,590 jika Anda berada di bandara, atau jika Anda berada di sebuah kafe, atau sesuatu yang 1048 00:48:45,590 --> 00:48:48,834 memiliki internet serpihan dimana kadang-kadang server DNS hanya berhenti bekerja. 1049 00:48:48,834 --> 00:48:51,000 Jadi, bahkan kadang-kadang saya lakukan ini, bukan untuk berbahaya, saya 1050 00:48:51,000 --> 00:48:52,750 ingin menggunakan Facebook tujuan, tapi benar-benar 1051 00:48:52,750 --> 00:48:56,344 karena saya tampaknya memiliki jaringan koneksi, tapi tidak ada yang bekerja. 1052 00:48:56,344 --> 00:48:58,260 Dan jadi salah satu yang pertama hal yang saya try-- dan Anda 1053 00:48:58,260 --> 00:49:01,710 dapat melakukan hal ini pada Windows too-- tapi pada Mac saya, jika saya pergi ke Jaringan. 1054 00:49:01,710 --> 00:49:03,330 Dan saya memilih koneksi Wi-Fi saya. 1055 00:49:03,330 --> 00:49:04,750 Dan aku pergi ke Lanjutan. 1056 00:49:04,750 --> 00:49:06,080 Dan aku pergi ke DNS. 1057 00:49:06,080 --> 00:49:08,260 Ini adalah tiga Alamat IP yang Yale 1058 00:49:08,260 --> 00:49:10,290 adalah memberi saya selama tiga server DNS. 1059 00:49:10,290 --> 00:49:14,110 Tujuannya kemudian adalah bagi saya untuk mencoba salah salah satu dari ini untuk menyelesaikan alamat. 1060 00:49:14,110 --> 00:49:15,946 >> Tapi aku bisa menimpa ini dengan melakukan plus. 1061 00:49:15,946 --> 00:49:18,333 Dan siapa pun ingin mengusulkan server DNS? 1062 00:49:18,333 --> 00:49:19,120 >> AUDIENCE: 8.8.8.8? 1063 00:49:19,120 --> 00:49:20,578 >> DAVID J. Malan: Oh, kau menakjubkan. 1064 00:49:20,578 --> 00:49:21,650 Ya, 8.8.8.8. 1065 00:49:21,650 --> 00:49:26,170 Jadi Google, memberkati hati mereka, membeli alamat IP 8.8.8.8, 1066 00:49:26,170 --> 00:49:29,560 karena jenis terlihat seperti Gs mungkin, dan itu mudah diingat. 1067 00:49:29,560 --> 00:49:34,820 Tapi memang, sekarang saya telah mengkonfigurasi saya komputer untuk menggunakan server DNS Google. 1068 00:49:34,820 --> 00:49:38,050 >> Jadi sekarang jika saya pergi ke yale.edu, itu masih akan bekerja. 1069 00:49:38,050 --> 00:49:40,100 Tapi aku tidak menggunakan Yale Server DNS lagi. 1070 00:49:40,100 --> 00:49:44,430 Dan jika saya pergi ke facebook.com, semua orang terlihat up 1071 00:49:44,430 --> 00:49:45,960 akan pergi melalui Google. 1072 00:49:45,960 --> 00:49:49,120 >> Jadi di satu sisi, saya sudah cerdik dielakkan sistem lokal 1073 00:49:49,120 --> 00:49:51,810 administrator hanya dengan memahami bagaimana jaringan bekerja. 1074 00:49:51,810 --> 00:49:53,360 Tapi saya membayar harga. 1075 00:49:53,360 --> 00:49:54,740 Tidak ada yang gratis. 1076 00:49:54,740 --> 00:49:56,096 Apa yang telah saya hanya menyerah? 1077 00:49:56,096 --> 00:50:00,180 1078 00:50:00,180 --> 00:50:02,250 Apa yang telah saya hanya menyerah? 1079 00:50:02,250 --> 00:50:06,090 Kalian semua orang pandai yang memiliki telah menggunakan 8.8.8.8, karena itu keren 1080 00:50:06,090 --> 00:50:10,440 atau memecahkan masalah, apa yang harus Anda telah melakukan semua saat ini? 1081 00:50:10,440 --> 00:50:11,910 >> AUDIENCE: Traveling jauh? 1082 00:50:11,910 --> 00:50:15,201 >> DAVID J. Malan: Mungkin bepergian jauh, karena Google mungkin tidak cukup sebagai 1083 00:50:15,201 --> 00:50:16,770 sedekat server di jalan. 1084 00:50:16,770 --> 00:50:18,420 Tetapi lebih worrisomely. 1085 00:50:18,420 --> 00:50:18,920 Ya? 1086 00:50:18,920 --> 00:50:20,940 >> AUDIENCE: Jadi sekarang Google tahu di mana Anda akan pergi. 1087 00:50:20,940 --> 00:50:23,856 >> DAVID J. Malan: Google tahu harfiah setiap website yang Anda kunjungi, 1088 00:50:23,856 --> 00:50:26,080 karena Anda benar-benar meminta mereka, hey Google, 1089 00:50:26,080 --> 00:50:28,360 Anda dapat menerjemahkan yale.edu untuk saya? 1090 00:50:28,360 --> 00:50:32,430 Atau hey Google, dapat Anda menerjemahkan ini alamat website lain bagi saya 1091 00:50:32,430 --> 00:50:33,334 menjadi alamat IP. 1092 00:50:33,334 --> 00:50:35,750 Dan jadi they're-- saya tidak tahu apa yang Anda bicarakan. 1093 00:50:35,750 --> 00:50:38,080 Dan sehingga mereka tahu segalanya tentang Anda. 1094 00:50:38,080 --> 00:50:42,180 Jadi menyadari bahwa ini adalah layanan gratis dengan tujuan dari perspektif mereka 1095 00:50:42,180 --> 00:50:42,680 demikian juga. 1096 00:50:42,680 --> 00:50:44,420 Tapi itu pasti bisa membuat Anda keluar dari mengikat. 1097 00:50:44,420 --> 00:50:46,380 >> Sekarang hanya untuk mengatasi salah satu lainnya Masalah yang sering muncul 1098 00:50:46,380 --> 00:50:48,640 kalangan mahasiswa, terutama ketika bepergian internasional 1099 00:50:48,640 --> 00:50:50,765 di negara-negara tertentu seperti Ada Cina, di mana memang 1100 00:50:50,765 --> 00:50:54,559 adalah Great Firewall of China dimana pemerintah ada blok cukup 1101 00:50:54,559 --> 00:50:56,100 sedikit lalu lintas pada tingkat yang berbeda. 1102 00:50:56,100 --> 00:50:58,141 Anda tidak harus hanya blok lalu lintas di tingkat 1103 00:50:58,141 --> 00:51:01,240 kita berbicara di sini, DNS atau sebaliknya, Anda dapat memblokir itu di tingkat lainnya. 1104 00:51:01,240 --> 00:51:04,030 >> Dan pada kenyataannya, hanya untuk jelas, firewall 1105 00:51:04,030 --> 00:51:08,400 dapat beroperasi bahkan lebih sederhana dari sekedar memiliki administrator sistem mengubah 1106 00:51:08,400 --> 00:51:09,500 Pengaturan DNS. 1107 00:51:09,500 --> 00:51:12,920 Sebuah firewall, perangkat di antara kami dan seluruh dunia, 1108 00:51:12,920 --> 00:51:16,850 hanya bisa memblokir keluar setiap permintaan ke alamat IP 1109 00:51:16,850 --> 00:51:21,240 Facebook pada port 80, atau alamat IP untuk harvard.edu, 1110 00:51:21,240 --> 00:51:22,580 atau alamat IP dari apa pun. 1111 00:51:22,580 --> 00:51:26,280 Jadi firewall dapat melihat Anda amplop 'alamat IP dan bahkan pelabuhan 1112 00:51:26,280 --> 00:51:29,384 angka, dan jika Yale ingin, itu hanya bisa menghentikan kita semua 1113 00:51:29,384 --> 00:51:32,550 dari bahkan menggunakan FTP lagi, yang akan mungkin menjadi hal yang baik karena 1114 00:51:32,550 --> 00:51:34,320 memang protokol tidak aman. 1115 00:51:34,320 --> 00:51:37,620 Yale bahkan bisa menghentikan kita dari mengunjungi keseluruhan web 1116 00:51:37,620 --> 00:51:42,632 hanya dengan memblokir semua pelabuhan lalu lintas di sejumlah 80 juga. 1117 00:51:42,632 --> 00:51:43,840 Sehingga mungkin cara lain. 1118 00:51:43,840 --> 00:51:45,740 Dan ada cara bahkan lebih menarik juga. 1119 00:51:45,740 --> 00:51:47,770 >> Tapi ketika Anda sedang bepergian luar negeri misalnya, 1120 00:51:47,770 --> 00:51:50,740 atau jika Anda berada di sebuah kafe internet, atau jika Anda di mana saja di mana ada 1121 00:51:50,740 --> 00:51:53,179 penyumbatan atau ancaman, apa yang dapat Anda lakukan? 1122 00:51:53,179 --> 00:51:56,220 Nah, jika Anda pergi ke jalan untuk Starbucks atau Anda bepergian di bandara, 1123 00:51:56,220 --> 00:51:58,780 umumnya Anda hanya bisa melompat pada Wi-Fi dengan memilih 1124 00:51:58,780 --> 00:52:04,631 seperti, JFK Wi-Fi dari LaGuardia Wi-Fi, atau Logan Airport Wi-Fi, atau apa yang tidak. 1125 00:52:04,631 --> 00:52:05,880 Dan itu tidak dienkripsi, kan? 1126 00:52:05,880 --> 00:52:06,949 Tidak ada ikon gembok. 1127 00:52:06,949 --> 00:52:09,490 Dan Anda mungkin tidak diminta untuk username dan password. 1128 00:52:09,490 --> 00:52:11,240 Anda hanya diminta dengan beberapa bentuk bodoh 1129 00:52:11,240 --> 00:52:15,260 mengatakan seperti, aku setuju untuk menggunakan ini hanya selama 30 menit, atau sesuatu seperti itu. 1130 00:52:15,260 --> 00:52:18,761 >> Tapi tidak ada enkripsi antara Anda dan akses Wi-Fi Starbucks 1131 00:52:18,761 --> 00:52:20,760 titik, hal-hal dengan antena di dinding. 1132 00:52:20,760 --> 00:52:24,840 Tidak ada enkripsi antara Anda dan sinyal Wi-Fi bandara. 1133 00:52:24,840 --> 00:52:29,060 >> Dan secara teknis, bahwa orang menyeramkan duduk beberapa kursi turun dari Anda 1134 00:52:29,060 --> 00:52:31,970 di Starbucks atau di bandara bisa, dengan perangkat lunak yang tepat, 1135 00:52:31,970 --> 00:52:35,164 menonton semua nirkabel Anda lalu lintas di laptop-nya. 1136 00:52:35,164 --> 00:52:37,080 Ini tidak sulit untuk menempatkan laptop ke apa 1137 00:52:37,080 --> 00:52:39,880 disebut modus promiscuous, yang seperti namanya, 1138 00:52:39,880 --> 00:52:41,760 berarti Anda jenis longgar dengan aturan. 1139 00:52:41,760 --> 00:52:44,740 Dan itu hanya mendengarkan tidak hanya untuk lalu lintas berarti untuk itu, 1140 00:52:44,740 --> 00:52:47,700 tetapi juga untuk orang lain yang lalu lintas dalam jangkauan. 1141 00:52:47,700 --> 00:52:50,550 >> Dan dengan logika itu, dapat melihat semua paket informasi 1142 00:52:50,550 --> 00:52:51,360 Anda menerima. 1143 00:52:51,360 --> 00:52:53,510 Dan jika paket tersebut tidak dienkripsi, Anda 1144 00:52:53,510 --> 00:52:56,680 menempatkan diri pada risiko email Anda, atau pesan Anda, 1145 00:52:56,680 --> 00:52:58,620 atau apa pun mendapatkan terkena. 1146 00:52:58,620 --> 00:53:01,220 >> Jadi, bahkan jika Anda tidak di luar negeri tapi kau hanya di Starbucks, 1147 00:53:01,220 --> 00:53:03,800 atau Anda pada beberapa acak orang Wi-Fi yang tidak terenkripsi, 1148 00:53:03,800 --> 00:53:05,410 VPN adalah hal yang baik. 1149 00:53:05,410 --> 00:53:07,410 Sebuah VPN adalah jaringan pribadi virtual. 1150 00:53:07,410 --> 00:53:09,480 Dan itu teknologi yang memungkinkan Anda untuk memiliki 1151 00:53:09,480 --> 00:53:14,560 terenkripsi, sebuah connection-- orak menarik daripada Caesar atau Vigenere-- 1152 00:53:14,560 --> 00:53:17,420 antara laptop Anda, atau telepon Anda, atau desktop, 1153 00:53:17,420 --> 00:53:22,460 dan server di tempat lain, seperti server di kampus Yale. 1154 00:53:22,460 --> 00:53:25,840 >> Dan jika Anda bepergian abroad-- dan pada kenyataannya, Anda menemukan ini di hotel 1155 00:53:25,840 --> 00:53:26,560 sepanjang waktu. 1156 00:53:26,560 --> 00:53:28,580 Dan terutama sebagai calon ilmuwan komputer 1157 00:53:28,580 --> 00:53:32,090 di mana kalian mungkin, sebagai Geeks, ingin menggunakan port selain 80, 1158 00:53:32,090 --> 00:53:35,770 dan port selain 443-- dan sebenarnya untuk masalah set enam, 1159 00:53:35,770 --> 00:53:39,280 kita akan bermain dengan beberapa TCP port hanya dengan choice-- banyak 1160 00:53:39,280 --> 00:53:42,940 hotel, dan toko-toko, dan jaringan hanya memblokir hal semacam itu 1161 00:53:42,940 --> 00:53:45,970 karena mereka agak naif, atau bodoh, hanya berpikir 1162 00:53:45,970 --> 00:53:48,010 bahwa tidak ada yang perlu port lainnya. 1163 00:53:48,010 --> 00:53:51,150 >> Dan dengan menggunakan VPN bisa Anda menghindari orang-orang macam pembatasan, 1164 00:53:51,150 --> 00:53:54,050 karena apa yang dilakukan adalah VPN memungkinkan Anda di Starbucks, 1165 00:53:54,050 --> 00:53:58,630 atau bandara, atau di mana saja di dunia untuk menghubungkan encryptedly ke yale.edu, 1166 00:53:58,630 --> 00:54:02,950 ke beberapa server di sini di kampus, dan kemudian terowongan, sehingga untuk berbicara, 1167 00:54:02,950 --> 00:54:06,570 semua lalu lintas Anda dari manapun Anda melalui Yale, di mana titik 1168 00:54:06,570 --> 00:54:08,720 kemudian pergi ke tujuan akhir. 1169 00:54:08,720 --> 00:54:11,150 >> Tapi dengan mengenkripsi itu, Anda menghindari dari jenis 1170 00:54:11,150 --> 00:54:15,380 filter atau pembebanan yang beberapa jaringan lokal telah dikenakan. 1171 00:54:15,380 --> 00:54:17,980 Dan ditambah, Anda memiliki pertahanan jauh lebih kuat 1172 00:54:17,980 --> 00:54:19,730 terhadap orang-orang menyeramkan di sekitar Anda yang mungkin 1173 00:54:19,730 --> 00:54:21,300 menjadi mencoba untuk mendengarkan pada lalu lintas Anda. 1174 00:54:21,300 --> 00:54:24,591 Masih bisa orang menyeramkan di sini kembali ke rumah di Yale menonton lalu lintas 1175 00:54:24,591 --> 00:54:28,440 karena keluar dari VPN, tapi setidaknya Anda telah mendorong ancaman lebih jauh. 1176 00:54:28,440 --> 00:54:30,490 Dan itu di sini juga, trade off. 1177 00:54:30,490 --> 00:54:33,645 >> Sekarang tentu saja, jika Anda berada di Cina atau bahkan di warnet, 1178 00:54:33,645 --> 00:54:35,770 dan Anda tunneling semua lalu lintas Anda melalui Yale, 1179 00:54:35,770 --> 00:54:37,590 berapa harga yang kita bayar mungkin? 1180 00:54:37,590 --> 00:54:38,272 >> AUDIENCE: Kecepatan. 1181 00:54:38,272 --> 00:54:39,480 DAVID J. Malan: Kecepatan, kan? 1182 00:54:39,480 --> 00:54:41,430 Ada harus menjadi beberapa matematika atau fanciness terlibat 1183 00:54:41,430 --> 00:54:42,574 di enkripsi yang sebenarnya. 1184 00:54:42,574 --> 00:54:44,990 Mungkin ada ribuan mil jarak atau ribuan 1185 00:54:44,990 --> 00:54:47,250 mil dari kabel antara Anda dan Yale. 1186 00:54:47,250 --> 00:54:49,800 Dan itu benar-benar buruk jika Anda di Cina, misalnya, 1187 00:54:49,800 --> 00:54:51,650 dan Anda ingin mengunjungi website di China. 1188 00:54:51,650 --> 00:54:54,230 Dan data Anda akan AS, dan kemudian kembali ke China 1189 00:54:54,230 --> 00:54:56,620 hanya karena Anda enkripsi melalui terowongan ini. 1190 00:54:56,620 --> 00:54:59,960 >> Tapi itu memecahkan teknis dan masalah bekerja sama. 1191 00:54:59,960 --> 00:55:02,050 Tapi itu semua bermuara ide-ide yang sangat sederhana. 1192 00:55:02,050 --> 00:55:06,530 Dan Harvard, bagi mereka yang ingin tahu, memiliki satu di sini juga, di vpn.harvard.edu, 1193 00:55:06,530 --> 00:55:09,150 yang beroperasi seperti Yale. 1194 00:55:09,150 --> 00:55:12,580 >> Jadi, dengan semua yang mengatakan, mengapa adalah jaringan ini seluruh berguna? 1195 00:55:12,580 --> 00:55:14,080 Dan apa yang bisa kita mulai melakukan dengan itu? 1196 00:55:14,080 --> 00:55:15,630 Nah, mari kita buat sekarang lebih nyata ini. 1197 00:55:15,630 --> 00:55:17,610 Ini adalah akronim dengan yang kebanyakan dari kita 1198 00:55:17,610 --> 00:55:22,140 mungkin Super familiar-- HTTP-- yang merupakan singkatan untuk transfer teks hiper 1199 00:55:22,140 --> 00:55:22,950 protokol. 1200 00:55:22,950 --> 00:55:26,460 Dan ini hanya berarti ini bahasa, protokol 1201 00:55:26,460 --> 00:55:29,140 bahwa web browser dan web server berbicara. 1202 00:55:29,140 --> 00:55:31,437 >> P di HTTP memang protokol. 1203 00:55:31,437 --> 00:55:33,270 Dan protokol hanya seperangkat konvensi. 1204 00:55:33,270 --> 00:55:36,690 Kami telah melihat IP-- protocol-- internet Kontrol transmisi TCP-- 1205 00:55:36,690 --> 00:55:38,290 protocol-- dan HTTP. 1206 00:55:38,290 --> 00:55:40,570 Tapi apa ini bodoh sesuatu dari protokol? 1207 00:55:40,570 --> 00:55:41,930 Ini hanya satu set konvensi. 1208 00:55:41,930 --> 00:55:43,760 >> Jadi jika saya semacam turun di sini, dan saya ingin menyambut Anda. 1209 00:55:43,760 --> 00:55:44,930 Saya akan mengatakan hi, nama saya David. 1210 00:55:44,930 --> 00:55:45,600 >> AUDIENCE: Luis. 1211 00:55:45,600 --> 00:55:46,475 >> DAVID J. Malan: Luis. 1212 00:55:46,475 --> 00:55:49,360 Kami memiliki manusia bodoh ini konvensi berjabat tangan di sini. 1213 00:55:49,360 --> 00:55:50,570 Tapi itu protokol, kan? 1214 00:55:50,570 --> 00:55:51,470 Saya mengulurkan tangan saya. 1215 00:55:51,470 --> 00:55:52,530 Luis mengulurkan tangannya. 1216 00:55:52,530 --> 00:55:53,070 Kami melakukan ini. 1217 00:55:53,070 --> 00:55:54,790 Dan kemudian selesai, dilakukan. 1218 00:55:54,790 --> 00:55:58,100 >> Dan itu persis sama semangat protokol komputer 1219 00:55:58,100 --> 00:56:02,770 mana seperti di HTTP, apa yang terjadi adalah ini. 1220 00:56:02,770 --> 00:56:05,520 Jika Anda adalah komputer pada kiri di sini, dan ada beberapa web 1221 00:56:05,520 --> 00:56:07,230 Server ada di sebelah kanan. 1222 00:56:07,230 --> 00:56:11,130 Dan komputer di sebelah kiri ingin meminta informasi dari server. 1223 00:56:11,130 --> 00:56:13,140 Ini semacam operasi bi-directional. 1224 00:56:13,140 --> 00:56:15,800 Browser di sebelah kiri meminta beberapa halaman web. 1225 00:56:15,800 --> 00:56:18,404 Server di sebelah kanan merespon dengan beberapa halaman web. 1226 00:56:18,404 --> 00:56:20,570 Dan kami akan melihat apa bentuk mereka mengambil hanya dalam beberapa saat. 1227 00:56:20,570 --> 00:56:24,311 >> Dan ternyata bahwa mereka computers-- bahwa browser dan server, atau klien 1228 00:56:24,311 --> 00:56:25,310 dan server, sehingga untuk berbicara. 1229 00:56:25,310 --> 00:56:28,120 Seperti restoran mana klien meminta sesuatu, 1230 00:56:28,120 --> 00:56:31,670 dan server membawa dia something-- mendapatkan 1231 00:56:31,670 --> 00:56:33,170 adalah jenis kata. 1232 00:56:33,170 --> 00:56:38,560 Secara harfiah dalam amplop yang browser saya mengirim dari sini ke web 1233 00:56:38,560 --> 00:56:40,880 Server adalah get kata. 1234 00:56:40,880 --> 00:56:42,700 Seperti saya ingin mendapatkan berita hari ini. 1235 00:56:42,700 --> 00:56:45,370 Saya ingin mendapatkan saya Feed berita Facebook, atau aku 1236 00:56:45,370 --> 00:56:47,330 ingin mendapatkan beberapa halaman dari server. 1237 00:56:47,330 --> 00:56:50,760 >> Secara khusus, ini adalah apa yang terjadi di dalam amplop itu. 1238 00:56:50,760 --> 00:56:53,810 Jadi saya, dengan Cole, pada dasarnya mengirim Cole tanggapan. 1239 00:56:53,810 --> 00:56:56,750 Jika Anda membayangkan bahwa Cole benar-benar ingin gambar Rick Astley, 1240 00:56:56,750 --> 00:57:00,700 ia mungkin telah mengirim saya permintaan memiliki semangat yang sama ini. 1241 00:57:00,700 --> 00:57:04,670 Di dalam amplop kepada saya, di mana Saya sekarang bermain peran Google, 1242 00:57:04,670 --> 00:57:08,270 akan permintaan yang secara harfiah mengatakan, dapatkan, dan kemudian slash-- maju 1243 00:57:08,270 --> 00:57:10,636 dan Anda mungkin pernah melihat garis miring ke depan di URL sebelum. 1244 00:57:10,636 --> 00:57:13,260 Ini hanya berarti memberikan default Halaman, default Rick Astley 1245 00:57:13,260 --> 00:57:14,560 gambar dalam kasus ini. 1246 00:57:14,560 --> 00:57:20,100 >> Dan omong-omong, Cole berbicara bahasa HTTP versi 1.1, atau protokol 1.1. 1247 00:57:20,100 --> 00:57:22,090 Dan ternyata ada yang versi lama 1.0. 1248 00:57:22,090 --> 00:57:23,910 Tetapi komputer cenderung menggunakan 1.1. 1249 00:57:23,910 --> 00:57:27,840 >> Baris kedua adalah hal yang berguna yang akan kembali ke mungkin sebelum lama. 1250 00:57:27,840 --> 00:57:31,900 Tapi itu hanya spesifikasi kepada saya, penerima, bahwa hal yang saya inginkan 1251 00:57:31,900 --> 00:57:33,586 adalah www.google.com. 1252 00:57:33,586 --> 00:57:36,340 Karena itu sangat mungkin hari ini untuk puluhan, 1253 00:57:36,340 --> 00:57:39,510 ratusan website dengan nama domain yang berbeda untuk semua 1254 00:57:39,510 --> 00:57:40,735 hidup pada server yang sama. 1255 00:57:40,735 --> 00:57:42,860 Ini tidak akan menjadi kenyataan begitu banyak dalam kasus Google. 1256 00:57:42,860 --> 00:57:45,261 Tetapi di sebuah perusahaan kecil yang kasus, benar-benar bisa. 1257 00:57:45,261 --> 00:57:47,260 Jadi Cole hanya jenis menempatkan dalam amplop, 1258 00:57:47,260 --> 00:57:50,840 dengan cara, ketika ini mencapai alamat IP Anda pada port 80, 1259 00:57:50,840 --> 00:57:54,450 pastikan bahwa Anda tahu Saya ingin www.google.com, tidak 1260 00:57:54,450 --> 00:57:56,740 beberapa situs acak lainnya pada server yang sama. 1261 00:57:56,740 --> 00:58:00,360 >> Apa yang saya kemudian menanggapi Cole dengan, pada akhir hari, adalah gambar. 1262 00:58:00,360 --> 00:58:02,920 Tapi di atas gambar yang dalam amplop 1263 00:58:02,920 --> 00:58:05,600 sebenarnya beberapa teks, di mana saya mengatakan, OK. 1264 00:58:05,600 --> 00:58:07,970 Saya berbicara HTTP versi 1.1 juga. 1265 00:58:07,970 --> 00:58:09,200 200. 1266 00:58:09,200 --> 00:58:11,730 Yang merupakan kode status yang sebagian besar dari kita memiliki mungkin 1267 00:58:11,730 --> 00:58:14,185 pernah melihat, karena itu berarti OK. 1268 00:58:14,185 --> 00:58:16,810 Dan ini adalah baik, karena berarti saya menanggapi berhasil 1269 00:58:16,810 --> 00:58:18,040 permintaan Cole. 1270 00:58:18,040 --> 00:58:21,930 >> Nomor apa yang harus Anda mungkin dilihat di web yang tidak OK? 1271 00:58:21,930 --> 00:58:22,780 >> AUDIENCE: 404. 1272 00:58:22,780 --> 00:58:24,830 >> DAVID J. Malan: 404-- file tidak ditemukan. 1273 00:58:24,830 --> 00:58:27,520 Jadi memang, setiap kali Anda telah melihat salah satu file yang menjengkelkan tidak 1274 00:58:27,520 --> 00:58:31,010 kesalahan yang ditemukan, karena halaman web sudah mati, 1275 00:58:31,010 --> 00:58:34,190 atau karena Anda salah tulis URL, itu hanya berarti 1276 00:58:34,190 --> 00:58:37,600 bahwa amplop kecil yang Anda komputer yang diterima dari server 1277 00:58:37,600 --> 00:58:42,670 terkandung pesan HTTP 1.1, 404-- tidak ditemukan. 1278 00:58:42,670 --> 00:58:44,930 File yang atau permintaan yang Anda membuat tidak ditemukan. 1279 00:58:44,930 --> 00:58:48,660 >> Selain itu, dalam amplop biasanya adalah baris ini, jenis konten. 1280 00:58:48,660 --> 00:58:51,080 Kadang-kadang itu HTML, sesuatu yang kita akan segera melihat. 1281 00:58:51,080 --> 00:58:52,225 Kadang-kadang itu adalah JPEG. 1282 00:58:52,225 --> 00:58:53,100 Kadang-kadang GIF. 1283 00:58:53,100 --> 00:58:56,060 Kadang-kadang file film, sebuah file audio, banyak hal. 1284 00:58:56,060 --> 00:59:00,059 Jadi dalam amplop hanya sedikit petunjuk untuk apa saya menerima. 1285 00:59:00,059 --> 00:59:03,100 Ada kode status lain juga, beberapa yang kita akan mengeksplorasi di P ditetapkan enam, 1286 00:59:03,100 --> 00:59:05,890 dan Anda akan tersandung di di P menetapkan tujuh dan / atau delapan. 1287 00:59:05,890 --> 00:59:08,580 Tapi beberapa di sini, seperti 404 yang telah kita lihat. 1288 00:59:08,580 --> 00:59:11,700 Dilarang, 403, berarti seperti hak akses yang salah, 1289 00:59:11,700 --> 00:59:14,740 seperti Anda belum jenis dikonfigurasi dengan benar. 1290 00:59:14,740 --> 00:59:17,830 301 dan 302, kita jarang melihat secara visual. 1291 00:59:17,830 --> 00:59:19,150 Tapi mereka berarti mengarahkan. 1292 00:59:19,150 --> 00:59:21,650 Setiap kali Anda telah pergi ke salah satu URL dan Anda sudah ajaib 1293 00:59:21,650 --> 00:59:24,410 mengirim ke tempat lain, itu karena browser telah dikirim kembali 1294 00:59:24,410 --> 00:59:27,210 amplop berisi jumlah 301 atau 302, 1295 00:59:27,210 --> 00:59:30,790 dan URL yang ingin browser Anda untuk pergi ke gantinya. 1296 00:59:30,790 --> 00:59:32,010 >> 500 mengerikan. 1297 00:59:32,010 --> 00:59:34,842 Anda akan melihatnya sebelum lama, mungkin di P menetapkan enam atau P ditetapkan tujuh. 1298 00:59:34,842 --> 00:59:37,050 Dan itu biasanya berarti ada beberapa bug dalam kode Anda, 1299 00:59:37,050 --> 00:59:40,000 karena memang kita akan menulis kode yang merespon permintaan web. 1300 00:59:40,000 --> 00:59:42,110 Dan Anda baru saja punya beberapa kesalahan dalam logika atau sintaks, 1301 00:59:42,110 --> 00:59:43,820 dan server tidak dapat menanganinya. 1302 00:59:43,820 --> 00:59:47,460 >> Jadi mari kita lihat bagaimana kita sekarang dapat memanfaatkan dan memahami permintaan ini sebagai berikut. 1303 00:59:47,460 --> 00:59:50,716 Jika saya pergi ke, katakanlah, google.com. 1304 00:59:50,716 --> 00:59:55,240 Biarkan aku pergi ke www.google.com. 1305 00:59:55,240 --> 01:00:01,220 Dan demi demonstrasi ini, mari kita lihat, saya harus pergi ke Settings sini. 1306 01:00:01,220 --> 01:00:03,180 Aku akan pergi ke Search Settings. 1307 01:00:03,180 --> 01:00:08,236 Dan Google memiliki semakin menjengkelkan fitur, tapi fitur yang berguna. 1308 01:00:08,236 --> 01:00:11,110 Jadi Google memiliki hal ini seperti instan Hasil di mana Anda mulai mengetik, 1309 01:00:11,110 --> 01:00:12,889 dan secara otomatis hal mulai muncul. 1310 01:00:12,889 --> 01:00:14,680 Dan itu semua baik-baik saja dan teknis berguna, 1311 01:00:14,680 --> 01:00:16,420 dan kami akan mengerti tak lama bagaimana ini bekerja. 1312 01:00:16,420 --> 01:00:18,429 Tapi untuk saat ini, aku berubah off hasil instan, 1313 01:00:18,429 --> 01:00:20,720 karena saya ingin browser saya ke semacam sekolah tua bekerja begitu 1314 01:00:20,720 --> 01:00:22,940 bahwa aku dapat melihat apa yang terjadi. 1315 01:00:22,940 --> 01:00:23,840 >> Jadi sekarang aku kembali ke sini. 1316 01:00:23,840 --> 01:00:25,090 Dan saya ingin mencari kucing. 1317 01:00:25,090 --> 01:00:30,351 Dan perhatikan aku melihat beberapa saran, beberapa saran yang sangat jinak 1318 01:00:30,351 --> 01:00:30,850 untungnya. 1319 01:00:30,850 --> 01:00:34,730 Dan sekarang jika saya tekan Enter, Mari lihat apa yang terjadi. 1320 01:00:34,730 --> 01:00:35,850 >> Jadi ada beberapa kucing. 1321 01:00:35,850 --> 01:00:37,540 Dan hit teratas adalah di Wikipedia. 1322 01:00:37,540 --> 01:00:39,820 Tapi hari ini kita peduli teknologi di sini. 1323 01:00:39,820 --> 01:00:42,479 Jadi URL yang saya sudah dikirim adalah ini di sini. 1324 01:00:42,479 --> 01:00:44,520 Dan ada beberapa hal yang saya tidak benar-benar mengerti. 1325 01:00:44,520 --> 01:00:47,430 >> Jadi aku akan pergi ke depan, karena Aku agak tahu bagaimana Google bekerja, 1326 01:00:47,430 --> 01:00:50,700 dan aku akan menyaring ini URL ke dalam bentuk yang paling sederhana. 1327 01:00:50,700 --> 01:00:52,510 Dan sekarang aku akan tekan Enter lagi. 1328 01:00:52,510 --> 01:00:53,360 Dan masih bekerja. 1329 01:00:53,360 --> 01:00:55,800 Saya memiliki halaman hasil semua tentang kucing. 1330 01:00:55,800 --> 01:00:58,460 >> Tapi perhatikan kesederhanaan URL saya. 1331 01:00:58,460 --> 01:01:00,820 Ternyata ini adalah bagaimana banyak karya-karya web. 1332 01:01:00,820 --> 01:01:03,500 Web ini hanya seluruh sekelompok komputer 1333 01:01:03,500 --> 01:01:05,320 menjalankan perangkat lunak yang mengambil input. 1334 01:01:05,320 --> 01:01:07,480 Ini tidak mendapatkan string masukan gaya. 1335 01:01:07,480 --> 01:01:09,670 Ini bukan baris perintah argumen seperti kita terbiasa. 1336 01:01:09,670 --> 01:01:13,449 Mereka mengambil input, server web ini, dengan cara URL cukup sering. 1337 01:01:13,449 --> 01:01:15,240 Dan setiap kali Anda sudah mencari sesuatu, 1338 01:01:15,240 --> 01:01:17,448 setiap kali Anda login ke Facebook, setiap kali Anda sudah 1339 01:01:17,448 --> 01:01:20,090 melakukan apa-apa interaktif dengan halaman web, apa yang Anda lakukan 1340 01:01:20,090 --> 01:01:24,340 secara efektif mengirimkan formulir, sehingga untuk speak-- kotak teks, kotak cek, 1341 01:01:24,340 --> 01:01:27,880 lingkaran kecil, dan yang lainnya yang mengirimkan informasi dari Anda ke server. 1342 01:01:27,880 --> 01:01:31,960 >> Dan ternyata web Server tahu untuk melihat URL yang 1343 01:01:31,960 --> 01:01:36,040 dan mengurai, seperti melihat itu karakter oleh karakter mencari sesuatu 1344 01:01:36,040 --> 01:01:38,000 menarik setelah tanda tanya. 1345 01:01:38,000 --> 01:01:40,910 Karena setelah tanda tanya, Ternyata, akan datang 1346 01:01:40,910 --> 01:01:42,730 sekelompok pasangan nilai kunci. 1347 01:01:42,730 --> 01:01:44,570 Maksudku key = value. 1348 01:01:44,570 --> 01:01:48,130 Dan kemudian jika ada multiple-- mungkin ampersand, beberapa lainnya key = value, 1349 01:01:48,130 --> 01:01:50,200 ampersand, kunci = nilai. 1350 01:01:50,200 --> 01:01:54,560 >> Jadi kita semacam melihat ide ini sebelum di mana sesuatu memiliki nilai. 1351 01:01:54,560 --> 01:01:55,880 Ini hanya format baru di sini. 1352 01:01:55,880 --> 01:01:59,040 Dan aku hanya tahu, dengan konvensi, Google menggunakan q untuk query. 1353 01:01:59,040 --> 01:02:02,670 Dan kemudian jika saya ingin mencari anjing, saya dapat mencari secara manual untuk anjing seperti itu. 1354 01:02:02,670 --> 01:02:06,360 Dan kemudian aku ternyata mendapatkan beberapa hasil pencarian yang melibatkan anjing. 1355 01:02:06,360 --> 01:02:07,727 >> Sehingga tampaknya menarik. 1356 01:02:07,727 --> 01:02:10,060 Dan memang, apa yang terjadi di bawah tenda adalah ini. 1357 01:02:10,060 --> 01:02:11,460 Biarkan aku melakukan ini. 1358 01:02:11,460 --> 01:02:13,620 Ini adalah a-- mari kita lihat. 1359 01:02:13,620 --> 01:02:16,320 Biarkan aku kembali lebih di sini untuk sesaat. 1360 01:02:16,320 --> 01:02:19,810 >> Kita akan melihat bahwa ada lainnya cara untuk mengirimkan informasi. 1361 01:02:19,810 --> 01:02:25,340 Jadi jika saya login ke Facebook, atau Gmail, atau situs populer lainnya, 1362 01:02:25,340 --> 01:02:30,720 tampaknya jenis buruk jika apa pun yang saya mengetik ke dalam kotak pencarian berakhir di URL saya, 1363 01:02:30,720 --> 01:02:32,850 di address bar browser saya. 1364 01:02:32,850 --> 01:02:33,690 Mengapa? 1365 01:02:33,690 --> 01:02:35,395 Mengapa yang agak mengkhawatirkan? 1366 01:02:35,395 --> 01:02:39,567 1367 01:02:39,567 --> 01:02:40,067 Ya? 1368 01:02:40,067 --> 01:02:41,380 AUDIENCE: Ketik password. 1369 01:02:41,380 --> 01:02:41,720 DAVID J. Malan: Ya. 1370 01:02:41,720 --> 01:02:44,000 Jadi bagaimana jika apa yang telah saya mengetik sandi saya? 1371 01:02:44,000 --> 01:02:47,881 Aku agak tidak ingin begitu jelas terlihat di address bar browser saya. 1372 01:02:47,881 --> 01:02:50,630 Satu, karena teman sekamar mengganggu saya cenderung untuk mengawasi bahu saya, 1373 01:02:50,630 --> 01:02:53,980 dan ia sekarang dapat melihat, meskipun itu peluru ketika aku mengetik dalam, 1374 01:02:53,980 --> 01:02:54,810 lingkaran kecil. 1375 01:02:54,810 --> 01:02:56,010 Sekarang di address bar saya. 1376 01:02:56,010 --> 01:02:59,270 >> Selain itu, apa yang benar tentang hal-hal Anda cenderung untuk mengetik di address bar. 1377 01:02:59,270 --> 01:03:00,230 >> AUDIENCE: [tidak terdengar] 1378 01:03:00,230 --> 01:03:01,505 >> DAVID J. Malan: Apa itu? 1379 01:03:01,505 --> 01:03:02,630 AUDIENCE: Ini akan dikirim keluar. 1380 01:03:02,630 --> 01:03:03,510 DAVID J. Malan: Ini akan dikirim keluar. 1381 01:03:03,510 --> 01:03:05,102 Dan juga, itu akan diingat. 1382 01:03:05,102 --> 01:03:07,060 Karena waktu berikutnya Anda mengetik hal di sana, 1383 01:03:07,060 --> 01:03:10,440 sering autocompletes dan mengingat apa yang telah Anda ketik sebelumnya. 1384 01:03:10,440 --> 01:03:13,850 Dan jadi ada sejarah yang sesungguhnya ini bahwa saudara Anda, atau teman sekamar Anda, 1385 01:03:13,850 --> 01:03:16,830 atau siapa pun dapat berjalan melalui untuk cukup banyak melihat setiap website 1386 01:03:16,830 --> 01:03:19,760 Anda mengunjungi karena itu login alamat bar. 1387 01:03:19,760 --> 01:03:22,790 >> Selain itu, misalkan Anda ingin meng-upload foto ke Facebook. 1388 01:03:22,790 --> 01:03:26,520 Bagaimana di dunia adalah Anda akan menempatkan foto dalam URL? 1389 01:03:26,520 --> 01:03:30,217 >> Nah ternyata Anda dapat melakukannya dalam beberapa cara, tapi pasti non-jelas. 1390 01:03:30,217 --> 01:03:33,050 Dan begitu ada cara lain ini mengirimkan informasi dalam amplop, 1391 01:03:33,050 --> 01:03:35,680 tidak melalui GET, tapi melalui sesuatu yang disebut POST. 1392 01:03:35,680 --> 01:03:38,060 Dan dalam teori, terlihat lebih kurang sama. 1393 01:03:38,060 --> 01:03:41,270 Alih-alih kata GET, kita katakan POST, dan kemudian jenis yang sama format. 1394 01:03:41,270 --> 01:03:43,310 >> Misalnya, ini adalah screenshot dari apa 1395 01:03:43,310 --> 01:03:46,920 mungkin terlihat seperti jika saya mencoba penebangan ke Facebook, yang mengirim saya ke sebuah file 1396 01:03:46,920 --> 01:03:51,230 disebut login.php, yang sebenarnya masih sampai hari ini bernama seperti itu. 1397 01:03:51,230 --> 01:03:53,910 Ini adalah nama file yang sama Mark memberi itu bertahun-tahun yang lalu. 1398 01:03:53,910 --> 01:03:58,520 Ini adalah program yang ia tulis di PHP melalui mana pengguna dapat login ke website. 1399 01:03:58,520 --> 01:04:00,370 >> Tapi Anda perlu mengirim beberapa masukan tambahan. 1400 01:04:00,370 --> 01:04:05,170 Dan bukan itu terjadi setelah Nama mengajukan seperti yang terjadi sebelumnya dengan cats-- 1401 01:04:05,170 --> 01:04:09,720 q = cats-- dapat pergi lebih rendah dalam permintaan, dalam lebih dari amplop jika Anda 1402 01:04:09,720 --> 01:04:12,440 akan di mana tidak ada yang bisa melihatnya, dan di mana itu tidak berakhir 1403 01:04:12,440 --> 01:04:15,670 di bar browser pengguna, dan karena itu tidak ingat bagi orang untuk mengintai 1404 01:04:15,670 --> 01:04:16,290 sekitar. 1405 01:04:16,290 --> 01:04:21,260 >> Dan jadi di sini alamat email saya dan password palsu saya benar-benar pergi. 1406 01:04:21,260 --> 01:04:27,400 Dan jika menggunakan Facebook tidak HTTP, HTTPS tapi, 1407 01:04:27,400 --> 01:04:30,710 ini semua akan dienkripsi, arik, ala Caesar atau Vigenere, 1408 01:04:30,710 --> 01:04:34,960 tetapi lebih fancily sehingga tidak ada benar-benar dapat melihat permintaan ini. 1409 01:04:34,960 --> 01:04:38,120 >> Dan memang, setiap kali Anda memiliki URL yang dimulai dengan HTTPS, 1410 01:04:38,120 --> 01:04:39,560 itu hanya berarti itu dienkripsi. 1411 01:04:39,560 --> 01:04:42,710 Tetapi pada akhir hari, apa sebenarnya dalam amplop ini? 1412 01:04:42,710 --> 01:04:44,070 Ini adalah tingkat rendah super. 1413 01:04:44,070 --> 01:04:46,240 Dan untungnya, kita tidak akan selalu memiliki 1414 01:04:46,240 --> 01:04:49,310 untuk pergi tingkat sangat rendah setiap waktu untuk mulai menulis perangkat lunak yang menarik. 1415 01:04:49,310 --> 01:04:51,060 Kita bisa mulai untuk mengambil ide-ide dari satu minggu 1416 01:04:51,060 --> 01:04:54,020 melalui lima, berasumsi bahwa ada sekarang infrastruktur ini yang 1417 01:04:54,020 --> 01:04:57,160 memungkinkan kita menulis perangkat lunak yang beroperasi di web, 1418 01:04:57,160 --> 01:05:00,120 dan itu akan memungkinkan kita minggu mendatang untuk memulai 1419 01:05:00,120 --> 01:05:01,840 melihat sesuatu yang disebut HTML. 1420 01:05:01,840 --> 01:05:04,750 Ini adalah hal yang bahkan lebih dalam amplop, 1421 01:05:04,750 --> 01:05:06,150 tapi itu hal-hal yang kita akan mulai menulis. 1422 01:05:06,150 --> 01:05:08,020 Dan itu hal yang lebih menarik, kami 1423 01:05:08,020 --> 01:05:11,420 akan menulis program yang mulai menghasilkan secara otomatis 1424 01:05:11,420 --> 01:05:15,410 sehingga website kita tidak kode keras, tetapi mengambil input dan menghasilkan output. 1425 01:05:15,410 --> 01:05:18,810 >> Ini mungkin web sederhana Halaman Anda dapat membuat di dunia. 1426 01:05:18,810 --> 01:05:23,000 Aku memang bisa membuka sesuatu yang bodoh seperti TextEdit 1427 01:05:23,000 --> 01:05:26,160 pada Mac saya, yang hanya memberi saya jendela teks sederhana seperti ini. 1428 01:05:26,160 --> 01:05:29,510 Pengguna PC memiliki Notepad.ext, yang sangat mirip dalam roh. 1429 01:05:29,510 --> 01:05:33,212 >> Dan aku benar-benar dapat mengetik keluar this-- DOCTYPE HTML, 1430 01:05:33,212 --> 01:05:34,420 yang terlihat sedikit samar. 1431 01:05:34,420 --> 01:05:35,850 Tapi kita akan kembali ke itu. 1432 01:05:35,850 --> 01:05:38,730 HTML, dengan ini aneh kurung siku dan garis miring, 1433 01:05:38,730 --> 01:05:42,240 dalam yang sekarang aku akan mengatakan inilah kepala halaman web saya. 1434 01:05:42,240 --> 01:05:45,220 Dalam itu, saya hanya tahu, dan Anda akan segera tahu, 1435 01:05:45,220 --> 01:05:47,850 bahwa saya bisa menempatkan judul halaman web saya. 1436 01:05:47,850 --> 01:05:49,720 Dan kemudian di bawah kepala halaman web adalah 1437 01:05:49,720 --> 01:05:51,972 akan pergi ke apa yang disebut tubuh dari halaman web. 1438 01:05:51,972 --> 01:05:54,180 Dan aku hanya indentasi hanya seperti di C untuk jenis tetap 1439 01:05:54,180 --> 01:05:57,620 hal baik dibaca Gaya. 1440 01:05:57,620 --> 01:06:04,745 Dan sekarang aku akan simpan ini sebagai file di desktop saya, yang disebut hello.html. 1441 01:06:04,745 --> 01:06:06,770 >> Dan aku akan mengatakan itu ya, menggunakan HTML. 1442 01:06:06,770 --> 01:06:09,690 Jangan mengubahnya ke Txt, bahkan meskipun semua ini adalah file teks, 1443 01:06:09,690 --> 01:06:12,130 seperti program C ditulis dengan editor teks. 1444 01:06:12,130 --> 01:06:15,080 Meskipun tidak dalam CS50 IDE di saat, hanya di sini pada Mac saya. 1445 01:06:15,080 --> 01:06:18,490 >> Dan jika saya sekarang pergi ke desktop saya, Anda akan melihat hello.html. 1446 01:06:18,490 --> 01:06:20,720 Jika saya klik dua kali ini, akan membuka Chrome. 1447 01:06:20,720 --> 01:06:23,260 Dan meskipun file ini kebetulan tinggal pada desktop saya, 1448 01:06:23,260 --> 01:06:26,550 yang mungkin yang paling sederhana Halaman web saya bisa membuat. 1449 01:06:26,550 --> 01:06:30,080 >> Perhatikan bahwa judul tab jalan sampai atas adalah halo dunia. 1450 01:06:30,080 --> 01:06:32,470 Tubuh halaman web memang halo dunia. 1451 01:06:32,470 --> 01:06:35,830 Dan semua yang telah saya lakukan untuk mendapatkan ke titik ini adalah melaksanakan, 1452 01:06:35,830 --> 01:06:38,342 atau menulis bahasa baru, yang disebut HTML. 1453 01:06:38,342 --> 01:06:40,300 Ini bukan pemrograman bahasa seperti C. Ada 1454 01:06:40,300 --> 01:06:42,508 tidak akan menjadi kondisi, dan loop, dan fungsi. 1455 01:06:42,508 --> 01:06:46,560 Ini adalah bahasa markup, di mana Jika Anda hanya memberitahu penerima yang 1456 01:06:46,560 --> 01:06:48,410 Program apa yang ingin Anda lakukan. 1457 01:06:48,410 --> 01:06:51,195 Ini berarti hey Browser, di sini datang sebuah halaman HTML. 1458 01:06:51,195 --> 01:06:53,040 Hey Browser, di sini datang kepala halaman saya. 1459 01:06:53,040 --> 01:06:55,130 Hey Browser, di sini datang tubuh halaman saya. 1460 01:06:55,130 --> 01:06:57,100 Hey Browser, itu saja bagi tubuh. 1461 01:06:57,100 --> 01:06:59,350 Itu saja untuk halaman HTML. 1462 01:06:59,350 --> 01:07:03,560 >> Dan dengan orang-orang definisi sederhana saja, kita akan segera melihat yang satu itu, 1463 01:07:03,560 --> 01:07:05,122 kita dapat mewakili ini sebagai pohon. 1464 01:07:05,122 --> 01:07:06,080 Tapi lebih pada nanti. 1465 01:07:06,080 --> 01:07:08,788 Jadi ini semua akan interkoneksi ke struktur data terbaru kami. 1466 01:07:08,788 --> 01:07:12,460 Dua, kami akan memperkenalkan lelucon bodoh ini. 1467 01:07:12,460 --> 01:07:15,680 Ini adalah tato yang sebenarnya yang orang ini telah di lehernya. 1468 01:07:15,680 --> 01:07:19,660 Itu mungkin lucu minggu pertama atau dua, dan setelah itu, mungkin tidak begitu banyak. 1469 01:07:19,660 --> 01:07:22,960 >> Tapi HTML, dan bahkan web Halaman Aku hanya membuat, super pikiran 1470 01:07:22,960 --> 01:07:25,670 numbingly disappointing-- hanya menyapa dunia 1471 01:07:25,670 --> 01:07:27,210 dalam teks hitam pada latar belakang putih. 1472 01:07:27,210 --> 01:07:28,680 Tentunya kita dapat melakukan jauh lebih baik. 1473 01:07:28,680 --> 01:07:31,552 Dan kita akan melakukannya dengan memperkenalkan bahasa lain disebut CSS. 1474 01:07:31,552 --> 01:07:34,760 Ini juga bukan language-- pemrograman tidak ada loop, dan kondisi, atau untuk loop, 1475 01:07:34,760 --> 01:07:38,470 tapi benar-benar, hanya sintaks yang digunakan kita dapat mengatakan, membuat teks ini besar. 1476 01:07:38,470 --> 01:07:39,415 Membuat teks kecil ini. 1477 01:07:39,415 --> 01:07:40,040 Menyelaraskan dengan benar. 1478 01:07:40,040 --> 01:07:40,650 Kiri sejajarkan. 1479 01:07:40,650 --> 01:07:41,195 Buatlah merah muda. 1480 01:07:41,195 --> 01:07:41,820 Buatlah ungu. 1481 01:07:41,820 --> 01:07:42,650 Membuatnya biru. 1482 01:07:42,650 --> 01:07:44,860 Atau melakukan sejumlah efek visual lainnya. 1483 01:07:44,860 --> 01:07:48,590 Dan jadi kita akan melihat bagaimana memulai stylizing halaman web sehingga mereka terlihat dengan cara 1484 01:07:48,590 --> 01:07:50,480 lebih dekat dengan apa yang kita inginkan. 1485 01:07:50,480 --> 01:07:56,930 >> Dan terakhir, kita memang hancur mungkin banyak dari TV dan film untuk Anda. 1486 01:07:56,930 --> 01:07:58,930 Saya pikir kami akan berakhir di sini dengan detik terakhir kami 1487 01:07:58,930 --> 01:08:03,700 pada klip akhir yang menunjukkan bagaimana hacking pada karya-karya internet. 1488 01:08:03,700 --> 01:08:06,250 Jika kita bisa meredupkan lampu satu waktu akhir. 1489 01:08:06,250 --> 01:08:07,250 >> [VIDEO PLAYBACK] 1490 01:08:07,250 --> 01:08:09,520 >> -Tidak mungkin. 1491 01:08:09,520 --> 01:08:10,650 Saya mendapatkan hacked. 1492 01:08:10,650 --> 01:08:11,770 >> -Okorsky? 1493 01:08:11,770 --> 01:08:14,230 >> -No-- Tidak, ini adalah besar. 1494 01:08:14,230 --> 01:08:17,074 Mereka sudah dibakar melalui firewall publik NCIS. 1495 01:08:17,074 --> 01:08:19,990 -Nah, Mengisolasi simpul dan sampah mereka di sisi lain dari router. 1496 01:08:19,990 --> 01:08:20,990 -Saya mencoba. 1497 01:08:20,990 --> 01:08:23,990 Itu bergerak terlalu cepat. 1498 01:08:23,990 --> 01:08:25,179 >> Oh, ini tidak baik. 1499 01:08:25,179 --> 01:08:27,470 Mereka menggunakan koneksi kita [Tidak terdengar] database ini. 1500 01:08:27,470 --> 01:08:28,458 Sever itu. 1501 01:08:28,458 --> 01:08:28,958 -Aku Tidak bisa. 1502 01:08:28,958 --> 01:08:29,454 Ini serangan titik. 1503 01:08:29,454 --> 01:08:31,438 Dia hanya pergi setelah mesin saya. 1504 01:08:31,438 --> 01:08:32,430 >> -Itu tidak mungkin. 1505 01:08:32,430 --> 01:08:33,847 Ada enkripsi tambang tingkat DOD. 1506 01:08:33,847 --> 01:08:35,055 Ini akan mengambil bulan untuk get-- 1507 01:08:35,055 --> 01:08:35,857 Hei, apa itu? 1508 01:08:35,857 --> 01:08:36,398 Sebuah video game? 1509 01:08:36,398 --> 01:08:37,886 >> -Tidak Tony, kita mendapatkan hacked. 1510 01:08:37,886 --> 01:08:40,795 >> -jika Mereka mendapatkan di komputer Abby, seluruh jaringan NCIS adalah berikutnya. 1511 01:08:40,795 --> 01:08:42,050 >> -Saya Tidak bisa menghentikannya. 1512 01:08:42,050 --> 01:08:43,050 Lakukan sesuatu McGee. 1513 01:08:43,050 --> 01:08:44,550 >> -aku Pernah melihat kode seperti ini. 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 -Mana yang pergi? 1517 01:08:49,196 --> 01:08:50,604 Abby? 1518 01:08:50,604 --> 01:08:51,520 -Aku Tidak melakukan apa-apa. 1519 01:08:51,520 --> 01:08:53,020 Saya pikir Anda lakukan. 1520 01:08:53,020 --> 01:08:54,520 >> -Tidak. 1521 01:08:54,520 --> 01:08:57,232 >> -Aku melakukannya. 1522 01:08:57,232 --> 01:08:58,307 >> [END PLAYBACK] 1523 01:08:58,307 --> 01:09:00,390 DAVID J. Malan: Yang terbaik bagian dua orang mengetik 1524 01:09:00,390 --> 01:09:02,170 pada keyboard pada saat yang sama. 1525 01:09:02,170 --> 01:09:03,200 >> Jadi itu saja untuk CS50. 1526 01:09:03,200 --> 01:09:04,700 Kami akan tetap sekitar untuk jam kantor. 1527 01:09:04,700 --> 01:09:06,344 Dan kita akan melihat Anda waktu berikutnya. 1528 01:09:06,344 --> 01:09:07,760 [MUSIC PLAYING - "THEME Seinfeld"] 1529 01:09:07,760 --> 01:09:11,139 1530 01:09:11,139 --> 01:09:11,680 Ini adalah CS50. 1531 01:09:11,680 --> 01:09:17,960 1532 01:09:17,960 --> 01:09:20,854 Saya tidak ingin menjadi bajak laut. 1533 01:09:20,854 --> 01:09:21,770 SPEAKER 2: Yarr David. 1534 01:09:21,770 --> 01:09:23,700 Ini adalah doublet baik Anda memakai. 1535 01:09:23,700 --> 01:09:26,450 Banyak letnan di puff itu. 1536 01:09:26,450 --> 01:09:29,327