DOUG LLOYD: Dalam video ini kita akan untuk bercakap tentang Kawalan Penghantaran yang Protokol, TCP. Jika anda belum menonton video pada protokol internet, IP, anda mungkin ingin berbuat demikian sebelum menonton video ini kerana kedua-dua cukup saling berkaitan. Jadi, protokol internet, lagi, ringkasan cepat, itulah protokol yang bergerak Maklumat dari mesin penghantar kepada penerima yang mesin melalui rangkaian. Jadi apa TCP? Walaupun hanya bergerak dari menghantar mesin untuk menerima mesin, bukan cerita penuh. Kita juga tahu bahawa program kami, komputer kita, sebagai contoh, menjalankan pelbagai program, dan mempunyai beberapa perkhidmatan berjalan pada mereka mesin. Justeru, jika kita mahu mendapatkan paket, atau maklumat kepada program tertentu, pada mesin yang tertentu, kami memerlukan maklumat lanjut daripada hanya apa yang membolehkan IP kami untuk mendapatkan maklumat dari titik A ke titik B. Jadi, TCP boleh dianggap sebagai mengarahkan paket untuk program yang betul, atau yang betul perkhidmatan, pada mesin yang menerima. Dan oleh itu adalah penting untuk, seperti yang anda mungkin jangkakan, tahu di mana ia sepatutnya untuk pergi, dan apa paket adalah kerana pada masa yang sama. Dan sebagainya, kerap, apabila anda bercakap tentang penghantaran kawalan protokol, TCP, anda benar-benar sering mendengar ia dalam konteks, TCP mengurangkan IP, atau hanya TCP / IP. Kedua-dua protokol begitu saling berkaitan itu, mereka pada dasarnya dianggap sebagai satu unit tunggal. Tetapi mereka adalah dua protokol berasingan yang melakukan dua perkara yang berasingan. Sekali lagi, IP adalah bertanggungjawab untuk mendapatkan dari satu mesin yang lain. Dan TCP bertanggungjawab mendapatkan itu untuk program yang betul, atau perkhidmatan yang betul pada mesin. Dan ia berbuat sesuatu lain yang IP tidak lakukan, yang merupakan penghantaran jaminan. Jadi, jika kita kini pasangan IP mesin ini menangani dengan nombor port yang dipanggil, dan beberapa pelabuhan adalah bagaimana tertentu perkhidmatan, atau utiliti, atau program, dikenalpasti pada mesin. Jika kita kini mempunyai IP alamat serta nombor port, sekarang kita unik boleh mengenal pasti perkhidmatan tertentu berjalan pada mesin tertentu. Jadi itulah sebabnya TCP dan IP adalah begitu kerap saling berkaitan, kerana itu nombor port dengan sendiri tidak benar-benar bermakna apa-apa jika anda memerlukan nombor port, dan mesin yang anda bercakap tentang. Apa mesin sepatutnya menggunakan port tertentu ini, sebagai contoh. Perkara lain yang TCP tidak, sebagai Saya berkata, adalah ia menjamin penghantaran. Jadi, sebagai tambahan kepada menentukan bilangan pelabuhan, ia juga menunjukkan berapa banyak paket, protokol internet, IP, telah berpecah data ke dalam. Dan ia menyuruh paket supaya mereka boleh dibina semula pada penerima mesin, walaupun mereka received-- dalam perintah yang berbeza daripada apa yang mereka telah dihantar. Yang boleh berlaku kerana IP adalah protokol tanpa sambungan, dan sebagainya paket yang berbeza boleh mengambil laluan yang berbeza melalui sistem. Sebahagian daripada nombor port sangat biasa digunakan, dan mereka telah diseragamkan di semua komputer, seperti, hampir setiap pengeluar komputer sekarang. Jadi sesuatu yang dinamakan FTP, protokol pemindahan fail, yang digunakan untuk menghantar fail, seperti yang anda jangkakan, dari satu mesin yang lain, yang menggunakan port 21 konvensional. E-mel, SMTP, menggunakan port 25. DNS, sistem nama domain, yang kita bercakap tentang dalam buku asas internet kami video, menggunakan port 53. Jika anda pernah melayari web, anda cukup banyak sentiasa menggunakan port 80, melainkan jika anda menyemak imbas web dengan selamat, melayari web selamat, menggunakan port 443. Jadi apa TCP ini / proses IP? Apa yang berlaku dengan kedua-dua protokol ini bersama-sama? Nah, mari kita bercakap mengenainya. Apabila program yang mahu menghantar data, TCP membantu memecahkan ia menjadi ketulan, dan berkomunikasi paket untuk perisian rangkaian komputer. Jadi ia mengambil data dan ia wrap maklumat di sekitarnya yang menunjukkan apa pelabuhan sepatutnya pergi ke, dan apa agar paket daripada semua. Oleh itu, satu paket 10, dua 10, tiga daripada 10, dan sebagainya. IP mendapat mereka ketulan data yang telah dibalut dengan TCP, dan membalut lebih banyak maklumat mengenai di mana paket sepatutnya pergi. Kita mungkin memanggil ini IP lapisan sekitar paket. Jadi, ia semacam, seperti, salah satu anak patung bersarang. Kami mempunyai data dalam pertengahan, dan kemudian TCP di atas, memberitahu ia di mana data di dalam TCP adalah sepatutnya pergi, apa port atau apa perkhidmatan pada mesin. Sekitar itu adalah lapisan IP. Apa yang alamat IP, apa mesin, sebenarnya mendapat ini. Sebab itu, bahawa paket itu telah dibalut dengan semua lapisan, dihantar melalui protokol internet melalui sistem router, mendapatkan dari titik A ke titik B. Apabila menerima mesin atau peranti, mendapat itu, ia melihat kepada IP lapisan, ia berkata, yup itulah alamat IP saya, jadi ia mengambil off, jenis retak telur, dan mengambil kira lapisan IP. Kemudian ia melihat bahawa ada lapisan TCP, dan ia berkata, OK, kelihatan seperti ini adalah akan x pelabuhan, atau pelabuhan y. Dan nampaknya ia bilangan paket lapan daripada 15. Jadi, itu baik untuk mengetahui. Oleh itu, maka ia boleh mengambil maklumat tersebut, menanggalkan lapisan TCP sekarang, mengetahui bahawa ia adalah untuk pelabuhan x, dan ia adalah bilangan paket lapan, dan mendapat sekurang-data di dalam. Dan ia boleh menyediakan data untuk dianjurkan dengan cara yang betul. Dan apabila semua daripada data diterima, TCP boleh menyerahkan ia di luar untuk yang betul perkhidmatan, dan berkata, di sini anda pergi. Berikut adalah data yang anda terima. Proses itu mungkin kelihatan sesuatu seperti ini. Jadi mari kita menghantar e-mel daripada penghantar kepada penerima. Dan katakan ini e-mel adalah agak kecil, jadi kita hanya perlu untuk memecahkan ia ke dalam empat paket, dan kami akan memanggil mereka A, B, C, dan D. Baik, kami mahu bergerak bahawa paket pertama apa yang berlaku? Nah, kita mengambil bahawa sebahagian data, data yang merupakan sebahagian daripada paket A, Mercu tanda bahawa kita akan untuk membalut dengan lapisan TCP. E-mel, mana yang diketahui, dihantar melalui port 25, dan kami mempunyai empat ketulan data, di sini, bahawa kita akan menggunakan, dan ini adalah yang pertama daripada mereka. Jadi mungkin lapisan TCP kami mengandungi maklumat mengenai, juga, kami akan port 25, dan ini adalah bilangan paket salah satu daripada empat. Sekitar itu, jadi sekarang kita mempunyai semua yang maklumat dibundel bersama-sama, kita akan mengatakan di mana kita mahu ia hendak pergi, apa mesin, apa alamat IP sepatutnya mendapatkan paket ini. Dan itu sebahagian daripada lapisan IP. Dan ada maklumat lain di sana juga, seperti sebagai alamat kembali dalam kes ada masalah, ia tahu di mana untuk menghantar maklumat kembali, dan sebagainya. Tetapi lapisan IP pergi sekitar semua itu. Itu perkara yang keseluruhan dibundel bersama-sama, sebagai satu unit yang besar, dan dihantar melalui pemindahan IP. Jadi ia akan disalurkan melalui router rangkaian, menggunakan protokol internet. Dan penerima menerima perkara keseluruhan. Dan kemudian ia boleh mula meruntuhkan apa yang berlaku di sini. Ia kelihatan pada lapisan IP, yang lapisan luar data ini, dan berkata, yep, itu IP saya alamat supaya kita boleh membuang itu. Saya boleh, jenis, mengabaikan ia, tidak memerlukannya lagi, dan ia boleh melihat satu tahap yang lebih mendalam. Ia melihat bahawa, OK, ini ialah data yang bertujuan untuk diterima pada port 25. Ia nampaknya bahagian pertama empat. Jadi, saya akan menyimpan bahawa dalam keberatan, dan melihat data, dan slot itu secara kasar di mana Saya fikir ia akan pergi. Sekarang, kerana protokol internet ia tidak semestinya kes itu yang paket seterusnya penerima mendapat, adalah paket dua. Malah, seterusnya Perkara penerima mendapat mungkin menjadi nombor paket tiga kerana paket ini mengambil laluan yang berbeza kerana lalu lintas yang berlainan di dalam sistem. Dan sebagainya, saya tidak akan pergi melalui gambarajah membinanya semula, tetapi paket tiga bergerak, mendapat dilucuti semua lapisan, maka Lapisan IP, lapisan TCP, dan data yang mendapat dimasukkan ke dalam tempat yang betul. Dan kemudian, katakan ia menerima paket empat. Sekarang katakan, itu sahaja, ia tidak mendapat apa-apa data yang lebih. Apa yang ia akan lakukan? IP tidak berbuat apa-apa untuk kita. Tetapi TCP tidak. TCP tahu, baik, saya telah menerima salah satu daripada empat, tiga daripada empat, dan empat empat. Saya tidak mendapat apa-apa data yang lebih. Jadi sesuatu telah berlaku. Tetapi saya boleh menjamin penghantaran. Saya tahu paket yang nombor dua yang hilang. Dan sebagainya TCP kini boleh membuat permintaan, jenis, ke arah yang terbalik. Gabungan sehingga permintaan mereka dalam banyak cara yang sama, dan menghantarnya melalui IP, yang, saya tahu, boleh membawa kepada beberapa jenis gelung tak terhingga semua orang menjatuhkan paket dalam perjalanan. Tetapi memadai untuk mengatakan bahawa TCP berkata, saya hilang paket. Saya perlu menghantar maklumat kembali kepada penghantar. Mujurlah alamat IP penghantar adalah, jenis, digabungkan dalam lapisan IP. Ia adalah sebahagian daripada- ia kembali menangani pada sampul surat. Dan berkata, saya hilang beberapa paket dua, anda boleh sila menghantarnya semula. Apabila pengirim menerima maklumat itu, ia tidak perlu menghantar keseluruhan e-mel sekali lagi. Ia hanya perlu menghantar individu yang bahagian itu yang telah hilang, jadi kita boleh menghantar nombor paket dua. Dan apabila ia mendapat ia, kini TCP berkata, Saya mempunyai empat kepingan data yang saya perlukan. Jadi, saya boleh mengumpulkan mereka bersama-sama, dan mengambil blok ini keseluruhan maklumat dan lulus ia bersama-sama ke port 25, di mana ia akan ditafsirkan sebagai e-mel. Dan bahawa- dengan cara ini kami telah sekarang menghantar e-mel daripada penghantar kepada penerima menggunakan TCP / IP. Jadi, seperti yang saya katakan, jika pada bila-bila sepanjang jalan sesuatu yang tidak kena, TCP boleh berurusan dengan ia. Ia boleh membuat permintaan bahawa maklumat akan dihantar kembali kepadanya. Dan ia boleh membina semula mesej. Dan apabila ia dibina semula mesej dari semua paket ia diterima, maka ia boleh menyusun mereka dan menyerahkan mereka kepada perkhidmatan yang betul. Jadi itulah TCP secara ringkas. Itulah bagaimana kami menjamin penghantaran maklumat. Ingat TCP sering bekerjasama dengan IP, jadi kedua-dua protokol benar-benar pergi tangan dalam tangan. Kami membincangkan mereka dalam beberapa video di sini kerana mereka melakukan perkara-perkara yang berbeza, tetapi mereka begitu saling berkaitan, mereka anda biasanya akan menggunakan mereka bersama-sama. Saya Doug Lloyd. Ini adalah CS50.