Pengertian Handshaking : Metode, Socket dan Contoh

Jagad.id – Dalam ilmu komputer secara umum definisi atau pengertian Handshaking adalah proses otomatis yang terjadi pada saat komputer berkomunikasi dengan perangkat asing sehingga bisa menetapkan peraturan dalam berkomunikasi. Saat komputer melakukan komunikasi dengan perangkat lain seperti modem, printer atau server jaringan, maka handshaking dibutuhkan untuk membuat sambungan.

Contohnya hanshaking modem yang umumnya akan melakukan negosiasiparameter komunikasi pada periode singkat jika sambungan pertama kali dibuat. Sesudah itu, parameter dipakai untuk mentransfer informasi dengan maksimal lewat saluran untuk fungsi dari kualitas serta juga kapasitas.

Handshaking bisa menghubungkan sistem yang relatif heterogen atau peralatan lewat saluran komunikasi tanpa memerlukan campur tangan manusia dalam mengatur parameter.

Handshaking DMA

Pada proses handshaking antara DMA controller serta device controller akan dilakukan lewat sepasang kabel bernama DMS request serta DMA acknowloedge. Device controller nantinya akan mengirim sinyal lewat DMA request saat akan mentransfer data sebanyak 1 word.

Hal ini kemudian menyebabkan DMA controller akan memasukkan alamat yang diinginkan menuju kabel alamat memori serta mengirim sinyal lewat kabel DMA acknowledge.

Sesudah sinyal melewati kabel DMA acknowledge diterima, maka device controller akan mengirim data yang diinginkan serta mematikan sinyal di DMA request tersebut. Ada 3 langkah di dalam transfer DMA, yakni:

  1. Processor akan menyiapkan DMA transfer dengan cara menyediakan data dari seluruh perangkat, menampilkan operasi, menjadikan alamat memori sebagai sumber serta tujuan serta banyak byte yang akan ditransfer.
  2. Pengendali DMA akan memulai proses seperti menyiapkan bus, menyediakan alamat, menulis serta membaca data.
  3. Pengendali DMA akan mengiterupsi processor dan selanjutnya akan ditentukan untuk tindakan selanjutnya.

Metode Handshaking

Metode handshaking terbagi menjadi 4 bagian yakni handshaking polling, handshaking interupsi, interrupt request line serta vektor interupsi dan vector chaining.

  1. Handshaking polling: Software prioritas yang di-pokk pertama untuk memperoleh prioritas tinggi. Jika processor tersebut mau mengakses perangkat, maka salah satu pendekatan yang dilakukan adalah membiarkan processor melakukan seluruh pekerjaan. Processor akan berinteraksi dengan controller lewat protokol yang rumit namun dengan dasar handshaking yang sangat sederhana.
  2. Handshaking interupsi: Interupsi akan terjadi jika sebuah perangkat M/K ingin memberitahu processor jika sudah siap menerima perintah, output sudah dihasilkan atau saat terjadi error.
  3. Interrupt Request Line: Meski pada dasarnya terjadi lebih banyak di CPU dan ada 2 interrupt request line.
  4. Vektor Interupsi dan Vector Chaining: Jika terjadi sinyal interupsi di interrupt request line atau interrupt handler yang ingin mengetahui sumber dari interupsi, maka tidak perlu ditelusuri satu per satu sebab pada setiap interrupt handler memiliki memori. Alamat tersebut merupakan offset di sebuah table yang dinamakan dengan vektor interupsi.

Macam Jenis Socket

1. Socket Lokal

Socket lokal merupakan socket yang melakukan komunikasi dengan perantaraan sebuah file yang umumnya diletakkan di direktori/tmp atau /var/tmp. Di dalam socket tersebut biasanya digunakan terbatas untuk komunikasi antar aplikasi pada satu mesin.

2. Socket Networking

Socket networking akan berkomunikasi antar aplikasi antar mesin di dalam lingkungan jaringan TCP/IP. Ini dilakukan dengan sebuah service identifer yakni berbentuk nomor port TCP/IP yang bisa disambungkan dengan client.

3. Socket Stream

Soxket stream merupakan socket untuk berkomunikasi full-duplex berbasis aliran atau stream data. Ini bisa diartikan seperti komunikasi telepon dan apabila sambungan telepon pada salah satu titik terputus, maka komunikasi tidak terjadi.

Koneksi model seperti ini menjamin data bisa tukar dengan baik. Namun kelemahannya adalah dalam pemakaian jalur data yang relatif besar serta tidak boleh sampai terputus.

4. Socket Datagram

Socket datagram akan berkomunikasi dengan cara berbeda. Socket ini tidak memerlukan koneksi yang tersambung dengan baik untuk mengirim dan menerima data. Model koneksi seperti ini tidak bisa menjamin data bisa ditukar dengan baik. Meski begitu, ada keunggulan dari model koneksi ini di dalam hal pemakaian jalur data yang minimal.

5. TCP Header

Ukuran dari header TCP bervariasi yakni 20 byte untuk ukuran TCP header yang terkecil pada saat tidak ada tambahan opsi TCP.

Kapan Proses Handshaking Terjadi?

Untuk membuat koneksi antara komputer dengan perangkat seperti server, printer atau modem, proses handshaking akan memulai koneksinya dengan memberi tahu kedua perangkat cara untuk berkomunikasi antara satu sama lain.

Contohnya adalah ketika suara dibuat pada saat dua modem dial up terhubung antara satu dengan yang lain. Suara tersebut sebetulnya merupakan prosedur dari handshaking.

Handshaking juga bisa dipakai antara komputer serta printer sebelum pencetakan dilakukan supaya bisa memberiĀ  tahu printer cara untuk menerima serta menampilkan data yang diterima dari komputer.

Kenapa Handshaking Digunakan?

Selain untuk bertukar informasi, handshaking juga sering dipakai untuk memverifikasi kualitas atau kecepatan koneksi dan juga otoritas yang mungkin dibutuhkan untuk menyelesaikan koneksi di antara perangkat. Tujuan terakhirnya adalah bagian umum dari membangun koneksi antar komputer dengan server jarak jauh.

Contoh Protokol Handshaking

Hampir setiap perangkat komputasi yang terhubung dengan perangkat lainnya memakai handshaking. Ada beberapa contoh yang anda pakai dalam kehidupan sehari hari, yakni:

Prokol kriptografi transport layer security dan pendahulunya yakni secure sockets layer keduanya memakai koneksi jaringan untuk memverifikasi otorisasi serta melindungi data di antara kedua komputer.

Selain itu, koneksi USB antar komputer serta perangkat juga memakai handshaking untuk memverifikasi data yang sudah diterima dengan baik, untuk mengetahui apakah sudah diterima atau tidak atau untuk melihat apakah perangkat butuh intervensi pengguna untuk dilanjutkan.