Seputar Tekno

Handshake Ala Komputer

Dalam dunia nyata, “handshake” atau “jabat tangan” adalah suatu metode sapaan yang lazim antara dua orang. Jabat tangan sudah dilakukan sejak zaman kuno untuk menunjukkan bahwa kedua pihak yang berjabat tangan tidak memegang senjata dan memiliki maksud damai.

Handshake Ala KomputerKomputer pun dapat melakukan hal serupa. Jabat tangan yang dilakukan oleh dua buah sistem komputer dapat dikatakan sebagai suatu metode sapaan antara keduanya. Hal tersebut biasa dilakukan untuk menginisialisasi koneksi jaringan antara kedua host.

Sebuah ‘handshake’ komputer dapat dilakukan antara dua sistem yang saling berkomunikasi satu sama lain menggunakan protokol yang sama. Kedua sistem itu dapat terdiri atas satu klien dan satu server, atau dua buah komputer dalam suatu jaringan peer-to-peer (P2P). Handshake mengkonfirmasi identitas masing-masing sistem dan memungkinkan terjadinya komunikasi lebih lanjut. Handshake melalui sebuah jaringan biasa disebut “3-Way Handshake” atau “SYN-SYN-ACK”.

Sebuah handshake terdiri dari tujuh tahapan:
1. Komputer A mengirimkan sebuah paket sinkronisasi (SYN) ke komputer B.
2. Komputer B menerima request SYN dari komputer A.
3. Komputer B mengirimkan pesan sinkronisasi balasan (SYN-ACK) kepada komputer A.
4. Komputer A menerima pesan SYN-ACK dari komputer B.
5. Komputer A mengirimkan pesan balasan (ACK) ke komputer B.
6. Komputer B menerima pesan ACK dari komputer A.
7. Koneksi antara komputer A dan komputer B dibangun.

Kemungkinan hasil yang dapat terjadi ketika sebuah sistem memulai handshake :
No response / tidak ada respon.
Jika sistem penerima handshake sedang tidak aktif atau tidak mendukung protokol yang digunakan oleh sistem pengirim handshake, sistem penerima tidak akan melakukan respon apapun.
Connection refused / koneksi ditolak.
Dalam hal ini, sistem penerima handshake dalam keadaan aktif dan mengenali request yang ia terima, tetapi menolak melakukan koneksi.
Connection accepted / koneksi diterima.
Sistem penerima handshake sedang aktif, menerima dan mengenali request, serta menerima koneksi. Pada kemungkinan ini saja handshake dapat dilakukan hingga selesai dan kedua sistem dapat berkomunikasi serta melakukan transfer data antara satu sama lain.

Beberapa contoh protokol yang menggunakan metode handshake antara lain TCP, TLS, dan SSL.

Semoga bermanfaat!