Professional Documents
Culture Documents
Penyusun memanjatkan puji syukur kepada Allah SWT yang telah melimpahkan
Rahmat dan Hidayah-Nya, sehingga penyusun dapat menyelesaikan e-book yang berjudul
Data – link layer of OSI layer. Penyusunan e-book ini berisi tentang pengertian, apa itu data
– link layer, device – device yang ada pada data-link, dll lebih banyak lagi yang lain nya. E-
book yang jauh dari kesempurnaan ini kami sebagai penyusun meminta maaf apabila ada
kesalahan atau ketidak lengkapan sebuah materi pada e-book.
Penyusun pun berterimakasih pada situs – situs dan buku – buku yang telah
membantu dalam penyusunan e-book ini. E-book yang berjudul Data – link layer of OSI laye
ini terbentuk melalui berbagai kesulitan tetapi buku ini juga memiliki tujuan beberapanya
adalah ingin membuat anda sebagai pembaca mengetahui tentang Data-Link layer dari
pengertian sampai device-device di dalam nya dan masih banyak lagi lebih dari pada itu.
karena itu penyusun berharap e-book ini dapat bermanfaat bagi anda, penyusun, pembaca,
bangsa, dan Negara.
Terdapat 7 layer pada model OSI. Setiap layer bertanggungjawwab secara khusus
pada proses komunikasi data. Misal, satu layer bertanggungjawab untuk membentuk koneksi
antar perangkat, sementara layer lainnya bertanggungjawab untuk mengoreksi terjadinya
―error‖ selama proses transfer data berlangsung. Model Layer OSI dibagi dalam dua group:
Tugas utama dari data link layer adalah sebagai fasilitas transmisi data mentah dan
mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi. Sebelum
diteruskan ke Network Layer, lapisan data link melaksanakan tugas ini dengan
memungkinkan pengirim memecah-mecah data input menjadi sejumlah data frame (biasanya
Penting untuk dimengerti bahwa router, yang bekerja di Layer Network tidak peduli
sama sekali tentang dimana lokasi suatu host berada. Router hanya peduli pada dimana
network tersebut berada, dan cara terbaik untuk menjangkaunya termasuk yang remote.
Router akan menjadi sangat obsesif dalam menangani network. Data Link yang bertanggung
jawab pada identifikasi sesungguhnya dari tiap peralatan yang ada di network.
Untuk sebuah host mengirim paket ke sebuah host lain di network local ataupun
mengirimkan paket melewati router, layer Data Link menggunakan pengalaman perangkat
keras. Setiap saat sebuah paket terkirim melewati router-router, paket tersebut akan
dibungkus dengan informasi control layer Data Link, tetapi informasi tersebut akan dilepas di
router penerima yang tertinggal adalah paket asli. Proses pembungkusan (framing) ini akan
berlanjut di setiap hop sampai paket akhirnya terkirim ke host penerima yang sebenarnya.
Paket itu sendiri tidak pernah berubah sepanjang rute, ia hanya dibungkus dengan semacam
informasi control yang diperlukannya untuk melalui berbagai media yang berbeda.
Sublayer Media Access Control adalah sublayer pertama atau sublayer bawah dari
layer Data Link.sublayer memecah data manjadi frame sebelum ditransmisikan, dan
memegang address fisikal (MAC address) untuk address jaringan. Piranti seperti Switches
dan bridges menggunakan address Data Link untuk mengarahkan data user melalui jaringan
menuju ke host tujuan. Sublayer MAC menangani tiga macam tugas berikut ini:
1. Deteksi Error, saat frame dan bits ditransmisikan melalui jaringan, error bisa saja terjadi.
Error komunikasi bisa masuk dalam salah satu dari dua category berikut:
b. Paket diterima, akan tetapi berisi data yang corrupt (rusak atau cacat)
Paket-2 yang hilang bisa diidentifikasi melalui nomor urut, dan koreksi dilakukan terkait
dengan fitur pengendali aliran. Data rusak dalam suatu paket ditentukan menggunakan
satu dari dua metoda berikut: parity bits dan Cyclic Redundancy Check (CRC).
Parity bit digunakan dengan transmisi asynchronous sederhana. Error dideteksi dengan
menambahkan sebuah bit extra yang disebut bit parity, di setiap ujung frame. Bit
tambahan ini menjamin bahwa jumlah bit 1 yang ganjil dan yang genap dikirim di setiap
transmisi. Pemeriksaan error dilakukan dengan menambahkan jumlah bit 1 kedalam
frame. Jika jumlahnya tidak ganjil (atau tidak genap jika dipakai parity genap) maka
dipastikan terjadi suatu error
Cyclic Redundancy Check (CRC) adalah komputasi matematis yang digunakan untuk
mendeteksi error dalam komunikasi synchronous. Piranti pengirim menerapkan kalkulasi
kepada data yang akan ditransmisikan. Hasilnya ditambahkan kepada paket. Begitu data
diterima oleh piranti penerima maka ia melakukan metoda yang sama. Jika data CRC ini
berbeda, maka dianggap bahwa suatu error terjadi saat transmisi. Gambar berikut ini
menjelaskan gambaran sederhana proses diatas, proses sesungguhnya sebenarnya sangat
kompleks.
2. Mengendalikan aliran, untuk mencegah transmisi data menjadi mampet atau membanjiri si
penerima, sublayer LLC memberikan pengendalian aliran yang memperlambat kecepatan
aliran pengiriman data. Ada tiga macam metoda:
b. Buffering, adalah penyimpanan sementara disisi penerima, jika paket datang, maka
paket disimpan sementara di buffering sampai data bisa diproses. Jika paket datang
lebih cepat dari paket yang bisa diproses, maka buffer akan tumpah. Berarti data error,
dan data perlu dikirim ulang. Cara pengontrolan di sisi penerima bisa dengan sinyal
message ―not ready‖.
a. Menjalankan beberapa protocol layer-2 diatasnya pada piranti yang sama dan pada
saat yang sama.
b. Menjalankan protocol-2 yang sama layer diatasnya pada media transmisi yang
berbeda.
Fungsi dari lapisan data link adalah menyediakan layanan bagi lapisan jaringan.
Layanannya yang penting adalah pemindahan data dari lapisan jaringan pada node sumber ke
lapisan jaringan di pada node yang dituju. Tugas lapisan data link adalah menstransmisikan
bit-bit ke komputer yang dituju, sehingga bit-bit tersebut dapat diserahkan ke lapisan
jaringan. Berkas:Heru1.GIF
Setiap layanan yang diberikan data link layer akan dibahas satu persatu:
Layanan jenis ini mempunyai arti di mana node sumber mengirimkan sejumlah frame
ke node 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 lapisan data-link. Jenis layanan ini cocok bila laju
kesalahan (error rate) sangat rendah, sehingga recovery bisa dilakukan oleh lapisan yang
lebih tinggi. Sebagian besar teknologi [LAN] meggunakan layanan unacknowledgment
connectionless pada lapisan data link.
Pada layanan jenis ini berkaitan dengan masalah reabilitas. Layanan ini juga tidak
menggunakan koneksi, akan tetapi setiap frame dikirimkan secara independen dan secara
acknowledged. Dalam hal ini, si pengirim akan mengetahui apakah frame yang dikirimkan ke
komputer tujuan telah diterima dengan baik atau tidak. Bila ternyata belum tiba pada interval
waktu yang telah ditentukan, maka frame akan dikirimkan kembali. Layanan ini akan
berguna untuk saluran unreliable, seperti sistem nirkabel.
Pada saat layanan connection oriented dipakai, pemindahan data mengalami tiga fase.
Pada fase pertama koneksi ditentukan dengan membuat kedua node menginisialisasi variabel-
variabel dan counter-counter yang diperlukan untuk mengawasi frame yang mana yang
diterima dan yang belum diterima. Dalam fase kedua, satu frame atau lebih mulai
ditransmisikan dari node sumber ke node tujuan. Pada fase ketiga, koneksi dilepaskan,
pembebasan variabel, buffer dan sumber daya yang lain yang dipakai untuk menjaga
berlangsungnya koneksi.
1.2 Framing
Untuk melayani lapisan jaringan, lapisan data-link harus menggunakan layanan yang
disediakan oleh lapisan fisik. Apa yang dilakukan lapisan fisik adalah menerima aliran bit-bit
mentah dan berusaha untuk mengirimkannya ke tujuan. Aliran bit ini tidak dijamin bebas dari
kesalahan. Jumlah bit yang diterima mungkin bisa lebih sedikit, sama atau lebih banyak dari
jumlah bit yang ditransmisikan dan juga bit-bit itu memiliki nilai yang berbeda-beda. Bila
diperlukan, lapisan data-link juga dapat diserahi tanggung jawab untuk mendeteksi dan
mengoreksi kesalahan yang terjadi.
Pendekatan yang umum dipakai adalah lapisan data link memecah aliran bit menjadi
frame-frame dan menghitung nilai checksum untuk setiap frame-nya. Memecah-mecah aliran
bit menjadi frame-frame lebih sulit dibandingkan dengan apa yang kita kira. Untuk
memecah-mecah aliran bit ini, digunakanlah metode-metode khusus. Ada empat buah metode
yang dipakai dalam pemecahan bit menjadi frame, yaitu :
1. Karakter Penghitung
Metode ini menggunakan sebuah field pada header untuk menspesifikasi 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 framenya. Teknik ini bisa dilihat pada gambar 3
di bawah ini, dimana ada empat buah frame yang masing-masing berukuran 5,5,8 dan 8
karakter.
Masalah yang akan timbul pada aliran karakter ini apabila terjadi error transmisi.
Misalnya, bila hitungan karakter 5 pada frame kedua menjadi 7 (Gambar 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.
Metode yang kedua ini mengatasi masalah resinkronisasi setelah terjadi suatu error
dengan membuat masing-masing frame diawali dengan deretan karakter DLE, STX, ASCII
dan diakhiri dengan DLE, ETX. DLE adalah Data Link Escape, STX adalah Start of Text,
ETX adalah End of Text. Dalam metode ini, bila tempat yang dituju kehilangan batas-batas
frame, maka yang perlu dilakukan adalah mencari karakter-karakter DLE, STX, DLE dan
ETX.
Masalah yang akan terjadi pada metode ini adalah ketika data biner ditransmisikan.
Karakter-karakter DLE, STX, DLE dan ETX yang terdapat pada data akan mudah sekali
mengganggu framing. Salh satu car untuk mengatasi masalah ini adalah dengan membuat
data link layer, yaitu pengirim menyisipkan sebuah karajter DLE ASCII tepat sebeum
Teknik baru memungkinkan frame data berisi sejumlah bit dan mengijinkan kod
karakter dengan sejumlah bit per karakter. Setip 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 analog dengan pengisian karakter, dimana sebuah DLE diisikan ke
aliran karakter keluar sebelum DLE pada data (Gambar 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 ditrnsmisikan kembali sebagai 011111010 tapi akan disimpan di memori penerima
sebagai 01111110.
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.
Flow control ini diatur/dikelola oleh Data Link Control (DLC) atau biasa disebut
sebagai Line Protocol sehingga pengiriman maupun penerimaan ribuan message dapat terjadi
dalam kurun waktu sesingkat mungkin. DLC harus memindahkan data dalam lalu lintas yang
efisien. Jalur komunikasi harus digunakan sedatar mungkin, sehingga tidak ada stasiun yang
berada dalam kadaan idle sementara stasiun yang lain saturasi dengan lalu lintas yang
berkelebihan. Jadi flow control merupakan bagian yang sangat kritis dari suatu jaringan.
Berikut ini ditampilkan time diagram Flow control saat komunikasi terjadi pada kondisi tanpa
error dan ada error.
Mekanisme Flow control yang sudah umum digunakan adalah Stop and Wait dan Sliding
window, berikut ini akan dijelaskan kedua mekanisme tersebut.
Pendekatan stop and wait adalah sesuai untuk susunan transmisi half duplex, karena
dia menyediakan untuk transmisi data dalam dua arah, tetapi hanya dalam satu arah setiap
saat. Kekurangan yang terbesar adalah disaat jalur tidak jalan sebagai akibat dari stasiun yang
dalam keadaan menunggu, sehingga kebanyakan DLC stop and wait sekarang menyediakan
lebih dari satu terminal yang on line. Terminal-terminal tetap beroperasi dalam susunan yang
sederhana. Stasiun pertama atau host sebagai penaggung jawab untuk peletakkan message
Urutan sederhana ditunjukkan pada gambar 8 dan menjadi masalah yang serius ketika
ACK atau NAK hilang dalam jaringan atau dalam jalur. Jika ACK pada event 3 hilang,
setelah habis batas waktunya stasiun master mengirim ulang message yang sama untuk kedua
kalinya. Transmisi yang berkelebihan mungkin terjadi dan menciptakan sebuah duplikasi
record pada tempat kedua dari file data pengguna. Akibatnya, DLC harus mengadakan suatu
cara untuk mengidentifikasi dan mengurutkan message yang dikirimkan dengan berdasarkan
pada ACK atau NAK sehingga harus dimiliki suatu metoda untuk mengecek duplikat
message.
Sifat inefisiensi dari stop and wait DLC telah menghasilkan teknik pengembangan
dalam meperlengkapi overlapping antara message data dan message control yang sesuai. Data
dan sinyal kontrol mengalir dari pengirim ke penerima secara kontinyu, dan beberapa
message yang menonjol (pada jalur atau dalam buffer penerima) pada suatu waktu.
DLC ini sering disebut sliding windows karena metode yang digunakan sinkron dengan
pengiriman nomer urutan pada header dengan pengenalan yang sesuai. Stasiun transmisi
Sebagai contoh pada gambar 10 suatu penerima dari ACK dari message 1 mengalir ke
Station A untuk menggeser jendela sesuai dengan urutan nomor. Jika total message 10 harus
dalam jendela, Station A dapat menahan pengiriman message 5,6,7,8,9,0, dan 1. (menahan
message-message 2,3 dan 4 dalam kondisi transit). Dia tidak harus mengirim sebuah message
menggunakan urutan 2 sampai dia menerima sebuah ACK untuk 2. Jendela melilitkan secara
melingkar untuk mengumpulkan nomor-nomor set yang sama. Untuk lebih jelasnya dapat
dilihat gambar berikut menampilkan lebih detail mekanisme sliding window dan contoh
transmisi messagenya.
Para perancang jaringan telah membuat dua strategi dasar yang berkenaan dengan
error. Cara pertama adalah dengan melibatkan informasi redundan secukupnya bersama-
sama dengan setiap blok data yang dikirimkan untuk memungkinkan penerima menarik
kesimpulan tentang apa karakter yang ditransmisikan yang seharusnya ada. Cara lainnya
adalah dengan hanya melibatkan redundansi secukupnya untuk menarik kesimpulan
bahwa suatu error telah terjadi, dan membiarkannya untuk meminta pengiriman ulang.
Untuk bisa mengerti tentang penanganan error, kita perlu melihat dari dekat
tentang apa yang disebut error itu. Biasanya, sebuah frame terdiri dari m bit data (yaitu
pesan) dan r redundan, atau check bits. Ambil panjang total sebesar n (yaitu, n=m+r).
Sebuah satuan n-bit yang berisi data dan checkbit sering kali dikaitkan sebagai codeword
n-bit.
Ditentukan dua buah codeword: 10001001 dan 10110001. Disini kita dapat
menentukan berapa banyak bit yang berkaitan berbeda. Dalam hal ini, terdapat 3 bit yang
berlainan. Untuk menentukannya cukup melakukan operasi EXCLUSIVE OR pada kedua
codeword, dan menghitung jumlah bit 1 pada hasil operasi. Jumlah posisi bit dimana dua
codeword berbeda disebut jarak Hamming (Hamming, 1950). Hal yang perlu diperhatikan
adalah bahwa bila dua codeword terpisah dengan jarak Hamming d, maka akan
diperlukan error bit tunggal d untuk mengkonversi dari yang satu menjadi yang lainnya.
Pada sebagian besar aplikasi transmisi data, seluruh 2m pesan data merupakan
data yang legal. Tetapi sehubungan dengan cara penghitungan check bit, tidak semua 2n
digunakan. Bila ditentukan algoritma untuk menghitung check bit, maka akan
dimungkinkan untuk membuat daftar lengkap codeword yang legal. Dari daftar ini dapat
dicari dua codeword yang jarak Hamming-nya minimum. Jarak ini merupakan jarak
Hamming bagi kode yang lengkap.
Sifat-sifat pendeteksian error dan perbaikan error suatu kode tergantung pada
jarak Hamming-nya. Untuk mendeteksi d error, anda membutuhkan kode dengan jarak
d+1 karena dengan kode seperti itu tidak mungkin bahwa error bit tunggal d dapat
mengubah sebuah codeword yang valid menjadi codeword valid lainnya. Ketika penerima
melihat codeword yang tidak valid, maka penerima dapat berkata bahwa telah terjadi
error pada transmisi. Demikian juga, untuk memperbaiki error d, anda memerlukan kode
yang berjarak 2d+1 karena hal itu menyatakan codeword legal dapat terpisah bahkan
dengan perubahan d, codeword orisinil akan lebih dekat dibanding codeword lainnya,
maka perbaikan error dapat ditentukan secara unik.
Sebagai contoh sederhana dari kode perbaikan error, ambil sebuah kode yang hanya
memiliki empat buah codeword valid :
Kode ini mempunyai jarak 5, yang berarti bahwa code tersebut dapat memperbaiki error
ganda. Bila codeword 0000011111 tiba, maka penerima akan tahun bahwa data orisinil
seharusnya adalah 0000011111. Akan tetapi bila error tripel mengubah 0000000000
menjadi 0000000111, maka error tidak akan dapat diperbaiki.
Bayangkan bahwa kita akan merancang kode dengan m bit pesan dan r bit check yang
akan memungkinkan semua error tunggal bisa diperbaiki. Masing-masing dari 2m pesan
yang legal membutuhkan pola bit n+1. Karena jumlah total pola bit 2n. adalah 2n, kita
harus memiliki (n+1)2m
Dalam kenyataannya, batas bawah teoritis ini dapat diperoleh dengan menggunakan
metoda Hamming (1950). Bit-bit codeword dinomori secara berurutan, diawali dengan bit
1 pada sisi paling kiri. Bit bit yang merupakan pangkat 2 (1,2,4,8,16 dan seterusnya)
adalah bit check. Sisanya (3,5,6,7,9 dan seterusnya) disisipi dengan m bit data. Setiap bit
check memaksa parity sebagian kumpulan bit, termasuk dirinya sendiri, menjadi genap
(atau ganjil). Sebuah bit dapat dimasukkan dalam beberapa komputasi parity. Untuk
mengetahui bit check dimana bit data pada posisi k berkontribusi, tulis ulang k sebagai
Kode Hamming hanya bisa memperbaiki error tunggal. Akan tetapi, ada trick
yang dapat digunakan untuk memungkinkan kode Hamming dapat memperbaiki error
yang meletup. Sejumlah k buah codeword yang berurutan disusun sebagai sebuah
matriks, satu codeword per baris. Biasanya, data akan ditransmisikan satu baris codeword
sekali, dari kiri ke kanan. Untuk mengkoreksi error yang meletup, data harus
ditransmisikan satu kolom sekali, diawali dengan kolom yang paling kiri. Ketika seluruh
k bit telah dikirimkan, kolom kedua mulai dikirimkan, dan seterusnya. Pada saat frame
tiba pada penerima, matriks direkonstruksi, satu kolom per satuan waktu. Bila suatu error
yang meletup terjadi, paling banyak 1 bit pada setiap k codeword akan terpengaruh. Akan
tetapi kode Hamming dapat memperbaiki satu error per codeword, sehingga seluruh blok
dapat diperbaiki. Metode ini memakai kr bit check untuk membuat km bit data dapat
immune terhadap error tunggal yang meletup dengan panjang k atau kurang.
Kode pendeteksian error kadang kala digunakan dalam transmisi data. Misalnya,
bila saturan simplex, maka transmisi ulang tidak bisa diminta. Akan tetapi sering kali
deteksi error yang diikuti oleh transmisi ulang lebih disenangi. Hal ini disebabkan karena
Anggap ukuran blok sama dengan 1000 bit. Untuk melaksanakan koreksi error
blok 1000 bit, diperlukan 10 bit check; satu megabit data akan membutuhkan 10.000 bit
check. Untuk mendeteksi sebuah blok dengan error tunggal 1-bit saja, sebuah bit parity
per blok akan mencukupi. Sekali setiap 1000 blok dan blok tambahan (1001) akan harus
ditransmisikan. Overhead total bagi deteksi error + metoda transmisi ulang adalah hanya
2001 bit per megabit data, dibanding 10.000 bit bagi kode Hamming.
Bila sebuah bit parity tunggal ditambahkan ke sebuah blok dan blok dirusak oleh
error letupan yang lama, maka probabilitas error dapat untuk bisa dideteksi adalah hanya
0,5 hal yang sangat sulit untuk bisa diterma. Bit-bit ganjil dapat ditingkatkan cukup
banyak dengan mempertimbangkan setiap blok yang akan dikirim sebagai matriks persegi
panjang dengan lebar n bit dan tinggi k bit. Bit parity dihitung secara terpisah bagi setiap
kolomnya dan ditambahkan ke matriks sebagai baris terakhir. Kemudian matriks
ditransmisikan kembali baris per baris. Ketika blok tiba, penerima akan memeriksa semua
bit parity, Bila ada bit parity yang salah, penerima meminta agar blok ditransmisi ulang.
Metoda ini dapat mendeteksi sebuah letupan dengan panjang n, karena hanya 1 bit
per kolom yang akan diubah. Sebuah letupan dengan panjang n+1 akan lolos tanpa
terdeteksi. Akan tetapi bila bit pertama diinversikan, maka bit terakhir juga akan
diinversikan, dan semua bit lainnya adalah benar. (Sebuah error letupan tidak berarti
bahwa semua bit salah; tetapi mengindikasikan bahwa paling tidak bit pertama dan
terakhirnya salah). Bila blok mengalami kerusakan berat akibat terjadinya error letupan
yang panjang atau error letupan pendek yang banyak, maka probabilitas bahwa
sembarang n kolom akan mempunyai parity yang benar adalah 0,5. Sehingga probabilitas
dari blok yang buruk akan bisa diterima adalah 2 –n.
Polynomial seperti itu disebut polynomial yang bertingkat k-1. Bit dengan orde tertinggi
(paling kiri) merupakan koefisien dari xk-1; bit berikutnya merupakan koefisien dari xk-
2, dan seterusnya. Misalnya 110001 memiliki 6 bit, maka merepresentasikan polynomial
bersuku 6 dengan koefisien 1,1,0,0,0 dan 1:x5+x4+x0.
Pembagian juga diselesaikan dengan cara yang sama seperti pada pembagian bilangan
biner, kecuali pengurangan dikerjakan berdasarkan modulus 2. Pembagi dikatakan
―masuk ke‖ yang dibagi bila bilangan yang dibagi mempunyai bit sebanyak bilangan
pembagi.
Saat metode kode polynomial dipakai, pengirim dan penerima harus setuju
terlebih dahulu tentang polynomial generator, G(x). Baik bit orde tinggi maupun bit orde
rendah dari generator harus mempunyai harga 1. Untuk menghitung checksum bagi
beberapa frame dengan m bit, yang berkaitan dengan polynomial M(x), maka frame harus
lebih panjang dari polynomial generator. Hal ini untuk menambahkan checksum keakhir
frame sedemikian rupa sehingga polynomial yang direpresentasikan oleh frame
berchecksum dapat habis dibagi oleh G(x). Ketika penerima memperoleh frame
berchecksum, penerima mencoba membaginya dengan G(x). Bila ternyata terdapat sisa
pembagian, maka dianggap telah terjadi error transmisi.
1. Ambil r sebagai pangkat G(x), Tambahkan bit nol r ke bagian orde rendah dari
frame, sehingga sekarang berisi m+r bit dan berkaitan dengan polynomial xrM(x).
2. Dengan menggunakan modulus 2, bagi string bit yang berkaitan dengan G(x)
menjadi string bit yang berhubungan dengan xrM(x).
3. Kurangkan sisa (yang selalu bernilai r bit atau kurang) dari string bit yang
berkaitan dengan xrM(x) dengan menggunakan pengurangan bermodulus 2.
Sekarang kita menganalisis kekuatan metoda ini. Error jenis apa yang akan bisa
dideteksi ? Anggap terjadi error pada suatu transmisi, sehingga bukannya string bit untuk
T(x) yang tiba, akan tetapi T(x) + E(X). Setiap bit 1 pada E(x) berkaitan dengan bit yang
telah diinversikan. Bila terdapat k buah bit 1 pada E(x), maka k buah error bit tunggal
telah terjadi. Error tunggal letupan dikarakterisasi oleh sebuah awalan 1, campuran 0 dan
1, dan sebuah akhiran 1, dengan semua bit lainnya adalah 0.Begitu frame berchecksum
diterima, penerima membaginya dengan G(x); yaitu, menghitung [T(x)+E(x)]/G(x).
T(x)/G(x) sama dengan 0, maka hasil perhitungannya adalah E(x)/G(x). Error seperti ini
dapat terjadi pada polynomial yang mengandung G(x) sebagai faktor yang akan
mengalami penyimpangan, seluruh error lainnya akan dapat dideteksi.
Bila terdapat error bit tunggal, E(x)=xi, dimana i menentukan bit mana yang
mengalami error. Bila G(x) terdiri dari dua suku atau lebih, maka x tidak pernah dapat
habis membagi E(x), sehingga seluruh error dapat dideteksi.Bila terdapat dua buah error
bit-tunggal yang terisolasi, E(x)=xi+xj, dimana i > j. Dapat juga dituliskan sebagai
E(x)=xj(xi-j + 1). Bila kita mengasumsikan bahwa G(x) tidak dapat dibagi oleh x, kondisi
yang diperlukan untuk dapat mendeteksi semua error adalah bahwa G(x) tidak dapat habis
membagi xk+1 untuk sembarang harga k sampai nilai maksimum i-j (yaitu sampai
panjang frame maksimum). Terdapat polynomial sederhana atau berorde rendah yang
memberikan perlindungan bagi frame-frame yang panjang. Misalnya, x15+x14+1 tidak
akan habis membagi xk+1 untuk sembarang harga k yang kurang dari 32.768.
Bila terdapat jumlah bit yang ganjil dalam error, E(x) terdiri dari jumlah suku
yang ganjil (misalnya,x5+x2+1, dan bukannya x2+1). Sangat menarik, tidak terdapat
Untuk mengetahui bahwa polynomial yang bersuku ganjil dapat habis dibagi oleh
x+1, anggap bahwa E(x) mempunyai suku ganjil dan dapat habis dibagi oleh x+1. Ubah
bentuk E(x) menjadi (x+1)Q(x). Sekarang evaluasi E(1) = (1+1)Q(1). Karena 1+1=0
(modulus 2), maka E(1) harus nol. Bila E(x) mempunyai suku ganjil, pensubtitusian 1
untuk semua harga x akan selalu menghasilkan 1. Jadi tidak ada polynomial bersuku
ganjil yang habis dibagi oleh x+1.
Terakhir, dan yang terpenting, kode polynomial dengan r buah check bit akan
mendeteksi semua error letupan yang memiliki panjang <=r. Suatu error letupan dengan
panjang k dapat dinyatakan oleh xi(xk-1 + .....+1), dimana i menentukan sejauh mana dari
sisi ujung kanan frame yang diterima letupan itu ditemui. Bila G(x) mengandung suku x0,
maka G(x) tidak akan memiliki xi sebagai faktornya. Sehingga bila tingkat ekspresi yang
berada alam tanda kurung kurang dari tingkat G(x), sisa pembagian tidak akan pernah
berharga nol.
Bila panjang letupan adalah r+1, maka sisa pembagian oleh G(x) akan nol bila dan
hanya bila letupan tersebut identik dengan G(x). Menurut definisi letupan, bit awal dan
bit akhir harus 1, sehingga apakah bit itu akan sesuai tergantung pada bit pertengahan r-1.
Bila semua kombinasi adalah sama dan sebanding, maka probabilitas frame yang tidak
benar yang akan diterima sebagai frame yang valid adalah ½ r-1.
Dapat juga dibuktikan bahwa bila letupan error yang lebih panjang dari bit r+1 terjadi,
maka probabilitas frame buruk untuk melintasi tanpat peringatan adalah 1/2r yang
menganggap bahwa semua pola bit adalah sama dan sebanding.
4. Kendali kesalahan
Error detection, biasanya menggunakan teknik CRC (Cyclic Redundancy Check) Automatic
Repeat Request (ARQ), ketika error terdeteksi, pengirim meminta mengirim ulang frame
yang terjadi kesalahan.
Untuk menghindari terjadinya error atau memperbaiki jika terjadi error yang dilakukan
adalah melakukan perngiriman message secara berulang, proses ini dilakukan secara otomatis
dan dikenal sebagai Automatic Repeat Request (ARQ). Pada proses ARQ dilakukan beberapa
langkah diantaranya (1):
a. Error detection
b. Acknowledgment
c. Retransmission after timeout
d. Negative Acknowledgment
Bridge Remote menghadirkan tantangan yang unik dalam masalah transfer data.
Bridge Lokal masih jauh lebih cepat dan reliable dalam transfer data, selain biaya yang lebih
murah dibandingkan Bridge Remote, meskipun sampai saat ini kemampuan koneksi jarak
jauh (Wide Area Network) makin tinggi transfer datanya, contohnya penggunaan modem
DSL (Digital Subscriber Line) atau perangkat nirkabel yang bisa sampai 11Mbps.
Dari gambar, host A mengirim paket ke host B melalui bridge, di bridge paket data ethernet
distrip headernya oleh sub-lapisan MAC dan diteruskan ke sub-lapisan LLC lebih lanjut.
Setelah diproses di sub-lapisan LLC dan diimplementasikan protokol token-ring kemudian
dikirimkan ke sub-lapisan MAC dan selanjutnya secara fisik ditransfer melalui media fisik
token-ring.
Jenis switch yang sering dipakai adalah LAN switch, ATM switch dan gabungan
switch dengan teknologi routing. Switch Asynchronous Transfer Mode (ATM) menyediakan
switching kecepatan tinggi yang bersifat scalabe untuk workgroup, WAN sampai enterprise
backbone. Selain itu switch ATM bisa mengkombinasikan aplikasi suara, gambar dan data
dalam satu jaringan yang sama. Switch ATM menggunakan metoda switch paket yang fix-
size, paket ini biasa disebut dengan sel (cell).
Bandwidth, switch LAN memberikan bandwidth yang dedicated untuk setiap dan
antar portnya. Jika masing-masing port tersambung ke switch lagi atau share-hub
maka tiap segmen tersebut mendapat alokasi bandwidth yang sama (contohnya adalah
gambar implementasi VLAN di atas). Teknik ini biasa disebut dengan segmentasi
mikro (microsegmenting).
A. Switch LAN
B. Virtual LAN
C. Campus LAN
A. Switch LAN
Switch LAN adalah perangkat yang secara tipikal mempunyai beberapa port yang
menghubungkan beberapa segmen LAN lain dan port pada switch ini berkecepatan tinggi
(kita kenal 100Mbps untuk Ethernet, FDDI dan 155Mbps pada ATM).
Sebuah switch mempunyai bandwidth yang dedicated untuk setiap portnya. Untuk kinerja
yang tinggi biasanya satu port dipasang untuk satu workstation PC. Contoh sederhana seperti
terlihat di gambar.
Ketika switch mulai bekerja maka pada saat yang sama setiap workstation memulai
request data ke workstation lain (atau server), setiap request yang diterima ditampung oleh
switch dan memfilter MAC address dan port yang tersambung dari masing-masing
workstation, lalu disusun ke dalam sebuah tabel. Switch pada saat ini rata-rata mampu
menampung tabel MAC address sebanyak 8000.
Ketika perangkat yang terhubung ke switch akan melakukan transmisi data ke sebuah
host yang tidak termasuk dalam tabel MAC di atas maka switch akan mengalihkan bingkai
data tersebut ke seluruh port dan tidak termasuk port asal data tersebut. Teknik ini disebut
dengan flooding. Implementasi switch atau beberapa switch jika tanpa pertimbangan dan
perancangan bisa menyebabkan jaringan lumpuh karena flooding ini (bayangkan jika
flooding ini terjadi di share-hub).
Dalam jaringan TCP/IP setiap workstation juga mempunyai tabel MAC address, tabel
ini biasa disebut dengan ARP (Address Resolution Protocol). Tabel ini disusun sebagai
pasangan MAC address dengan IP address. Dengan tersambungnya workstation tersebut ke
switch, pada saat workstation membroadcast ARP/NetBIOS untuk mencari pasangan MAC
address dan IP address workstation lain akan dihadang oleh switch. Kondisi seperti ini
menyebabkan nama workstation tidak bisa langsung tampil dalam jaringan Samba atau
Windows. Solusi masalah fisik ini ditanggulangi dengan implementasi WINS server, setiap
workstation mendaftarkan dirinya langsung ke WINS server dan WINS server akan
menjawab setiap query dari broadcast ARP/NetBIOS.
B. Virtual LAN
Sebuah Virtual LAN atau dikenal sebagai VLAN merupakan fungsi logik dari sebuah
switch. Fungsi logik ini mampu membagi jaringan LAN ke dalam beberapa jaringan virtual.
Jaringan virtual ini tersambung ke dalam perangkat fisik yang sama. Implementasi VLAN
dalam jaringan memudahkan seorang administrator jaringan dalam membagi secara logik
group-group workstation secara fungsional dan tidak dibatasi oleh batasan lokasi. Generasi
pertama VLAN berbasis dari OSI Layer 2 (MAC address) dengan mekanisme bridging dan
multiplexing. Implementasi umum VLAN bisa kita deskripsikan dalam gambar berikut:
C. Campus LAN
Sebuah jaringan yang terdiri dari beberapa segmen dan menggunakan perangkat
switch sering disebut sebagai Campus LAN. Selain teknologi switching yang mengendalikan
jalur data juga diterapkan teknologi routing untuk mewadahi kebutuhan komunikasi antar
VLAN. Kombinasi dua teknologi ini memberikan kelebihan jaringan berupa:
1. Kartu NIC dengan media jaringan yang spesifik (Media-specific NIC): yang
membedakan kartu NIC menjadi beberapa jenis berdasarkan media jaringan yang
digunakan. Contohnya adalah NIC Ethernet, yang dapat berupa Twisted-Pair (UTP
atau STP), Thinnet, atau Thicknet, atau bahkan tanpa kabel (Wireless Ethernet).
2. Kartu NIC dengan arsitektur jaringan yang spesifik (architecture-specific NIC): yang
membedakan kartu NIC menjadi beberapa jenis, sesuai dengan arsitektur jaringan
yang digunakan. Contohnya adalah Ethernet, Token Ring, serta FDDI (Fiber
Distributed Data Interface), yang kesemuanya itu menggunakan NIC yang berbeda-
beda. Kartu NIC Ethernet dapat berupa Ethernet 10 Megabit/detik, 100 Megabit/detik,
1 Gigabit/detik atau 10 Gigabit/detik.
Tugas NIC adalah untuk mengubah aliran data paralel dalam bus komputer menjadi bentuk
data serial sehingga dapat ditransmisikan di atas media jaringan. Media yang umum
digunakan, antara lain adalah kabel UTP Category 5 atau Enhanced Category 5 (Cat5e),
kabel fiber-optic, atau radio (jika memang tanpa kabel).
ARP berasosiasi antara alamat fisik dan alamat IP. Pada LAN, setiap device, host,
station dll diidentifikasi dalam bentuk alamat fisik yang didapat dari NIC.
Setiap host atau router yang ingin mengetahui alamat fisik daripada host atau router
yang terletak dalam jaringan lokal yang sama akan mengirim paket query ARP secara
Hardware Type : adalah tipe hardware/perangkat keras. Banyak bit dalam field ini
adlah 16 bit. Sebagai contoh untuk Ethernet mempunyai tipe 1.
Protocol Type : adalah tipe protokol di mana banyaknya bit dalam field ini 16 bit.
Contohnya, untuk protokol IPv4 adalah 080016.
Hardware Length : field berisi 8 bit yang mendefinisikan panjang alamat fisik.
Contohnya, untuk Ethernet, panjang alamat fisik adalah 6 byte.
Protocol Length : field berisi 8 bit yang mendefinisikan panjang alamat logika dalam
satuan byte. Contoh : untuk protokol IPv4 panjangnya adalah 4 byte.
Operation Request & Reply: field berisi 16 bit ini mendefinisikan jenis paket untuk
ARP apakah itu berjenis ARP request atau ARP reply.
Target Hardware Address : field ini panjangnya juga variabel yang mendefiniskan
alamat fisik daripada target. Pada paket ARP request, field ini isinya 0 semua.
Target Protocol Address : field ini panjangnya juga variabel dan mendefinisikan
alamat logika (IP) dari target.
Enkapsulasi (pembungkusan)
Sebuah paket ARP dienkapsulasi langsung ke frame data link. Lihat Gambar berikut.
Lebih jelasnya……
1. Saat komputer pertama dinyalakan dan gabung dengan jaringan, dia hanya tau alamat
IP dan nomor MAC punya dirinya sendiri. Kita namakan komputer ini si A.
2. Ketika ada komputer yang bicara dengan komputer yang lain, si A juga ikut
mendapat paket yang dikirimkan ke komputer lain tersebut, meski paket itu bukan
untuk dirinya. Ini adalah sifat dari jaringan Ethernet.
3. Setelah paket dibuka, disitu ada data pengirim paket yang berisi nomor IP dan MAC.
Data tersebut lalu disimpan oleh si A kedalam daftar tabel MAC miliknya. Satu data
sudah tersimpan. Sip.
4. Dalam paket tersebut juga ada data penerima, yang terdiri dari nomor IP dan MAC si
penerima. Data tersebut juga disimpan.
5. Begitu seterusnya, jadi meski si A diam saja, dia bisa tau banyak tentang siapa saja
yang ada di jaringan ini, meski tidak semua.
6. Ketika dia mau mengirim data ke suatu nomor IP, maka dia harus tau alamat MAC
komputer yang akan ditujunya.
7. Jika dalam daftar MAC miliknya terdapat nomor IP komputer tujuan, maka dia dapat
langsung mengambil data tersebut.
8. Tapi jika tidak ada, maka si A melakukan broadcasting (pengumuman), 'nomor IP ini,
MAC-nya berapa?, kalo ada ada yang punya, hubungi aku di alamat IP dan MAC ini'
9. Semua anggota jaringan mendengarkan.
10. Jika ada yang sudah kenal A, maka diam saja. Tapi bagi yang belum, harus mencatat
data si A (IP + MAC) yang teriak tadi.
11. Bagi yang merasa dicari oleh si A, maka harus menjawab: 'itu IP-ku, dan MAC-ku
adalah ini'
12. Jawaban itu didengarkan oleh semua anggota jaringan.
13. Jika ada yang sudah kenal si penjawab, maka diam saja. Tapi bagi yang belum, harus
mencatat jawaban tadi kedalam dafatr MAC masing-masing.
a. Teknik Delay yang jelek, karena menggunakan looping. Mestinya pake API Sleep
ARP poisoning atau lebih populer di kenal ARP spoofing merupakan sebuah teknik
penyerangan jaringan yang digunakan untuk mengacaukan jaringan atau sebuah routing
didalam jaringan. Seorang yang melakukan ARP spoofing dapat mengintip data frame dalam
sebuah jaringan , memanipulasi traffic , atau memberhentikan traffic atau routing.
Host A
MAC 00:12:13:14:15:16
Host C
[ARP Poison Attacker]
192.168.1.2
Yangg bener mana nih?
MAC 00:01:02:AA:09:3B atau MAC 00:12:13:14:15:16 ?
192.168.1.1 yangg mana?
Dari gambar ilustrasi di atas dapat kita lihat bahwa ada 3 buah komputer dalam sebuah
jaringan, masing masing komputer A B dan C. Komputer A dan B awal nya bisa saling
berkomunikasi dengan baik satu sama lain , lalu muncullah Komputer C masuk dalam
jaringan melakukan poisoning ARP / ARP Spoofing dan mengelabui jaringan, dan seolah
olah ip 192.168.1.1 berada Di mac Address 00:01:02:AA:09:3B . Dengan teknik poisoning
komputer C bisa mengelabui komputer B bahwa sebenarnya pemiliki ip address 192.168.1.1
yang benar adalah komputer C .
Hebat bukan ? dengan mengacaukan jaringan menggunakan poisoning ARP attack sebuah
sistem jaringan yang baik bisa di bodohi dengan sempurna.
Lalu Bagai mana caranya mencegah atau usaha apa yang bisa dilakukan agar tidak
terpengaruh racun arp ini ?
Salah satu caranya adalah dengan men set arp static pada komputer
misal pada windows dengan cara mengetikan perintah berikut pada command prompt :
misal untuk IP 192.168.1.1 dan MAC 00:1e:58:3f:c5:de
ketik perintah berikut:
contoh :
/etc/ethers
192.168.0.1 00-1e-58-3f-c5-de
192.168.0.2 00-1e-58-3f-c5-da
192.168.0.3 00-1e-58-3f-c5-d1
ARP spoofing merupakan konsep dari serangan penyadapan diantara terhadap dua
mesin yang sedang berkomunikasi atau yang disebut dengan Man in The Middle Attack.
Sebuah aplikasi alat bantu untuk menganalisa paket dari protokol kita pergunakan alat yang
disebut wireshark di unduh di situs http://www.wireshark.org. Kita akan melakukan ARP
spoofing dengan menggunakan skrip ―arpret.c‖ skrip tersebut dibuat dengan bahasa
pemrograman C yang bekerja dengan mengirim ARP reply palsu kepada host target dan
hanya bisa dijalankan dalam sistem operasi Linux. Linux Slackware versi 12.1 berjalan di
komputer penyadap yang menjalankan skrip tersebut mempunyai IP 192.168.10.22 dengan
MAC address 00:1e:ec:c4:86:67 selain itu dilakukan setting kernel untuk bisa mem-forward
paket ke tujuan lain dengan kata lain meneruskan paket yang telah diterima.
Host yang menjadi sasaran adalah komputer yang berfungsi sebagai gateway
menjalankan sistem operasi Linux Fedora 8 dengan IP 192.168.10.7 (00:0C:F1:86:E3:35) dan
Setelah proses kompilasi skrip ―arpret.c‖ di sistem operasi Linux Slackware, lalu kita
akan mencoba mengirimkan sebuah ARP-reply palsu kepada komputer 192.168.10.7 dimana
headernya kita memberikan MAC address penyusup tapi dengan IP 192.168.10.4 yang
bertindak sebagai gateway dengan maksud komputer agar komputer penyusup dianggap
gateway oleh komputer 192.168.10.7. Kita mengatur kernel agar bisa melakukan meneruskan
paket dengan perintah dalam konsole Linux seperti di bawah ini :
Dilanjutkan dengan kompilasi skrip dan menjalankan skrip dengan opsi menggunakan
kartu Ethernet eth0. Header ARP-reply berisi alamat IP gateway 192.168.10.4 tapi dengan
MAC address 00:1e:ec:c4:86:67 lalu dikirimkan ke IP 192.168.10.6 dan opsi –k2 dengan
maksud proses meracuni ARP cache dilakukan secara terus-menerus.
Hal diatas mengakibatkan ter-manipulasinya isi cache ARP yang sebelumnya cache
untuk komputer gateway adalah 00:0C:F1:96:A7:1C tapi berubah menjadi MAC address dari
komputer penyusup 00:1e:ec:c4:86:67. Seperti yang terlihat pada gambar dibawah ini pada
komputer 192.168.10.7 yang menjalankan sistem operasi MS Windows XP SP2 dengan
mengetikkan arp –a untuk melihat semua ARP cache yang tersimpan.
Arp spoofing adalah teknik untuk menyadap frame data dalam jaringan lokal,
mengubah lalu lintas data atau memberhentikan lalu lintas data. Seorang penyusup dalam
melakukan ARP spoofing akan mengirim pesan ARP palsu ke ethernet jaringan lokal dengan
tujuan menyamakan alamat MAC dengan komputer lain misalnya komputer gateway. Jadi
setiap lalu lintas data terhadap IP gateway akan mengarah terlebih dahulu ke komputer
penyusup sebagai gateway palsu yang akhirnya diteruskan ke gateway yang asli dan
memungkinkan untuk memodifikasi data sebelum diteruskan ke gateway. Aksi ini disebut
dengan Man in The Middle Attack, serangan jenis ini bisa kita gambarkan sebagai berikut :
Jika kita analisa paket-paket yang dikirimkan penyusup ke korban menggunakan aplikasi
bantu untuk analisa paket dalam jaringan yang bernama wireshark akan tampak seperti
dibawah ini :
Lalu lintas yang terjadi antara korban 1 dan korban 2 akan diterima terlebih dahulu
oleh komputer penyusup sebelum di teruskan ke tujuan data yang bisa disadap adalah
transmisi tidak menggunakan enkripsi atau berbasis plain text seperti TELNET, FTP, POP,
RLOGIN, SSH1, ICQ, SMB, NS, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP,
SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.
Cara kerja RARP ini terjadi pada saat mesin seperti komputer atau router yang baru
bergabung dalam jaringan lokal, kebanyakan tipe mesin yang menerapkan RARP adalah
mesin yang diskless, atau tidak mempunyai aplikasi program dalam disk. RARP kemudian
memberikan request secara broadcast di jaringan lokal. Mesin yang lain pada jaringan lokal
yang mengetahui semua seluruh alamat IP akan akan meresponsnya dengan RARP reply
secara unicast. Sebagai catatan, mesin yang merequest harus menjalankan program klien
RARP, sedangkan mesin yang merespons harus menjalankan program server RARP.
Lihat Gambar berikut
Protocol Type : adalah tipe protokol di mana banyaknya bit dalam field ini 16 bit.
Contohnya, untuk protokol IPv4 adalah 080016.
Hardware Length : field berisi 8 bit yang mendefinisikan panjang alamat fisik.
Contohnya, untuk Ethernet, panjang alamat fisik adalah 6 byte.
Protocol Length : field berisi 8 bit yang mendefinisikan panjang alamat logika dalam
satuan byte. Contoh : untuk protokol IPv4 panjangnya adalah 4 byte.
Operation Request & Reply: field berisi 16 bit ini mendefinisikan jenis paket untuk
ARP apakah itu berjenis ARP request atau ARP reply.
Sender Protocol Address : field ini panjangnya juga variabel dan untuk
mendefiniskan alamat logika (alamat IP) dari pengirim.
Target Hardware Address : field ini panjangnya juga variabel yang mendefiniskan
alamat fisik daripada target. Pada paket ARP request, field ini isinya 0 semua.
Target Protocol Address : field ini panjangnya juga variabel dan mendefinisikan
alamat logika (IP) dari target.
Enkapsulasi (pembungkusan)
Sebuah paket ARP dienkapsulasi langsung ke frame data link. Lihat Gambar berikut.