Doug LLOYD: Jika Anda menyaksikan Video primer internet kami, Aku meninggalkan sedikit cliffhanger dengan berbicara tentang internet dan bagaimana itu sistem protokol. Nah, mari kita bicara tentang pertama mereka protokol yang sebenarnya terdiri internet. Dan cukup menarik, itu disebut Internet Protocol, yang biasanya kita sebut sebagai IP. Jadi internet, seperti yang saya katakan, adalah jaringan interkoneksi, internet, yang benar-benar hanya beberapa jaringan dijalin bersama dan menyetujui entah bagaimana untuk berkomunikasi dengan satu sama lain. Apa ini entah bagaimana saya bicarakan? Nah, ini adalah Internet Protocol. Ini menentukan bagaimana informasi ditransmisikan dari titik A ke titik B. Dan ini adalah semacam kondisi bergabung dengan jaringan internet adalah setuju untuk mengikuti ini protokol ketika kebutuhan informasi dipindahkan dari titik A ke titik B. Jadi pada akhir yang primer internet video, Saya menunjukkan gambar ini dari apa internet itu. Dan pada skala kecil, ini adalah sebenarnya mungkin cukup akurat. Ini mungkin bagaimana tiga jaringan benar-benar berbicara satu sama lain. Tapi itu agak menyesatkan. Dan alasan itu sedikit menyesatkan adalah because-- jika saya hanya nomor jaringan untuk Demi kenyamanan sini dan kami menyingkirkan segala sesuatu yang lain dan hanya fokus pada networks-- itu agak menyesatkan karena menyiratkan bahwa ketiga jaringan memiliki koneksi satu sama lain. Satu terhubung ke dua. Dua terhubung ke tiga. Dan tiga terhubung ke satu. Dan ketika saya berbicara tentang koneksi di sini, aku berbicara tentang fisik, koneksi kabel. Kami memiliki nirkabel. Tapi itu benar-benar tidak praktis untuk data yang akan dikirimkan secara nirkabel lebih dalam skala besar. Dan di beberapa titik, kita benar-benar bergantung pada kabel kabel telepon technology--, kabel serat optik, berbagai teknologi yang secara fisik menghubungkan titik A ke titik B. Dan pada skala kecil seperti this-- ini mungkin akurat, tetapi sebagai gambar mendapat sedikit lebih besar, mari sekarang bayangkan kita memiliki enam jaringan yang berbeda. Jika itu benar, sekarang kami memiliki sesuatu seperti ini untuk setiap jaringan untuk dihubungkan ke setiap jaringan lainnya. Dan jika Anda melihat, setiap jaringan memiliki lima anak panah terhubung. Jadi semuanya terhubung untuk setiap jaringan lainnya. Kami hanya memiliki enam jaringan di sini, dan sudah melihat berapa banyak kabel kita harus menggunakan, kan? Dan internet terdiri dari banyak lebih dari enam jaringan. Kami tidak mampu untuk kawat setiap jaringan untuk setiap jaringan lainnya, terutama mengingat beberapa jaringan ini menjangkau lautan, kan? Jika kita mencoba untuk menyambung ke jaringan di Asia atau di Eropa, kita akan harus menjangkau seluruh laut. Kita akan perlu untuk menggunakan kabel di beberapa titik, tapi kami ingin meminimalkan jumlah kabel yang kita benar-benar menggunakan. Kami tidak ingin mengirim juta kabel seberang lautan, karena biayanya jutaan dolar masing-masing untuk berbaring. Dan begitu cepat, kita tidak akan mampu membayar internet lagi. Jadi kita harus memiliki lain Cara untuk setiap jaringan untuk berbicara dengan setiap lain jaringan atau kita memiliki potongan internet yang terputus dari bagian lain dari internet. Dan itu bukan apa yang kita inginkan. Tapi kita tidak ingin memiliki mereka semua kabel bersama-sama. Dan ini adalah di mana router datang kembali ke dalam bermain. Kita dapat menggunakan router dengan cara berikut. Bagaimana jika bukan setiap jaringan secara fisik terhubung ke setiap jaringan lainnya, kami memiliki potongan-potongan perantara, di mana jaringan yang terhubung untuk perantara tersebut, yang terhubung ke beberapa jaringan. Jadi, bukannya memiliki satu terhubung ke dua, tiga, empat, lima, enam, mungkin salah satu terhubung ke router, yang mungkin menghubungkan untuk satu atau dua dari mereka jaringan, tetapi juga mungkin menghubungkan ke lain router, yang juga akan terhubung ke jaringan-jaringan lain. Dan pekerjaan router is-- berisi informasi disebut tabel routing yang mendikte mana Aku pergi jika saya melihat alamat IP tertentu? Jika saya melihat alamat IP awal dengan empat, aku akan pergi dengan cara ini. Jika saya melihat alamat IP dimulai dengan 12, aku akan pergi dengan cara itu. Kami tidak harus terhubung secara fisik ke nomor jaringan empat atau nomor jaringan 12 dalam contoh ini. Kami hanya tahu umumnya di mana kita ingin pergi. Dan jika Anda berpikir tentang hal itu, ini adalah semacam serupa dengan konsep rekursi yang kita bicarakan saat kami berbicara tentang hal itu di C. Saya tidak akan menghubungkan Anda untuk persis di mana Anda ingin pergi. Aku hanya akan menggerakkan Anda satu langkah lebih dekat ke mana Anda ingin pergi. Dan aku akan membiarkan orang lain berurusan dengan memecahkan sisa masalah. Aku hanya akan memecahkan sepotong kecil ini masalah dan menunda sisanya untuk orang lain. Sehingga informasi routing yang sebenarnya sama halnya dengan rekursi. Jika itu sebuah konsep bahwa Anda memahami Yah, mungkin analogi yang akan membantu. Jadi mari kita lihat contoh jaringan ini lagi dan menganggap bahwa, sekali lagi, kita akan menggunakan mereka sama enam jaringan, satu sampai enam. Jadi mari kita hanya mengatakan bahwa setiap Alamat IP pada jaringan satu dimulai dengan satu titik sesuatu. Dan kita akan mengatakan bahwa ada beberapa hal lain yang penawaran dengan bagaimana semua sistem terhubung ke jaringan satu. Kami hanya peduli tentang menghubungkan semua jaringan-jaringan bersama-sama dalam sebuah internet. Jadi setiap perangkat yang terhubung ke jaringan satu memiliki alamat IP yang dimulai dengan satu titik dan kemudian tiga nomor lainnya. Ini adalah generalisasi dari cara hal-hal benar-benar bekerja. Ini sedikit lebih tepat daripada ini. Tapi ini harus memberikan gambaran umum tentang apa Internet Protokol benar-benar melakukan. Jadi ini adalah diagram kita miliki sebelumnya. Ini adalah sistem yang tidak berkelanjutan. Bahkan enam, ini mungkin OK. Tetapi jika kita sampai 10 atau 20 atau 50, kami akan berbohong banyak kabel. Dan 50 masih juga tidak bahkan puncak gunung es untuk jumlah jaringan yang kita miliki. Jadi model ini tidak berkelanjutan. Kita tidak bisa tetap dengan ini. Jadi mari kita bukannya mengadopsi model ini di mana kita menyingkirkan dari semua kabel antara jaringan dan kita menambahkan router. Jadi kotak-kotak kuning mewakili router. Dan tugas mereka adalah untuk memindahkan Informasi umum lebih dekat ke tempat yang seharusnya untuk pergi. Dan mungkin ini adalah koneksi bahwa jaringan ini memiliki. Dan mungkin ini adalah tabel yang dibangun ke dalam router. Jadi jika kita hanya mulai dengan melihat di jaringan satu, misalnya, pada dasarnya apa yang dikatakan adalah jika Saya pernah melihat alamat yang tidak dimulai dengan satu-- itulah yang tanda seru satu atau bang satu di sana, tidak satu-- aku akan untuk lulus itu ke router. Dan dari sana, router dapat membuat keputusan. Router mengatakan jika saya melihat satu satu, saya akan pindah ke jaringan nomor satu. Itulah panah hijau menuju ke kiri dari kotak kiri atas. Jika saya melihat sebuah two-- yang panah semacam pos ke kanan atas ke arah yang network-- ungu jika saya melihat alamat IP dimulai dengan dua, Aku akan pergi ke arah dua jaringan. Jika saya melihat tiga, empat, lima, atau six-- itu yang panah merah yang keluar dari kiri atas router-- aku tidak terhubung ke tiga, empat, lima, atau enam. Tapi aku tahu seseorang yang atau siapa sedikit lebih dekat ke sana. Jadi aku hanya akan mengatakan, setiap kali saya melihat alamat IP dimulai dengan tiga, empat, lima, atau enam, aku hanya akan mengirimkannya ke router itu. Jadi saya akan memindahkannya sedikit lebih dekat dengan mana yang seharusnya untuk pergi dan membiarkan bahwa kesepakatan router dengan masalah. Dan seperti yang Anda see-- jika Anda ingin berhenti di sini dan trace-- Anda bisa mendapatkan ke setiap titik lain di jaringan dari manapun Anda berada. Semua enam jaringan masih bisa terhubung ke setiap jaringan lainnya tapi mereka tidak secara fisik terhubung lagi. Mereka sekarang ini langkah-langkah perantara. Sekarang, tentu saja ada trade off kecepatan, kan? Jika salah satu adalah langsung terhubung ke enam, kita tidak akan harus melalui dua router sepanjang jalan. Jadi kita mungkin bisa mendapatkan koneksi sedikit lebih cepat. Tapi mungkin itu trade-off adalah layak, kan? Jika itu akan menjadi begitu mahal dalam hal biaya yang sebenarnya, dolar dan sen, secara fisik kawat semua jaringan ini bersama-sama, mungkin sedikit dari perlambatan kecepatan OK. Kita bisa mentolerir itu. Jadi sekali lagi, dalam contoh bahwa kami hanya bicarakan, tidak ada jaringan langsung terhubung satu sama lain semua. Ada bisa memiliki been-- mungkin dalam contoh yang kita bisa membuatnya sehingga mungkin jaringan satu dan dua yang terhubung langsung. Dan itu akan OK. Beberapa jaringan secara fisik terhubung ke jaringan lain. Tapi mereka tidak semua terhubung satu sama lain. Mereka bergantung pada routers-- di example-- tertentu untuk mendistribusikan komunikasi dari titik A ke titik B. Pada scale-- kecil seperti apa kita sedang berbicara tentang sini- konfigurasi ini sebenarnya mungkin lebih efisien dari sekedar memiliki koneksi langsung. Namun dalam skala besar, kita bisa skala sistem jauh lebih baik. Ini benar-benar akan mengurangi kami biaya infrastruktur jaringan memiliki router perantara yang pekerjaannya itu adalah untuk memindahkan lalu lintas dari pengirim ke penerima, dari titik A ke titik B, sebagai lawan kabel semua orang bersama-sama. Jadi mari kita lihat contoh informasi bepergian menggunakan ini Internet Protocol. Mari kita mengatakan bahwa saya secara fisik terletak di IP 1.208.12.37 jadi saya ada di suatu tempat pada satu jaringan. Dan saya ingin mengirim pesan kepada Anda. Dan Anda berada di lima jaringan di 5.188.109.14. Alamat IP Anda secara khusus tidak masalah, tetapi dalam contoh khusus ini kita sedang berbicara tentang generalisasi ini apa protokol internet adalah semua tentang. Anda berada di lima jaringan, dan aku di satu jaringan. Seperti yang Anda lihat, kita tidak terhubung satu sama lain sama sekali. Jadi saya mulai keluar. Dan saya ingin mengirimkan Anda pesan. Dan entah bagaimana saya berkomunikasi bahwa pesan ke router. Router adalah salah satu yang sebenarnya memiliki alamat IP. Dan itu melihat mana itu seharusnya pergi. Kita akan lima dot sesuatu. Jadi sekarang aku akan mulai menggunakan my-- atau router, bukan, akan mulai menggunakan nya tabel router untuk menyampaikan informasi bersama. Ia melihat bahwa lima tidak satu, sehingga mengatakan aku akan menyebarkannya ke orang ini. Maka orang ini harus membuat keputusan. Di mana aku akan pergi? Nah, itu bukan satu, jadi saya tidak akan pindah ke satu jaringan. Dan itu bukan dua. Saya tidak akan pindah ke dua jaringan. Dimulai dengan lima. Saya tidak terhubung ke lima, router ini mengatakan. Dan jadi aku hanya akan lulus ini to-- Aku akan turun jalan ini. Di sinilah bertiga dan merangkak dan balita dan berenam pergi. Dan aku akan membiarkan orang itu kesepakatan dengan itu. Saya akan mendapatkan sedikit lebih dekat ke tempat yang seharusnya untuk pergi. Aku tahu itu seharusnya pergi dalam arah umum. Tapi mungkin orang yang bisa menghadapinya. OKE. Jadi orang yang terlihat. Dia mengatakan, OK, IP ini alamat dimulai dengan lima. Yah, aku terhubung ke tiga dan ke enam, jadi saya tidak bisa mendapatkan pesan langsung di mana ia harus pergi. Tapi itu router lainnya di sana, saya tahu apakah saya kirimkan merangkak dan balita, dapat menangani mereka. Sehingga melewati itu bersama menyusuri jalan setapak. Dan kemudian router ini mengatakan, well, aku terhubung ke jaringan empat dan lima. Jadi, ya, saya dapat membantu Anda. Aku akan mengambil alamat IP Anda yang dimulai dengan lima. Aku akan memberikannya kepada lima jaringan. Lima jaringan akan melakukan beberapa pekerjaan di ujungnya dan memberikan pesan kepada Anda. Dan sekarang kita sudah berhasil ditransmisikan pesan dari saya Anda menggunakan Internet Protocol. Sekali lagi, sangat umum untuk tujuan ilustrasi seperti apa yang terjadi. Tapi itu cukup banyak bagaimana Protokol Internet bekerja. Router tahu umumnya di mana untuk mengirimkannya dan akan mengirim satu langkah di sepanjang cara, mendapatkan itu dekat dan dekat ke tujuan sampai satu router terhubung secara fisik ke jaringan atau alamat atau apapun yang bersangkutan dan memberikan sana. Sekarang, secara umum, kecuali untuk benar-benar, benar-benar kecil, pesan kecil, itu tidak akan mengirimkannya sebagai salah satu sebagian besar dari data. Jika saya mengirimkan Anda email-- email yang sangat panjang, say-- itu tidak akan mengambil seluruh email, bundel dalam bola atau paket atau apa pun, dan mengirim seluruh yang Hal turun jaringan. Pertama-tama, informasi pengiriman sepanjang jaringan mahal. Itu menambahkan. Dan semakin besar sepotong, yang lebih mahal itu adalah untuk memindahkan setiap langkah dari jalan. Dan jika ada entah bagaimana perlambatan dan kemudian ada ini giant-- semacam jika Anda mengemudi di jalan raya dan ada truk raksasa ini jenis memblokir jalan dan Anda tidak bisa mendapatkan sekitar itu di kedua lane karena itu jenis menyebar. Memperlambat orang lain di balik itu. Tapi mobil kecil, jika mereka semua mobil kecil, mereka mungkin bisa bergerak, jika analogi semacam membantu sedikit. Jadi satu blok besar dalam sistem dapat orang benar-benar lambat lagi ke bawah. Dan jadi apa IP yang akan dilakukan dibagi menjadi paket-paket data ini. Ini akan mengambil email besar ini atau pengalihan FTP atau file transfer, atau mungkin aku membuat meminta untuk browser web karena saya ingin gambar kucing. Dan itu akan mengambil permintaan atau bahwa email atau file yang dan istirahat itu menjadi banyak potongan dan mengirim semua potongan terpisah. Jadi sebenarnya, aku mengisi jalan raya dengan banyak mobil kecil, yang bisa semua bergerak bukan sebuah truk besar yang mungkin, jika ada masalah, throttle lalu lintas untuk orang lain. Efek samping lain ini adalah jika ada semacam bencana kegagalan dan sesuatu yang tidak beres dan paket akan turun. Ada yang gagal dan pesan tidak dapat dikomunikasikan. Router mungkin memiliki terlalu banyak hal yang terjadi di. Ini tidak bisa menyulap segalanya. Dan sehingga hanya harfiah menjatuhkannya. Itu semacam analogi, kan? Itu punya banyak hal yang terjadi. Ini menyampaikan informasi dari titik A ke titik B. Kami tidak hanya dua orang di internet, sehingga harus memproses banyak lalu lintas. Dan jika tidak memiliki cukup tangan dan itu tidak tahu apa yang dilakukannya, itu hanya mungkin menjatuhkan sesuatu. Sehingga dapat melakukan sesuatu yang lain. Ini punya terlalu banyak terjadi. Jika kita memiliki pesan kami sebagai salah satu besar memblokir dan itulah yang mendapat jatuh, sekarang kita harus mengirim pesan lagi. Dan kita sekarang mungkin menyebabkan lalu lintas lagi. Dan kami menjalankan risiko yang blok besar yang dijatuhkan lagi. Tetapi jika data yang telah dipecah menjadi paket dan kita drop salah satu dari mereka, itu jauh lebih murah untuk mengirim bahwa paket sekali lagi sebagai lawan untuk seluruh hal sekali lagi. Jadi IP bertanggung jawab untuk mendapatkan informasi dari titik A ke titik B dan juga melanggar Informasi kecil-kecil sehingga jaringan tidak terlalu dikenakan pajak. IP juga dikenal sebagai protokol connectionless. Ada belum tentu jalan didefinisikan dari pengirim ke penerima atau wakil versa. Sekarang, dalam contoh ini kita sudah bicara tentang, sebenarnya ada satu cara untuk sampai ke setiap jaringan. Jadi dalam hal ini khususnya ilustrasi, ada benar-benar adalah jalan didefinisikan dari titik A ke titik B. Tapi kita bisa mengubah bahwa dengan hanya membuat satu modifikasi ke dua router di sebelah kiri dengan menambahkan ini kondisi ke meja router. Sekarang perhatikan bahwa dari atas router kiri, sebenarnya ada dua cara untuk menangani dengan empat atau alamat IP lima. Hal ini dapat pergi ke kiri bawah router, atau bisa pergi ke kanan, ke router yang tepat. Ini memiliki beberapa pilihan. Dan ini sebenarnya jenis hal yang baik karena itu membuat kami jaringan lebih responsif. Jika untuk example-- itu semacam seperti GPS. Jika Anda sudah pernah mengemudi di jalan raya dan tiba-tiba GPS Anda memperingatkan Anda bahwa lalu lintas di depan, Anda ingin menghindari jika Anda bisa. Dan sehingga Anda dapat menghitung ulang rute Anda. Dan jaringan router, di Selain memiliki informasi tentang di mana paket harus pergi atau di mana data harus pergi, ada juga semacam pulsa umum ini pada keadaan jaringan lokal. Apa yang akan terjadi jika saya mengirim bawah jalan ini dibandingkan jalan ini? Dan dalam terang lalu lintas berat situasi pada jaringan, mungkin hal akan bisa disalurkan lebih cara yang tidak efisien atau lebih umum cara yang tidak efisien, karena jika kita pergi dengan cara biasa, ada akan menjadi banyak lalu lintas. Jalan raya benar-benar macet. Jadi mungkin apa yang akan kita lakukan adalah bukannya mengambil jalan samping, yang biasanya akan mengambil lebih banyak waktu, tetapi tidak ada yang benar-benar menggunakan jalan-jalan samping. Dan jadi kami dapat rute paket kami seperti itu. Jadi tidak setiap paket dari sebagian besar dari data yang mungkin mengambil jalan yang sama dari awal sampai akhir. Dan jaringan kami menjadi banyak lebih responsif jika tabel router kami memungkinkan untuk ada menjadi beberapa pilihan untuk pergi ke mana. Kami tidak tergantung pada satu truk bergerak keluar dari jalan. Kita bisa mendapatkan jalan raya di keluar berikutnya dan mengambil jalan yang berbeda. Dan jadi semacam Internet Protocol dari tidak sedikit itu juga. Jadi itulah dasar-dasar Internet Protocol. Tapi ada satu lagi masalah untuk menangani, yang adalah apa yang terjadi jika kita melakukan drop paket? Bagaimana kita tahu kita akan untuk mengirim paket itu lagi? Benar? Nah, Internet Protocol tidak menjamin pengiriman. Kami akan tergantung protokol lain untuk menghadapi itu disebut Transmission Control Protocol, TCP. Dan kita akan berbicara tentang Transmission Control Protokol dalam video berikutnya. Aku Doug Lloyd. Ini adalah CS50.