Hari ini, kita akan mulakan dengan memfokuskan pada TCP. Terdahulu dalam bab pelapisan, kami menyebut satu perkara penting. Pada lapisan rangkaian dan di bawah, ini lebih kepada sambungan hos ke hos, yang bermaksud komputer anda perlu mengetahui di mana komputer lain berada untuk menyambung kepadanya. Walau bagaimanapun, komunikasi dalam rangkaian selalunya adalah komunikasi antara proses dan bukannya komunikasi antara mesin. Oleh itu, protokol TCP memperkenalkan konsep port. Port boleh diduduki oleh hanya satu proses, yang menyediakan komunikasi langsung antara proses aplikasi yang berjalan pada hos yang berbeza.
Tugas lapisan pengangkutan ialah cara menyediakan perkhidmatan komunikasi langsung antara proses aplikasi yang dijalankan 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 adalah singkatan dari Transmission Control Protocol dan dikenali sebagai protokol berorientasikan sambungan. Ini bermakna sebelum satu aplikasi boleh mula menghantar data kepada yang lain, kedua-dua proses perlu melakukan jabat tangan. Jabat tangan ialah proses yang disambungkan secara logik yang memastikan penghantaran yang boleh dipercayai dan penerimaan data yang teratur. Semasa berjabat tangan, sambungan diwujudkan antara hos sumber dan destinasi dengan menukar satu siri paket kawalan dan bersetuju dengan beberapa parameter dan peraturan untuk memastikan penghantaran data berjaya.
Apakah TCP? (Mylinking'sKetik RangkaiandanBroker Paket Rangkaianboleh memproses kedua-dua Paket TCP atau UDP)
TCP (Transmission Control Protocol) ialah protokol komunikasi lapisan pengangkutan berasaskan aliran bait yang berorientasikan sambungan, boleh dipercayai.
Berorientasikan sambungan: Berorientasikan sambungan bermakna bahawa komunikasi TCP adalah satu-ke-satu, iaitu komunikasi hujung-ke-hujung 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 dipercayai: Kebolehpercayaan TCP memastikan bahawa paket dihantar dengan pasti kepada penerima tanpa mengira perubahan dalam pautan rangkaian, yang menjadikan format paket protokol TCP lebih kompleks daripada UDP.
Berasaskan aliran bait: Sifat berasaskan aliran bait TCP membenarkan penghantaran mesej dalam 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, pemotongan dan pegangan. Perlu diingatkan bahawa di sini kita katakan 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 dua arah.
TCP menyimpan data buat sementara waktu dalam penimbal hantar sambungan. Penimbal hantar ini ialah salah satu cache yang disediakan semasa jabat tangan tiga hala. Selepas itu, TCP akan menghantar data dalam cache hantar ke cache terima hos destinasi pada masa yang sesuai. Dalam amalan, setiap rakan sebaya akan mempunyai cache hantar dan cache terima, seperti yang ditunjukkan di sini:
Penampan hantar ialah kawasan memori yang dikekalkan oleh pelaksanaan TCP pada bahagian penghantar yang digunakan untuk menyimpan sementara data untuk dihantar. Apabila jabat tangan tiga hala dilakukan untuk mewujudkan sambungan, cache hantar disediakan dan digunakan untuk menyimpan data. Penampan hantar dilaraskan secara dinamik mengikut kesesakan rangkaian dan maklum balas daripada penerima.
Penampan terima ialah kawasan memori yang dikekalkan oleh pelaksanaan TCP pada bahagian penerima yang digunakan untuk menyimpan data yang diterima buat sementara waktu. TCP menyimpan data yang diterima dalam cache terima 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, dll., untuk memastikan penghantaran data dan kestabilan rangkaian yang boleh dipercayai.
Dalam rangkaian komputer, penghantaran data antara hos dijalankan melalui segmen. Jadi apakah segmen paket?
TCP mencipta segmen TCP, atau segmen paket, dengan membahagikan strim masuk kepada bahagian dan menambah pengepala TCP pada setiap bahagian. Setiap Segmen hanya boleh dihantar untuk tempoh masa yang terhad dan tidak boleh melebihi Saiz Segmen Maksimum (MSS). Dalam perjalanan 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 membahagikan data yang lebih besar kepada segmen yang sesuai untuk saiz MTU. Akan ada bahagian pada lapisan rangkaian khusus untuk lapisan IP.
Struktur segmen paket TCP
Mari kita terokai format dan kandungan pengepala TCP.
Nombor urutan: Nombor 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, pengirim menambah nombor urutan mengikut jumlah data yang dihantar. Penerima menilai susunan data mengikut nombor urutan yang diterima. Jika data didapati tidak teratur, penerima akan menyusun semula data untuk memastikan susunan data.
Nombor pengakuan: Ini ialah nombor jujukan yang digunakan dalam TCP untuk mengakui penerimaan data. Ia menunjukkan nombor jujukan data seterusnya yang dijangka diterima oleh pengirim. Dalam sambungan TCP, penerima menentukan data yang telah berjaya diterima berdasarkan nombor urutan segmen paket data yang diterima. Apabila penerima berjaya menerima data, ia menghantar paket ACK kepada penghantar, yang mengandungi nombor akuan terima kasih. Selepas menerima paket ACK, pengirim boleh mengesahkan bahawa data sebelum mengakui nombor balasan telah berjaya diterima.
Bit kawalan segmen TCP termasuk yang berikut:
ACK sedikit: Apabila bit ini 1, ini bermakna medan balasan pengakuan adalah sah. TCP menentukan bahawa bit ini mesti ditetapkan kepada 1 kecuali untuk paket SYN apabila sambungan diwujudkan pada mulanya.
sedikit RST: Apabila bit ini adalah 1, ia menunjukkan bahawa terdapat pengecualian dalam sambungan TCP dan sambungan mesti dipaksa untuk diputuskan.
SYN bit: Apabila bit ini ditetapkan kepada 1, ia bermakna sambungan akan diwujudkan dan nilai awal nombor jujukan ditetapkan dalam medan nombor jujukan.
sedikit FIN: Apabila bit ini adalah 1, ini bermakna tiada lagi data akan dihantar pada masa hadapan dan sambungan diingini.
Pelbagai fungsi dan ciri TCP dijelmakan oleh struktur segmen paket TCP.
Apakah UDP? (Mylinking'sKetik 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 terus paket IP terkapsul tanpa membuat 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:
Destinasi dan pelabuhan sumber: Tujuan utama mereka adalah untuk menunjukkan kepada proses mana UDP harus menghantar paket.
Saiz paket: Medan saiz paket memegang saiz pengepala UDP ditambah saiz data
Checksum: Direka bentuk untuk memastikan penghantaran pengepala dan data UDP yang boleh dipercayai Peranan checksum adalah untuk mengesan sama ada ralat atau rasuah telah berlaku semasa penghantaran paket UDP untuk memastikan integriti data.
Perbezaan antara TCP dan UDP dalam MylinkingKetik RangkaiandanBroker Paket Rangkaianboleh memproses kedua-dua Paket TCP atau UDP
TCP dan UDP adalah berbeza dalam aspek berikut:
Sambungan: TCP ialah protokol pengangkutan berorientasikan sambungan yang memerlukan sambungan diwujudkan sebelum data boleh dipindahkan. UDP, sebaliknya, tidak memerlukan sambungan dan boleh memindahkan data dengan segera.
Objek Perkhidmatan: TCP ialah perkhidmatan dua titik satu dengan 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.
Kebolehpercayaan: TCP menyediakan perkhidmatan penghantaran data dengan pasti, memastikan data bebas ralat, bebas kerugian, tidak berganda dan tiba atas permintaan. UDP, sebaliknya, melakukan usaha yang terbaik dan tidak menjamin penghantaran yang boleh dipercayai. UDP mungkin mengalami kehilangan data dan situasi lain semasa penghantaran.
Kawalan kesesakan, kawalan aliran: TCP mempunyai kawalan kesesakan dan mekanisme kawalan aliran, yang boleh melaraskan kadar penghantaran data mengikut keadaan rangkaian untuk memastikan keselamatan dan kestabilan penghantaran data. UDP tidak mempunyai kawalan kesesakan dan mekanisme kawalan aliran, walaupun rangkaian sangat sesak, ia tidak akan membuat pelarasan pada kadar penghantaran UDP.
Tajuk atas kepala: TCP mempunyai panjang pengepala yang panjang, biasanya 20 bait, yang meningkat apabila medan pilihan digunakan. UDP, sebaliknya, mempunyai pengepala tetap hanya 8 bait, jadi UDP mempunyai overhed pengepala yang lebih rendah.
Senario Aplikasi TCP dan UDP:
TCP dan UDP ialah 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 FTP: TCP boleh memastikan bahawa fail tidak hilang dan rosak semasa pemindahan.
HTTP/HTTPS: TCP memastikan integriti dan ketepatan kandungan web.
Oleh kerana UDP ialah protokol tanpa sambungan, ia tidak memberikan jaminan kebolehpercayaan, tetapi ia mempunyai 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 audio: Untuk penghantaran multimedia dengan keperluan masa nyata yang tinggi, UDP boleh memberikan kependaman yang lebih rendah untuk memastikan data boleh dihantar tepat pada masanya.
Komunikasi penyiaran: UDP 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, boleh dipercayai. Ia memastikan penghantaran yang boleh dipercayai 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 dijalankan pada hos yang berbeza. Sambungan TCP adalah dupleks penuh, membenarkan pemindahan data dua arah serentak. Sebaliknya, UDP ialah protokol komunikasi berorientasikan tanpa sambungan, yang tidak memberikan jaminan kebolehpercayaan dan sesuai untuk sesetengah senario dengan keperluan masa nyata yang tinggi. TCP dan UDP berbeza dalam mod sambungan, objek perkhidmatan, kebolehpercayaan, kawalan kesesakan, kawalan aliran dan aspek lain, dan senario aplikasinya juga berbeza.
Masa siaran: Dis-03-2024