DATA LINK LAYER
DATA LINK LAYER
Lapisan data
link (data link layer) merupakan lapisan kedua dari standar OSI. Tugas utama
data link layer adalah sebagai
fasilitas transmisi raw data dan
mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi.
Sebelum diteruskan ke network layer, data
link layer melaksanakan tugas ini dengan memungkinkan pengirim
memecah-mecah data input menjadi sejumlah data frame (biasanya berjumlah ratusan atau ribuat byte).
Kemudian data link layer mentransmisikan frame tersebut secara berurutan dan
memproses acknowledgement frame yang
dikirim kembali oleh penerima. Karena physical
layer menerima dan mengirim aliran bit tanpa mengindah arti atau arsitektur
frame, maka tergantung pada data link layer-lah untuk membuat dan
mengenali batas-batas frame itu. Hal
ini bisa dilakukan dengan cara membubuhkan bit khusus ke awal dan akhir frame.
1 .Masalah-masalah
Rancangan Data Link Layer
Bila secara insidental pola-pola bit ini bisa ditemui
pada data, maka diperlukan perhatian khusus untuk menyakinkan bahwa pola
tersebut tidak secara salah dianggap sebagai batas-batas frame.
Terjadinya noise pada
saluran data merusak frame. Dalam hal
ini, perangkat lunak data link layer pada
mesin sumber dapat mengirim kembali frame
yang rusak tersebut. Akan tetapi transmisi frame yang sama secara berulang-ulang bisa menimbulkan duplikasi frame. Duplikat frame perlu dikirim apabila acknowledgement
frame dari penerima yangdikembalikan ke pengirim telah hilang. Tergantung
pada layer inilah untuk mengatasi
masalah-masalah yang disebabkan rusaknya, hilangnya dan duplikasi frame. Data link layer menyediakan beberapa kelas layanan bagi network layer. Kelas layanan ini dapat
dibedakan dalam hal kualitas dan harganya.
Masalah-masalah lainya yang timbul pada data linklayer (dan juga sebagian besar layer
–layer di atasnya) adalah mengusahakan kelancaran proses pengiriman data dari
pengirim yang cepat ke penerima yang lambat. Mekanime pengaturan lalu-lintas
data yang harus memungkinkan pengirim mengetahui jumlah ruang buffer yang dimiliki penerima pada suatu
saat tertentu. Seringkali pengaturan aliran dan penanganan error ini dilakukan
secara terintegrasi.
Saluran yang dapat mengirim data pada kedua arahnya juga
bisa menimbulkan masalah. Sehingga dengan demikian perlu dijadikan bahan
pertimbangan bagi software data link
layer. Masalah yang dapat timbul disini adalah bahwa frame-frame acknowledgement yang mengalir dari A ke B bersaing
saling mendahului dengan aliran dari B ke A.
Lapisan data link ini terdiri dari dua sub layer, yaitu Logical Link Control (LLC)
Dan Medium Access Control (MAC). Fungsi dari LLC adalah melakukan
pemeriksaan kesalahan dan menangani transmisi frame. Setiap frame merupakan
sebuah paket data dan nomor urut yang di gunakan untuk memastikan pengiriman
dan sebuah checksum untuk melacak
data yang hilang. Sedangkan fungsi dari MAC adalah berurusan dengan mengambil
dan melepaskan data dari dan ke kabel, menentukan protokol untuk akses ke kabel
yang di-share di dalam sebuah LAN.
Sesuai dengan keterangan yang telah disebutkan di atas,
bahwa data link layer memiliki
beberapa fungsi spesifik, diantaranya penyediaan interface layanan yang baik bagi networklayer (mengenai network
layer akan dibahas pada bab selanjutnya), penentuan cara pengelompokan bit
dari physical layer ke dalam frame, hal hal yang berkaitan dengan
error transmisi dan pengaturan aliran frame sehingga receiver yang lambat tidak
akan terbanjiri oleh pengirim yang cepat.
1.1 Layanan
yang Disediakan Bagi Network Layer
Fungsi
dari data link layer adalah menyediakan layanan bagi network layer. Layanannya
yang penting adalah pemindahan data dari network layer di komputer sumber ke
network layer di komputer yang dituju.
Tugas data link layer adalah mentrasmisikan bit-bit ke komputer yang dituju,
sehingga bit-bit tersebut dapat diserahkan ke network layer(Gambar 1)
Data link layer dapat dirancang sehingga mampu
bermacam-macam layanan. Layanan aktual yang ditawarkan suatu sistem akan
berbeda dengan layanan sistem yang lainnya. Tiga layanan yang disediakan adalah
sebagai berikut:
1.
Layanan
unacknowledged connectionsless
2.
Layanan
acknowledged connectionsless
3.
Layanan
acknowledged connection-oriented
Setiap layanan yang diberikan data link layer akan
dibahas satu persatu.
1.1.1 Layanan
Unacknowledged Connectionsless
Layanan jenis ini mempunyai arti dimana komputer sumber
mengirimkan sejumlah frame ke
komputer lain yang dituju dengan tidak memberikan acknowledgment bagi diterimanya frame-frame
tersebut. Tidak ada koneksi yang dibuat baik sebelum atau sesudah dikirimkannya
frame. bila sebuah frame hilang
sehubungan dengan adanya noise, maka tidak ada usaha untuk memperbaiki masalah
tersebut di data link layer. Jenis layanan ini cocok bila laju error sangat
rendah, sehingga recovery bisa dilakukan oleh layer yang lebih tinggi sebagian
besar LAN menggunakan layanan unacknowledgement connectionless pada data link
layer
1.1.2 Layanan
Acknowledged Connectionless
Pada
layanan jenis ini berkaitan dengan masalah rehabilitas. Layanan ini juga tidak menggunakan koneksi, akan tetapi
setiapframe dikirim secara independen dan secara acknowledged. Dalam hal ini, si
pengirim akan mengetahui apakah frame yang dikirim ke komputer tujuan telah
diterima dengan baik atau tidak. Bila ternyata belum tiba pada interfal waktu
yang telah ditentukan maka frame akan dikirimkan kembali layannan ini akan
berguna untuk saluran unreliable, seperti sistem tanpa kabel.
1.1.3 layanan
Acknowledged Connection-oriented
Layanan
jenis ini merupakan layanan yang paling canggih dari semua layanan yang di
sediakan data link layer bagi network layer. Dengan layanan ini, komputer
sumber dan komputer tujuan membuat koneksi sebelum memindahkan datanya. Setiap
frame yang dikirim tentu saja diterima. Selain itu, layanan ini menjamin bahwa
setiap frame yang diterima benar-benar hanya sekali dan semua frame diterima
dalam urutan yang benar. Sebaliknya dengan layanan connectionsless, mungkin
saja hilangnya acknowledgement akan menyebabkan sebuah frame perlu dikirimkan
beberapa kali juga. Sedangkan layanan connections-oriented menyediakan
proses-proses network layer dengan aliran bit yang bisa diandalkan.
Pada
saat layanan connection oriented dipakai, pemindahan data mengalami tiga fase.
Pada fase pertama koneksi ditentukan dengan membuat kedua komputer menginisiasi
variabel-variabel dan counter-counter yang diperlukan untuk mengawasi frame
yang mana telah diterima dan yang mana yang belum. Dlam fase kedua, satu frame
atau lebih mulai ditransmisikan. Pada fase ketiga, koneksi dilepaskan,
pembebasan variabel, buffer dan resource yang lain yang dipakai untuk menjaga
berlangsungnya koneksi.
1.2 Framming
Untuk
melayani network layer, data link layer harus menggunakan layanan yang
disediakan oleh physical layer. Apa yang dilakukan phisical layer adalah
menerima aliran raw bit dan berusaha mengirimkannya ke tujuan. Aliran bit ini
tidak di jamin bebas dari error. Jumlah bit
yang diterima mungkin bisa lebih sedikit, sama atau lebih banyak dari
jumlah bit yang di transmisikan dan juga bit-bit itu memiliki nilai yang
berbeda-beda. Bila diperlukan, data link layer bertanggung jawab untuk
mendeteksi dan mengoreksi error.
Pendekatan
yang umum dipakai adalah data link layer memecahkan aliran bit menjadi
frame-frame dan menghitung checksum setiap frame-nya. Memecahkan-mecahkan
aliran bit menjadi frame-frame lebih sulit dibanding dengan apa yang di
bayangkan.
Untuk
memecah-mecahkan aliran bit ini, digunakan metode-metode khusus. Ada empat buah
metode yang dipakai dalam pemecahan bit menjadi frame, yaitu:
1.
Karakter
penghitung.
2.
Pemberian
karakter awal dan akhir, dengan pengisian karakter.
3.
Pemberian
flag awal dan akhir, dengan pengisian bit.
4.
Pelanggaran
pengkodean physical layer.
1.2.1. Karakter
penghitung
Metode
ini menggunakan sebuah field pada header untuk menspesifikasikan jumlah
karakter di dalam frame. ketika data link layer pada komputer yang dituju
melihat karakter penghitung, maka data link layer akan mengetahui jumlah
karakter yang mengikutinya dan kemudian juga akan mengetahui posisi ujung
frame-nya. Teknik ini bisa dilihat pada Gambar 4.3 di bawah ini, dimana ada
empat buah frame yang masing-masing berukuran 5,5,8 dan 8 karakter.
Gambar 3sebuah
aliran karakter tanpa error
Masalah
yang akan timbul pada aliran karakter ini apabila terjadi error transmisi.
Misalnya, bila hitungan karakter 5 pada frame kedua menjadi 7 (Gambar 4.4),
maka tempat yang dituju tidak sinkron dan tidak akan dapat mengetahui awal
frame berikutnya. Oleh karena permasalahan ini, metode hitungan karakter sudah
jarang dilakukan.
Gambar 4sebuah
aliran karakter dengan sebuah
1.2.2. Pemberian
karakter awal dan akhir
Metode yang
kedua ini mengatasi masalah resinkronisasi setelah terjadi suatu error dengan
membuat masing-masing frame diawali dengan deretan karakter DLE, STX, ASCII,
dan ETX.
Masalah yang
akan terjadi pada metode ini adalah ketika data biner ditransmisikan.
Karakter-karakter DLE, STK, DLE dan ETX yang terdapat pada data akan mudah
sekali mengganggu framming. Salah satu cara untuk mengatasi masalah ini adalah
dengan membuat data link layer, yaitu pengirim menyisipkan sebuah karakter DLE
ASCII tepat
sebelum
karakter DLE pada data. Teknik ini disebut character stuffing (pengisian
karakter) dan cara pengisiannya dapat dilihat pada gambar 4.5
DLE
|
A
|
DLE
|
DLE
|
DLE
|
ETX
|
B
|
STX
|
ETX
|
DLE
|
B
|
DLE
|
A
|
STX
|
DLE
|
Gambar .5 pengisian karakter
1.2.2.1.
Pemberian flag awal dan
akhir
Teknik baru memungkinkan
frame data berisi sejumlah bit dan mengijinkan kode karakter dengan sejumlah
bit per karakter. Setiap frame diawali dan diakhiri oleh pola bit khusus,
01111110, yang disebut byte flag. Kapanpun data link layer pada pengirim
menemukan lima buah flag yang berurutan pada data, maka data link layer secara
otomatis mengisikan sebuah bit 0 ke aliran bit keluar. Pengisian bit ini analog
dengan pengisian karakter, dimana sebuah DLE diisikan ke aliran karakter keluar
sebelum DLE pada data (Gambar 4.6)
Ketika penerima melihat
lima buah bit 1 masuk yang berurutan, yang diikuti oleh sebuah bit 0, maka penerima secara
otomatis menghapus bit 0 tersebut. Bila data pengguna berisi pola flag,
01111110, maka flag ini akan ditransmisikan kembali sebagai 0111111010 tapi
akan disimpan di memori penerima sebagai 01111110.
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
0
|
1
|
0
|
Pengisian
bit
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
Gambar 6 pengisian bit
1.2.2.2.
pelanggaran
pengkodean physical layer
Metode yang terakhir hanya bisa digunakan bagi
jaringan yang encoding pada medium fisiknya mengandung pengulangan. Misalnya,
sebagian LAN melakukan encode bit 1 data dengan menggunakan 2 bit fisik.
Umumnya, bit 1 merupakan pasangan tinggi rendah dan bit 0 adalah pasangan
rendah-tinggi. Kombinasi pasangan tinggi-tinggi dan rendah-rendah tidak
digunakan bagi data.
1.3.
Paket
data
Pada saat data akan
ditransmisikan, maka data akan dibagi menjadi paket yang kecil-kecil. Hal ini
dilakukan karena:
1.
Jaringan
tertentu hanya dapat menerima paket dengan panjang tertentu (misal ARPANET
hanya mampu mengirim paket sebanyak 8063).
2.
Jenis
flow control tertentu akan efisien jika berita yang dikirim dibagi dalam
paket-paket yang kecil (misal pada select repeat ARQ bila terjadi kerusakan
data pada saat transmisi, maka transmitter hanya perlu mengirim kembali paket
data tersebut)
3.
Agar
pengiriman jaringan tidak didominasi oleh user tertentu, karena dengan paket
data maka setiap user dapat di batasi jumlah paket data yang akan dikirimkan
sehingga dapat bergantian dengan user lainnya dalam memanfaatkan jaringan
tersebut.
4.
Paket
data yang kecil hanya memerlukan buffer yang kecil pada bagian receiver.
Akan
tetapi dalam melakukan pemotongan data menjadi paket data menjadi paket data,
harus memperhatikan bahwa data tidak boleh dipotong terlalu kecil, karena :
1.
Setiap
data memerlukan bit overhead (tiap paket harus disertai dengan SYN, ADDRESS,
CONTROL FIELD, CRC, FLAG, dan lain-lain). Pengiriman paketakan efisien jika
bagian data lebih besar dari bit overhead.
2.
Bila
paket data terlalu kecil maka waktu pemrosesan yang di perlukan untuk
pemrosesan sebuah paket yang besar.
Berikut ini beberapa contoh
paket (frame) data dari standart IEEE 802 yang secara umum telah banyak
digunakan sebagai standart paket data.
1.
Format
frame data standart IEEE 802.3 (Gambar 4.7).
Bytes 7 1 2 of 6 2
or 6 2
d-1500 0-40 4
Preamble
|
|
Destination adress,
|
Sourea adress
|
|
Data
|
pad
|
Ehedesum
|
Start
of frame delimeter sength
of data bold
Gambar 7 format frame IEEE 802.3
(gambar 4.7)
2.
Format
frame data standart IEEE 802.4 (Gambar 4.8)
Bytes
1 1 1 2 or 6 2 or 6 0-0162 4 1
|
|
|
Destination address
|
Sourcea adress
|
data
|
ehedesum
|
|
Frame control
Start
delimeter
preamble
Gambar 8 format frame IEEE 802.4
3.
Format
frame data standart IEEE 802.5 (gambar 4.9).
Bytes 1 1
1 2 or 6 2 or 6 no limit 4 1
1
S
d
|
A
|
F
|
Destination adress
|
Source adress
|
data
|
ehedesum
|
e
d
|
F
|
Acces
controlframe control end
delimeter
Starting dalimeter
Gambar .9 format frame IEEE 802.5
1.4.
Sistem penyandian bit data
Penyandian adalah proses
penggambaran dari satu set simbol menjadi set simbol yang lain. Sandi yang
digunakan tergantung dari interface atau hubungan yang dikehendaki. Sistem
penyandian yang utama dan banyak dipakai adalah:
1.
American
standart code for information interchange (ASCII)
2.
Sandi
baudot code (CCITT Alfabet no 2/Telex code)
3.
Sandi
4 atau 8
4.
Binary
code decimal
5.
EBCDIC
Pada umumnya sistem sandi
ASCII merupakan standart umum yang sering dipergunakan. Pemilihan sandi
tergantung pada kecepatan dan kehandalah yang di miliki.
1.2.1. American
standart code for information tnterchange (ASCII)
hampir sama dengan CCITT
alfabeth no 5, ASCII merupakan sandi 7 bit, sehingga terdapat 2 pangkat 7 yang
berarti ada 128 macam simbol yang dapat disandikan dengan sistem sandi ini,
sedangkan bit ke 8 merupakan bit paritas. Sandi ini dapat dikatakan yang paling
banyak dipakai sebagai standart pensiyalan pada peralatan komunikasi data.
Untuk transmisi asinkron tiap karakter disandikan dalam 10 atau 11 bit yang
terdiri dari 1 bit awal, 7 bit data, 1 bit paritas, 1 atau 2 bit akhir.
Sandi ASCII dapat dilihat pada tabel 4.1 berikut ini.
Tabel 4.1 sandi
ASCII
1.2.1.1.
karakter
data
pada komunikasi data diadakan pertukaran
informasi antara si pengirim dan penerima. Informasi yang dipertukaran terdiri
atas dua grup baik untuk ASCII maupun EBCDIC yaitu karakter data dan karakter
kendali.
Untuk melakukan encoding dari berita yang
dikirimkan, ada terminal yang hanya mengenal huruf besar saja, sehingga set
untuk huruf kecil tidak di pakai. Tiap karakter mempunyai kombinasi yang unik,
sehingga tidak akan terdapat salah penafsiran.
1.2.1.2.
karakter
kendali
karakter kendali digunakan untuk
mengendalikan transmisi data, bentuk atau format data, hubungan data dan fungsi
fisik terminal. Karakter kendali dibedakan atas:
1. transmission
control berfungsi
untuk membentuk paket data yang mudah di kenal dan menggendalikan transmisi
data dalam media transmisi.
2. Format
effectors berfungsi
untuk mengendalikan tata letak fisik informasi pada print out atau tampilan
layar.
3. Device
control berfungsi untuk mengendalikan peralatan
tambahan pada terminal.
4. Information
separators berfungsi
untuk mengelompokan data secara logis.
Dibawah ini akan diuraikan masing-masing karakter yang
telah disebutkan di atas.
4.3.1.2.1
transmission
control
bentuk berita tergantung pada sitem komunikasi yang
dipilih. Isi atau informasi berita biasa biasanya disebut teks. Kalau berita tersebut
di pecah-pecah dalam blok yang lebih kecil.
Blok teks ini kemudian disalurkan melalui saluran
transmisi ke tempat tujuannya. Untuk mengenali dan mengetahui apa yang harus
dilakukan dengan blok data yang diterima digunakan karakter transmission control.
Karakter transmission
control yang umum dikenal adalah sebagai berikut:
1.
SOH
(Start of header); digunakan sebagai karakter pertama yang menunjukkan bahwa
karakter berikutnya adalah header.
2.
STK
(start of text); digunakan untuk mengakhiri header
dan menunjukkan awal dari informasi atau teks.
3.
ETX
(End of text); digunakan untuk mengakhiri teks.
4.
EOT
(End of Transmission); untuk menyatakan bahwa transmisi dari teks baik satu
maupun lebih telah berakhir.
5.
ENQ
(Enquiry); untuk meminta agar remote
station mengirimkan tanggapan. Tanggapannya dapat berupa identifikasinya
atau status.
6.
ACK
(Acknowledge); untuk memberikan tanggapan positif ke pengirim dari si penerima.
7.
NACK
(Negative acknowledge); merupakan tanggapan negatif dari penerima ke pengirim.
8.
SYN
(Synchonous); digunakan dalam transmisi sinkron untuk menjaga atau memperoleh
sinkronisasi antar perlatan terminal.
9.
ETB
(End of Transmission Block); digunakan untuk menyatakan akhir dari blok data
yang ditransmisikan, bila berita dipecah menjadi beberapa blok.
10.
DLE
(Data Link Escape); mengubah arti karakter berikutnya.
Hanya
digunakan untuk lebih mengendalikan transmisi data.
Komentar
Posting Komentar