Struktur Frame HDLC (High Level Data Link Control)

High Level Data Link Control (HDLC) menggunakan transmisi synchronous. Semua transmisi berbentuk frame, dan format frame tunggal memadai untuk seluruh jenis pertukaran data dan kontrol.
Gambar “Format Frame HDLC” di posting ini menyajikan gambaran struktur frame HDLC. Hal-hal seperti tanda, alamat, dan kontrol yang mendahului hal-hal yang berkaitan dengan informasi disebut sebagai: header. Sedangkan untuk Frame Check Sequence (FCS) dan tanda yang mengikuti hal-hal yang berkaitan dengan data disebut sebagai gandengan.

Bidang Tanda

Bidang tanda membatasi frame pada kedua ujungnya dengan pola khusus 01111110. Tanda tunggal bisa dipergunakan sebagai tanda penutup untuk satu frame dan tanda pembuka untuk frame berikutnya. Pada kedua sisi interfis pengguna-jaringan, receiver secara terus-menerus memburu deretan tanda untuk mensinkronkan frame permulaan. Sambil menerima frame, setasiun terus meneliti deretan tanda tersebut untuk menentukan ujung frame. Karena protocol membiarkan keberadaan pola-pola bit yang ganjil (misalnya, tidak terdapat batasan atas muatan berbagai jenis frame yang ditentukan oleh protocol jalur) tidak ada jaminan bahwa pola 01111110 tidak akan muncul disuatu tempat di dalam frame, yang dapat merusak sinkronisasi. Untuk menghindari problem ini, dipergunakan suatu prosedur tertentu yang disebut bit stuffing (isi). Diantara transmisi tanda permulaan dan tanda terakhir, transmitter akan selalu menyelipkan bit 0 ekstra setelah setiap kemunculan lima 1 didalam frame. Setelah mendeteksi tanda permulaan, receiver memantau deretan bit. Saat muncul pola lima 1, bit keenam ditentukan. Bila bit ini berupa 0, maka langsung dihapus. Bila bit keenam berupa 1 dan bit ketujuh berupa 0, kombinasi keduanya diterima sebagai tanda. Bila bit keenam dan ketujuh berupa 1, pengirim menunjukkan kondisi kegagalan.
Dengan menggunakan bit isi, pola-pola bit yang ganjil dapat diselilpkan kedalam bidang data didalam frame. Hal ini disebut data transparency.
Format Frame HDLC

Gambar “Bit Stuffing” menunjukkan suatu contoh tentang pengisian bit. perhatikan, pada dua kasus pertama, ekstra 0 tidak harus dibatasi untuk menghindari pola tanda, namun pembatasan itu diperlukan untuk operasi algoritma. Bila tanda dipergunakan pada tanda permulaan dan tanda terakhir, kesalahan 1-bit akan menggabungkan dua frame menjadi satu. Sebaliknya, kesalahan 1-bit di dalam frame dapat memecahnya menjadi dua.

Bidang Alamat

Bidang alamat menentukan stasiun sekunder yang ditunjukkan atau dimaksudkan untuk menerima frame. Ini tidak diperlukan untuk jalur ujung-ke-ujung, namun selalu dimasukkan untuk kepentingan keseragaman. Bidang alamat biasanya sepanjang 8 bit, namun berdasarkan kesepakatan, dipergunakan format yang diperluas di mana panjang alamat sebenamya merupakan perkalian dari 7 bit. Bit sisi paling kiri dari setiap octet adalah 1 atau 0, apakah memang itu yang sesuai atau apakah bukan merupakan octet terakhir dari bidang alamat. 7 bit yang tersisa dan setiap octet membentuk bagian dari alamat. Alamat octet tunggal 11111111 diterjemahkan sebagai alamat seluruh stasiun dalam format dasar atau yang diperluas. Selain itu juga dipergunakan untuk memungkinkan primer mentebarkan frame untuk penerima melalui semua sekunder.
Bit Stuffing

Bidang Kontrol

HDLC menetapkan tiga jenis frame, masing-masing dengan format kontrol yang berlainan. Information frames (I-frame) membawa data untuk ditransmisikan kepada pengguna (logika diatas HDLC yang menggunakan HDLC). Selain itu, data kontrol kesalahan dan arus menggunakan mekanisme ARQ yang piggybacked pada frame informasi. Unnumbered frames (U-frames) menyediakan fungsi kontrol jalur tambahan. Sedangkan bit pertama dan kedua dari kontrol digunakan untuk menentukan tipe frame. Posisi bit berikutnya disusun kedalam subbagian yang ditunjukkan pada Gambar “Format Frame HDLC (c)” dan (d) Pengunaannya akan dijelaskan pada pembahasan mengenai operasi HDLC di bawah.
Seluruh format kontrol memuat Poll Final (P/F) bit. Penggunaannya tergantung pada konteksnya. Biasanya, dalam frame perintah, ditunjukkan sebagai bit P dan disiapkan untuk satu fungsi yaitu: mengumpulkan (menanyai) respons frame dari peer HDLC entity. Pada frame respons, ditunjukkan sebagai bit F dan disiapkan untuk satu fungsi waktu yaitu: untuk menentukan frame respons yang ditransmisikan sebagai hasil perintah pengumpulan.
Perlu dicatat bahwa kontrol dasar untuk S-frame dan I-frame menggunakan nomor urut 3-bit. Dengan perintah set-mode yang tepat, kontrol yang diperluas bisa dipergunakan I, untuk frame S dan I yang memakai nomor urut 7. U-frame selalu memuat kontrol 8-bit.

Bidang Informasi

Bidang informasi hanya tersedia pada I-frame dan U-frame. Bidang ini terdiri dari beberapa deretan bit namun harus memuat nomor octet yang lengkap. Panjang bidang informasi mulai dari variabel sampai jumlah maksimum yang ditetapkan sistem.

Bidang Frame Check Sequence

Bidang Frame Check Sequence (FCS) merupakan kode pendeteksian kesalahan yang dikalkulasikan dari bit frame yang tersisa, eksklusif ataupun tanda. Kode normalnya adalah 16-bit CRC-CCITT. Pilihan32-bit, menggunakan CRC-32, bisa dipakai bila panjang frame atau jalur dinyatakan cukup memadai untuk pilihan ini.

Operasi HDLC

Operasi HDLC terdiri dari I-frame, S-frame, dan U-frame di antara dua stasiun. Berbagai perintah dan respon yang ditetapkan untuk frame-frame ini ditunjukkan dalam tabel. Operasi HDLC terdiri dari tiga tahap. Pertama, salah satu pihak atau pihak lainnya mengawali jalur data sehingga frame-frame tersebut bisa dipindahkan dengan cara yang tepat. Selama tahap ini, pilihan yang dipergunakan disepakati berdasarkan hal itu. Setelah inisialisasi ini, kedua pihak memindahkan data user dan kontrol informasi untuk menjalankan flow dan pengontrolan kesalahan. Terakhir, salah satu pihak memberi sinyal penghentian operasi.

lnisialisasi

Inisialisasi bisa diminta oleh salah satu dari kedua pihak tersebut dengan cara mengeluarkan salah satu dari keenam perintah set-mode. Perintah-perintah ini dimaksudkan untuk:
  1. Memberi tanda pada pihak lain bahwa inisialisasi telah diajukan.
  2. Menentukan salah satu dari ketiga model (NRM, ABM, ARM) yang diminta.
  3. Menentukan apakah nomor urut 3- atau 7 bit yang dipergunakan.
Bila pihak lain menerima permintaan ini, maka modul HDLC pada ujung tersebut mentransmisikan frame Unnumbered Acknowledgement (UA) kembali ke pihak yang mengawali. Bila permintaan ditolak, maka frame disconnected mode (DM) dikirim.

Transfer Data

Bila inisialisasi diterima dan ditolak, kemudian dibentuk koneksi logik. Kedua pihak bisa mulai mengirimkan data dalam I-frame, diawali dengan nomor urut 0. Bidang N(S) dan N(R) dari I-frame merupakan nomor urut yang mendukung control flow dan kontrol kesalahan. Modul HDLC yang mengirim deretan I-frame akan menomorinya berurutan, modul 8 atau 128, tergantung pada apakah nomor urut 3 atau 7-bit yang dipergunakan, serta menempatkan nomor urut pada N(S). N(R) adalah balasan untuk I-frame yang diterima; yang memungkinkan modul HDLC dapat menentukan I-frame nomor berapa yang diharapkan diterima selanjutnya.
S-frame juga dipergunakan untuk control flow dan error control. Frame Received Ready (RR) membalas I-frame terakhir yang diterima dengan cara menunjukkan I-frame berikutnya yang diinginkan. RR dipergunakan bila tidak ada pembalikan lalu lintas data user (I-frame) untuk membawa balasan. Received not ready (RNR) membalas I-frame, sama seperti RR, namun sekaligus meminta peer entity supaya menunda transmisi I-frame. Bila entitas yang mengeluarkan RNR siap kembali, RR dikirim lagi. REJ mengawali go-back-N ARQ.
Ini menunjukkan bahwa I-frame terakhir yang diterima telah ditolak dan diperlukan transmisi ulang seluruh I-frame yang dimulai dengan nomor N(R). Sedangkan selective reject (SREJ) dipergunakan untuk meminta transmisi ulang frame tunggal.

Diskoneksi (tak tersambung)

Salah satu modul HDLC bisa mengawali diskoneksi, baik atas inisiatifnya sendiri bila terdapat suatu kegagalan, maupun atas permintaan pengguna pada lapisan yang lebih tinggi. HDLC mengeluarkan diskoneksi dengan cara mengirimkan frame diskoneksi (DISC). Entitas remote harus menerima diskoneksi tersebut dengan cara menjawab lewat UA dan memberitahu pengguna pada lapisan yang lebih tinggi bahwa koneksi dihentikan. I-frame tak terbalas yang belum diselesaikan bisa saja hilang dan perbaikannya akan menjadi tanggung jawab lapisan yang lebih tinggi.

Contoh Operasi

Agar bisa lebih memahami operasi HDLC, beberapa contoh yang berkaitan dengan hal itu ditampilkan dalam Gambar “Operasi HDLC” dibawah. Pada diagram-diagram contoh, masing-masing anak panah termasuk kolom keterangan yang menentukan nama frame, susunan P/F bit, dan, bila sesuai, nilai N(R) dan N(S). Susunan bit F atau P adalah 1 bila ada tanda penandaan dan 0 bila tidak ada.
Gambar “Operasi HDLC – (a)” menunjukkan frame-frame yang terlibat dalam diskoneksi dan susunan jalur. Entitas protocol HDLC untuk salah satu pihak mengeluarkan perintah SABM ke pihak yang lain dan pencatat waktu mulai berjalan. Pihak yang lain dengan menerima SABM, mengembalikan respons UA dan menyusun variabel-variabel lokal dan penjumlah ke nilai-nilai awal mereka. Entitas pemula menerima respons UA, menyusun variabel dan penjumlahnya, serta menghentikan pewaktu.
Operasi HDLC

Operasi HDLC

Koneksi logik sekarang diakfifkan, dan kedua belah pihak mulai mentransmisikan frame. Sewajarnya waktu dari pencatat waktu berhenti, tanpa respons terhadap SABM, pengirim akan mengulang SABM, sebagaimana yang digambarkan. Ini akan diulangi kembali sampai UA atau DM diterima, atau setelah beberapa kali mencoba, entitas mengupayakan inisiasi berhenti dan melaporkan kegagalan tersebut ke entitas manajemen. Dalam kasus seperti itu, diperlukan intervensi dari lapisan yang lebih tinggi. Gambar yang sama “Operasi HDLC – (a)” menunjukkan prosedur diskoneksi. Salah satu pihak mengeluarkan perintah DISC, clan pihak yang lain meresponnya dengan UA.
Gambar “Operasi HDLC – (b)” menyajikan ilustrasi mengenai perpindahan I-frame full-duplex. Bila sebuah entitas mengirim sejumlah I-frame dalam suatu deretan tanpa data yang datang, maka nomor urut yang diterima kembali diulang. Perlu dicatat, bahwa sebagai tambahan untuk I-frame, perpindahan data bisa melibatkan frame-frame pengawas (misalnya, I,1,1;I,2.1 pada arah A-menuju-B ). Bila entitas menerima nomor I-frame dalam suatu deretan ; tanpa frame yang keluar, maka nomor urut yang diterima pada frame yang keluar berikutnya harus merefleksikan aktivitas kumulatifnya (misalnya, I,1,3 pada arah B-menuju-A).
Gambar “Operasi HDLC – (c)”menunjukkan operasi yang menyangkut ‘kondisi sibuk’. Kondisi semacam itu terjadi karena entitas HDLC tidak mampu memproses I-frame ketika mereka datang, atau user yang dituju tidak mampu menerima data ketika mereka tiba di I-frame. Di salah satu dari kedua kasus tersebut, penyangga penerima dari entitas menjadi penuh dan harus menghentikan aliran I-frame yang datang, dengan menggunakan perintah RNR. Pada contoh ini, A mengeluarkan RNR, yang memerlukan B untuk menghentikan transmisi I-frame. Stasiun yang menerima RNR biasanya akan selalu menanyai stasiun yang sibuk pada beberapa interval periodik dengan cara mengirimkan RR dengan P bit set. Hal ini memerlukan salah satu pihak merespon baik dengan RR ataupun dengan RNR. Bila kondisi sibuk sudah dihapus, A mengembalikan RR, dan transmisi I-frame dari B bisa dilanjutkan kembali.
Sebuah contoh tentang perbaikan kesalahan dengan menggunakan perintah REJ ditunjukkan pada Gambar “Operasi HDLC – (d)”. Pada contoh tersebut, A mentransmisikan I-frame bemomor 3,4, dan 5. Nomor 4 mengalami kesalahan dan menghilang. Saat B menerima I-frame nomor 5, B membuang frame ini karena tidak beres dan lalu mengirimkan REJ dengan N(R) 4. Hal ini menyebabkan A melakukan transmisi ulang seluruh I-frame yang telah dikirim, dimulai dengan frame 4. Ini diteruskan dengan mengirim frame-frame tambahan setelah transmisi ulang frame-frame.
Sedangkan contoh mengenai perbaikan kesalahan menggunakan waktu habis (timeout) ditunjukkan dalam gambar “Operasi HDLC – (e)”. Pada contoh ini, A mentransmisikan I-frame nomor 3 sebagai urutan terakhir dari deretan I-frame. Frame tersebut mengalami kesalahan. B mendeteksi kesalahan itu dan membuangnya. Namun, B tidak dapat mengirim REJ karena tidak ada cara untuk mengetahui apakah frame ini merupakan I-frame. Bila suatu kesalahan dideteksi dalam sebuah frame, seluruh bit dalam frame tersebut dicurigai, dan receiver tidak tahu tindakan apa yang harus dilakukan. Bagaimanapun juga, A sudah menyebabkan beIjalannya pencatat waktu sejak saat frame ditransmisikan. Pencatat waktu ini memiliki durasi yang cukup panjang untuk mencapai waktu respons yang diharapkan. Saat pewaktu berakhir, A mulai melakukan tindakan perbaikan. Ini biasanya dilakukan dengan cara menanyai salah satu pihak dengan sebuah perintah RR dengan P bit set, untuk menentukan status pihak yang lain. Karena pengirim meminta respon, entitas akan menerima frame yang berisikan bidang N(R) dan menjadi mampu untuk diterima. Dalam hal ini, respon tersebut menunjukkan bahwa frame 3 telah hilang, yang ditransmisikan kembali oleh A.

Followers

Kunjungan



free counters