Rangkaian

Apakah Langkah-langkah dalam TCP Handshake?

Apakah Langkah-langkah dalam TCP Handshake?

TCP atau Transmission Control Protocol adalah protokol lapisan pengangkutan standard yang digunakan oleh internet untuk menghantar data. Request For Comments (RFC) 793 mendefinisikan TCP sebagai protokol yang boleh dipercayai dan berorientasikan sambungan. Oleh kerana berorientasikan sambungan, jalan atau sambungan perlu dibuat sebelum menghantar data apa pun. TCP menggunakan mekanisme jabat tangan tiga arah untuk mewujudkan hubungan antara dua peranti. Dalam panduan ini, kita akan melihat bagaimana mekanisme jabat tangan tiga arah berfungsi. Mari kita lihat dahulu masalah dengan model jabat tangan dua hala.

Masalah dengan Model Handshake Dua Hala

Model jabat tangan dua hala gagal kerana masalah paket pendua lama. Katakan bahawa paket pendua lama tiba di mesin pelayan. Paket lama ini telah tiba dari sambungan yang ditutup sebelumnya dan mengandungi nombor urutan 'z'. Pada suatu masa semasa sambungan baru, pelayan menerima paket dengan nombor urutan 'z'. Apabila menerima paket lama ini dengan nombor urutan yang sama 'z', ia secara tidak sedar akan menerima paket lama ini dan membuang paket yang sebenarnya dari sambungan baru.

Dalam kes di atas, jika sambungan tidak berlaku antara klien dan pelayan, kedatangan paket permintaan sambungan pendua lama masih menimbulkan masalah. Sekiranya pelayan menerima paket seperti itu, ia akan bertindak balas dengan paket SYN + ACK. Paket ini akan dijatuhkan oleh pelanggan kerana tidak bermaksud untuk menyambung. Tetapi pelayan akan memasuki keadaan kebuntuan, menunggu pelanggan menghantar data.

Masalah lain ialah jika host C menghantar permintaan sambungan ke pelayan dengan menyamar sebagai klien, pelayan akan bertindak balas dengan ACK kepada klien. Pelanggan akan membuang paket 'ACK' ini dan memberitahu pelayan untuk menghentikan sambungan. Selama selang peristiwa ini, host C dapat melancarkan serangan spoofing dengan mengirimkan banyak paket.

Model Handshake Tiga Hala dalam TCP / IP

Model jabat tangan tiga arah sangat penting. Jika kita tidak menggunakannya dan langsung mengirim data, aplikasi penerima mungkin mulai menerima paket pendua. Penyerang mungkin mendapat peluang untuk melancarkan serangan (seperti DDoS) di antara sambungan. Prosedur berjabat tangan tiga arah dimulakan oleh satu mesin, dan pihak lain bertindak balas. Konvensyen berikut digunakan untuk menjelaskan prosedur ini:

"Sekiranya laman web menerima paket dengan nombor urutan 'x', ia akan bertindak balas dengan nombor ACK 'x + 1'."

Mari kita ringkaskan langkah-langkah yang dilakukan dalam jabat tangan tiga arah antara mesin pelanggan dan mesin pelayan:

Langkah 1. Dalam jabat tangan pertama, klien menghantar paket permintaan sambungan SYN dengan nombor urutan awal rawak ('x') ke pelayan.

Langkah 2. Dalam jabat tangan kedua, pelayan bertindak balas dengan paket SYN yang mempunyai nombor urutan rawak ('y') dan paket ACK dengan nombor urutan ('x + 1') untuk mengakui nombor urutan awal ('x') yang dihantar oleh pelanggan.

Langkah 3. Dalam jabat tangan ketiga, klien akan menghantar paket ACK dengan nombor urutan ('y + 1') ke pelayan kerana mengakui paket SYN ('y') yang dihantar oleh pelayan.

Langkah 4. Kedua-dua hujungnya diselaraskan sekarang dan dapat mula menghantar data secara bebas. [1]

Prosedur berjabat tangan tiga arah TCP masih berlaku jika kedua-dua belah pihak memulakan proses inisialisasi secara serentak. Dalam situasi seperti itu, setiap mesin, setelah mengirim paket "SYN", akan menerima segmen "SYN" tanpa pengakuan. Sekiranya paket lama "SYN" pendua tiba di penerima, mungkin kelihatan kepada penerima bahawa proses permulaan sambungan sedang berlangsung pada masa yang sama. Kita boleh menggunakan paket "reset" untuk menghilangkan kekaburan ini.

Penamatan Sambungan TCP

Kedua-dua belah pihak boleh menghentikan sambungan TCP. Untuk ini, mana-mana pihak boleh menghantar segmen TCP dengan set bit FIN. Ini bermaksud pihak pengirim tidak mempunyai data lagi untuk dihantar. Pihak penerima akan mengakui paket FIN ini dengan menghantar paket pengakuan. Ini akan menutup sambungan dari satu pihak (pihak pengirim). Kini penerima akan menggunakan langkah yang sama untuk menghentikan sambungan bagi pihaknya. Ini akan menutup sambungan sepenuhnya.

Masalah dengan Model Handshake Tiga Hala

Sekiranya ACK dari klien ke pelayan hilang atau disekat pada peringkat jabat tangan ketiga, pelanggan tidak akan menyedari keadaan ini. Pelanggan akan menganggap bahawa sambungan dibuat dan akan mula menghantar data. Pelayan masih menunggu ACK, yang sudah hilang, jadi ia akan membuang data yang diterima dari klien. [2]

Kesimpulannya

Dalam panduan ini, kami telah mengetahui tentang prosedur sambungan TCP menggunakan jabat tangan tiga arah. Kami juga telah melihat masalah paket pendua yang berkaitan dengan prosedur jabat tangan dua arah dan bagaimana ia diselesaikan dengan model jabat tangan tiga arah. Ramai penyelidik telah menyumbangkan pelbagai makalah penyelidikan untuk meningkatkan model jabat tangan tiga arah dan mengatasi masalah yang berkaitan dengannya.

Rujukan

  1. Hsu, F., Hwang, Y., Tsai, C., Cai, W., Lee, C., & Chang, K. (2016). TRAP: Pelayan jabat tangan tiga arah untuk pembentukan sambungan TCP. Sains Gunaan, 6 (11), 358. https: // doi.org / 10.3390 / app6110358
  1. Qin-Min Ma, Shou-Yin Liu, Xiao-jun Wen. (2016). Protokol Tiga Tangan Hala TCP berdasarkan Quantum Entanglement. Jurnal Komputer, 27 (3), 33-40, doi: 10.3966/199115592016102703004
Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...