Hari ini, kita akan mulakan dengan memberi tumpuan kepada TCP. Terdahulu dalam bab tentang pelapisan, kita telah menyebut satu perkara penting. Pada lapisan rangkaian dan di bawahnya, ia lebih kepada sambungan hos ke hos, yang bermaksud komputer anda perlu tahu di mana komputer lain berada untuk bersambung dengannya. Walau bagaimanapun, komunikasi dalam rangkaian selalunya merupakan komunikasi antara proses dan bukannya komunikasi antara mesin. Oleh itu, protokol TCP memperkenalkan konsep port. Port hanya boleh diduduki oleh satu proses, yang menyediakan komunikasi langsung antara proses aplikasi yang berjalan pada hos yang berbeza.
Tugas lapisan pengangkutan adalah bagaimana untuk menyediakan perkhidmatan komunikasi langsung antara proses aplikasi yang berjalan pada hos yang berbeza, jadi ia juga dikenali sebagai protokol hujung ke hujung. Lapisan pengangkutan menyembunyikan butiran teras rangkaian, membolehkan proses aplikasi melihat seolah-olah terdapat saluran komunikasi hujung ke hujung yang logik antara dua entiti lapisan pengangkutan.
TCP bermaksud Protokol Kawalan Transmisi dan dikenali sebagai protokol berorientasikan sambungan. Ini bermakna sebelum satu aplikasi boleh mula menghantar data kepada aplikasi yang lain, kedua-dua proses perlu melakukan jabat tangan. Jabat tangan ialah proses yang bersambung secara logik yang memastikan penghantaran yang andal dan penerimaan data yang teratur. Semasa jabat tangan, sambungan diwujudkan antara hos sumber dan destinasi dengan bertukar satu siri paket kawalan dan bersetuju dengan beberapa parameter dan peraturan untuk memastikan penghantaran data yang berjaya.
Apakah TCP? (Mylinking'sKetuk RangkaiandanBroker Paket Rangkaianboleh memproses kedua-dua Paket TCP atau UDP)
TCP (Protokol Kawalan Penghantaran) ialah protokol komunikasi lapisan pengangkutan berasaskan aliran bait yang berorientasikan sambungan, andal.
Berorientasikan sambunganBerorientasikan sambungan bermaksud komunikasi TCP adalah satu-ke-satu, iaitu komunikasi hujung ke hujung dari titik ke titik, tidak seperti UDP, yang boleh menghantar mesej kepada berbilang hos pada masa yang sama, jadi komunikasi satu-ke-banyak tidak dapat dicapai.
Boleh dipercayaiKebolehpercayaan TCP memastikan paket dihantar dengan andal kepada penerima tanpa mengira perubahan dalam pautan rangkaian, yang menjadikan format paket protokol TCP lebih kompleks daripada UDP.
Berasaskan aliran baitSifat TCP berasaskan aliran bait membolehkan penghantaran mesej daripada sebarang saiz dan menjamin susunan mesej: walaupun mesej sebelumnya belum diterima sepenuhnya, dan walaupun bait berikutnya telah diterima, TCP tidak akan menghantarnya ke lapisan aplikasi untuk diproses dan akan menggugurkan paket pendua secara automatik.
Sebaik sahaja hos A dan hos B telah mewujudkan sambungan, aplikasi hanya perlu menggunakan talian komunikasi maya untuk menghantar dan menerima data, sekali gus memastikan penghantaran data. Protokol TCP bertanggungjawab untuk mengawal tugas seperti penubuhan sambungan, pemutusan sambungan dan penangguhan. Perlu diingatkan bahawa di sini kita mengatakan talian maya hanya bermaksud untuk mewujudkan sambungan, sambungan protokol TCP hanya menunjukkan bahawa kedua-dua pihak boleh memulakan penghantaran data dan untuk memastikan kebolehpercayaan data. Nod penghalaan dan pengangkutan dikendalikan oleh peranti rangkaian; protokol TCP itu sendiri tidak mengambil berat tentang butiran ini.
Sambungan TCP ialah perkhidmatan dupleks penuh, yang bermaksud hos A dan hos B boleh menghantar data dalam kedua-dua arah dalam sambungan TCP. Iaitu, data boleh dipindahkan antara hos A dan hos B dalam aliran dwiarah.
TCP menyimpan data buat sementara waktu dalam penimbal hantar sambungan. Penimbal hantar ini merupakan salah satu cache yang disediakan semasa jabat tangan tiga hala. Seterusnya, TCP akan menghantar data dalam cache hantar ke cache terima hos destinasi pada masa yang sesuai. Dalam praktiknya, setiap rakan sebaya akan mempunyai cache hantar dan cache terima, seperti yang ditunjukkan di sini:
Penimbal hantar ialah kawasan memori yang diselenggara oleh pelaksanaan TCP di bahagian penghantar yang digunakan untuk menyimpan data sementara yang akan dihantar. Apabila jabat tangan tiga hala dilakukan untuk mewujudkan sambungan, cache hantar disediakan dan digunakan untuk menyimpan data. Penimbal hantar dilaraskan secara dinamik mengikut kesesakan rangkaian dan maklum balas daripada penerima.
Penimbal penerimaan ialah kawasan memori yang diselenggara oleh pelaksanaan TCP di bahagian penerima yang digunakan untuk menyimpan data yang diterima buat sementara waktu. TCP menyimpan data yang diterima dalam cache penerimaan dan menunggu aplikasi atas membacanya.
Ambil perhatian bahawa saiz cache hantar dan cache terima adalah terhad, apabila cache penuh, TCP mungkin menggunakan beberapa strategi, seperti kawalan kesesakan, kawalan aliran, dsb., untuk memastikan penghantaran data yang andal dan kestabilan rangkaian.
Dalam rangkaian komputer, penghantaran data antara hos dijalankan melalui segmen. Jadi apakah segmen paket?
TCP mencipta segmen TCP, atau segmen paket, dengan memisahkan strim masuk kepada ketulan dan menambah pengepala TCP pada setiap ketulan. Setiap Segmen hanya boleh dihantar untuk tempoh masa yang terhad dan tidak boleh melebihi Saiz Segmen Maksimum (MSS). Dalam perjalanannya ke bawah, segmen paket melalui lapisan pautan. Lapisan pautan mempunyai Unit Penghantaran Maksimum (MTU), iaitu saiz paket maksimum yang boleh melalui lapisan pautan data. Unit penghantaran maksimum biasanya berkaitan dengan antara muka komunikasi.
Jadi apakah perbezaan antara MSS dan MTU?
Dalam rangkaian komputer, seni bina hierarki adalah sangat penting kerana ia mengambil kira perbezaan antara tahap yang berbeza. Setiap lapisan mempunyai nama yang berbeza; dalam lapisan pengangkutan, data dipanggil segmen, dan dalam lapisan rangkaian, data dipanggil paket IP. Oleh itu, Unit Penghantaran Maksimum (MTU) boleh dianggap sebagai Saiz paket IP Maksimum yang boleh dihantar oleh lapisan rangkaian, manakala Saiz Segmen Maksimum (MSS) ialah konsep lapisan pengangkutan yang merujuk kepada jumlah maksimum data yang boleh dihantar oleh paket TCP pada satu masa.
Ambil perhatian bahawa apabila Saiz Segmen Maksimum (MSS) lebih besar daripada Unit Penghantaran Maksimum (MTU), pemecahan IP akan dilakukan pada lapisan rangkaian dan TCP tidak akan memisahkan data yang lebih besar kepada segmen yang sesuai untuk saiz MTU. Akan ada bahagian pada lapisan rangkaian yang dikhaskan untuk lapisan IP.
Struktur segmen paket TCP
Mari kita terokai format dan kandungan pengepala TCP.
Nombor jujukanNombor rawak yang dijana oleh komputer apabila sambungan diwujudkan sebagai nilai awalnya apabila sambungan TCP diwujudkan, dan nombor jujukan dihantar kepada penerima melalui paket SYN. Semasa penghantaran data, penghantar akan menambah nombor jujukan mengikut jumlah data yang dihantar. Penerima akan menilai susunan data mengikut nombor jujukan yang diterima. Jika data didapati tidak mengikut susunan, penerima akan menyusun semula data untuk memastikan susunan data tersebut.
Nombor pengakuanIni ialah nombor jujukan yang digunakan dalam TCP untuk mengakui penerimaan data. Ia menunjukkan nombor jujukan data seterusnya yang dijangka diterima oleh penghantar. Dalam sambungan TCP, penerima menentukan data yang telah berjaya diterima berdasarkan nombor jujukan segmen paket data yang diterima. Apabila penerima berjaya menerima data, ia akan menghantar paket ACK kepada penghantar, yang mengandungi nombor pengesahan pengesahan. Selepas menerima paket ACK, penghantar boleh mengesahkan bahawa data sebelum mengakui nombor balasan telah berjaya diterima.
Bit kawalan segmen TCP termasuk yang berikut:
Bit ACKApabila bit ini ialah 1, ia bermakna medan balasan pengakuan adalah sah. TCP menyatakan bahawa bit ini mesti ditetapkan kepada 1 kecuali untuk paket SYN apabila sambungan pada mulanya diwujudkan.
Bit RSTApabila bit ini ialah 1, ia menunjukkan bahawa terdapat pengecualian dalam sambungan TCP dan sambungan tersebut mesti dipaksa untuk diputuskan sambungannya.
Bit SYNApabila bit ini ditetapkan kepada 1, ini bermakna sambungan akan diwujudkan dan nilai awal nombor jujukan ditetapkan dalam medan nombor jujukan.
Bit FINApabila bit ini ialah 1, ia bermakna tiada lagi data akan dihantar pada masa hadapan dan sambungan adalah dikehendaki.
Pelbagai fungsi dan ciri TCP dijelmakan oleh struktur segmen paket TCP.
Apakah UDP? (Mylinking'sKetuk RangkaiandanBroker Paket Rangkaianboleh memproses kedua-dua Paket TCP atau UDP)
Protokol Datagram Pengguna (UDP) ialah protokol komunikasi tanpa sambungan. Berbanding dengan TCP, UDP tidak menyediakan mekanisme kawalan yang kompleks. Protokol UDP membenarkan aplikasi menghantar paket IP yang dienkapsulasi secara langsung tanpa mewujudkan sambungan. Apabila pembangun memilih untuk menggunakan UDP dan bukannya TCP, aplikasi berkomunikasi secara langsung dengan IP.
Nama penuh Protokol UDP ialah Protokol Datagram Pengguna, dan pengepalanya hanya lapan bait (64 bit), yang sangat ringkas. Format pengepala UDP adalah seperti berikut:
Pelabuhan destinasi dan sumberTujuan utamanya adalah untuk menunjukkan kepada proses mana UDP harus menghantar paket.
Saiz paketMedan saiz paket menyimpan saiz pengepala UDP ditambah saiz data
ChecksumDireka untuk memastikan penghantaran pengepala dan data UDP yang andal. Peranan checksum adalah untuk mengesan sama ada ralat atau kerosakan telah berlaku semasa penghantaran paket UDP bagi memastikan integriti data.
Perbezaan antara TCP dan UDP dalam MylinkingKetuk RangkaiandanBroker Paket Rangkaianboleh memproses kedua-dua Paket TCP atau UDP
TCP dan UDP berbeza dalam aspek berikut:
SambunganTCP ialah protokol pengangkutan berorientasikan sambungan yang memerlukan sambungan diwujudkan sebelum data boleh dipindahkan. Sebaliknya, UDP tidak memerlukan sambungan dan boleh memindahkan data dengan segera.
Objek PerkhidmatanTCP ialah perkhidmatan dua titik satu-ke-satu, iaitu, sambungan hanya mempunyai dua titik akhir untuk berkomunikasi antara satu sama lain. Walau bagaimanapun, UDP menyokong komunikasi interaktif satu-ke-satu, satu-ke-banyak, dan banyak-ke-banyak, yang boleh berkomunikasi dengan berbilang hos pada masa yang sama.
KebolehpercayaanTCP menyediakan perkhidmatan penghantaran data dengan andal, memastikan data bebas ralat, bebas kehilangan, tidak bertindih dan tiba apabila diminta. Sebaliknya, UDP melakukan usaha terbaiknya dan tidak menjamin penghantaran yang andal. UDP mungkin mengalami kehilangan data dan situasi lain semasa penghantaran.
Kawalan kesesakan, kawalan aliranTCP mempunyai mekanisme kawalan kesesakan dan kawalan aliran, yang boleh melaraskan kadar penghantaran data mengikut keadaan rangkaian untuk memastikan keselamatan dan kestabilan penghantaran data. UDP tidak mempunyai mekanisme kawalan kesesakan dan kawalan aliran, walaupun rangkaian sangat sesak, ia tidak akan membuat pelarasan pada kadar penghantaran UDP.
Tajuk atasTCP mempunyai panjang pengepala yang panjang, biasanya 20 bait, yang meningkat apabila medan pilihan digunakan. Sebaliknya, UDP mempunyai pengepala tetap hanya 8 bait, jadi UDP mempunyai overhead pengepala yang lebih rendah.

Senario Aplikasi TCP dan UDP:
TCP dan UDP adalah dua protokol lapisan pengangkutan yang berbeza, dan ia mempunyai beberapa perbezaan dalam senario aplikasi.
Memandangkan TCP ialah protokol berorientasikan sambungan, ia digunakan terutamanya dalam senario di mana penghantaran data yang boleh dipercayai diperlukan. Beberapa kes penggunaan biasa termasuk:
Pemindahan fail FTPTCP boleh memastikan fail tidak hilang dan rosak semasa pemindahan.
HTTP/HTTPSTCP memastikan integriti dan ketepatan kandungan web.
Oleh kerana UDP ialah protokol tanpa sambungan, ia tidak memberikan jaminan kebolehpercayaan, tetapi ia mempunyai ciri-ciri kecekapan dan masa nyata. UDP sesuai untuk senario berikut:
Trafik paket rendah, seperti DNS (Sistem Nama Domain)Pertanyaan DNS biasanya merupakan paket pendek, dan UDP boleh menyelesaikannya dengan lebih cepat.
Komunikasi multimedia seperti video dan audioUntuk penghantaran multimedia dengan keperluan masa nyata yang tinggi, UDP boleh menyediakan kependaman yang lebih rendah bagi memastikan data dapat dihantar tepat pada masanya.
Komunikasi siaranUDP menyokong komunikasi satu-ke-banyak dan banyak-ke-banyak dan boleh digunakan untuk penghantaran mesej siaran.
Ringkasan
Hari ini kita belajar tentang TCP. TCP ialah protokol komunikasi lapisan pengangkutan berasaskan aliran bait yang berorientasikan sambungan, andal, dan boleh dipercayai. Ia memastikan penghantaran data yang andal dan penerimaan data yang teratur dengan mewujudkan sambungan, jabat tangan dan pengakuan. Protokol TCP menggunakan port untuk merealisasikan komunikasi antara proses, dan menyediakan perkhidmatan komunikasi langsung untuk proses aplikasi yang berjalan pada hos yang berbeza. Sambungan TCP adalah dupleks penuh, yang membolehkan pemindahan data dwiarah serentak. Sebaliknya, UDP ialah protokol komunikasi berorientasikan tanpa sambungan, yang tidak memberikan jaminan kebolehpercayaan dan sesuai untuk beberapa senario dengan keperluan masa nyata yang tinggi. TCP dan UDP berbeza dari segi mod sambungan, objek perkhidmatan, kebolehpercayaan, kawalan kesesakan, kawalan aliran dan aspek lain, dan senario aplikasi mereka juga berbeza.
Masa siaran: 03 Dis-2024



