Acknowledgment
Dalam
jaringan data , telekomunikasi , dan bus komputer , sebuah pengakuan
( ACK ) adalah sinyal yang dikirimkan antara proses komunikasi ,
komputer , atau perangkat untuk menandakan pengakuan, atau penerimaan
pesan, sebagai bagian dari protokol komunikasi . The
negatif-pengakuan ( NAK atau NACK ) sinyal dikirim untuk menolak
pesan yang diterima sebelumnya, atau untuk menunjukkan beberapa jenis
kesalahan. Ucapan terima kasih dan ucapan terima kasih negatif
memberi tahu pengirim tentang keadaan penerima sehingga dapat
menyesuaikan keadaannya sendiri.
Seringkali,
pesan data dalam telekomunikasi mengandung checksum untuk
memverifikasi integritas payload dan header . Checksum berfungsi
sedemikian rupa sehingga jika satu bit data rusak, checksum akan
memiliki nilai yang berbeda, sehingga mereka dapat memberikan cara
yang murah untuk memeriksa integritas sinyal ( kemungkinan ). Jika
pesan diterima dengan checksum yang tidak valid (yaitu, data yang
diterima akan memiliki checksum yang berbeda dari yang dimiliki
pesan), penerima dapat mengetahui bahwa beberapa informasi rusak.
Paling sering, ketika checksum digunakan, pesan rusak yang diterima
tidak akan dilayani sinyal ACK, atau akan dilayani sinyal NAK.
Untuk
membangun koneksi, TCP menggunakan three-way handshake.
Sebelum klien mencoba terhubung dengan server, server harus terlebih
dahulu mengikat dan mendengarkan port untuk membukanya untuk koneksi:
ini disebut open pasif. Setelah pembukaan pasif ditetapkan, klien
dapat memulai pembukaan aktif. Untuk membuat
koneksi, three-way handshake (atau
3 langkah) terjadi:
- SYN: Buka aktif dilakukan oleh klien mengirim SYN ke server. Klien menetapkan nomor urut segmen ke nilai acak A.
- SYN-ACK: Sebagai tanggapan, server membalas dengan SYN-ACK. Nomor acknowledgment diatur ke satu lebih dari nomor urut yang diterima yaitu A + 1, dan nomor urut yang dipilih server untuk paket adalah nomor acak lain, B.
- ACK: Akhirnya, klien mengirim ACK kembali ke server. Nomor urut diatur ke nilai anknowled yang diterima yaitu A + 1, dan nomor pengakuan diatur ke satu lebih dari nomor urut yang diterima yaitu B + 1.
Pada
titik ini, baik klien dan server telah
menerima acknowledgment koneksi.
Langkah 1, 2 menetapkan parameter koneksi (nomor urut) untuk satu
arah dan diakui. Langkah 2, 3 menetapkan parameter koneksi (nomor
urut) untuk arah lain dan diakui. Dengan ini, komunikasi full-duplex
terjalin.
Banyak
protokol berbasis pengakuan, yang berarti mereka secara positif
mengakui penerimaan pesan. Internet itu Transmission Control Protocol
(TCP) adalah contoh dari protokol berbasis pengakuan. Ketika komputer
berkomunikasi melalui TCP, paket yang diterima diakui dengan mengirim
kembali paket dengan set bit ACK. Protokol TCP memungkinkan pengakuan
ini untuk disertakan dengan data yang dikirim dalam arah yang
berlawanan.
Beberapa
protokol mengirim satu pengakuan per paket informasi. Protokol lain
seperti TCP dan ZMODEM memungkinkan banyak paket untuk ditransmisikan
sebelum menerima pengakuan untuk salah satu dari mereka, sebuah
prosedur yang diperlukan untuk mengisi tautan produk penundaan
bandwidth tinggi dengan sejumlah besar byte dalam penerbangan.
Protokol
lain berbasis NAK, artinya mereka hanya menanggapi pesan jika ada
masalah. Contohnya termasuk protokol multicast paling andal yang
mengirim NAK ketika penerima mendeteksi paket yang hilang. Protokol
lain masih menggunakan NAK dan ACK. Binary Synchronous Communications
(Bisync) dan Adaptive Link Rate (untuk Ethernet Hemat Energi ) adalah
contohnya.
Protokol
lain seperti protokol RC-5 , User Datagram Protocol (UDP), dan X10
melakukan transmisi buta tanpa pengakuan, sering mentransmisikan
pesan yang sama beberapa kali dengan harapan bahwa setidaknya satu
salinan pesan dapat dilewati.
Fungsi
pengakuan digunakan dalam fungsi permintaan ulangi otomatis (ARQ).
Bingkai pengakuan diberi nomor berkoordinasi dengan bingkai yang
telah diterima, dan kemudian dikirim ke pemancar. Hal ini
memungkinkan pemancar untuk menghindari overflow atau underrun pada
penerima, dan untuk mengetahui adanya frame yang terlewat.
Dalam
Binary Synchronous Communications , NAK digunakan untuk menunjukkan
bahwa kesalahan transmisi terdeteksi di blok yang diterima sebelumnya
dan bahwa penerima siap untuk menerima pengiriman ulang blok itu.
Bisync tidak menggunakan karakter ACK tunggal, tetapi memiliki dua
urutan kontrol untuk pengakuan blok genap / ganjil.