1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 Doug LLOYD: Dalam video ini kita akan untuk berbicara tentang Transmission Control 3 00:00:08,050 --> 00:00:10,440 Protokol, TCP. 4 00:00:10,440 --> 00:00:13,290 Jika Anda belum menyaksikan video di internet protocol, IP, 5 00:00:13,290 --> 00:00:15,290 Anda mungkin ingin melakukannya sebelum menonton video ini 6 00:00:15,290 --> 00:00:18,680 karena dua cukup saling terkait. 7 00:00:18,680 --> 00:00:21,100 >> Jadi, protokol internet, lagi, ringkasan, 8 00:00:21,100 --> 00:00:22,930 itulah protokol yang bergerak informasi 9 00:00:22,930 --> 00:00:28,210 dari mesin pengirim ke penerima yang mesin melalui jaringan. 10 00:00:28,210 --> 00:00:29,720 >> Jadi apa TCP? 11 00:00:29,720 --> 00:00:33,310 Sementara hanya bergerak dari pengirim mesin untuk menerima mesin, 12 00:00:33,310 --> 00:00:35,120 tidak cerita lengkap. 13 00:00:35,120 --> 00:00:38,040 Kita juga tahu bahwa program kami, komputer kita, misalnya, 14 00:00:38,040 --> 00:00:41,000 menjalankan beberapa program, dan memiliki beberapa layanan 15 00:00:41,000 --> 00:00:45,140 berjalan pada mesin-mesin. 16 00:00:45,140 --> 00:00:51,750 Dan, jika kita ingin mendapatkan sebuah paket, atau informasi untuk program tertentu, 17 00:00:51,750 --> 00:00:54,590 pada mesin tertentu, kita memerlukan informasi lebih lanjut 18 00:00:54,590 --> 00:00:59,490 dari sekedar apa yang memungkinkan kita untuk mendapatkan IP informasi dari titik A ke titik B. 19 00:00:59,490 --> 00:01:02,390 >> Jadi, TCP dapat dianggap sebagai mengarahkan paket 20 00:01:02,390 --> 00:01:07,590 untuk program yang benar, atau yang benar layanan, pada mesin penerima. 21 00:01:07,590 --> 00:01:11,810 Dan jadi penting untuk, seperti yang mungkin Anda berharap, tahu di mana itu seharusnya pergi, 22 00:01:11,810 --> 00:01:14,550 dan apa paket ini untuk pada saat yang sama. 23 00:01:14,550 --> 00:01:18,370 Dan sebagainya, sering, ketika Anda berbicara tentang protokol kontrol transmisi, TCP, 24 00:01:18,370 --> 00:01:23,900 Anda benar-benar sering mendengarnya di konteks, TCP memangkas IP, atau hanya TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Kedua protokol begitu saling terkait itu, mereka pada dasarnya 26 00:01:27,639 --> 00:01:28,680 diperlakukan sebagai satu kesatuan. 27 00:01:28,680 --> 00:01:31,630 Tapi mereka adalah dua protokol yang terpisah yang melakukan dua hal yang terpisah. 28 00:01:31,630 --> 00:01:36,690 >> Sekali lagi, IP bertanggung jawab untuk mendapatkan dari satu komputer ke komputer lain. 29 00:01:36,690 --> 00:01:41,250 Dan TCP bertanggung jawab untuk mendapatkan itu untuk program yang benar, 30 00:01:41,250 --> 00:01:43,490 atau layanan yang benar pada mesin. 31 00:01:43,490 --> 00:01:45,500 Dan itu sesuatu lain yang IP tidak melakukan, 32 00:01:45,500 --> 00:01:48,600 yang pengiriman jaminan. 33 00:01:48,600 --> 00:01:55,060 >> Jadi, jika kita sekarang beberapa IP sebuah mesin mengatasi dengan apa yang disebut nomor port, 34 00:01:55,060 --> 00:01:58,750 dan nomor port adalah bagaimana tertentu layanan, atau utilitas, atau program, 35 00:01:58,750 --> 00:02:00,350 diidentifikasi pada mesin. 36 00:02:00,350 --> 00:02:03,920 Jika kita sekarang memiliki IP Alamat ditambah nomor port, 37 00:02:03,920 --> 00:02:07,240 sekarang kita unik dapat mengidentifikasi layanan tertentu 38 00:02:07,240 --> 00:02:09,479 berjalan pada mesin tertentu. 39 00:02:09,479 --> 00:02:11,920 >> Jadi itu sebabnya TCP dan IP yang begitu sering saling terkait, 40 00:02:11,920 --> 00:02:14,170 karena yang nomor port sendiri tidak benar-benar 41 00:02:14,170 --> 00:02:17,670 berarti apa-apa jika Anda membutuhkan nomor port, dan mesin 42 00:02:17,670 --> 00:02:19,566 bahwa Anda sedang berbicara tentang. 43 00:02:19,566 --> 00:02:24,060 Mesin apa yang seharusnya menggunakan port tertentu ini, misalnya. 44 00:02:24,060 --> 00:02:28,350 >> Hal lain yang TCP tidak, sebagai Aku berkata, itu menjamin pengiriman. 45 00:02:28,350 --> 00:02:30,810 Jadi, selain menentukan nomor port, 46 00:02:30,810 --> 00:02:34,640 itu juga menunjukkan berapa banyak paket, protokol internet, IP, 47 00:02:34,640 --> 00:02:36,110 telah membagi data ke dalam. 48 00:02:36,110 --> 00:02:41,200 Dan memerintahkan mereka paket sehingga mereka dapat direkonstruksi pada penerima yang 49 00:02:41,200 --> 00:02:45,820 mesin, bahkan jika mereka terima-- dalam urutan yang berbeda dari mereka dikirim. 50 00:02:45,820 --> 00:02:48,460 Yang dapat terjadi karena IP adalah protokol connectionless, 51 00:02:48,460 --> 00:02:52,610 dan paket yang berbeda dapat mengambil jalan yang berbeda melalui sistem. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Beberapa nomor port ini sangat umum digunakan, 54 00:02:55,865 --> 00:02:57,990 dan mereka telah dibakukan di semua komputer, 55 00:02:57,990 --> 00:03:00,500 seperti, cukup banyak setiap produsen komputer sekarang. 56 00:03:00,500 --> 00:03:03,612 Jadi sesuatu yang disebut FTP, protokol transfer file, 57 00:03:03,612 --> 00:03:05,820 yang digunakan untuk mengirimkan file, seperti yang Anda harapkan, 58 00:03:05,820 --> 00:03:10,060 dari satu komputer ke komputer lain, yang menggunakan port 21 secara konvensional. 59 00:03:10,060 --> 00:03:13,000 Email, SMTP, menggunakan port 25. 60 00:03:13,000 --> 00:03:16,070 DNS, sistem nama domain, yang kita dibicarakan di internet kami primer 61 00:03:16,070 --> 00:03:17,976 video, menggunakan port 53. 62 00:03:17,976 --> 00:03:20,100 Jika Anda pernah berada web, Anda cukup banyak 63 00:03:20,100 --> 00:03:23,440 selalu menggunakan port 80, kecuali Anda browsing web aman, 64 00:03:23,440 --> 00:03:26,060 web browsing aman, menggunakan port 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Jadi apa TCP / IP proses ini? 67 00:03:30,790 --> 00:03:33,730 Apa yang terjadi dengan kedua protokol ini bersama-sama? 68 00:03:33,730 --> 00:03:35,520 Nah, mari kita bicara tentang hal itu. 69 00:03:35,520 --> 00:03:39,420 Ketika sebuah program ingin mengirim data, TCP membantu memecahnya menjadi potongan, 70 00:03:39,420 --> 00:03:42,700 dan berkomunikasi mereka paket ke software jaringan komputer. 71 00:03:42,700 --> 00:03:45,850 Sehingga dibutuhkan data dan membungkus informasi di sekitarnya 72 00:03:45,850 --> 00:03:48,700 yang menunjukkan apa pelabuhan seharusnya pergi ke, 73 00:03:48,700 --> 00:03:52,500 dan apa agar paket dari semua. 74 00:03:52,500 --> 00:03:56,940 Sehingga membuat paket satu dari 10, dua 10, tiga dari 10, dan seterusnya. 75 00:03:56,940 --> 00:04:01,750 >> IP mendapat potongan data yang mereka telah dibungkus dengan TCP, 76 00:04:01,750 --> 00:04:06,447 dan membungkus informasi lebih lanjut tentang di mana paket yang seharusnya pergi. 77 00:04:06,447 --> 00:04:08,780 Kita mungkin menyebutnya IP lapisan yang mengelilingi paket. 78 00:04:08,780 --> 00:04:11,210 Jadi, itu semacam, seperti, salah satu boneka bersarang. 79 00:04:11,210 --> 00:04:14,780 Kami memiliki data dalam tengah, dan kemudian TCP di atas, 80 00:04:14,780 --> 00:04:17,920 mengatakan itu di mana Data dalam TCP adalah 81 00:04:17,920 --> 00:04:22,150 seharusnya pergi, ke port apa atau apa layanan pada mesin. 82 00:04:22,150 --> 00:04:25,110 Sekitar yang adalah lapisan IP. 83 00:04:25,110 --> 00:04:29,230 Apa alamat IP, apa mesin, adalah benar-benar mendapatkan ini. 84 00:04:29,230 --> 00:04:32,070 >> Jadi, bahwa paket itu sudah dibungkus dengan semua lapisan orang, 85 00:04:32,070 --> 00:04:35,250 dikirim melalui protokol internet melalui sistem router, mendapatkan 86 00:04:35,250 --> 00:04:39,960 dari titik A ke titik B. Ketika menerima mesin, atau perangkat, mendapat 87 00:04:39,960 --> 00:04:42,790 itu, terlihat di IP lapisan, ia mengatakan, yup itu 88 00:04:42,790 --> 00:04:45,260 alamat IP saya, jadi dibutuhkan off, semacam retak telur, 89 00:04:45,260 --> 00:04:47,380 dan melepas lapisan IP. 90 00:04:47,380 --> 00:04:49,530 Kemudian ia melihat bahwa ada lapisan TCP, dan ia mengatakan, 91 00:04:49,530 --> 00:04:52,720 OK, tampak seperti ini akan pelabuhan x, y atau port. 92 00:04:52,720 --> 00:04:55,842 Dan ternyata itu paket nomor delapan dari 15. 93 00:04:55,842 --> 00:04:56,800 Jadi itu bagus untuk mengetahui. 94 00:04:56,800 --> 00:05:01,240 Jadi dapat mengambil informasi itu, melepas lapisan TCP sekarang, 95 00:05:01,240 --> 00:05:04,410 mengetahui bahwa itu untuk port x, dan itu paket nomor delapan, 96 00:05:04,410 --> 00:05:06,270 dan mendapatkan data dalam. 97 00:05:06,270 --> 00:05:09,460 Dan itu dapat mempersiapkan data untuk diatur dalam cara yang benar. 98 00:05:09,460 --> 00:05:11,449 Dan sekali semua data yang diterima, TCP 99 00:05:11,449 --> 00:05:13,990 dapat menyerahkan pada yang benar layanan, dan mengatakan, di sini Anda pergi. 100 00:05:13,990 --> 00:05:16,107 Berikut data yang Anda terima. 101 00:05:16,107 --> 00:05:17,940 Proses yang mungkin terlihat sesuatu seperti ini. 102 00:05:17,940 --> 00:05:21,392 Jadi mari kita mengirim email dari pengirim ke penerima. 103 00:05:21,392 --> 00:05:23,100 Dan katakanlah ini email cukup kecil, 104 00:05:23,100 --> 00:05:25,975 jadi kita hanya perlu memecahnya menjadi empat paket, dan kami akan memanggil mereka A, 105 00:05:25,975 --> 00:05:29,460 B, C, dan D. Nah, kita ingin pindah bahwa paket pertama apa yang terjadi? 106 00:05:29,460 --> 00:05:34,491 Yah, kita mengambil sepotong data, data yang merupakan bagian dari paket A, 107 00:05:34,491 --> 00:05:38,500 dan sekitar bahwa kita akan untuk membungkusnya dengan lapisan TCP. 108 00:05:38,500 --> 00:05:41,670 Email, Anda mungkin ingat, dikirim melalui port 25, 109 00:05:41,670 --> 00:05:46,181 dan kami memiliki empat potongan data, di sini, bahwa kita akan menggunakan, 110 00:05:46,181 --> 00:05:47,430 dan ini adalah yang pertama dari mereka. 111 00:05:47,430 --> 00:05:50,013 Jadi mungkin lapisan TCP kami mengandung informasi tentang, baik, kami 112 00:05:50,013 --> 00:05:56,060 akan port 25, dan ini adalah nomor paket salah satu dari empat. 113 00:05:56,060 --> 00:05:59,280 >> Sekitar itu, jadi sekarang kita memiliki semua yang informasi dibundel bersama-sama, 114 00:05:59,280 --> 00:06:03,000 kita akan mengatakan di mana kita ingin harus pergi, apa mesin, apa alamat IP 115 00:06:03,000 --> 00:06:04,910 seharusnya untuk mendapatkan paket ini. 116 00:06:04,910 --> 00:06:06,604 Dan itu bagian dari lapisan IP. 117 00:06:06,604 --> 00:06:08,770 Dan ada informasi lain yang di sana juga, seperti 118 00:06:08,770 --> 00:06:11,300 sebagai alamat pengirim di jika sesuatu berjalan salah, 119 00:06:11,300 --> 00:06:14,390 tahu di mana untuk mengirim informasi kembali, dan sebagainya. 120 00:06:14,390 --> 00:06:16,475 >> Tetapi lapisan IP pergi sekitar semua itu. 121 00:06:16,475 --> 00:06:19,860 Bahwa seluruh hal dibundel bersama-sama, sebagai satu unit besar, 122 00:06:19,860 --> 00:06:22,080 dan dikirim melalui transfer IP. 123 00:06:22,080 --> 00:06:26,180 Jadi itu akan disalurkan melalui router jaringan, menggunakan protokol internet. 124 00:06:26,180 --> 00:06:28,700 Dan penerima menerima seluruh hal. 125 00:06:28,700 --> 00:06:31,910 Dan kemudian dapat mulai mendekonstruksi apa yang terjadi di sini. 126 00:06:31,910 --> 00:06:36,030 Ini terlihat pada lapisan IP, Lapisan luar data ini, 127 00:06:36,030 --> 00:06:38,560 dan mengatakan, ya, itulah IP saya alamat sehingga kami dapat membuang itu. 128 00:06:38,560 --> 00:06:40,685 Aku bisa, jenis, mengabaikannya, tidak perlu lagi, 129 00:06:40,685 --> 00:06:42,480 dan dapat melihat satu tingkat lebih dalam. 130 00:06:42,480 --> 00:06:47,590 Ia melihat bahwa, OK, ini adalah data yang dimaksudkan untuk diterima pada port 25. 131 00:06:47,590 --> 00:06:50,560 Ini rupanya bagian pertama dari empat. 132 00:06:50,560 --> 00:06:54,260 Jadi, aku akan menjaga bahwa dalam keberatan, dan melihat data, 133 00:06:54,260 --> 00:06:57,349 dan Slot itu kira-kira di mana Saya pikir itu akan pergi. 134 00:06:57,349 --> 00:07:00,140 Sekarang, karena protokol internet itu belum tentu demikian 135 00:07:00,140 --> 00:07:03,442 bahwa paket berikutnya penerima mendapat, adalah paket dua. 136 00:07:03,442 --> 00:07:05,150 Bahkan, berikutnya Hal penerima mendapat 137 00:07:05,150 --> 00:07:08,230 mungkin jumlah paket tiga karena paket ini 138 00:07:08,230 --> 00:07:11,777 mengambil jalan yang berbeda karena lalu lintas yang berbeda pada jaringan. 139 00:07:11,777 --> 00:07:14,360 Dan, aku tidak akan pergi melalui diagram bangunan itu 140 00:07:14,360 --> 00:07:17,560 lagi, tapi paket tiga bergerak, akan dilucuti 141 00:07:17,560 --> 00:07:20,410 dari semua lapisan, yang Lapisan IP, lapisan TCP, 142 00:07:20,410 --> 00:07:22,420 dan data yang akan dimasukkan di tempat yang tepat. 143 00:07:22,420 --> 00:07:25,200 Dan kemudian, katakanlah itu menerima paket empat. 144 00:07:25,200 --> 00:07:29,290 >> Sekarang mari kita mengatakan, itu saja, itu tidak mendapatkan data lagi. 145 00:07:29,290 --> 00:07:30,300 Apa itu lakukan? 146 00:07:30,300 --> 00:07:32,110 IP tidak melakukan apa-apa bagi kita. 147 00:07:32,110 --> 00:07:33,260 Tapi TCP tidak. 148 00:07:33,260 --> 00:07:38,250 TCP tahu, baik, saya telah menerima salah satu empat, tiga dari empat, dan empat dari empat. 149 00:07:38,250 --> 00:07:41,100 Saya tidak mendapatkan data lagi. 150 00:07:41,100 --> 00:07:43,770 Jadi sesuatu yang tidak beres. 151 00:07:43,770 --> 00:07:45,050 Tapi aku bisa menjamin pengiriman. 152 00:07:45,050 --> 00:07:49,300 Aku tahu paket yang nomor dua hilang. 153 00:07:49,300 --> 00:07:52,470 Dan TCP sekarang dapat membuat permintaan, semacam, di arah sebaliknya. 154 00:07:52,470 --> 00:07:55,170 Bundling up permintaannya dalam banyak cara yang sama, 155 00:07:55,170 --> 00:07:57,230 dan mengirimnya melalui IP, yang, saya tahu, bisa 156 00:07:57,230 --> 00:08:00,880 menyebabkan semacam lingkaran tak terbatas semua orang menjatuhkan paket di jalan. 157 00:08:00,880 --> 00:08:05,580 >> Tetapi cukup untuk mengatakan bahwa TCP mengatakan, aku kehilangan sebuah paket. 158 00:08:05,580 --> 00:08:08,670 Saya perlu mengirimkan informasi kembali ke pengirim. 159 00:08:08,670 --> 00:08:12,025 Untungnya alamat IP pengirim adalah, semacam, terbungkus dalam lapisan IP. 160 00:08:12,025 --> 00:08:15,780 Itu bagian of-- itu pengembalian alamat di amplop. 161 00:08:15,780 --> 00:08:18,800 Dan mengatakan, saya tidak ada jumlah paket dua, bisa tolong kirim ulang itu. 162 00:08:18,800 --> 00:08:20,550 Ketika pengirim menerima informasi itu, 163 00:08:20,550 --> 00:08:22,599 itu tidak harus mengirim seluruh email lagi. 164 00:08:22,599 --> 00:08:25,390 Hanya perlu mengirim individu yang sepotong itu yang hilang, 165 00:08:25,390 --> 00:08:27,590 sehingga kami bisa mengirim paket nomor dua. 166 00:08:27,590 --> 00:08:32,610 Dan ketika mendapatkannya, sekarang TCP mengatakan, Saya memiliki semua empat buah data 167 00:08:32,610 --> 00:08:34,100 yang saya butuhkan. 168 00:08:34,100 --> 00:08:39,590 Jadi, saya bisa mengumpulkan mereka bersama-sama, dan mengambil seluruh blok ini informasi 169 00:08:39,590 --> 00:08:44,169 dan lulus bersama ke port 25, di mana itu akan ditafsirkan sebagai email. 170 00:08:44,169 --> 00:08:47,010 Dan itu-- dengan cara ini kita sudah sekarang mengirim email dari pengirim 171 00:08:47,010 --> 00:08:49,273 ke penerima menggunakan TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Jadi, seperti yang saya katakan, jika pada setiap titik sepanjang jalan ada yang tidak beres, 174 00:08:54,180 --> 00:08:56,600 TCP dapat menghadapinya. 175 00:08:56,600 --> 00:09:00,010 Hal ini dapat membuat permintaan bahwa informasi akan dikirim kembali ke sana. 176 00:09:00,010 --> 00:09:01,840 Dan itu dapat merekonstruksi pesan. 177 00:09:01,840 --> 00:09:05,090 Dan setelah itu direkonstruksi pesan dari semua paket itu diterima, 178 00:09:05,090 --> 00:09:10,350 maka dapat mengatur mereka dan mengantarkan mereka ke layanan yang benar. 179 00:09:10,350 --> 00:09:11,990 >> Jadi itu TCP singkatnya. 180 00:09:11,990 --> 00:09:14,550 Itulah cara kami menjamin penyampaian informasi. 181 00:09:14,550 --> 00:09:16,540 Ingat TCP sering bekerja dengan IP, 182 00:09:16,540 --> 00:09:18,990 jadi ini dua protokol benar-benar berjalan beriringan. 183 00:09:18,990 --> 00:09:22,160 Kami membahas mereka dalam beberapa video di sini karena mereka melakukan hal-hal yang berbeda, 184 00:09:22,160 --> 00:09:26,190 tapi mereka begitu saling terkait, mereka Anda biasanya akan menggunakan mereka bersama-sama. 185 00:09:26,190 --> 00:09:27,150 >> Aku Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Ini adalah CS50. 187 00:09:29,160 --> 00:09:31,233