[Bermain muzik] DAVID J. MALAN: Jadi saya hanya mahu meredakan kepada. Saya akan echo apa Scaz berkata kira-kira memori institusi. CS50 telah wujud 20 tahun di Harvard. Dan realitinya adalah, dari senior di bawah, terdapat setiap tahun jaminan bahawa mahasiswa, yang sophomores, dan remaja dan juga senior mengambil CS50, bahawa anda akhirnya dalam keadaan baik. Hakikatnya, pelajar jangan gagal CS50. Malah, dalam keadaan yang jarang berlaku di mana kita mempunyai Es atau Fs, ia benar-benar telah disebabkan hal keadaan peringan, sama ada perubatan atau peribadi. Ds adalah sangat luar biasa juga. Dan saya boleh mengatakan dengan selesa, walaupun kita biasanya tidak mendedahkan statistik, tetapi memandangkan tidak ada memori institusi sini sekalipun, majoriti pelajar di CS50 yang berakhir mendapat A gred pelbagai. A sebahagian besar berakhir berakhir dalam julat B juga. Jadi, walaupun anda mungkin menyamakan dalam bertiga fikiran anda dengan 60% dan oleh itu Ds, atau Cs, atau sebagainya, ia benar-benar tidak beratur dengan realiti. Malah, kita maksudkan apa yang kita mengatakan pada awal tempoh bahawa begitu ramai pelajar di CS50, kedua-dua di Cambridge dan di sini di New Haven, tidak pernah mengambil kursus CS sebelum ini. Dan apa yang sesungguhnya akhirnya penting adalah di mana anda berakhir di minggu 12 berbanding dengan diri anda pada minggu sifar. Sekarang kita mempunyai beberapa Litar dalam perjalanan seperti yang anda know-- kurang selesa, lebih selesa, di suatu tempat di antara. Dan sesungguhnya, apabila anda Statistik kuiz minggu ini, Jangan putus asa jika, terutamanya jika anda merasakan bahawa anda berada di sekeliling min atau di bawah min atau median, terutamanya kerana kita tidak semestinya mengambil semua demografi kira pertengahan semester dengan statistik penggredan. Dalam erti kata lain, kita tahu statistik setiap tahun bahawa pelajar-pelajar yang kurang selesa, melakukan sedikit lebih teruk pada kuiz. Dan pelajar yang lebih selesa melakukan sedikit lebih baik pada kuiz. Tetapi setiap janji dalam sukatan pelajaran dan juga pada minggu pertama kuliah, kita mengambil semua itu kira. Malah, pada tahun akhir, apa yang kita akhirnya melakukan menormalkan semua markah seluruh bahagian, kedua-dua di Cambridge dan kini di sini di New Haven, yang bermaksud mengambil kira gaya yang berbeza, berbeza yang engkau berlaku kasar terhadapnya, jenis yang berbeza personaliti individu itu TA ada di sini dan di Cambridge supaya anda tidak di kelemahan walaupun anda hanya terjadi telah mempunyai TF atau TA yang sudah sedikit sukar pada anda dalam fikiran anda. Kedua, kita mengambil keselesaan akaun tahap dan latar belakang yang sebenar, atau kurang itu, apabila mengambil markah kuiz kira. Jadi kedua-dua adalah kira. Dan pada akhir hari, kerana ia semestinya benar bahawa pelajar berakhir dalam bahagian yang kurang selesa apabila dia benar-benar milik dalam di-antara atau sebaliknya, semuanya begitu sangat individu. Malah, anda akan mendapat marah pada kami di akhir tempoh apabila kita lambat mengemukakan gred anda kerana dengan Scaz, dan Jason, dan Andy, dan saya, dan pasukan itu akan lakukan di Cambridge adalah benar-benar mempunyai beratus-ratus e-mel kembali dan sebagainya dengan semua ratus daripada kursus TA, di sini dan di Cambridge, meminta mereka apa mereka memikirkan semua pelajar mereka berdasarkan draf gred. Dan segala-galanya di sana selepas adalah sangat individu. Jadi setakat mana kita dapat tahu anda dalam waktu pejabat, bahagian, dan banyak lagi, semua itu terlalu diambil kira. Jadi walaupun kita cenderung untuk menggunakan ini lima skala titik, sila, tanggalkan diri dari andaian bahawa tiga merupakan satu 60%. Ia bertujuan untuk menjadi baik. Dan pembantu guru yang berikut dikenakan pada permulaan jangka cuba untuk menjaga skor dalam berdua-dua, dan bertiga, dan merangkak berkisar supaya kita sebenarnya mempunyai ruang untuk berkembang. Dan kita sebenarnya mempunyai kayu pengukur yang mana kami boleh memberi anda yang berguna maklum balas tentang bagaimana yang anda lakukan dan bagaimana anda berjalan. Oleh itu, sila ambil itu untuk jantung. Adakah terdapat apa-apa soalan saya boleh membantu menangani atau kebimbangan saya boleh membantu meredakan? Atau janji saya boleh cuba untuk menjaga? Tidak? OKAY. Baiklah. Maka dengan itu berkata, ini adalah CS50. Ini adalah permulaan minggu enam di sini di New Haven. Mari kita mulakan dengan ringkas dimming lampu untuk menetapkan peringkat untuk kandungan hari ini. [VIDEO MAIN SEMULA] [Bermain muzik] -Dia Datang dengan mesej. Dengan protokol semua sendiri. Dia datang ke dunia firewall sejuk, router peduli, dan bahaya yang jauh lebih buruk kematian itu. Dia cepat, dia kuat, dia TCP / IP. Dan dia mendapat alamat anda. Warriors gawang. [AKHIR MAIN SEMULA] DAVID J. MALAN: Baiklah. Ini adalah CS50. Ini adalah permulaan minggu enam. Dan ini adalah permulaan rupa kami di internet dan web pengaturcaraan. Dan, mungkin yang paling excitingly, hari ini menandakan peralihan untuk kita daripada baris arahan kami dunia C ke web dunia berasaskan PHP dan HTML, dan CSS, dan SQL, dan JavaScript, dan banyak lagi yang ada di kaki langit. Tetapi pertama, ia telah datang kepada perhatian kami dalam berjalan di kampus yang terdapat bilik mandi yang tertentu di sini di New Haven dipanggil bilik Harvard, yang adalah sedikit dikelabukan di sini. Dan sesungguhnya seseorang pergi masa yang dan perbelanjaan punaran dalam bilik Harvard di sini bilik ini. Terima kasih untuk itu. Saya tidak boleh mengatakan kita mempunyai analog di Cambridge lagi, tetapi saya fikir kita mempunyai projek kecil untuk diri kita sendiri sekarang apabila kita kembali. Jadi terima kasih untuk itu. Jadi yang cepat melihat kembali di mana kita berhenti minggu lepas dan di mana anda akan akan datang minggu dengan masalah yang dibentuk lima. Jadi dalam masalah menetapkan lima, anda dicabar untuk melaksanakan spellchecker a. Dan untuk berbuat demikian, anda menyerahkan teks yang cukup besar memfailkan dengan seperti 140,000 perkataan Bahasa Inggeris. Dan anda akan dicabar untuk membuat keputusan pada struktur data yang anda mahu untuk memuatkan semua kata-kata ke dalam memori, dan ke dalam RAM, dan kemudian melaksanakan fungsi beberapa, salah satu yang akan menjadi semak. Di mana apabila diluluskan hujah, Pendek kata, daftar fungsi anda hanya akan mempunyai untuk mengatakan benar atau palsu, ini adalah satu perkataan di dalam kamus. Tetapi anda akan mempunyai beberapa budi reka bentuk dan cabaran ketika datang untuk melaksanakan itu. Dalam pelaksanaan yang paling mudah, anda boleh pasti melaksanakan pemeriksa ejaan dalam kamus asas dengan jenis struktur data? Anda hanya perlu untuk menyimpan keseluruhan sekumpulan tali dalam ingatan? Apa yang pergi untuk menjawab dari minggu dua mungkin? PENONTON: Array. DAVID J. MALAN: Anda boleh menggunakan array. Dan itu bukan semua yang buruk. Tetapi anda tidak semestinya tahu terlebih dahulu berapa besar array anda akan perlukan, jika anda tidak tahu fail semestinya terlebih dahulu. Jadi, anda akan perlu untuk menggunakan sedikit tipu muslihat seperti malloc, seperti yang kita mula menggunakan. Atau kita boleh menangani kebimbangan bahawa dengan menggunakan apa struktur data lain itulah menjadi semacam peningkatan marginal pada array? PENONTON: Senarai Berkaitan. DAVID J. MALAN: Seperti yang dikaitkan senarai, di mana kita akan mendapat beberapa dinamik. Tetapi ada perbelanjaan yang lebih sedikit. Kami mempunyai petunjuk untuk mengekalkan. Dan anda belum lagi dikodkan ini , tetapi pasti ada menjadi kerumitan yang lebih sedikit daripada hanya menggunakan tanda kurung siku dan melompat di sekeliling array. Tetapi kali pelbagai ini berjalan, jika anda sedang mencari satu perkataan, mungkin log n. Tetapi sekali lagi, ia mungkin sedikit bukan remeh untuk membina tatasusunan yang tidak mengetahui saiz terlebih dahulu. Senarai dikaitkan walaupun, jika anda hanya menyimpan sekumpulan tali dalam senarai berpaut, apa yang atas terikat anda pada masa berjalan akan menjadi untuk mencari untuk atau daftar kata dalam senarai itu? PENONTON: n. DAVID J. MALAN: Ya, ya besar n atau linear kerana dalam kes yang paling teruk, perkataan itu adalah seperti perkataan Z sepanjang jalan di akhir. Dan kerana senarai berpaut, kerana orang-orang anak panah secara lalai, dalam senarai secara tunggal berkaitan, hanya pergi dari satu arah yang lain, anda tidak boleh melompat-lompat. Anda perlu mengikuti semua daripada mereka. Oleh itu, kita dicadangkan pada akhir minggu lepas, minggu lima, bahawa ada cara yang lebih baik. Dan sebenarnya, kaedah berpotensi suci benar-benar akan menjadi masa yang berterusan di mana apabila anda mahu untuk mencari perkataan, anda mendapatkan jawapan segera tanpa mengira berapa banyak kata-kata sudah dalam kamus anda. Ini adalah rendition artis daripada apa yang anda mungkin memanggil jadual hash. Dan jadual hash adalah jenis yang bagus amalgam array-- yang dilukis secara menegak di sini, hanya because-- dan kemudian dikaitkan list-- menarik mendatar di sini. Dan jadual hash boleh dilaksanakan dalam tandan cara. Ini petikan dari buku teks berlaku untuk menggunakan tarikh lahir orang-orang ini sebagai cara dengan mana ia memutuskan di mana untuk meletakkan nama seseorang. Jadi ini adalah kamus yang jika anda akan nama. Dan untuk mempercepatkan meletakkan nama-nama ke dalam struktur data ini, mereka melihat, nampaknya, orang-orang ini lahir tarikh berkenaan dengan sebulan. Jadi ia adalah 1 hingga 31. Dan melupakan Februari dan kes-kes sudut seperti itu. Dan jika hari jadi anda adalah pada Januari 1, atau 1 Februari, atau 1 Disember, anda akan berakhir di rantaian sehingga atas yang pertama. Jika tarikh lahir anda seperti ke-25 sebulan, anda akan berakhir di nombor baldi 25. Dan jika ada pun seseorang di sana dalam mana-mana lokasi, apa anda mula lakukan dengan ini dikaitkan senarai adalah jahitan mereka bersama-sama supaya anda boleh mempunyai sewenang-wenangnya beberapa orang, atau apa-apa, di lokasi tersebut. Jadi, anda mempunyai sejenis campuran masa yang berterusan untuk hashing. Dan untuk hash sesuatu yang bermakna untuk mengambil sebagai input seperti orang yang, atau atau namanya, atau atau kelahirannya tarikh, dan kemudian membuat keputusan mengenai beberapa output berdasarkan itu, seperti melihat mereka hari jadi dan keluarkan satu melalui 31. Oleh itu, maka anda mungkin mempunyai sedikit masa linear, tetapi dalam realiti, dan seperti dalam kes masalah set lima, kita tidak akan menjadi bekerja di P menetapkan lima banyak mengenai asimptot berjalan masa, seperti kelambatan teori dengan mana algoritma mungkin berjalan. Kami akan mengambil berat tentang jumlah sebenar saat dan jumlah sebenar memori, jumlah sebenar bait memori anda gunakan. Jadi terus terang, mempunyai satu besar rantaian seperti satu juta orang adalah agak sialan perlahan jika anda sedang mencari nama di dalam senarai saiz juta. Tetapi bagaimana jika anda membahagikan bahawa senarai ke dalam 31 bahagian? Mencari 1/31 itu super senarai panjang, pada hakikatnya, sudah pasti akan menjadi lebih cepat. Berasimptot, ia adalah perkara yang sama. Anda hanya membahagikan dengan faktor tetap. Dan ingat kita yang membuang perkara-perkara yang jauh. Tetapi dalam realiti, ia akan menjadi 31 kali lebih cepat. Dan itulah yang kita akan mula memanfaatkan dalam P menetapkan lima. Jadi P menetapkan lima terlalu juga mencadangkan anda mempertimbangkan sedikit lebih canggih struktur data dipanggil indone a. Dan indone yang hanya pokok seperti struktur data. Tetapi daripada harus bulatan kecil atau segi empat tepat seperti yang kita menyimpan lukisan untuk nod, ia sebenarnya mempunyai keseluruhan tatasusunan untuk nod itu. Dan walaupun ini adalah satu sedikit abstrak sini untuk melihat, Zamyla untuk berjalan dan P set melalui akan berjalan anda melalui dengan lebih terperinci mengenai perkara ini. Ini adalah struktur data yang agak bijak mungkin mempunyai setiap nod yang array saiz 26, A hingga Z atau sifar melalui 25. Dan apabila anda mahu untuk memasukkan seseorang menamakan ke dalam struktur data ini atau mencari dia atau dia, apa yang kamu lakukan, jika Nama seperti Maxwell, M-A-X-W-E-L-L, anda mula-mula melihat M. Dan kemudian anda melompat ke M lokasi yang sepadan dalam array pertama. Anda kemudian melompat ke A, yang pertama lokasi di lokasi yang akan datang, mengikut anak panah. Kemudian X, maka W, kemudian E, maka L, maka L, dan kemudian mungkin beberapa akhir khas watak, beberapa sentinel yang mengatakan perkataan yang berhenti di sini. Dan apa yang baik tentang this-- dan perlu diingat bahawa gambar itu di sini, melihat bagaimana tepi setiap lokasi benar sudah hilang. Itu hanya kerana perkara ini akan menjadi besar dan ngeri melihat pada pada skrin. Jadi ia dipetik. Apa yang baik tentang pendekatan ini adalah bahawa jika ada satu juta nama sudah dalam struktur data ini, berapa banyak langkah masa yang diambil saya untuk memasukkan Maxwell? M-A-X-W-E-L-L-- seperti tujuh ish langkah-langkah untuk memasukkan atau mencari Maxwell. Katakan ada satu trilion nama-nama dalam struktur data ini. Berapa banyak langkah-langkah yang diperlukan saya mencari Maxwell? M-A-X-- masih tujuh. Dan di dalamnya terletak apa yang dikenali sebagai masa yang berterusan. Jika kita menganggap bahawa kata-kata pastinya disempadani sebanyak 20 aksara, atau 46 aksara, atau beberapa integer munasabah kecil, maka ia adalah berkesan pemalar. Dan sebagainya sisipan dan mencari indone adalah super cepat. Sudah tentu, kita tidak pernah mendapat apa-apa secara percuma. Dan walaupun anda mungkin belum terjun ke dalam P menetapkan lima lagi, apa harga kita mungkin membayar untuk mendapatkan masa kecekapan yang lebih bijak? PENONTON: Memori. DAVID J. MALAN: Memori, bukan? Maksud saya, kami telah tidak dilukis keseluruhan gambar di sini. Ini petikan daripada buku teks tidak ditarik semua tatasusunan. Terdapat sejumlah besar memori dan hanya petunjuk null yang tidak digunakan. Jadi ia adalah satu kekurangan. Dan ia akan diserahkan kepada anda dalam P menetapkan lima untuk membuat keputusan mengenai cara yang anda mahu pergi. Sekarang idea ini hashing, sebagai diketepikan, sebenarnya super berleluasa. Jadi untuk hash satu cara nilai, agak semata-mata, untuk mengambil sesuatu sebagai input dan menghasilkan output. Jadi fungsi hash hanya algoritma. Dan secara amnya, tujuan fungsi hash dalam hidup adalah untuk mengambil sesuatu sebagai input dan menghasilkan nombor sebagai output, seperti nombor satu hingga 31 atau A hingga Z, sifar melalui 25. Jadi ia mengambil output kompleks dan mengecut ke bawah untuk sesuatu yang lebih sedikit berguna dan terkawal. Dan supaya ternyata dalam fungsi yang sangat popular bahawa dunia keselamatan dan dunia manusia telah menggunakan selama bertahun-tahun dipanggil SHA1. Ini adalah cukup mewah matematik formula yang melakukan pada dasarnya itu. Anda mengambil benar-benar besar sebahagian sifar dan ones-- yang boleh menjadi megabait panjang, long-- gigabit dan ia mengecut ke bawah untuk hanya beberapa bit, beberapa bit, supaya anda mempunyai beberapa seperti satu hingga 31, atau A hingga Z. Tetapi dalam realiti, ia sedikit lebih besar daripada sekadar A hingga Z. Malangnya, kami di puncak apa seseorang yang main-main dipanggil SHAppening yang di mana dunia adalah kira-kira untuk berakhir dengan mungkin beberapa bulan masa kerana penyelidik, hanya ini minggu lalu, menerbitkan laporan yang bertentangan dengan apa penyelidik keselamatan sangka untuk beberapa waktu, dengan hanya membelanjakan kira-kira, apa yang ia, Saya rasa ia adalah $ 175,000-- duit yang banyak, tetapi tidak di luar jangkauan jahat sangat buruk, atau sangat buruk countries-- $ 175,000 boleh membeli anda banyak pelayan disewa ruang dalam awan. Dan kami akan kembali kepada awan tidak lama lagi. Tetapi ia hanya bermaksud menyewa pelayan ruang pada pelayan seperti Microsoft, atau Google atau Amazon, atau seperti di mana anda boleh membayar dengan minit menggunakan komputer orang lain. Dan ternyata jika anda boleh membayar orang lain untuk meminjam komputer mereka dan kod jangka yang anda tulis padanya dan menggunakan cukup mewah matematik, anda boleh asasnya angka bagaimana fungsi hash seseorang adalah bekerja, dan diberikan output, kejuruteraan balikan apa input adalah. Dan bagi maksud yang pada hari ini, memadai untuk mengatakan, ini adalah tidak baik. Kerana SHA1 dan hash fungsi seperti ia adalah super biasa digunakan dalam aplikasi keselamatan, sambungan disulitkan di web, transaksi bank, penyulitan selular untuk telefon bimbit anda, dan sebagainya. Dan jadi apa-apa kali seseorang mendapati satu cara untuk mengubah jurutera salah satu daripada teknologi-teknologi ini atau patah, perkara buruk boleh berlaku. Sekarang dunia sudah tahu ini. Ini adalah diramalkan. Dan dunia ini sejak berpindah dari SHA1 untuk SHA256, yang hanya satu cara mewah mengatakan mereka menggunakan bit yang lebih besar. Dan sebenarnya, walaupun CS50 sendiri laman web dinaik taraf tahun lepas supaya- tidak yang kita hadapi semua ini banyak ancaman cuba untuk mendapatkan di PDF dan whatnot-- tetapi laman web CS50 menggunakan fungsi hash yang lebih besar, yang bermaksud bahawa kita akan selamat. Jadi semua PDF anda akan selamat, tetapi tidak semestinya wang anda atau apa-apa terutamanya persendirian atau peribadi untuk menggunakan. Sp menyemak URL yang jika anda lebih seperti beberapa butiran tambahan. Jadi masalah menetapkan lima adalah sesungguhnya di kaki langit. Kuiz seseorang itu Rabu ini. Tetapi jangan mengambil kesempatan daripada pejabat jam, kedua-dua malam ini dan esok. Dan juga mengambil kesempatan daripada waktu pejabat, jika anda ada, selepas ini. Kakitangan dan saya akan melekat di sekeliling dan jangan lebih kasual Q & A di samping malam ini. Dan biarlah saya kuat ambil perhatian di sini, untuk orang-orang kita di sini di Haven-- Baru supaya ia benar-benar satu ini Scaz ucapan merasakan, saya pasti, seperti sedikit perjuangan berat. Dan dengan reputasi, jika anda tidak belajar pun atau didengar dari beberapa rakan-rakan di Harvard, tahu berikut adalah beberapa memori institusi baru. P menetapkan jenis lima jenis cenderung untuk menjadi yang paling sukar dalam CS50, atau yang paling mencabar bagi kebanyakan pelajar. Tetapi apa yang bermakna adalah bahawa kita berada hampir di bahagian atas bukit ini. Dan saya benar-benar bermakna ini. Ia adalah yang paling mencabar, tetapi ia juga yang paling menguntungkan kerana tidak seperti kebanyakan setiap lain sains komputer pengenalan kursus di Amerika Syarikat yang kita tahu, kebanyakan pelajar tidak selesai intro tentu telah pun melaksanakan perkara seperti pokok-pokok, dan percubaan, dan jadual hash, dan sebagainya. Oleh itu, saya berharap, dan kami berharap bahawa anda mempunyai rasa yang sangat besar kepuasan walaupun jika seminggu dua melalui yang anda dapat kepuasan yang tidak merasa sedikit kecil seperti ini. Tetapi biarlah saya memberi jaminan, kita hanya mempunyai empat set P kiri. Jadi jenis bahagian yang sudah di depan mata. Di sisi lain daripada itu, percaya kepada kami, ia hanya ganang dan awan. Dan yang akan kita katakan, anak anjing berada di pihak yang lain. Jadi, anda hanya perlu untuk menggantung di sana lebih lama. Maksud saya, memang seperti yang kita mula peralihan ke dalam dunia pengaturcaraan web, anda akan mendapati bahawa perkara become-- ini adalah comel sebenarnya. OK, kita akan hantar URL ini kemudian. Anda akan mendapati terlalu bahawa kami semacam mencapai dataran tinggi yang di mana segala-galanya adalah sesungguhnya masih canggih dan mencabar oleh reka bentuk, tetapi anda tidak akan berasa seperti kita sentiasa naik bukit ini. Oleh itu, mengambil beberapa keselesaan dalam itu. Jadi tanpa berlengah-lengah lagi, mari kita mulakan untuk membuat peralihan pasaran ini pada semester ke dunia web, dan benar-benar dunia yang mana semua di antara kita yang biasa. Kami mempunyai peranti internet dalam poket kita, di atas meja, dalam beg galas kita, dan sebagainya. Bagaimana semua kerja-kerja ini? Dan bagaimana kita boleh mula menulis Kod itu bukan super batin dan dalam beberapa teks berkelip segera bahawa tidak ada rakan-rakan anda atau keluarga pernah akan mahu untuk berinteraksi dengan, tetapi sesuatu yang anda boleh meletakkan pada telefon mereka, atau pada pelayar web mereka, atau mana-mana peranti dengan mana mereka berinteraksi. Jadi di sini adalah rumah seseorang. Dan di dalam rumah ini adalah beberapa komputer riba, beberapa desktop sekolah lama komputer, sesuatu yang dipanggil router atau hab di tengah, dan kemudian beberapa jenis modem kabel atau DSL modem. Dan kemudian ada internet, secara amnya disediakan sebagai awan ada di langit. Jadi gambar ini, walaupun semacam sedikit bertarikh, pasti menangkap apa yang kebanyakan anda mungkin mempunyai di rumah anda, atau dengan berkesan apa yang anda semua mempunyai di dalam bilik asrama anda, atau pangsapuri, atau sebagainya. Jadi apa yang sebenarnya berlaku apabila anda cuba menggunakan internet pada hari ini? Jadi setiap komputer di internet, ternyata, perlu mempunyai alamat yang unik, sama seperti kita dalam keperluan dunia sebenar alamat pos, seperti 51 Prospect Street, New Haven, Connecticut, atau 33 Oxford Street, Cambridge, Massachusetts. Begitu juga dengan komputer di internet memerlukan cara unik menangani diri mereka sendiri. Itu adalah supaya apabila satu komputer mahu bercakap dengan lain, ia boleh menghantar mesej dan memaklumkan penerima yang kepadanya ia perlu menghantar respons belakang. Oleh itu, ia hanya membuat semacam rasa intuitif mungkin bahawa segala-galanya mempunyai alamat sejenis. Tetapi bagaimana anda mendapatkan alamat? Nah, jika anda tiba di sini pada kampus, atau anda pulang ke rumah dan anda menghidupkan anda komputer riba atau komputer desktop, dan sama ada palamkan ia atau menyambung kepada Wi-Fi, ternyata bahawa ada pelayan khas kebanyakan rangkaian dipanggil pelayan DHCP. Tidak benar-benar perkara apa ini bermaksud, tetapi ia adalah konfigurasi hos dinamik protokol, yang hanya cara yang mewah untuk mengatakan, ini adalah komputer yang memuat Yale mempunyai, atau Harvard mempunyai, atau Comcast mempunyai, atau Verizon mempunyai, atau syarikat anda mempunyai, yang tujuan dalam kehidupan, apabila ia mendengar seseorang yang baru ditambah kepada rangkaian, adalah untuk katakan di sini, menggunakan alamat ini. Oleh itu, kita manusia tidak perlu Kod keras ke dalam komputer kita apa alamat unik kita. Kami hanya hidupkannya, buka tudung, dan entah bagaimana pelayan ini pada rangkaian tempatan hanya memberitahu saya bahawa alamat saya adalah 51 Prospect Street, atau 33 Oxford Street, atau sebagainya. Kini ia tidak akan begitu banyak cakap seperti itu. Sebaliknya apa yang saya akan dapat adalah alamat bernombor yang dipanggil alamat IP. IP bermaksud protokol internet. Dan kemungkinan besar pada masa ini dalam kehidupan anda, anda mungkin mendengar atau melihat perkataan IP, atau secara amnya dibuang sekitar mungkin. Tetapi yang sebenarnya, ia cukup lurus ke hadapan apa-apa. Alamat IP adalah hanya nombor perpuluhan putus-putus, yang bermaksud ia sesuatu dot sesuatu yang dot dot sesuatu sesuatu. Dan setiap orang-orang yang berlaku somethings menjadi nombor antara 0 dan 255. Berdasarkan kepada lima minggu plus CS50, jika nombor-nombor ini setiap julat 0-255, berapa banyak bit adalah setiap mereka tanda-tanda nombor? PENONTON: Lapan. DAVID J. MALAN: Ia mendapat menjadi lapan. Jadi secara keseluruhan, berapa ramai bit adalah alamat IP? PENONTON: 32. DAVID J. MALAN: Jadi 32. 8 campur 8 campur 8 campur 8 adalah 32. Berapa banyak jumlah alamat IP boleh dikekalkan di dunia? PENONTON: 4 bilion. DAVID J. MALAN: Jadi kira-kira empat bilion kerana itulah 2 kuasa 32. Jenis dan jika anda tidak boleh sudah grok itu dalam fikiran anda, hanya tahu bahawa nilai-nilai 32-bit boleh menjadi sebesar 4000000000 jika itu semua nilai positif. Ini bermakna ada 4 bilion mungkin alamat IP di dunia. Dan cerita lucu, kami jenis berjalan keluar dari mereka. Dan sebenarnya ia adalah satu masalah yang besar kerana dunia juga melihat masalah ini akan datang, tetapi tidak semestinya memberi maklum balas kepada dengan cara yang paling cepat mungkin. Dan sesungguhnya, sebaik sahaja anda telah selesai CS50 dan mula memberi perhatian dalam dunia teknologi, anda akan lihat ini adalah sangat biasa bertema. Sebagai contoh, jika kita benar-benar sekolah lama pada masa kini, Y2K. Yang tidak benar-benar satu kejutan. Seperti semua orang tahu untuk 1,000 tahun yang yang was-- lebih dari years-- ribu yang yang akhirnya akan berlaku. Namun, kita bertindak balas kepadanya amat di saat akhir. Dan itu berlaku lagi. Jadi hari ini kita akan bercakap tentang IP versi 4. Tetapi tahu bahawa dunia akhirnya mendapat sekitar untuk menaik taraf kepada sesuatu yang dinamakan IPv6, yang bukannya 32-bit alamat, sesiapa uses-- mahu mengambil tekaan, berapa banyak bit? PENONTON: 64? DAVID J. MALAN: tekaan Baik, tetapi tiada. Kami akhirnya cuba untuk mendapatkan lebih awal daripada keluk. PENONTON: 128. DAVID J. MALAN: 128, yang adalah sejumlah besar freaking alamat IP, kerana yang seperti kali 2, kali 2, kali 2, banyak kali berdua-dua dari 4 bilion. Jadi, jika ingin tahu. Ternyata out-- dan saya googled ini untuk mencari ini out-- komputer Yale, di sini di Yale, cenderung untuk memulakan dengan ini numbers-- sesuatu 130,132 dot, dan 128,36 dot sesuatu. Tetapi ada pasti pengecualian secara menyeluruh bergantung kepada apa yang jabatan dan bangunan dan kampus anda berada di. Harvard cenderung untuk mempunyai 140,247 atau 128,103. Dan ini memanglah maklumat tidak berguna, tetapi ia adalah sesuatu yang anda mungkin perasan sekarang. Apabila anda mula poking sekitar tetapan pada komputer anda, anda mungkin mula melihat ini jenis corak tidak lama lagi. Tetapi apabila anda berada di rumah dan mempunyai Apple AirPort, atau peranti Linksys, atau D-Link, atau apa sahaja ibu bapa atau adik-beradik anda yang dipasang di rumah anda, baik apa yang anda mungkin mempunyai adalah apa yang dikenali sebagai alamat IP persendirian. Inilah sebenarnya yang bagus, penyelesaian sementara kepada masalah berjalan pendek pada alamat IP. Dan apa yang anda boleh lakukan dengan rangkaian rumah, typically-- dan terus terang, walaupun Yale dan Harvard mula untuk melakukan ini dalam areas-- berbeza adalah anda boleh memberikan sejumlah besar komputer satu alamat IP selagi anda meletakkan alat khas di hadapan mereka, sesuatu yang dipanggil router, atau ia boleh dipanggil seorang proksi atau apa-apa bilangan perkara-perkara lain. Tetapi peranti tertentu yang mempunyai yang satu alamat IP. Dan kemudian di belakang peranti, dalam bangunan, di dalam sebuah rumah atau pangsapuri, boleh apa-apa bilangan komputer, semua yang mempunyai alamat IP yang bermula dengan salah satu daripada angka ini di sini. Dan selagi komputer yang tahu bagaimana untuk menukar alamat awam untuk alamat persendirian, segala-galanya boleh menyusun kerja seperti yang diharapkan. Tetapi akas bagi ini adalah bahawa jika anda berada di rumah dan anda mempunyai adik-beradik, dan kedua-dua anda melayari laman web tertentu, laman web yang tidak tahu jika ia adalah anda atau adik-beradik anda melawat laman web, kerana anda kelihatan yang sama orang kerana semua data anda sedang melalui router yang atau bahawa titik pusat. Tetapi yang cukup pada butir-butir tahap yang lebih rendah. Mari kita lihat pada alamat IP bagaimana kadang-kadang datang mungkin dalam media dan bagaimana kita boleh mula untuk merosakkan, terus-terang, lebih rancangan untuk anda. Jika kita boleh malap lampu untuk beberapa saat. [VIDEO MAIN SEMULA] -Ia Adalah satu 32-bit pada IPP 4 alamat. -IP ES internet-- Rangkaian -Daftar, Rangkaian persendirian Tamia ini. Dia begitu menakjubkan. -Ayuh Charlie. DAVID J. MALAN: Ia alamat cermin IP. Dia membiarkan kita menonton yang dia lakukan dalam masa sebenar. [AKHIR MAIN SEMULA] DAVID J. MALAN: OK. Jadi beberapa masalah dengan ini. Jadi salah, apa yang kita cari di sini pada skrin adalah kod yang ditulis dalam bahasa dipanggil Objektif-C, yang jenis pengganti kepada bahasa C yang kita lakukan. Ini sama sekali tiada kaitan dengan pengaturcaraan. Malah, seperti yang terbaik yang saya boleh beritahu, ini adalah program lukisan bahawa seseorang turun dari internet entah bagaimana melibatkan krayon. Mungkin kurang mengerikan adalah bahawa alamat IP ini, sah atau tidak sah? PENONTON: tidak sah. DAVID J. MALAN: tidak sah, kerana 275 adalah, sudah tentu, tidak antara 0 dan 255. Itu juga mungkin OK walaupun, kerana anda tidak mahu sekumpulan orang gila yang seperti berhenti TV pada mereka TiVos dan kemudian melawat IP untuk melihat jika ada sebenarnya sesuatu di sana. Supaya seseorang yang sedikit kurang mengerikan. Tetapi sedar itu juga adalah semacam di sekeliling kita. Jadi, sudah tentu, tiada seorang pun daripada kami yang pernah benar-benar menaip alamat angka ke pelayar kami. Ia akan menjadi jenis perkara yang tidak baik jika Google, untuk melawat Google, anda terpaksa pergi ke 123.46.57.89. Dan seluruh dunia mempunyai hanya ingat bahawa. Dan terus terang, kami telah baik hati untuk melihat isu ini sebelum ini. Kembali pada hari apabila orang tidak mempunyai telefon bimbit dan senarai kenalan, dan syarikat-syarikat sebenarnya still-- sebenarnya, Saya rasa syarikat masih mempunyai 800 nombor dan like-- tetapi anda umumnya melihat nombor diiklankan sebagai 1-800-COLLECT, C-O-L-L-E-C-T. Kerana tidak ada yang benar-benar boleh ingat, apabila melihat iklan di dalam bas atau papan iklan, apa yang orang nombor adalah, tetapi mereka boleh mungkin, dengan lebih tinggi kebarangkalian, ingat perkataan. Oleh itu, kita pakai yang sama jenis sistem di dunia internet di mana ada sistem nama domain supaya kita manusia boleh menaip google.com, facebook.com, yale.edu, harvard.edu, dan biarkan angka komputer yang apa IP berkaitan alamat adalah nama yang diberikan. Dan cara anda melakukan ini dalam dunia sebenar adalah bahawa untuk $ 10 setahun, mungkin $ 50 setahun, anda boleh membeli domain nama, atau benar-benar menyewa nama domain. Kemudian sesiapa yang anda membayar untuk menyewa bahawa nama domain, anda memberitahu mereka yang di dunia mengetahui apa alamat IP anda. Dan kita tidak akan pergi ke ini butir-butir, tetapi ramai daripada anda mungkin mahu, akhir projek, untuk benar-benar mendaftar untuk anda web hosting sendiri syarikat, sama ada secara percuma atau untuk beberapa dolar sebulan. Sebahagian daripada anda mungkin mahu membeli, beberapa dolar, nama domain anda sendiri, hanya untuk suka-suka atau untuk memulakan perniagaan atau laman web peribadi atau sebagainya. Dan sedar bahawa semua itu akan akhirnya mendidih ke anda memberitahu dunia apa alamat IP pelayan anda adalah. Dan kemudian DNS ini pelayan sebenarnya menjaga penyampaian maklumat kepada seluruh dunia. Jadi semua pelayan DNS mempunyai, dalam jangka pendek, di dalam ingatan adalah seperti sama dengan hamparan Google atau spreadsheet Excel dengan sekurang-kurangnya dua tiang, salah satu yang mempunyai nama, seperti harvard.edu, dan yale.edu dan google.com. Dan lajur lain mempunyai sepadan alamat IP atau IP alamat. Dan kita sebenarnya boleh melihat ini. Maka pada Mac-- saya dan anda boleh melakukan ini pada komputer Windows sebagai well-- jika saya membuka tetingkap terminal di sini, agak seperti dalam CD50 IDE, kebanyakan komputer mempunyai arahan yang dipanggil nslookup, nama pelayan mencari. Dan jika saya menaip sesuatu dalam seperti yale.edu dan tekan Enter, apa Saya perlu melihat jika rangkaian saya bekerjasama sebagai ia lakukan untuk pelbagai ujian sebelum kelas began-- mari kita cuba google.com. Sudah tentu kini tiada apa yang bekerja. Itu yang besar. Baiklah, berdiri untuk satu masa. nslookup google.com. Nah, mari kita lihat jika internet-- tidak sebenar. Itulah yang berlaku. Oh tuhan saya, baiklah. Wi-Fi patah. Hey, ingin tahu apa yang alamat IP saya? Baiklah. YaleSecure. Ini adalah bagaimana anda menyelesaikan masalah perkara sebagai seorang saintis komputer. Kami menghidupkan Wi-Fi di luar. OKAY. Dan sebenarnya, Scaz, adakah anda keberatan pembalakan kita ke dalam satu yang selamat? Jika tidak lebih banyak ujian ialah- OK, terima kasih anda Yale-- atau hampir putus. Saya hendak pergi YaleSecure. Oh, dan mungkin kita akan menjadi OK. Mungkin kami kembali. Dan itulah bagaimana, kerana komputer saintis menetapkan komputer. [Tepuk tangan] Baiklah. Jadi di mana saya berada dalam ini apa yang dikenali sebagai tetingkap terminal, dan jika saya nslookup yale.edu, ada kita pergi. Jadi saya kembali pertama alamat IP pelayan DNS yang komputer riba saya menggunakan. Jadi sebagai tambahan kepada pelayan DHCP yang kita bercakap tentang masa yang lalu memberitahu apa laptop saya IP saya alamat, bahawa pelayan DHCP juga memberitahu saya apa yang pelayan DNS untuk digunakan. Jika tidak, saya akan secara manual menaip ini. Tetapi itu tidak semua yang menarik. Apa yang saya mengambil berat tentang adalah bahawa ini adalah Alamat IP laman web Yale nampaknya. Jadi sebenarnya, mari kita cuba ini. Biar saya naik ke dalam pelayar dan pergi http: //, dan kemudian bahawa alamat IP, dan tekan Enter. Marilah kita lihat. Itulah bagaimana lagi yang anda boleh melawat laman web Yale. Kini ia bukan semua yang tidak akan dilupakan. Seperti, pra-Frosh mungkin tidak akan ingat alamat tertentu ini jika diberitahu untuk melawat di sana selepas melawat. Tetapi ia seolah-olah untuk bekerja. Dan sebagainya DNS benar-benar hanya membolehkan kita untuk mempunyai banyak lebih alamat mesra manusia. Tapi mereka tidak semestinya hanya menghasilkan satu jawapan. Malah, apabila anda seorang benar-benar syarikat teknologi besar, anda mungkin ingin mempunyai banyak pelayan. Dan walaupun ini adalah mengelirukan. Jadi Yale mungkin tidak mempunyai hanya satu pelayan web. Google mungkin tidak mempunyai hanya 10 atau lebih pelayan web. Google terutamanya mungkin mempunyai beribu-ribu pelayan web di seluruh dunia yang boleh bertindak balas permintaan daripada orang seperti kami. Tetapi mereka juga menggunakan teknologi yang dipanggil pengimbangan beban, yang cerita panjang pendek, mempunyai hanya beberapa peranti di dunia menyebarkan beban di lebih pelayan. Jadi ia adalah jenis seperti web labah-labah jika anda akan menghantar permintaan. Tetapi untuk sekarang, semua yang menarik untuk hari ini ialah nama domain seperti google.com walaupun boleh mempunyai berbilang alamat IP seperti itu. Tetapi bagaimana semua data kita sebenarnya mendapatkan belakang dan sebagainya maka pada akhirnya? Nah, ternyata bahawa ada ini perkara yang dipanggil router di internet. Dan apa yang router kepada tahap yang anda sudah tahu? Dan saya telah menggunakan perkataan pasangan kali dalam konteks rumah, tetapi dalam bahasa yang mudah, apakah router lakukan? Berikan saya hanya tekaan berdasarkan namanya? PENONTON: Jadi jalan atau jalan yang? DAVID J. MALAN: Jadi ia adalah satu jalan atau jalan. Jadi laluan adalah jalan yang atau jalan, sama sekali. Dan router, jadi peranti yang sebenarnya maklumat laluan, akan memindahkan data antara titik A dan B. Dan sebagainya dalam fact-- dan ini mungkin apabila anda Google gambaran router di dunia, semua yang anda dapat adalah gambar rajah pemasaran cheesy. Dan sebagainya ini adalah jenis yang paling seorang wakil saya dapat mencari yang kelihatan sedikit menarik. Setiap titik atau kacamata harapan di seluruh dunia mewakili router. Dan setiap daripada mereka mempunyai garis antara beberapa router lain. Kerana sesungguhnya, ada beribu-ribu, mungkin berjuta-juta router sekitar dunia, ada yang berada di dalam rumah kita dan di kampus kita, tetapi banyak yang dimiliki oleh syarikat-syarikat besar dan saling supaya jika saya ingin menghantar beberapa data dari sini di Yale rumah kembali ke Cambridge, Yale mungkin tidak mempunyai satu kabel, sudah tentu, pergi terus ke Harvard. Dan Yale tidak mempunyai satu kabel akan ke MIT, atau untuk Stanford, atau Berkeley, atau untuk Google, atau apa-apa bilangan destinasi. Sebaliknya, Yale dan Harvard, dan orang lain di internet tidak mempunyai satu atau lebih router berkaitan dengannya, mungkin di pinggir kampus. Supaya apabila data saya mahu untuk meninggalkan kampus Yale, ia pergi ke penghala terdekat, seperti yang digambarkan oleh salah satu daripada titik ini. Dan kemudian bahawa angka-angka router sama ada untuk menghantarnya cara ini, atau cara ini, atau cara ini, atau cara ini berdasarkan di atas meja lain dalam ingatan, satu lagi fail Excel atau Google spreadsheet bahawa dalam satu ruangan berkata, jika alamat IP anda bermula dengan nombor satu, pergi dengan cara ini. Jika alamat IP anda bermula dengan nombor dua, pergi dengan cara itu. Dan supaya anda boleh memecahkan ia ke bawah berangka mempunyai router penghantaran data setiap cara. Dan kita boleh jenis melihat ini juga. Mari kita pergi ke hadapan ke dalam terminal ini tetingkap lagi, dan biarlah saya pergi ke hadapan dan mengesan laluan ke, katakan, www.mit.edu, yang merupakan beberapa ratus batu jauhnya. Itu adalah benar-benar celaka cepat. Jadi apa yang berlaku? Jadi, dalam tujuh langkah, dan dalam masa empat milisaat, Saya menghantar data melalui internet dari sini di Yale untuk MIT. Setiap baris ini, anda boleh mungkin rasa kini mewakili apa? PENONTON: router A. DAVID J. MALAN: router A. Maka sesungguhnya, ia kelihatan seperti ada kira-kira tujuh atau lebih router, atau enam router di antara saya fizikal di Yale undang-undang sekolah di sini dan laman web MIT di sana. Dan apa yang kita boleh memungut dari ini adalah sebagai follows-- dan biarlah saya membersihkannya sehingga. Saya akan jalankan dengan perintah hujah garis -q 1 untuk hanya mengatakan, hanya memberi saya satu pertanyaan. Secara lalai, laluan surih tidak tiga. Dan itulah sebabnya kita lihat tandan nombor. Saya mahu melihat lebih sedikit nombor hanya untuk menjaga bersih output. Dan mari kita lihat apa yang berlaku. Jadi untuk apa jua alasan, seseorang di Yale pemikiran ia akan menjadi lucu untuk memanggil anda lalai arubacentral router, yang kini dalam vlan atau maya LAN, kawasan tempatan maya rangkaian 30-- supaya anda mungkin mempunyai sekurang-kurangnya 29 router.net.yale.internal others--. Dan .internal di sini adalah jenis palsu domain peringkat atas dimaksudkan untuk digunakan hanya di kampus. Dan perhatikan alamat IP yang sama itu router, di mana sahaja ia berada di sini di kampus, adalah 172.28.204.129. Dan ia mengambil masa 36 milisaat untuk pergi dari sini ke sana. Cerita lucu. Kami akan kembali kepada yang dalam hanya seketika. Tetapi kini kedua router-- untuk yang arubacentral nampaknya mempunyai beberapa jenis fizikal sambungan paling likely-- manusia tidak mengganggu menamakan ia. Manusia Yale tidak mengganggu menamakan kerana ia adalah di dalam rangkaian anda ia seolah-olah. Dan oleh itu hanya mempunyai alamat IP. Tetapi router ketiga di sini pada rangkaian Yale itu mungkin sedikit lebih jauh masih dipanggil cen10g apa sahaja yang asr.net.yale.internal. Dan ia juga mempunyai alamat IP. Sekarang kenapa nombor-nombor jenis turun naik? 2.9, 1.4, 36? Penghala mendapatkan sibuk. Dan mereka mendapat sesak dan disokong. Ada beribu-ribu orang di ini kampus menggunakan internet sekarang. Ada seratus orang dalam ini bilik menggunakan internet sekarang. Dan jadi apa yang berlaku adalah bahawa router mungkin akan sesak. Dan sebagainya masa-masa mungkin turun naik sedikit. Jadi itulah sebabnya mereka tidak semestinya meningkatkan terus terang. Tetapi hal-hal yang sejenis menarik dalam langkah empat. Rupa-rupanya antara Yale dan langkah empat adalah hop lain. Dan di mana router dalam langkah empat mungkin? PENONTON: [didengar] DAVID J. MALAN: JFK mungkin, mungkin di lapangan terbang. Tetapi untuk apa jua alasan, pentadbir sistem, jadi Geeks yang berjalan pelayan untuk tahun telah menamakan router selepas kod lapangan terbang terdekat. Jadi JFK mungkin bermakna ia hanya di suatu tempat di New York, mungkin di Manhattan atau salah satu daripada daerah. nyc2 menandakan, mungkin, satu lagi router itu di suatu tempat di New York. Saya kurang tahu di mana berturut-turut enam di sini, bilangan router enam. quest.net ISP besar, pembekal perkhidmatan internet, yang menyediakan sambungan internet ke tempat-tempat besar seperti Yale dan lain-lain. Dan kemudian yang terakhir ini, ia kelihatan seperti itu MIT tidak walaupun mempunyai laman web mereka sendiri di Cambridge semestinya, tetapi mereka telah sumber luar laman web mereka, atau sekurang-kurangnya pelayan fizikal, kepada sebuah syarikat bernama Akamai. Dan Akamai sebenarnya sampai jalan dari MIT di Cambridge ia ternyata. Tetapi sedar juga bahawa walaupun pemikiran anda akan www.mit.edu, kita benar-benar boleh dihantar mana-mana sahaja di dunia. Dan mari kita lihat di suatu tempat tempat lain di dunia. Biar saya pergi ke hadapan dan membersihkan skrin ini dan sebaliknya mengesan laluan, hanya sekali, jadi bertanya satu, untuk www.cnn.co.jp, laman utama Jepun untuk CNN, laman web berita. Dan jika saya tekan Enter sekarang, mari kita lihat apa yang berlaku. Kami sekali lagi bermula dari arubacentral. Kami kemudian pergi ke router bernama, beberapa lagi. Oleh itu, ia mengambil masa selama 12 hop ke mendapatkan ke Jepun kali ini. Dan mari kita lihat apa yang kita boleh memungut. Hop Jadi sama, hop sama. Sedikit berbeza sekarang. Ini seseorang yang menarik. Jadi saya meneka sini, stamford1 ialah Beberapa bandar-bandar jauh di Connecticut juga. Ini router berturut-turut enam dan tujuh tidak mempunyai nama. Tetapi ini adalah jenis yang luar biasa. Jadi apa yang seolah-olah menjadi antara router dalam langkah tujuh dan lapan? Dan mengapa kamu mengatakan sebanyak? Ya? PENONTON: Ocean. DAVID J. MALAN: Mungkin lautan. Kita tahu yang benar seperti, intuitif, bukan? Tetapi kita boleh mengesahkan sebanyak jenis daripada jenis empirik mengapa? Apa yang telah berubah antara baris tujuh dan lapan? Ia mengambil lebih banyak masa untuk pergi ke apa ini router bernama tujuh adalah, mungkin di suatu tempat di benua Amerika Syarikat, untuk melangkah lapan, yang mungkin di suatu tempat di Jepun berdasarkan nama domain Jp sana. Dan supaya orang-orang tambahan ratus sesuatu milisaat atau 90 atau lebih milisaat adalah hasil daripada data kami pergi atas badan cantik besar air. Sekarang ingin tahu, ia seolah-olah bahawa mungkin kabel yang berlaku di seluruh Amerika Syarikat. Jika kita benar-benar akan lebih Pantai Barat untuk mendapatkan ke Jepun, ia adalah jenis jalan panjang jika kita pergi dengan cara yang lain. Jadi ia tidak begitu jelas apa yang sedang berlaku secara fizikal. Tetapi hakikat bahawa setiap hop tambahan sesungguhnya mengambil ketara lagi daripada setiap lain, ia adalah pengesahan yang cukup baik bahawa ini CNN Pelayan web Jepun mungkin memang di Jepun. Dan ia sudah tentu lebih jauh jauh daripada MIT telah. Dan ia adalah diperhatikan juga, data anda tidak semestinya akan melakukan perjalanan yang jarak singkat. Malah, jika anda bermain-main dengan laluan surih di rumah hanya memilih laman web rawak, anda mungkin mendapati bahawa hanya untuk menghantar e-mel atau melawat laman web itulah di sini di New Haven, kadang-kadang data anda mungkin pertama mengambil jalan memutar, turun ke DC, dan kemudian datang kembali. Dan itu hanya kerana keputusan penghalaan dinamik bahawa komputer ini membuat. Kini hanya untuk keseronokan, pasukan pengeluaran dipotong salah satu video ini untuk kita hanya menjadi sedikit lebih ringkas. Tetapi untuk memberi kita rasa yang cepat sini-- dan kita boleh meninggalkan lampu pada-- tentang betapa banyak kabel adalah sebenarnya membawa semua data kami. [VIDEO MAIN SEMULA] [Bermain muzik] [AKHIR MAIN SEMULA] DAVID J. MALAN: Semua video rangkaian mempunyai muzik berbunyi sejuk nampaknya. Jadi, itu untuk mendapatkan hanya satu rasa betapa banyak mempunyai telah berlaku di bawah hood. Tetapi mari kita lihat pada tahap rendah sedikit sekarang apa data sebenarnya menyeberangi mereka garis, dan juga akan secara wayarles di dalam bilik seperti ini. Jadi ternyata apabila anda meminta laman web, atau menghantar e-mel, atau menerima laman web, atau e-mel, atau mesej GChat, atau mesej Facebook, atau sebagainya, yang bukan sahaja satu sebahagian besar daripada bit mengalir secara wayarles melalui udara atau secara elektronik pada wayar. Sebaliknya, permintaan itu atau sambutan umumnya chunked sehingga menjadi kepingan yang berasingan. Jadi dalam erti kata lain, apabila anda mempunyai meminta untuk membuat komputer lain, atau anda kembali jawapan dari computer-- lain seperti rasa, misalnya, jika unfamiliar-- kerana terlalu ramai orang seolah-olah menjadi days-- ini jika tidak biasa dengan this-- Bukankah ini fellow-- rakan-rakan ini. Jadi andaikan ini adalah mesej bahawa Saya ingin menghantar kepada seseorang di belakang. Yang dalam yang belakang sedang menerima gambar Rick Astley hari ini? OK, apa nama anda? PENONTON: Cole. DAVID J. MALAN: Apa itu? PENONTON: Cole. DAVID J. MALAN: Holt? H-O? PENONTON: C-O-L-E. DAVID J. MALAN: C-O-L-E, Cole. Maaf. C-O-L-E. Baiklah. Jadi, jika saya ingin menghantar Cole ini gambar di sini, anda tahu ini adalah jenis gambar besar, bukan? Ini boleh menjadi beberapa kilobait, beberapa megabait, terutamanya jika ia resolusi tinggi. Dan saya tidak benar-benar mahu berhenti orang lain daripada menggunakan internet hanya semasa saya menghantar ini benar-benar besar, berkualiti tinggi gambar Rick Astley di seluruh bilik. Saya mahu data anda untuk terus merentasi rangkaian dan Wi-Fi juga. Dan jadi ia membuatkan sense-- dan ini boleh diperolehi semula secara elektronik, tidak begitu banyak dalam dunia sebenar. Sebenarnya, ini akan mempunyai berbilang makna jika anda mengambil audio saya keluar. Jadi, jika saya air mata ini dalam separuh seperti ini di sini, ini kini boleh melakukan perjalanan yang internet dengan lebih cekap, kerana ia adalah bahagian yang lebih kecil. Jadi dengan kebarangkalian yang lebih rendah ia akan bertembung dengan lalu lintas orang lain dalam internet. Dan supaya apa yang komputer anda memang tidak apabila anda ingin menghantar mesej kepada Cole adakah ketulan sehingga mesej seperti ini ke dalam bahagian yang lebih kecil, serpihan jadi untuk bercakap. Dan kemudian ia meletakkan mereka di dalam apa kita akan memanggil jenis sampul surat maya. Jadi saya mempunyai empat sampul surat kertas di sini. Dan saya telah pra-bernombor mereka, satu, dua, tiga, dan empat. Dan apa yang saya akan lakukan di bahagian depan ini, sama seperti penghantaran surat biasa, adalah saya akan meletakkan nama Cole di sana. Dan kemudian di bahagian atas, saya akan meletakkan nama saya di sana, Daud supaya paket pertama seumpamanya Aku menghantar di luar sana di internet kelihatan sesuatu yang kecil seperti ini, ciri-ciri penting yang mana adalah bahawa ia mempunyai untuk menangani, dari alamat, dan juga beberapa, jadi yang yang diharapkan maklumat yang mencukupi untuk Cole untuk membina semula mesej ini. Jadi biarlah saya melakukan perkara yang sama di sini, sama di sini, dan yang sama di sini, menulis namanya dalam Medan pada semua daripada mereka. Dan kemudian mari kita pergi ke depan dan meletakkan gambar-gambar ini di dalam. Jadi di sini adalah satu paket itu bersedia untuk pergi. Berikut adalah satu lagi paket itu bersedia untuk pergi. Berikut adalah paket ketiga itu bersedia untuk pergi. Dan di sini adalah yang keempat paket itu bersedia untuk pergi. Dan kini apa yang menarik tentang bagaimana internet dalam kerja-kerja realiti adalah bahawa walaupun saya telah mendapat empat paket, semua yang ditakdirkan untuk yang sama lokasi, mereka tidak semestinya akan merentasi laluan yang sama. Dan sebagainya walaupun saya mungkin menyerahkan ini paket off ke router yang terdekat katakan, jika anda ingin menghantar mereka setiap cara, mari kita lihat apa yang sebenarnya berlaku, matlamat iaitu untuk mendapatkan mereka akhirnya Cole. Dan sesungguhnya, mereka sudah tidak semestinya mengambil arah yang sama. Dan itulah denda. Ini adalah sedikit janggal dan gaya Oprah hari ini. Dan sekarang mari saya sengaja mengambil satu gol itu. Dan kini Cole, jika anda ingin himpunkan semula terbaik yang anda boleh. Sudah tentu, kita semua boleh meneka apa yang kesimpulan di sini akan menjadi. Anda akan mempunyai 3/4 daripada Rick Astley dalam hanya seketika. Dan sungguh adalah Implikasi itu? Anda ingin mencuba untuk memegang sehingga? Kami mempunyai satu kamera menunjuk pada anda jika anda ingin bergambar dengan Rick Astley di sini. Di sana kami pergi. Indah. Tetapi anda seolah-olah hilang serpihan Rick Astley. Jadi ternyata bahawa internet pada amnya didorong oleh bukan sahaja IP, tetapi sebenarnya kita mendengar sekurang- bermula kuliah di video-- yang dan anda mungkin telah melihat ini singkatan lebih often-- apa yang sebenarnya adalah protokol anda cenderung untuk mendengar tentang? PENONTON: TCP / IP. DAVID J. MALAN: TCP / IP, yang hanya kombinasi yang dua protokol, satu dipanggil IP. Yang sekali lagi, hanya set konvensyen melalui mana kita menangani setiap komputer di internet. Dan kemudian TCP, yang mempunyai tujuan lain. TCP adalah protokol yang anda biasanya digunakan bersama-sama dengan IP, yang antara lain perkara, penghantaran jaminan. Malah, TCP adalah protokol yang akan notis bahawa salah satu paket nampaknya tidak dapat Cole, kerana dia seolah-olah telah hilang nombor empat daripada empat. Dan jadi apa TCP, protokol tidak, adalah ia memberitahu Cole, hey Cole, jika anda menerima hanya tiga daripada empat paket, beritahu saya yang mana yang anda yang hilang, pada dasarnya, dan kemudian tujuan saya dalam hidup adalah untuk menghantar semula itu. Dan jadi jika saya juga, penghantar, menggunakan TCP, Aku boleh membuat packet-- baru Bukankah ini satu berkedut sini-- menghantar semula hanya sekeping ini , supaya akhirnya Cole mempunyai cenderahati selesai, jika apa-apa lagi. Tetapi supaya akhirnya data sebenarnya mendapat ke destinasi yang betul. Tetapi malangnya, menulis nama Cole di bahagian depan tidak mencukupi, semata-mata. Dan benar-benar, saya tidak akan menulis Nama Cole, tetapi mungkin alamat IP di atas sampul surat. Dan saya tidak akan menulis Daud. Saya menulis alamat IP saya pada sampul surat supaya komputer boleh sebenarnya berkomunikasi dan ke belakang. Tetapi ternyata bahawa komputer boleh lakukan cara yang lebih daripada menyampaikan gambar Rick Astley. Mereka juga boleh menghantar semula dan menerima e-mel, berbual mesej. Mereka boleh melakukan perkara seperti pemindahan fail, dan apa-apa bilangan alat-alat lain anda menggunakan di internet, pelayan boleh lakukan hari ini. Dan hanya kerana sebuah syarikat, atau sekolah, atau seseorang yang mahu mempunyai pelayan web, dan pelayan e-mel, dan pelayan chat, tidak bermakna anda memerlukan tiga komputer. Anda boleh mempunyai hanya satu komputer berjalan pelbagai perkhidmatan, jadi untuk bercakap. Dan setelah Cole menerima mesej seperti itu, bagaimana adakah komputernya tahu sama ada untuk menunjukkan gambar yang di pelayarnya, atau dalam GChat, atau di Facebook Messenger, atau dalam apa-apa bilangan alat-alat lain? Jadi, ternyata juga bahawa seperti sampul surat adalah sekeping tambahan maklumat dikenali sebagai nombor port. Dan beberapa pelabuhan adalah hanya beberapa sesungguhnya, tetapi ia tidak mengenal pasti secara unik komputer, tetapi perkhidmatan ini. Dan ada tandan ini. Jadi ia ternyata bahawa di dunia, manusia telah membuat keputusan mengenai apa-apa beberapa konvensyen, ada juga yang tidak ini. Jadi ada sesuatu yang dipanggil Fail Transfer Protocol. Ia cukup bertarikh. Ia sama sekali tidak selamat. Ramai orang masih menggunakannya. Dan ia menggunakan nombor port 21. Dalam erti kata lain, jika menghantar fail melalui FTP, sampul surat itu akan mempunyai bukan sahaja Pengguna dan alamat IP penerima, ia juga akan mempunyai bilangan 21 supaya komputer penerima tahu oh, ini Fail, bukan e-mel atau mesej chat. 25 adalah SMTP. Berapa ramai daripada anda pernah menggunakan SMTP? Salah. Hampir semua yang anda ada. Jika anda pernah menggunakan e-mel, anda telah menggunakan SMTP, mudah protokol pemindahan mel, yang hanya satu cara mewah untuk mengatakan, ini adalah jenis komputer atau perkhidmatan yang menghantar keluar e-mel anda. Dan jika anda telah pernah melihat akronim seperti POP, atau IMAP, dan ada beberapa yang lain, mereka adalah untuk menerima e-mel, biasanya. Yang hanya bermakna ia perkhidmatan yang berbeza. Ia adalah perisian yang seseorang menulis yang menghantar kepada atau mendengar pada nombor port tertentu supaya bahawa ia tidak mengelirukan e-mel dengan beberapa jenis lain data. Sekarang web adalah HTTP, iaitu nombor 80, dan juga port 443. Dan sebenarnya, walaupun kita manusia nasib baik tidak perlu melakukan ini, bila-bila masa yang anda lawati sebuah laman web seperti http://www.yale.edu, pelayar adalah hanya menjadi sejenis membantu dalam bahawa itu dengan anggapan bahawa anda mahu pelabuhan angka 80. Kita sudah tahu bahawa DNS boleh memikirkan apa alamat IP adalah www.yale.edu. Tetapi komputer hanya akan membuat kesimpulan bahawa anda mahu port 80 kerana anda menggunakan Chrome atau IE, atau beberapa pelayar lain. Tetapi saya teknikal boleh melakukan kolon 80. Dan kemudian saya jelas boleh memberitahu pelayar saya, menghantar paket atau lebih maklumat kepada www.yale.edu meminta halaman rumah hari ini. Tetapi secara khusus, alamat kepada IP Yale di port 80 supaya saya benar-benar mendapatkan menyokong pelayan web Yale. Sekarang ia segera hilang kerana pelayar hanya memutuskan bahawa kita tidak perlu untuk mengelirukan manusia dengan mempunyai lagi lebih sukar difahami maklumat seperti kolon 80. Dan terus terang, pelayar seperti Chrome tidak walaupun menunjukkan http lagi, atau kolon, atau slash slash, atau palang belakang itu, dalam erti kata lain kerana mereka cuba untuk membuat perkara yang lebih mudah untuk pengguna. Dalam erti kata lain, ia hanya jenis daripada pengalaman pengguna yang thing-- mari kita menghilangkan beberapa kekusutan itu. Tetapi ia bersembunyi beberapa butir-butir asas. Dan sebenarnya, tiada seorang pun daripada kami mungkin pernah menaip http lagi. Anda hanya menaip sesuatu seperti www.harvard.edu. Dan sekali lagi, menyimpulkan Chrome yang anda mahu HTTP. Tetapi ada protokol lain bahawa kita boleh pasti menggunakan. Jadi memandangkan semua ini, jika anda kini semacam daripada memakai topi kejuruteraan yang dipanggil, bagaimana perkara yang dipanggil firewall berfungsi? Jadi anda mungkin umumnya biasa dengan firewall, tidak begitu banyak dalam erti kata fizikal. Jadi kembali pada hari itu, dan masih hingga ke hari ini, jika anda telah mendapat seperti pusat membeli-jalur untuk contoh yang mempunyai banyak kedai-kedai, umumnya dinding di antara kedai-kedai individu atau kedai-kedai adalah firewall dalam erti kata bahawa mereka mempunyai penebat khas supaya jika kebakaran merebak di satu kedai, ia tidak semestinya merebak ke pintu kedai depan. Dunia komputer juga mempunyai firewall yang melakukan sesuatu yang berbeza. Apakah bola api lakukan? Ya? PENONTON: Pada dasarnya mereka terputus sambungan jika mereka menghadapi sesuatu seperti, sebagai contoh, mereka mempunyai beberapa kenyataan id. Dan jika sesuatu berlaku, mereka memotong sambungan. Seperti jika serangan ini berniat jahat [Didengar] komputer anda, or-- DAVID J. MALAN: baik OK. Ya, dan sebenarnya anda berada walaupun pergi lebih jauh sedikit dalam menggambarkan sesuatu yang mungkin dipanggil sistem pengesanan pencerobohan, atau IDS untuk jangka pendek, di mana anda sebenarnya mempunyai peraturan yang ditetapkan. Dan jika anda mula melihat mencurigakan tingkah laku, anda cuba untuk menghentikan kepadanya. Dan firewall, terus-terang, di peringkat rangkaian yang, adalah lebih dumber dan lebih mudah daripada itu, secara amnya. Dan ada pelbagai jenis firewall di dunia. Tetapi orang-orang yang beroperasi pada tahap kita berbicara today-- IP dan TCP-- bekerja lebih lebih terus terang. Sebagai contoh, jika anda adalah sistem Yale pentadbir, atau sistem Harvard pentadbir, atau beberapa Big Brother pada suatu syarikat, dan anda mahu mengelakkan semua anda pelajar atau pekerja anda daripada pergi ke facebook.com, semua yang anda perlu lakukan adalah memastikan bahawa semua mereka trafik rangkaian, pertama sekali, akan melalui peranti khas. Mari kita memanggilnya firewall. Dan itulah denda, kerana anda boleh membuat router anda perkara yang sama seperti firewall jika anda meletakkan jenis yang sama perisian pada mesin yang sama. Jadi, jika semua pelajar anda atau pekerja trafik sedang melalui ini firewall pusat, bagaimana kita akan menghalang orang daripada pergi untuk facebook.com, misalnya? Apa yang akan sistem pentadbir perlu lakukan? Orang lain? Mari kita cuba untuk pergi sekitar. PENONTON: [didengar] DAVID J. MALAN: Katakanlah lagi? PENONTON: Ia hanya perlu mendapatkan terperangkap di dalam sistem. Jadi hanya meletakkan Facebook ke dalam 127.0.0-- DAVID J. MALAN: Oh, menarik. Jadi, anda boleh sebenarnya kemudian menggodam sistem DNS anda. Ini merupakan satu cara yang anda boleh lakukan ini di mana bila-bila masa seorang pelajar Yale menarik sehingga www.facebook.com, semua kita di sini hari ini di kampus menggunakan pelayan DNS Yale, kerana pelayan DHCP Yale memberi kami alamat tersebut. Jadi ya, anda boleh jenis memecahkan sesuatu atau percutian konvensyen dengan hanya berkata, ya, alamat facebook.com adalah palsu, adalah 1.2.3.4, iaitu sebenarnya tidak sah. Atau mungkin ia adalah 278. apa sahaja yang dalam rancangan TV masa lalu, supaya jangan ada di antara kita sebenarnya boleh melawat facebook.com. Jadi andaikan Yale melakukannya. Katakan Yale mahu menyimpan kamu dari facebook.com. Oleh itu, mereka mengubah tetapan DNS untuk memberikan anda IP palsu menangani untuk facebook.com. Bagaimana anda bertindak balas? Secara teknikal, tidak-- oh, sekarang semua orang mahu mengambil bahagian. OK, yeah. PENONTON: Anda hanya perlu menaip dalam alamat IP sebenar Facebook. DAVID J. MALAN: OK, baik. Oleh itu, kita hanya boleh menaip alamat IP sebenar Facebook, sama seperti yang saya lakukan dengan laman web Yale. Dan jika pelayan Facebook dikonfigurasi untuk menyokong itu, ia memang harus bekerja. Ia adalah satu kesakitan kecil dalam leher, kerana sekarang kita perlu ingat beberapa rawak Nilai 32-bit, tetapi yang boleh bekerja. Apa lagi yang anda boleh buat? Yeah. PENONTON: Anda boleh mengubah mereka tetapan [didengar]. DAVID J. MALAN: Ya, anda boleh juga menukar tetapan DNS anda. Jadi sebenarnya ini sebenarnya cukup berguna, terus-terang, jika anda berada di sebuah lapangan terbang, atau jika anda berada dalam sebuah kafe, atau sesuatu yang mempunyai internet tidak stabil di mana kadang-kadang pelayan DNS hanya berhenti bekerja. Jadi, walaupun saya kadang-kadang tidak ini, bukan untuk berniat jahat, saya mahu menggunakan Facebook tujuan, tetapi benar-benar kerana saya seolah-olah mempunyai rangkaian sambungan, tetapi tiada apa yang bekerja. Dan sebagainya salah satu yang pertama perkara yang saya try-- dan anda boleh melakukan ini pada Windows too-- tetapi pada Mac saya, jika saya pergi ke Rangkaian. Dan saya memilih sambungan Wi-Fi saya. Dan saya pergi ke Advanced. Dan saya pergi ke DNS. Ini adalah tiga Alamat IP yang Yale adalah memberi saya untuk tiga pelayan DNS. Tujuannya maka adalah bagi saya untuk membicarakan apa-apa salah satu untuk menyelesaikan alamat. Tetapi saya boleh mengatasi ini dengan melakukan ditambah. Dan sesiapa yang ingin mencadangkan pelayan DNS? PENONTON: 8.8.8.8? DAVID J. MALAN: Oh, anda menakjubkan. Ya, 8.8.8.8. Jadi Google, memberkati hati mereka, beli alamat IP 8.8.8.8, kerana ia jenis kelihatan seperti Gs mungkin, dan ia adalah mudah untuk diingati. Dan sesungguhnya aku telah dikonfigurasikan saya komputer untuk menggunakan pelayan DNS Google. Oleh sebab itu jika saya pergi ke yale.edu, ia masih pergi ke tempat kerja. Tetapi saya tidak menggunakan ini Yale Pelayan DNS lagi. Dan jika saya pergi ke facebook.com, semua orang-orang melihat up akan pergi melalui Google. Maka pada satu tangan, saya telah bijak dielakkan sistem tempatan pentadbir hanya dengan memahami bagaimana kerja-kerja rangkaian. Tetapi saya membayar harga yang. Tidak ada yang percuma. Apa yang telah saya hanya diberikan sehingga? Apa yang telah saya hanya diberikan sehingga? Anda semua orang pandai yang mempunyai telah menggunakan 8.8.8.8, kerana ia sejuk atau menyelesaikan masalah, apa yang telah anda telah lakukan selama ini? PENONTON: Perjalanan lebih jauh? DAVID J. MALAN: Mungkin perjalanan lebih jauh, kerana Google mungkin tidak cukup sebagai sehampir pelayan di jalan. Tetapi yang lebih worrisomely. Ya? PENONTON: Jadi sekarang Google tahu di mana anda akan pergi. DAVID J. MALAN: Google tahu literal setiap laman web yang anda lawati, kerana anda adalah benar-benar meminta mereka, hey Google, anda boleh menterjemahkan yale.edu untuk saya? Atau hey Google, anda boleh menterjemahkan ini alamat laman web yang lain bagi saya kepada alamat IP. Dan sebagainya they're-- saya tidak mempunyai tahu apa yang anda bercakap tentang. Dan supaya mereka mengetahui segala-galanya tentang anda. Jadi sedar bahawa ini adalah perkhidmatan percuma dengan tujuan dari perspektif mereka juga. Tetapi ia boleh pasti mengeluarkan kamu dari mengikat. Kini hanya untuk menangani salah lain isu yang sering datang di kalangan pelajar, terutamanya apabila perjalanan di peringkat antarabangsa di negara-negara tertentu seperti China, di mana memang adalah Firewall Besar China di mana kerajaan di sana blok agak sedikit trafik pada tahap yang berbeza. Anda tidak perlu hanya trafik blok di peringkat kita bercakap di sini, DNS atau sebaliknya, anda boleh menghalang ia pada tahap yang lain. Dan sebenarnya, hanya untuk jelas, firewall boleh beroperasi lebih daripada hanya semata-mata mempunyai pentadbir sistem mengubah Tetapan DNS. Firewall, peranti di antara kami dan seluruh dunia, hanya boleh menghalang mana-mana keluar permintaan untuk alamat IP Facebook pada port 80, atau alamat IP untuk harvard.edu, atau alamat IP apa-apa. Jadi firewall boleh melihat anda sampul surat 'alamat IP dan juga pelabuhan nombor, dan jika Yale mahu, ia hanya boleh berhenti kita semua dari walaupun menggunakan FTP lagi, yang akan mungkin menjadi satu perkara yang baik kerana ia memang satu protokol tidak selamat. Yale juga boleh menghalang kita daripada melawat keseluruhan daripada web hanya dengan menyekat semua pelabuhan lalu lintas di nombor 80 juga. Jadi yang mungkin cara yang lain. Dan ada cara walaupun pelamun juga. Tetapi apabila anda hendak pergi berjalan, di luar negara misalnya, atau jika anda berada dalam sebuah kafe internet, atau jika anda mana-mana sahaja di mana ada sekatan atau ancaman, apa yang boleh anda lakukan? Nah, jika anda pergi ke jalan untuk Starbucks atau anda melakukan perjalanan di lapangan terbang, biasanya anda hanya boleh melompat pada Wi-Fi dengan memilih seperti, JFK Wi-Fi daripada LaGuardia Wi-Fi, atau Logan Airport Wi-Fi, atau apa yang tidak. Dan ia tidak disulitkan, bukan? Tidak ada ikon mangga. Dan anda mungkin tidak mendorong untuk nama pengguna dan kata laluan. Anda hanya mendorong dengan beberapa bentuk bodoh untuk mengatakan seperti, saya bersetuju untuk menggunakan ini sahaja selama 30 minit, atau sesuatu seperti itu. Tetapi tidak ada penyulitan antara anda dan akses Starbucks Wi-Fi titik, perkara-perkara dengan antena di dinding. Tidak ada penyulitan antara anda dan Wi-Fi isyarat lapangan terbang itu. Dan sebagainya secara teknikal, bahawa orang menyeramkan duduk beberapa kerusi turun dari anda di Starbucks atau di lapangan terbang boleh, dengan perisian yang betul, menonton semua wayarles anda lalu lintas pada komputer riba masing-masing. Ia bukan sukar untuk meletakkan komputer riba ke dalam apa yang dipanggil mod rambang, yang seperti namanya, bermakna anda jenis longgar dengan peraturan. Dan ia hanya mendengar bukan sahaja untuk lalu lintas bertujuan untuk itu, tetapi juga kepada orang lain yang trafik dalam liputan. Dan dengan logik itu, ia boleh melihat semua paket maklumat anda menerima. Dan sekiranya orang-paket tidak disulitkan, anda meletakkan diri anda pada risiko e-mel, atau mesej anda, atau apa-apa lagi mendapat terdedah. Jadi, walaupun anda tidak berada di luar negara tetapi anda hanya di Starbucks, atau anda berada di mana-mana orang secara rawak yang Wi-Fi yang tidak disulitkan, VPN adalah satu perkara yang baik. VPN adalah rangkaian persendirian maya. Dan ia adalah teknologi yang yang membolehkan anda untuk mempunyai disulitkan, yang connection-- hancur pelamun daripada Kaisar atau Vigenere-- antara komputer riba anda, atau telefon anda, atau desktop anda, dan pelayan di tempat lain, seperti pelayan di kampus Yale. Dan jika anda hendak pergi berjalan abroad-- dan sebenarnya, anda mendapati ini dalam hotel sepanjang masa. Dan terutama yang bercita-cita ahli sains komputer di mana anda semua mungkin, sebagai Geeks, mahu menggunakan pelabuhan-pelabuhan lain daripada 80, dan pelabuhan lain daripada 443-- dan sebenarnya untuk masalah set enam, kita akan bermain dengan beberapa Port TCP hanya dengan choice-- banyak hotel-hotel dan kedai, dan rangkaian hanya menyekat jenis barangan kerana mereka agak naif, atau jahil, hanya berfikir bahawa tidak ada keperluan pelabuhan-pelabuhan lain. Dan demikian dengan menggunakan VPN boleh anda mengelakkan orang-orang jenis sekatan, kerana apa VPN dilakukan adalah ia membolehkan anda di Starbucks, atau lapangan terbang, atau mana-mana sahaja di dunia untuk menyambung encryptedly untuk yale.edu, kepada beberapa pelayan di sini di kampus, dan kemudian terowong, boleh dikatakan, semua trafik anda dari mana sahaja anda adalah melalui Yale, di mana titik ia kemudian pergi ke destinasi yang terakhir. Tetapi dengan menyulitkan, anda mengelakkan sebarang jenis ini penapis atau pengenaan yang beberapa rangkaian tempatan telah dikenakan. Dan ditambah, anda mempunyai pertahanan yang jauh lebih kuat terhadap orang-orang menyeramkan sekeliling anda yang mungkin menjadi cuba untuk mendengar dalam trafik anda. Terdapat masih boleh menjadi orang menyeramkan di sini pulang ke rumah di Yale menonton trafik anda kerana ia datang daripada VPN, tetapi sekurang-kurangnya anda telah ditolak ancaman jauh. Dan ia adalah di sini juga, perdagangan luar. Sekarang sudah tentu, jika anda berada dalam China atau di kafe, dan anda semua terowong trafik anda melalui Yale, apa harga kita membayar mungkin? PENONTON: Speed. DAVID J. MALAN: Kelajuan, bukan? Pasti ada beberapa matematik atau beberapa fanciness terlibat dalam penyulitan sebenar. Mungkin ada beribu-ribu batu jarak atau beribu-ribu batu kabel antara anda dan Yale. Dan ia benar-benar buruk jika anda di China, misalnya, dan anda mahu untuk melawat sebuah laman web di China. Dan supaya data anda akan Amerika Syarikat, dan kemudian kembali ke China hanya kerana anda menyulitkan ia melalui terowong ini. Tetapi ia menyelesaikan teknikal dan bekerja masalah sama. Tetapi ia semua bisul ke idea-idea ini sangat mudah. Dan Harvard, bagi mereka yang ingin tahu, mempunyai satu di sini juga, di vpn.harvard.edu, yang beroperasi seperti ini Yale. Jadi dengan segala yang berkata, mengapa adalah rangkaian ini seluruh berguna kepada anda? Dan apa yang kita boleh mula melakukan dengan ia? Nah, mari kita membuat sebenar ini kini lebih. Ini adalah akronim dengan yang kebanyakan kita mungkin super familiar-- HTTP-- yang bermaksud pemindahan teks hyper protokol. Dan ini hanya bermakna ini adalah bahasa, protokol yang pelayar web dan pelayan web bercakap. P dalam HTTP memang protokol. Dan protokol tetapi ini satu set konvensyen. Kami telah melihat IP-- protocol-- internet Kawalan penghantaran TCP-- protocol-- dan HTTP. Tetapi apa yang ini bodoh perkara yang telah protokol? Ia hanya satu set konvensyen. Jadi, jika saya semacam turun sini, dan saya mahu menyambut anda. Saya akan mengatakan hi, nama saya David. PENONTON: Luis. DAVID J. MALAN: Luis. Kami ada manusia bodoh konvensyen berjabat tangan di sini. Tetapi itu protokol, bukan? Saya menghulurkan tangan saya. Luis dilanjutkan tangannya. Kami melakukan ini. Dan kemudian selesai, dilakukan. Dan itulah yang sama semangat protokol komputer di mana seperti dalam HTTP, apa yang berlaku adalah ini. Jika anda komputer pada tinggal di sini, dan terdapat beberapa web server ada di sebelah kanan. Dan komputer di sebelah kiri mahu meminta maklumat daripada pelayan itu. Ia adalah jenis operasi dua arah. Pelayar di sebelah kiri meminta beberapa laman web. Pelayan di sebelah kanan bertindak balas dengan beberapa laman web. Dan kita akan lihat apa bentuk mereka kecapi hanya seketika. Dan ternyata bahawa mereka computers-- bahawa pelayar dan pelayan, atau pelanggan dan pelayan, jadi untuk bercakap. Sama seperti sebuah restoran di mana pelanggan meminta sesuatu, dan pelayan membawa dia atau dia something-- mendapatkan adalah jenis perkataan pembedahan. Secara harfiah di dalam sampul surat yang pelayar saya menghantar dari sini ke web yang server adalah perkataan dapatkan. Suka saya ingin mendapatkan berita hari ini. Saya ingin mendapatkan saya Facebook suapan berita, atau saya ingin mendapatkan halaman beberapa dari pelayan. Secara khusus, ini adalah apa yang berlaku di dalam sampul surat itu. Jadi saya, dengan Cole, pada dasarnya Cole menghantar jawapan. Jika anda bayangkan bahawa Cole sebenarnya mahu gambar Rick Astley, dia mungkin telah menghantar saya permintaan sama dalam semangat untuk ini. Di dalam sampul surat kepada saya, di mana Saya kini memainkan peranan sebagai Google, akan menjadi satu permintaan yang benar-benar berkata, mendapatkan, dan kemudian slash-- ke hadapan dan anda mungkin telah melihat ke hadapan garis condong dalam URL sebelum ini. Ia hanya bermakna memberi saya lalai halaman, lalai Rick Astley yang gambar dalam kes ini. Dan dengan cara itu, Cole bercakap bahasa HTTP versi 1.1, atau protokol 1.1. Dan ternyata di luar sana yang versi yang lebih tua 1.0. Tetapi komputer cenderung untuk menggunakan 1.1. Barisan kedua adalah satu perkara yang berguna yang akan kembali kepada mungkin tidak lama lagi. Tetapi ia hanya spesifikasi kepada saya, penerima, yang perkara yang saya ingin adalah www.google.com. Kerana ia sangat mungkin hari ini untuk berpuluh-puluh, beratus-ratus laman web dengan nama-nama domain yang berbeza untuk semua tinggal pada pelayan yang sama. Ia tidak akan menjadi benar begitu banyak dalam kes Google. Tetapi dalam syarikat yang lebih kecil ini kes, sama sekali boleh. Jadi Cole adalah hanya jenis meletakkan dalam sampul surat, dengan cara itu, ketika ini mencapai alamat IP anda pada port 80, hanya pastikan bahawa anda tahu Saya hendak www.google.com, tidak beberapa laman web rawak lain pada pelayan yang sama. Apa yang saya kemudian bertindak balas kepada Cole dengan, pada akhir hari, adalah gambar. Tetapi di atas gambar yang dalam sampul surat sebenarnya beberapa teks, di mana saya berkata, OK. Saya bercakap HTTP versi 1.1 juga. 200. Yang merupakan kod status yang sebahagian besar daripada kita mungkin telah pernah melihat, kerana ia bermakna OK. Dan ini adalah baik, kerana ia bermakna saya bertindak balas dengan jayanya permintaan Cole. Apa nombor anda mungkin dilihat di web yang tidak OK? PENONTON: 404. DAVID J. MALAN: 404-- Fail tidak dijumpai. Jadi sesungguhnya, bila-bila masa yang anda lihat salah seorang daripada mereka fail menjengkelkan tidak ralat yang ditemui, kerana Laman web itu telah mati, atau kerana anda salah taip URL, yang hanya bermakna bahawa sampul surat kecil yang anda komputer yang diterima daripada pelayan terkandung mesej HTTP 1.1, 404-- tidak dijumpai. Bahawa fail atau permintaan yang anda buat tidak dijumpai. Lebih-lebih lagi, di dalam sampul surat biasanya adalah baris, jenis kandungan ini. Kadang-kadang ia HTML, sesuatu yang kita tidak lama lagi akan melihat. Kadang-kadang ia adalah satu JPEG. Kadang-kadang ia GIF a. Kadang-kadang ia adalah satu fail filem, fail audio, apa-apa beberapa perkara. Jadi di dalam sampul surat hanya sedikit petunjuk tentang apa yang saya menerima. Ada kod status lain juga, beberapa yang mana kami akan meneroka dalam P menetapkan enam, dan anda akan tersandung di seluruh dalam P menetapkan tujuh dan / atau lapan. Tetapi beberapa di sini, seperti 404 yang kita lihat. Larangan, 403, bermakna seperti keizinan adalah salah, seperti anda tidak mempunyai jenis dikonfigurasikan dengan betul. 301 dan 302, kita jarang melihat secara visual. Tetapi mereka maksudkan mengarahkan. Bila-bila masa anda telah pergi ke satu URL dan anda telah ajaib dihantar di tempat lain, itu kerana pelayar itu telah dihantar pulang sampul surat yang mengandungi nombor 301 atau 302, dan URL yang ia mahu pelayar anda untuk pergi untuk sebaliknya. 500 adalah dahsyat. Anda akan melihat ia tidak lama, mungkin dalam P menetapkan enam atau P menetapkan tujuh. Dan ia secara amnya bermakna ada beberapa bug dalam kod anda, kerana sesungguhnya kami akan menulis kod yang memberi respons kepada permintaan web. Dan anda baru sahaja mendapat beberapa kesilapan dalam logik atau sintaksis, dan pelayan tidak boleh menghadapinya. Jadi mari kita lihat bagaimana kita boleh memanfaatkan dan memahami perkara ini dengan seperti berikut. Jika saya pergi ke, katakan, google.com. Biarkanlah aku pergi ke www.google.com. Dan demi demonstrasi, mari kita lihat, saya perlu pergi ke Tetapan sini. Saya akan pergi ke Mencari Tetapan. Dan Google mempunyai semakin menjengkelkan ciri-ciri, tetapi ciri-ciri berguna. Jadi Google mempunyai perkara ini seperti segera keputusan di mana anda mula menaip, dan secara automatik perkara mula muncul. Dan itu semua baik dan teknikal yang berguna, dan kita akan faham tidak lama bagaimana ia berfungsi. Tetapi buat masa ini, saya beralih off hasil yang segera, kerana saya mahu pelayar saya untuk jenis kerja sekolah lama jadi bahawa saya boleh melihat apa yang sedang berlaku. Jadi sekarang saya kembali di sini. Dan saya ingin mencari kucing. Dan perhatikan saya melihat beberapa cadangan, beberapa cadangan yang sangat berbahaya bersyukur. Dan kini jika saya tekan Enter, mari kita lihat apa yang berlaku. Jadi terdapat beberapa kucing. Dan hit atas adalah di Wikipedia. Tetapi hari ini kita mengambil berat tentang teknologi di sini. Jadi URL yang yang saya telah telah dihantar adalah ini di sini. Dan ada beberapa perkara yang saya tidak benar-benar faham. Jadi, saya akan pergi ke hadapan, kerana Saya jenis tahu bagaimana Google berfungsi, dan saya akan menyuling ini URL ke dalam bentuk termudah. Dan sekarang saya akan melanda Masukkan lagi. Dan ia masih berfungsi. Saya mempunyai laman keputusan tentang kucing. Tetapi notis kesederhanaan dalam URL saya. Ternyata ini adalah bagaimana banyak kerja-kerja web. Web ini hanyalah keseluruhan sekumpulan komputer perisian yang mengambil input berjalan. Ia tidak mendapatkan input gaya tali. Ia bukan baris arahan hujah-hujah seperti yang kita digunakan untuk. Mereka mengambil input, pelayan web, melalui URL agak kerap. Dan bila-bila masa anda telah mencari sesuatu, bila-bila masa anda telah log masuk ke dalam Facebook, bila-bila masa anda telah melakukan apa-apa interaktif dengan laman web, apa yang anda lakukan berkesan menghantar borang, jadi untuk speak-- kotak teks, kotak semak, bulatan kecil, dan barang kecil yang menghantar maklumat daripada anda kepada pelayan. Dan ternyata bahawa web server tahu untuk melihat URL yang dan menghuraikan ia seperti melihat ia watak oleh watak mencari apa-apa menarik selepas tanda tanya. Kerana selepas tanda tanya, Ternyata, akan datang sekumpulan pasangan nilai utama. Maksud saya key = nilai. Dan kemudian jika ada multiple-- mungkin Ampersand, sesetengah yang lain key = nilai, Ampersand, key = nilai. Oleh itu, kita telah jenis lihat idea ini sebelum di mana sesuatu yang mempunyai nilai. Ia hanya satu format baru di sini. Dan saya hanya tahu, oleh konvensyen, Google menggunakan q untuk pertanyaan. Dan kemudian jika saya mahu untuk mencari anjing, saya manual boleh mencari anjing seperti itu. Dan kemudian saya nampaknya semakin beberapa keputusan carian yang melibatkan anjing. Jadi yang seolah-olah menjadi menarik. Dan sesungguhnya, apa yang berlaku di bawah hood adalah ini. Biar saya melakukan ini. Ini adalah a-- mari kita lihat. Biar saya kembali ke atas di sini hanya untuk seketika. Kami akan melihat bahawa ada yang lain cara-cara untuk mengemukakan maklumat. Jadi, jika saya log masuk ke Facebook, atau Gmail, atau mana-mana laman web popular yang lain, ia seolah-olah jenis buruk jika apa sahaja yang saya menaip ke dalam kotak carian berakhir dalam URL saya, dalam bar alamat penyemak imbas saya. Mengapa? Mengapa yang sedikit membimbangkan? Ya? PENONTON: Taip kata laluan. DAVID J. MALAN: Ya. Jadi apa jika apa yang saya telah ditaip kata laluan saya? Saya jenis tidak mahu ia begitu jelas kelihatan dalam bar alamat penyemak imbas saya. Satu, kerana rakan sebilik menjengkelkan saya cenderung untuk menonton di atas bahu saya, dan dia kini boleh melihat, walaupun ia adalah peluru apabila saya menaip dalam, bulatan kecil. Kini sudah tiba di bar alamat saya. Selain itu, apa yang benar mengenai barangan anda cenderung untuk menaip dalam bar alamat. PENONTON: [didengar] DAVID J. MALAN: Apa itu? PENONTON: Ia akan dihantar keluar. DAVID J. MALAN: Ia akan dihantar keluar. Dan juga, ia akan diingati. Oleh kerana masa yang akan datang anda menaip sesuatu di sana, Selalunya ia autocompletes dan ia ingat apa yang anda telah ditaip sebelum ini. Dan jadi ada sejarah sungguh ini yang adik-beradik anda, atau rakan sebilik anda, atau sesiapa yang boleh berjalan melalui cukup banyak melihat setiap laman web anda melawat kerana ia adalah log masuk yang bar alamat. Lebih-lebih lagi, katakan anda mahu memuat naik foto ke Facebook. Bagaimana di dunia adalah anda akan meletakkan foto dalam URL? Baik ia ternyata anda boleh melakukannya dalam beberapa cara, tetapi ia sudah tentu tidak jelas. Dan sebagainya ada cara ini lain menghantar maklumat dalam sampul surat, tidak melalui GET, tetapi melalui sesuatu yang dinamakan POST. Dan dalam teori, ia kelihatan lebih kurang sama. Sebaliknya dengan perkataan GET, kita katakan POST, dan kemudian jenis yang sama format. Sebagai contoh, ini adalah screenshot apa ia mungkin kelihatan seperti jika saya cuba pembalakan ke dalam Facebook, yang menghantar saya ke fail dipanggil login.php, yang sebenarnya masih hingga ke hari ini dinamakan seperti itu. Ia adalah nama fail Mark yang sama memberikan kepadanya beberapa tahun lalu. Ia adalah program yang ditulisnya dalam PHP melalui mana pengguna boleh log masuk ke laman web. Tetapi anda perlu menghantar beberapa input tambahan. Dan bukannya ia akan selepas nama fail seperti yang berlaku sebelum ini dengan cats-- q = cats-- ia boleh pergi lebih rendah dalam permintaan itu, dalam lebih dalam sampul surat jika anda akan di mana tidak ada yang dapat melihatnya, dan di mana ia tidak berakhir di bar pelayar pengguna, dan oleh itu tidak ingat untuk orang ramai untuk mengintip sekitar. Dan sebagainya di sini alamat e-mel saya dan kata palsu saya benar-benar pergi. Dan jika Facebook menggunakan tidak HTTP, HTTPS tetapi, ini semua akan disulitkan, hancur, ala Kaisar atau Vigenere, tetapi lebih fancily supaya tiada siapa yang sebenarnya boleh melihat permintaan ini. Dan sebagainya sesungguhnya, bila-bila masa anda mempunyai URL yang bermula dengan HTTPS, itu hanya bererti ia disulitkan. Tetapi pada akhir hari, apa yang sebenarnya di dalam sampul surat ini? Ini adalah tahap yang sangat rendah. Dan nasib baik, kita tidak akan semestinya pergi tahap begitu rendah setiap masa untuk mula menulis perisian yang menarik. Kita boleh mula mengambil idea-idea minggu satu melalui lima, menganggap bahawa terdapat kini infrastruktur ini yang membolehkan kita menulis perisian yang beroperasi di web, dan ia akan membolehkan kita minggu yang akan datang untuk memulakan melihat sesuatu yang dipanggil HTML. Ini adalah barangan yang adalah lebih lebih mendalam di dalam sampul surat, tetapi ia adalah barangan yang kita berada akan mula menulis. Dan ia adalah barangan yang lebih menarik lagi, kami akan menulis program yang bermula menjana secara automatik supaya laman web kita tidak dikodkan, tetapi mengambil input dan menghasilkan output. Ini mungkin web yang paling mudah halaman yang anda boleh membuat di dunia. Saya memang boleh membuka sesuatu yang bodoh seperti TextEdit pada Mac saya, yang hanya memberikan saya tetingkap teks yang mudah seperti ini. Pengguna PC mempunyai Notepad.ext, yang hampir sama dalam semangat. Dan saya benar-benar boleh menaip keluar this-- DOCTYPE HTML, yang kelihatan sedikit samar. Tetapi kita akan kembali kepada itu. HTML, dengan ini pelik kurungan bersudut dan garis condong, di dalam yang sekarang saya akan berkata di sini datang ketua atas laman web saya. Di dalam itu, saya hanya tahu, dan anda akan segera tahu, bahawa saya boleh meletakkan tajuk laman web saya. Dan kemudian di bawah kepala halaman web adalah akan pergi ke apa yang dikenali sebagai badan halaman web. Dan saya hanya mengensotkannya hanya seperti dalam C untuk jenis menyimpan perkara yang baik yang boleh dibaca segi gaya. Dan sekarang saya akan menyelamatkan ini sebagai memfailkan di desktop saya, yang dipanggil hello.html. Dan saya akan beritahu ya, menggunakan HTML. Jangan menukar kepada .txt, walaupun walaupun semua ini adalah fail teks, sama seperti program C ditulis dengan menggunakan penyunting teks. Walaupun tidak dalam CS50 IDE pada masa, hanya di sini pada Mac saya. Dan jika saya sekarang pergi ke desktop saya, anda akan melihat hello.html. Jika saya klik dua kali ini, ia akan membuka Chrome. Dan walaupun fail ini berlaku untuk hidup di desktop saya, yang mungkin yang paling mudah laman web saya boleh membuat. Perhatikan bahawa tajuk tab cara sehingga atas adalah dunia hello. Mayat atas laman web memang hello dunia. Dan semua yang saya lakukan untuk mendapatkan ke tahap ini adalah melaksanakan, atau adalah menulis bahasa baru, yang dipanggil HTML. Ia bukan pengaturcaraan bahasa seperti C. Ada tidak akan menjadi syarat, dan gelung, dan fungsi. Ia adalah satu bahasa penanda, di mana Sekiranya anda hanya memberitahu penerima program apa yang anda mahu lakukan. Ini bermakna hey pelayar, di sini datang dalam halaman HTML. Hey pelayar, di sini datang ketua halaman saya. Hey pelayar, di sini datang badan halaman saya. Hey pelayar, itu sahaja untuk badan. Itu sahaja untuk halaman HTML. Dan di antara orang definisi mudah sahaja, kita tidak lama lagi akan melihat yang satu, kita boleh mewakili ini sebagai pokok. Tetapi lebih kepada yang kemudian. Jadi ini semua akan sambung ke struktur data terkini kami. Kedua, kami akan memperkenalkan jenaka bodoh. Ini adalah satu tatu sebenar yang lelaki ini telah pada lehernya. Ia mungkin melucukan minggu pertama atau dua, dan selepas itu, mungkin tidak begitu banyak. Tetapi HTML, dan juga web Laman Saya hanya membuat, minda super numbingly disappointing-- hanya mengatakan hello dunia dalam teks hitam pada latar belakang putih. Sesungguhnya kami boleh melakukan lebih baik. Dan kami akan berbuat demikian dengan memperkenalkan bahasa lain yang dipanggil CSS. Ini juga bukan language-- pengaturcaraan ada gelung, dan syarat, atau untuk gelung, tetapi benar-benar, hanya sintaks yang mana kita boleh katakan, membuat teks ini besar. Membuat teks ini kecil. Menyelaraskan dengan betul. Kiri menyamakannya. Jadikan ia merah jambu. Jadikan ia ungu. Jadikan ia biru. Atau melakukan apa-apa bilangan kesan visual lain. Dan dengan itu kita akan melihat bagaimana untuk memulakan stylizing laman web sehingga mereka melihat dengan cara yang lebih dekat dengan apa yang kita mahu. Dan akhir sekali, kami memang hancur mungkin banyak TV dan filem untuk anda. Saya fikir kita akan berakhir di sini dengan saat akhir kami pada music akhir yang menunjukkan anda bagaimana penggodaman kepada kerja-kerja internet. Jika kita boleh malap menyala satu masa akhir. [VIDEO MAIN SEMULA] Cara -No. Saya mendapat digodam. -Okorsky? -No-- Tidak, ini adalah utama. Mereka sudah dibakar melalui firewall awam NCIS. -Baik, Mengasingkan nod dan pembuangan mereka di sisi lain dari router. -Saya sedang mencuba. Ia bergerak terlalu cepat. -Oh, Ini tidak baik. Mereka menggunakan hubungan kita [Didengar] pangkalan data ini. Memutuskan ia. -Saya Tidak boleh. Ia adalah satu serangan mata. Dia hanya akan selepas mesin saya. -Ia Tidak mungkin. Ada DOD penyulitan lombong peringkat. Ia akan mengambil bulan untuk get-- Hey, apakah itu? Permainan video? -Tiada Tony, kami mendapat digodam. -Jika Mereka dalam komputer Abby, seluruh rangkaian NCIS adalah yang akan datang. -Saya Tidak boleh menghalangnya. Melakukan sesuatu McGee. -Aku Pernah melihat kod seperti ini. -Oh. -Di Yang ia pergi? Abby? -Saya Tidak berbuat apa-apa. Saya fikir anda lakukan. -Tiada. -Saya telah lakukan. [AKHIR MAIN SEMULA] DAVID J. MALAN: Yang terbaik bahagian adalah dua orang menaip pada papan kekunci pada masa yang sama. Jadi itu sahaja untuk CS50. Kami akan melekat di sekeliling untuk waktu pejabat. Dan kita akan melihat masa depan. [Bermain muzik - "TEMA Seinfeld"] Ini adalah CS50. Saya tidak mahu menjadi lanun. SPEAKER 2: Yarr Daud. Ia adalah sepasang denda anda memakai. Banyak Luff dalam puff itu.