DOUG LLOYD: Jika anda menonton video buku asas internet, Saya meninggalkan sedikit cliffhanger dengan bercakap tentang internet dan bagaimana ia adalah satu sistem protokol. Nah, mari kita bercakap tentang pertama mereka protokol yang sebenarnya terdiri daripada internet. Dan yang menariknya, ia yang dikenali sebagai Protokol Internet, yang biasanya kita rujuk sebagai IP. Jadi internet, seperti yang saya katakan, adalah rangkaian saling, internet yang, yang benar-benar hanya beberapa rangkaian ditenun bersama-sama dan bersetuju entah bagaimana untuk berkomunikasi dengan satu sama lain. Apa ini entah bagaimana saya bercakap tentang? Nah, ini adalah Protokol Internet. Ini menentukan bagaimana maklumat dihantar dari titik A ke titik B. Dan ini adalah jenis syarat menyertai rangkaian internet adalah bersetuju untuk mengikuti ini protokol apabila keperluan maklumat dipindahkan dari titik A ke titik B. Jadi bagi mereka yang terkemudian itu internet video primer, Saya menunjukkan imej ini apa internet. Dan pada skala yang kecil, ini adalah sebenarnya mungkin cukup tepat. Ini mungkin bagaimana tiga rangkaian sebenarnya bercakap antara satu sama lain. Tetapi ia agak mengelirukan. Dan sebab ia agak mengelirukan adalah because-- jika saya hanya menghitung rangkaian bagi demi kemudahan di sini dan kita buang segala-galanya dan hanya memberi tumpuan kepada networks-- ia agak mengelirukan kerana ia menunjukkan bahawa ketiga-tiga rangkaian mempunyai sambungan kepada satu sama lain. Satu disambungkan kepada dua. Dua disambungkan kepada tiga. Dan tiga disambungkan kepada satu. Dan apabila saya bercakap tentang sambungan di sini, saya bercakap tentang fizikal, sambungan berwayar. Kami mempunyai wayarles. Tetapi ia adalah benar-benar tidak praktikal untuk data yang akan dihantar secara wayarles lebih besar-besaran. Dan sebagainya pada satu ketika, kita benar-benar bergantung pada wayar telefon technology-- berwayar percuma, wayar gentian optik, pelbagai teknologi yang secara fizikal menghubungkan titik A ke titik B. Dan pada skala yang kecil seperti this-- ini mungkin tepat, tetapi sebagai imej mendapat sedikit lebih besar, mari kita kini bayangkan kita mempunyai enam rangkaian yang berbeza. Jika itu benar, sekarang kita mempunyai sesuatu seperti ini untuk setiap rangkaian disambungkan kepada setiap rangkaian yang lain. Dan jika anda melihat, setiap rangkaian mempunyai lima anak panah yang berkaitan dengannya. Jadi semuanya disambungkan kepada setiap rangkaian yang lain. Kami hanya mempunyai enam rangkaian sini, dan sudah melihat pendawaian berapa banyak kita perlu mengambil kerja, bukan? Dan internet terdiri daripada banyak lebih daripada enam rangkaian. Kita tidak mampu untuk wayar setiap rangkaian untuk setiap rangkaian lain, terutamanya memandangkan beberapa rangkaian ini meliputi lautan, bukan? Jika kita cuba menyambung kepada rangkaian di Asia atau di Eropah, kita akan perlu merangkumi keseluruhan laut. Kami akan perlu menggunakan wayar pada satu ketika, tetapi kita mahu mengurangkan Bilangan wayar kita benar-benar digunakan. Kami tidak ingin menghantar juta wayar merentasi lautan, kerana mereka kos berjuta-juta dolar sesaham untuk berbaring. Dan begitu pesat, kita tidak akan dapat untuk mampu internet lagi. Oleh itu, kita perlu mempunyai satu lagi jalan bagi setiap rangkaian untuk bercakap dengan setiap lain rangkaian atau tidak kita mempunyai keping internet yang dicabut dari bahagian-bahagian lain internet. Dan itu bukan apa yang kita mahu. Tetapi kita tidak mahu mempunyai mereka semua berwayar bersama-sama. Dan ini adalah di mana router kembali ke dalam bermain. Kita boleh menggunakan router dengan cara yang berikut. Bagaimana jika bukan setiap rangkaian secara fizikal berhubung dengan setiap rangkaian lain, kita mempunyai ini keping perantara, di mana rangkaian disambungkan kepada perantara ini, yang bersambung kepada rangkaian beberapa. Jadi, daripada mempunyai satu menyambung ke dua, tiga, empat, lima, enam, mungkin satu bersambung ke router, yang mungkin akan menghubungkan kepada satu atau dua daripada rangkaian, tetapi juga mungkin bersambung dengan lain router, yang juga akan menyambung ke rangkaian-rangkaian lain. Dan tugas router is-- ia mengandungi maklumat dipanggil jadual routing yang menentukan di manakah Saya pergi jika saya melihat alamat IP tertentu? Jika saya melihat alamat IP permulaan dengan empat, saya akan pergi dengan cara ini. Jika saya lihat alamat IP bermula dengan 12, saya akan pergi ke cara itu. Kami tidak perlu disambungkan fizikal untuk nombor rangkaian empat atau nombor rangkaian 12 dalam contoh ini. Kami hanya tahu secara amnya di mana kita mahu pergi. Dan jika anda berfikir tentang hal itu, ini adalah jenis yang serupa dengan konsep rekursi yang kita bercakap tentang apabila kita bercakap mengenainya dalam C. Saya tidak akan menghubungkan anda untuk betul-betul di mana anda mahu pergi. Saya hanya akan bergerak anda selangkah lebih dekat dengan di mana anda mahu pergi. Dan saya akan memberitahu orang lain perjanjian dengan menyelesaikan seluruh masalah. Saya hanya akan menyelesaikan bahagian ini sedikit masalah dan menangguhkan seluruh ia kepada orang lain. Jadi maklumat routing sebenarnya jenis sama dengan rekursi. Jika itu satu konsep yang anda faham baik, mungkin analogi yang akan membantu. Oleh itu, mari kita lihat pada contoh rangkaian ini lagi dan menganggap bahawa, sekali lagi, kita akan menggunakan orang-orang sama enam rangkaian, satu melalui enam. Jadi mari kita hanya mengatakan bahawa setiap Alamat IP pada rangkaian satu bermula dengan satu titik sesuatu. Dan kita akan mengatakan bahawa terdapat beberapa perkara lain yang memperkatakan bagaimana semua sistem disambungkan kepada rangkaian satu. Kita hanya mengambil berat tentang yang menghubungkan semua rangkaian-rangkaian bersama-sama dalam internet yang. Jadi setiap peranti yang berhubung dengan rangkaian satu mempunyai alamat IP yang bermula dengan satu titik dan kemudian tiga nombor lain. Ini adalah pengitlakan cara perkara-perkara benar-benar bekerja. Ia agak sedikit lebih tepat daripada ini. Tetapi ini harus memberikan anda satu idea berkenaan apa yang Internet Protokol sebenarnya lakukan. Jadi ini adalah rajah kita sebelum ini. Ini adalah sistem yang tidak berkekalan. Walaupun enam, ini mungkin menjadi OK. Tetapi jika kita dapat 10 atau 20 atau 50, kami akan berbaring banyak wayar. Dan 50 masih juga tidak walaupun kecil daripada bilangan itu tentang bilangan rangkaian yang kita ada. Jadi model ini adalah tidak mapan. Kita tidak boleh melekat dengan ini. Jadi mari kita bukannya menerima pakai model ini di mana kita buang semua wayar di antara rangkaian dan kita menambah router. Jadi kotak-kotak kuning mewakili router. Dan tugas mereka adalah untuk bergerak maklumat secara amnya lebih dekat dengan di mana ia sepatutnya pergi. Dan mungkin ini adalah sambungan bahawa rangkaian ini mempunyai. Dan mungkin ini adalah jadual yang dibina ke dalam router. Jadi, jika kita hanya bermula dengan melihat di rangkaian salah, sebagai contoh, pada dasarnya apa yang dikatakannya adalah jika Saya pernah melihat satu alamat yang tidak bermula dengan one-- itulah yang tanda seru satu atau bang satu di sana, tidak one-- saya akan untuk lulus off ke router. Dari sana, router boleh membuat keputusan. Router ini mengatakan jika saya melihat satu, Saya akan berpindah ke nombor rangkaian satu. Itulah anak panah hijau menuju ke sebelah kiri keluar dari kotak kiri atas. Jika saya melihat two-- yang itu anak panah jenis yang tajuk di sebelah kanan bahagian atas ke arah network-- ungu jika saya melihat alamat IP bermula dengan dua, Saya akan pergi ke arah rangkaian kedua-dua. Jika saya melihat tiga, empat, lima, atau six-- itu bahawa anak panah merah yang keluar teratas kiri router-- saya tidak dihubungkan dengan tiga, empat, lima atau enam. Tetapi saya tahu seseorang yang sedang atau siapa yang sedikit lebih dekat ke sana. Jadi saya hanya akan berkata, setiap kali saya melihat alamat IP bermula dengan tiga, empat, atau lima, enam, saya hanya akan hantar ke router itu. Jadi saya akan bergerak sedikit hampir kepada di mana ia sepatutnya pergi dan membiarkan bahawa perjanjian router masalah tersebut. Dan seperti yang anda see-- jika anda mahu berhenti di sini dan trace-- anda boleh mendapatkan untuk setiap titik lain di rangkaian dari mana sahaja anda berada. Semua enam rangkaian masih boleh menyambung kepada setiap rangkaian yang lain tetapi mereka tidak secara fizikal bersambung lagi. Mereka kini langkah-langkah pertengahan. Kini, sudah tentu ada pengimbangan kelajuan, bukan? Jika ada orang yang secara langsung disambungkan ke enam, kita tidak akan perlu melalui dua router di sepanjang jalan. Oleh itu, kita mungkin boleh mendapatkan sambungan sedikit lebih cepat. Tetapi mungkin bahawa keseimbangan berbaloi, kan? Jika ia akan menjadi begitu mahal dari segi kos sebenar, dolar dan sen, wayar secara fizikal semua rangkaian ini bersama-sama, mungkin sedikit daripada kelembapan dalam kelajuan adalah OK. Kami boleh bertolak ansur itu. Jadi sekali lagi, dalam contoh bahawa kami hanya bercakap tentang, tiada seorang pun daripada rangkaian berhubung terus antara satu sama lain semua. Mungkin ada been-- mungkin dalam contoh yang kita boleh membuat ia supaya mungkin rangkaian satu dan dua adalah berkaitan secara langsung. Dan yang akan menjadi OK. Sesetengah rangkaian secara fizikal disambungkan ke rangkaian lain. Tetapi mereka tidak semua berkaitan antara satu sama lain. Mereka bergantung kepada routers-- dalam example-- tertentu untuk mengedarkan komunikasi dari titik A ke titik B. Pada scale-- kecil seperti apa kita berbicara tentang sini-- konfigurasi ini sebenarnya mungkin menjadi lebih cekap daripada hanya mempunyai sambungan terus. Tetapi pada skala yang besar, kita boleh skala sistem lebih baik. Ia benar-benar akan mengurangkan kami kos infrastruktur rangkaian untuk mempunyai router perantara yang tugasnya ia adalah untuk menggerakkan trafik dari penghantar kepada penerima, dari titik A ke titik B, yang bertentangan dengan pendawaian semua orang bersama-sama. Oleh itu, mari kita lihat pada contoh maklumat perjalanan menggunakan Protokol Internet ini. Mari kita mengatakan bahawa saya secara fizikal terletak di IP 1.208.12.37 jadi saya wujud di suatu tempat di dalam sistem satu. Dan saya mahu menghantar mesej kepada anda. Dan anda dalam lima rangkaian di 5.188.109.14. Alamat IP anda secara khusus tidak penting, tetapi dalam contoh ini tertentu kita berbicara tentang generalisasi ini apa protokol internet adalah semua kira-kira. Anda berada di rangkaian lima, dan saya pada rangkaian satu. Seperti yang anda lihat, kita tidak berkaitan antara satu sama lain sama sekali. Jadi saya mula keluar. Dan saya ingin menghantar mesej kepada anda. Dan sebagainya entah bagaimana saya berkomunikasi bahawa mesej ke router. Router adalah salah satu yang sebenarnya mempunyai alamat IP. Dan ia melihat di mana ia sepatutnya pergi. Kami akan lima sesuatu titik. Jadi sekarang saya akan mula menggunakan my-- atau router, sebaliknya, akan mula menggunakan mereka jadual router untuk memberikan maklumat bersama. Ia melihat bahawa lima bukan salah satu, jadi ia kata saya akan memberikannya kepada lelaki ini. Kemudian lelaki ini telah membuat keputusan. Di mana saya akan pergi? Nah, ia bukan satu satu, jadi saya tidak akan bergerak ke rangkaian satu. Dan ia bukan satu dua. Saya tidak akan bergerak kepada rangkaian dua. Ia bermula dengan lima. Saya tidak berhubung dengan lima, router ini berkata. Dan jadi saya hanya akan lulus ia di luar supaya- saya akan pergi ke jalan ini. Ini adalah di mana bertiga dan merangkak dan lima dan berenam pergi. Dan saya akan memberitahu bahawa perjanjian Lelaki dengannya. Saya tidak akan melakukannya sedikit hampir di mana ia sepatutnya pergi. Saya tahu ia sepatutnya pergi kerana arahan am. Tetapi mungkin lelaki yang boleh berurusan dengan ia. OKAY. Jadi lelaki yang kelihatan. Dia berkata, OK, IP ini alamat bermula dengan lima. Ya, saya disambungkan ke tiga dan ke enam, jadi saya tidak boleh mendapatkan mesej secara terus di mana ia perlu pergi. Tetapi router yang lain di sana, saya tahu jika saya menghantar ia merangkak dan lima, ia boleh mengendalikan mereka. Jadi ia berlalu bersama-sama ke bawah jalan. Dan kemudian router ini mengatakan, baik, saya yang dihubungkan dengan rangkaian empat dan lima. Jadi, ya, saya boleh membantu anda. Saya akan mengambil alamat IP anda yang bermula dengan lima. Saya akan memberikan kepada rangkaian lima. Rangkaian lima akan membuat kerja-kerja di akhir dan memberi mesej kepada anda. Dan sekarang kami telah berjaya dihantar mesej dari saya kepada anda menggunakan Protokol Internet. Sekali lagi, sangat umum untuk tujuan ilustrasi dengan apa yang berlaku. Tetapi itu cukup banyak bagaimana Protokol Internet berfungsi. Router tahu umumnya di mana untuk menghantarnya dan akan hantar satu langkah di sepanjang cara, mendapat ia lebih dekat dan lebih dekat ke destinasi sehingga satu router disambungkan secara fizikal kepada rangkaian atau alamat atau apa sahaja berkenaan dan memberikan ia di sana. Sekarang, secara umum, kecuali benar-benar, , mesej kecil benar-benar kecil, ia tidak akan untuk menghantarnya sebagai salah satu sebahagian besar daripada data. Jika saya menghantar anda email-- e-mel yang sangat lama, iaitu- ia tidak akan mengambil bahawa keseluruhan e-mel, berkas ia di dalam bola atau pakej atau apa sahaja, dan menghantar keseluruhan yang Perkara ke bawah rangkaian. Pertama sekali, maklumat menghantar bersama-sama rangkaian adalah mahal. Ia menambah. Dan yang lebih besar yang sebahagian, semakin mahal ia adalah untuk menggerakkan setiap langkah dari jalan. Dan jika ada entah bagaimana kelembapan dan kemudian ada ini giant-- jenis seperti jika anda memandu di lebuh raya dan ada trak gergasi ini jenis menyekat jalan dan anda tidak boleh mendapatkan sekitar di kedua- lorong kerana ia adalah jenis tersebar. Ia melambatkan orang lain ke bawah belakangnya. Tetapi kereta kecil, jika mereka semuanya kereta kecil, mereka mungkin boleh untuk bergerak, jika analogi yang jenis membantu sedikit. Jadi, satu blok besar dalam sistem boleh semua orang benar-benar perlahan lagi ke bawah. Dan jadi apa IP akan melakukan berpecah data ini ke dalam paket. Ia akan mengambil e-mel ini besar atau pemindahan FTP atau pemindahan fail, atau mungkin saya membuat meminta kepada penyemak imbas web kerana saya mahu gambar kucing. Dan ia akan mengambil yang permintaan atau e-mel atau fail yang dan memecahkan ia ke dalam banyak keping dan menghantar semua kepingan secara berasingan. Jadi sebenarnya, saya mengisi lebuh raya dengan banyak kereta kecil, yang semua boleh bergerak dan bukannya sebuah trak besar yang mungkin, jika ada masalah, pendikit atasnya lalu lintas bagi orang lain. Satu lagi kesan sampingan ini adalah jika ada beberapa jenis bencana kegagalan dan ada masalah dan paket mendapat digugurkan. Ada yang gagal dan mesej tidak dapat disampaikan. Router mungkin mempunyai terlalu banyak barangan akan masuk. Ia tidak dapat mengimbangi segala-galanya. Dan kerana itu ia hanya benar-benar menjatuhkannya. Itulah jenis analogi, bukan? Ia mempunyai banyak perkara yang berlaku. Ia lulus maklumat dari titik A ke titik B. Kami tidak hanya dua orang di internet, jadi ia mempunyai untuk memproses banyak lalu lintas. Dan jika ia tidak mempunyai cukup tangan dan ia tidak boleh memikirkan apa yang ia lakukan, ia hanya mungkin menggugurkan sesuatu. Sehingga dapat melakukan sesuatu yang lain. Ia tidak perlu lagi terlalu banyak berlaku. Jika kita mempunyai mesej kami sebagai salah besar menyekat dan itu adalah apa yang tidak perlu lagi jatuh, sekarang kita perlu menghantar mesej lagi. Dan kami kini mungkin menyebabkan trafik lagi. Dan kita menghadapi risiko yang blok besar terjatuh lagi. Tetapi jika data yang telah dipecahkan kepada paket dan kami menggugurkan satu daripada mereka, ia banyak lebih murah untuk menghantar yang paket sekali lagi bertentangan kepada seluruh perkara yang satu lebih banyak masa. Jadi IP adalah bertanggungjawab untuk mendapatkan maklumat dari titik A ke titik B dan juga pecah maklumat ke dalam kepingan kecil supaya rangkaian tidak terlalu dikenakan cukai. IP juga dikenali sebagai protokol tanpa sambungan. Tidak semestinya jalan yang ditakrifkan daripada penghantar kepada penerima atau Naib juga sebaliknya. Sekarang, dalam contoh ini kita telah berbincang kira-kira, ada sebenarnya hanya ada satu cara untuk sampai ke setiap rangkaian. Jadi dalam khusus ini ilustrasi, ada sebenarnya adalah jalan yang ditakrifkan daripada titik A ke titik B. Tetapi kita boleh mengubah itu dengan hanya membuat satu pengubahsuaian kepada kedua-dua router di sebelah kiri dengan menambah ini syarat untuk jadual router. Sekarang perhatikan bahawa dari router bahagian kiri, sebenarnya ada dua cara untuk menangani dengan empat atau lima alamat IP. Ia boleh turun ke bawah kiri router, atau boleh pergi ke kanan, ke router yang betul. Ia mempunyai pelbagai pilihan. Dan ini sebenarnya jenis satu perkara yang baik kerana ia membuatkan kami rangkaian lebih responsif. Jika atas example-- ia jenis seperti GPS. Jika anda pernah berada memandu di lebuh raya dan tiba-tiba GPS anda memberi amaran anda bahawa trafik ke hadapan, anda mahu mengelakkan jika anda boleh. Dan supaya anda boleh mengira semula laluan anda. Dan rangkaian router, dalam Selain mempunyai maklumat tentang di mana paket perlu pergi atau di mana data perlu pergi, terdapat juga semacam ini nadi umum mengenai keadaan rangkaian tempatan. Apa yang akan berlaku jika saya menghantar ke bawah jalan ini berbanding jalan ini? Dan sebagainya berdasarkan trafik yang berat keadaan di rangkaian, mungkin keadaan akan dihalakan yang lebih cara yang tidak cekap atau lebih umum cara yang tidak cekap, kerana jika kita pergi dengan cara yang biasa, ada akan menjadi banyak lalu lintas. Lebuh raya ini benar-benar tersekat. Jadi mungkin apa yang kita akan lakukan adalah bukannya mengambil jalan-jalan sampingan, yang biasanya akan mengambil banyak masa lagi, tetapi tidak ada yang benar-benar menggunakan jalan-jalan sampingan. Dan dengan itu kita boleh menghalakan paket kami dengan cara itu. Jadi tidak setiap paket daripada sebahagian besar daripada data mungkin mengambil jalan yang sama dari awal hingga akhir. Dan rangkaian kita menjadi banyak yang lebih responsif jika jadual router kami membolehkan terdapat menjadi beberapa pilihan di mana untuk pergi. Kami tidak bergantung pada yang satu trak bergerak keluar dari jalan. Kami boleh turun lebuh raya di keluar depan dan mengambil jalan yang berbeza. Dan sebagainya jenis protokol internet daripada melakukan sedikit itu juga. Jadi itulah asas-asas Protokol Internet. Tetapi ada satu lagi isu untuk menangani, yang adalah apa yang berlaku jika kita jatuh paket? Bagaimana kita tahu kita akan untuk menghantar paket lagi? Betul? Nah, Protokol Internet tidak menjamin penghantaran. Kita akan dapat bergantung protokol lain berurusan dengan itu dipanggil Protokol Kawalan, TCP. Dan kita akan bercakap tentang Kawalan Penghantaran Protokol dalam video seterusnya. Saya Doug Lloyd. Ini adalah CS50.