TCP Three Way Handshake

Sebelum masuk ke TCP Three Way Handshake, protokol dalam jaringan seperti kita ketahui digunakan untuk komunikasi data. Dari jenisnya ada berbagai jenis protocol antara lain IP, UDP, dan TCP. Perbedaan mendasar ketiga protocol tersebut adalah masalah reliability-nya. UDP dan IP bersifat connectionless yang artinya tidak ada jaminan dalam pengiriman datanya. Sedangkan TCP bersifat connection oriented yang menjamin keserasian koneksi antara host dan tujuan.

IP dan UDP disini hanya bertugas untuk melakukan routing pada proses pengiriman data dan tidak menjamin pengiriman tersebut. Jika ada paket – paket yang hilang di tengah jalan, IP dan UDP tidak akan bertanggung jawab akan hal tersebut. Dan garansi tersebutlah yang hanya dapat dilakukan oleh TCP. TCP ini menjamin paket – paket data tersebut sampai ke tujuan dengan selamat dan lengkap. Bagaimana cara TCP ini melakukannya? Hal pertama yang dilakukan oleh TCP sebelum proses pengiriman data tersebut adalah menjamin keserasian koneksi antara host dan host tujuan.

Hal – hal tentang terjaminnya keserasian koneksi ini berhubungan dengan flow control (kontrol aliran data) pada saat pengiriman data. Proses untuk “menuju” kepada keserasian itu kita sebut sinkronisasi yang dilakukan oleh host dan host tujuan. Caranya adalah host pengirim akan membuat koneksi (establish connection) dengan host tujuan memastikan bahwa keduanya siap untuk berkomunikasi dan melakukan pertukaran data.

Untuk memahami konsep flow control dan reliability. Mari kita berandai – andai. Tokohnya adalah pelaku – pelaku akademis di kampus. Dosen sebagai Host, mahasiswa sebagai host tujuannya, dan materi kuliah sebagai data yang akan dikirim dari host ke host tujuan.

dosen-ngajar

Seorang Dosen memiliki tingkat kejeniusan yang sangat tinggi sampai – sampai dia menyampaikan materi kuliah dengan standar miliknya sendiri, kecepatan mengajarnya setara pesawat jet, sedangkan sebagian besar mahasiswa hanya memiliki tingkat kecepatan memahami materi yang relatif standar, kalo Dosennya jet, mungkin mahasiswanya setara dengan pesawat biasa. Bagaimana nasib materi kuliah (baca : paket data) yang disampaikan? Pasti tidak semuanya sampai, atau bahkan tidak sampai semua. Untuk menyelesaikan masalah ini, Dosen hendaknya “lebih mengerti” mahasiswanya, dan mahasiswanya hendaknya “lebih mengerti” dosennya dengan bertanya dan memohon pada sang dosen untuk menjelaskan materi tersebut lagi atau “bertanya” pada materi yang tidak jelas. Dan penyampaian materi ini akan terjamin sampai dari Dosen ke mahasiswa.

Dari ilustrasi di atas, kecepatan penyampaian materi kuliah dianggap sama dengan kecepatan penyampaian data, proses untuk saling mengertinya itu adalah proses sinkronisasi, dan proses bertanya diandaikan jika TCP meminta kembali data yang hilang di tengah jalan. Dan terjaminnya itu yang kita sebut reliable.

Kembali pada TCP. Tadi kita sudah sedikit menyinggung tentang establish connection atau proses pembuatan koneksi oleh Host ke host tujuan. Bagaimana TCP melakukannya? TCP akan melakukan Three Way Handshake. Dari atrinya saja kita bisa menangkap sedikit maksud dari apa itu three way handshase. Three way handshake, tiga cara berjabat tangan. Tiga cara itu harus dilakukan berurutan dan membutuhkan saling merespon antar host (handshake). Perlu diketahui bahwa Untuk membentuk sebuah sesi TCP, host client akan menggunakan nomor port layanan pada host server.

3ways

Berikut adalah langkah – langkah Three Way Handshake :

  1. Initiating host (client) mengirim sebuah paket sinkronisasi (SYN flag set) untuk memulai. Ini menandakan bahwa sebuah paket memiliki nilai awal Sequence Number yang valid dalam segmen ini untuk sesi x. Bit SYN pada bagian header menandakan sebuah permintaan koneksi. Bit SYN merupakan bit tunggal pada field code dari header TCP segment. Sequence Number adalah 32 bit field header TCP segment.
  2. Host lain menerima paket, mencatat Sequence Number x dari client, dan merespon dengan sebuah acknowledgment (ACK flag set). Kumpulan bit control ACK menandakan field Acknowledgment Number berisi sebuah nilai acknowledgment yang valid. ACK flag merupakan bit tunggal pada kode field dari header TCP segment dan Acknowledgment Number adalah 32 bit field header TCP segment. Sekali koneksi terbentuk, flag ACK di set untuk semua segment selama sesi. Field acknowledgment number berisi sequence number berikutnya yang diharapkan diterima host ini (x+1). Acknowledgment number x+1 berarti host telah menerima semua byte termasuk x, dan menunggu untuk menerima byte x+1 berikutnya. Host juga mengajukan sebuah return session. Ini termasuk sebuah segment TCP dengan nilai awal sequence numbernya sendiri dari y dan dengan sekumpulan flag SYN.
  3. Initiating host merespon dengan sebuah nilai Acknowledgment number dari y+1, sedangkan nilai dari sequence number host B+1. Ini menandakan bahwa acknowledgment telah diterima sebelumnya dan mengakhiri proses koneksi untuk sesi ini.

Initial sequence number di atas digunakan untuk mengajukan komunikasi antar dua host, bertindak sebagai nilai referensi awal. Sequence number ini memberikan setiap host sebuah cara untuk memberitahu kalau host penerima mengetahui pengirim merespon permintaan koneksi dengan benar.

Nah, itu tadi adalah penjelasan tentang three way handshake, semoga bermanfaat.

Sumber:

  1. ilmujaringan.com
  2. kbudiz.wordpress.com

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s