Apa itu bit stuffing?

Bit stuffing adalah proses menyisipkan satu atau lebih bit ke dalam transmisi data sebagai cara untuk memberikan informasi sinyal ke penerima. Penerima tahu bagaimana mendeteksi, menghapus, atau mengabaikan bit yang disisipkan ini.

Dalam lapisan data link dari model OSI (Open Systems Interconnection), aliran bit dibagi menjadi unit yang lebih mudah dikelola, atau disebut frame. Setiap frame berisi informasi pengirim dan penerima untuk memfasilitasi proses transmisi.

Untuk memisahkan setiap frame, disisipkan sebuah byte flag 8-bit di awal dan akhir rangkaian. Tujuannya agar penerima tidak menganggap byte flag tersebut sebagai bagian dari data yang dikirimkan.

Bit stuffing juga punya fungsi lain, misalnya untuk menyamakan kecepatan bit dari berbagai aliran data yang berbeda agar bisa mengisi buffer atau melengkapi frame.

Terlepas dari tujuannya, lokasi bit yang disisipkan akan dikirimkan juga ke penerima. Di sisi penerima, bit tambahan ini diambil lalu data dikembalikan ke bentuk atau kecepatan aslinya. Dengan cara ini, bit stuffing memungkinkan beberapa channel tersinkronisasi, sehingga bandwidth yang tersedia bisa dimanfaatkan semaksimal mungkin.

Bit stuffing juga bisa digunakan dalam run-length limited coding, yaitu teknik yang membatasi jumlah bit berturut-turut tanpa transisi. Ini membantu mengurangi jumlah bit yang nilainya sama secara berturut-turut dalam streaming data, supaya transmisi dan penerimaan data tetap andal.

Tapi perlu dicatat, bit stuffing saja nggak menjamin payload bebas dari error saat transmisi. Tujuan utamanya adalah memastikan transmisi dimulai dan diakhiri di tempat yang benar. Maka dari itu, perlu ada teknik deteksi error tambahan untuk memeriksa error di akhir frame dan mengirim ulang jika perlu.

Beberapa orang juga menganggap bit stuffing mencakup bit padding, yaitu menambahkan bit untuk membuat unit transmisi sesuai dengan ukuran standar. Ini berbeda dengan bit robbing, yaitu metode signaling di dalam jalur data (in-band signaling).

Contoh nyata dari bit stuffing

Sistem T-carrier

Sistem T-carrier dikembangkan oleh AT&T Bell Laboratories untuk menyediakan transmisi digital untuk panggilan telepon yang dimultipleks.

Kecepatan bit dari sinyal T-carrier harus terus disinkronkan antara perangkat terminal dan repeater yang berdekatan, atau antara dua repeater.

Sinkronisasi ini dicapai dengan mendeteksi perubahan polaritas untuk setiap bit 1 di aliran bit. T1 menggunakan sinyal bipolar, di mana setiap bit 1 ditandai dengan tegangan yang polaritasnya berlawanan dari bit 1 sebelumnya.

Bit dengan nilai 0 ditandai dengan slot waktu tanpa tegangan. Kalau ada lebih dari 15 bit 0 berturut-turut, sistem bisa kehilangan sinkronisasi karena tidak ada perubahan sinyal yang bisa dideteksi.

Untuk mencegah hal itu, disisipkan pola bit pendek yang unik — termasuk beberapa bit 1 — agar bisa dikenali sebagai pola sinkronisasi. Penerima akan menghapus bit yang disisipkan dan mengembalikan aliran bit ke bentuk aslinya.

Paket HDLC

Contoh lain penggunaan bit stuffing bisa ditemukan pada protokol HDLC (High-Level Data Link Control). Dalam paket HDLC, setiap paket diawali dan diakhiri dengan pola 01111110. Untuk mencegah pola ini muncul di tengah-tengah data, sebuah bit 0 disisipkan setelah setiap lima bit 1 berturut-turut.

Ini sebelumnya disebut sebagai skema pengkodean non-return-to-zero di mana bit 0 mengalami transisi sinyal, sedangkan bit 1 tidak. Dalam skema ini, bit stuffing berarti menyisipkan bit 0 setelah urutan bit 1.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *