Week #5
Protokol Data Link Control
Pengantar
● Pada pembahasan Komunikasi Data, Topologi dan Medium
Transmisi kita sudah membahas tentang pengiriman sinyal melalui media transmisi.
● Pada pembahasan Data Link kita akan memfokuskan pada pengiriman data pada suatu hubungan komunikasi.
● Oleh karena adanya kesalahan transmisi dan kebutuhan penerima untuk mengatur kecepatan terhadap data yang diterima, maka dibutuhkan lapisan tambahan yang disebut data link control protocol.
● Beberapa fungsi yang harus dilakukan oleh Data Link Control antara lain :
– Sinkronisasi Frame
– Flow Control
– Error Control
– Pengalamatan
– Data dan kontrol pada jalur yang sama
– Manajemen sambungan
Terminologi
Frame
kumpulan bit yang membentuk paket data. Ini adalah unit transmisi dan error control.
Transmission Time
waktu yang dibutuhkan pengirim untuk mengirimkan semua bit sebuah frame ke medium transmisi
Propagation Time
waktu yang dibutuhkan oleh sebuah bit untuk melintas sepanjang medium transmisi dari pengirim ke penerima
Bit Length of a link
B = panjang frame (bit)
R = data rate pengirim (bps)
d = jarak sambungan (antara pengirim dan penerima = m) V = kecepatan perambatan (m/s)
● Jika L adalah jumlah bit per frame, maka a = B/L adalah jumlah frame maksimum yang dapat tetap “sehat” pada medium antara pengirim dan penerima.
● Sehingga a adalah jumlah frame maksimal yang dapat terkirimkan pada satu waktu.
● Jika d konstan, maka a bertambah sebagaimana R bertambah
● Jika R konstan, maka a bertambah sebagaimana d bertambah
● a merupakan parameter penting untuk unjuk kerja protokol.
● Untuk meningkatkan utilization sambungan komunikasi, maka dibutuhkan L lebih besar. Namun kemungkinan adanya kesalahan lebih besar ketika L besar.
FLOW CONTROL
● Flow control mencegah pengirim terhadap kondisi penerima yang memiliki keterbatasan kapasitas. Contoh : komunikasi antara PDA dengan PC melalui infrared.
Pengurangan Rs
Rs > Rr
● Penerima harus memproses setiap frame yang datang sebelum mengirimkannya ke lapisan lebih atas, dan proses ini membutuhkan waktu. Delay ini mungkin menyebabkan penampung penerima terus terisi (Rr < Rs)
● Ada dua cara bagi penerima agar dapat mengontrol aliran frame dari pengirim :
• Stop and Wait Flow Control
• Sliding Window Flow Control
Stop and Wait
Mendukung acknowledged connectionless LLC. Mekanisme :
Penerima setelah menerima PDU dari pengirim, akan mengirimkan ACK
Pengirim harus menunggu sampai menerima ACK. Setelah
menerima, baru mengirim PDU berikutnya
Berikut gambaran algoritma untuk simplex Stop-and-Wait :
typedef enum {frame_arrival} event_type; #include "protocol.h"
void sender2(void) {
frame s; /* buffer for an outbound frame */ packet buffer; /* buffer for an outbound packet */
event_type event; /* frame arrival is the only possibility */
while (true) {
from_network_layer(&buffer); /* go get something to send */ s.info = buffer; /* copy it into s for transmission */
to_physical_layer(&s); /* bye bye little frame */ /* do not proceed until given the go ahead */ wait_for_event(&event);
event_type event; /* framearrival is the only possibility */ while (true) {
wait_for_event(&event); /* only possibility is frame arrival */ from_physical_layer(&r); /* go get the inbound frame */
to_network_layer(&r.info); /* pass the data to the network layer */
to_physical_layer(&s); /* send a dummy frame to awaken sender */ }
}
Untuk suatu blok data yang besar akan dipecah menjadi PDU yang lebih kecil, dengan alasan :
ukuran buffer penerima terbatas
untuk transmisi jarak jauh, kemungkinan terjadi error atau data
hilang besar, sehingga akan lebih baik jika dikirim dalam PDU ukuran kecil, sehingga jika dibutuhkan untuk pengiriman ulang, akan dikirim ulang dalam ukuran kecil.
Pada shared medium seperti LAN, biasanya satu station yang mengirim akan diberi jatah waktu pemakaian bandwidth. Sehingga jika paket data yang dikirimkan besar dan membutuhkan waktu yang lebih lama daripada jatah waktu yang diberikan, maka tentu akan terjadi kesalahan. Untuk itu paket data perlu di pecah.
Dua titik stasiun berkomunikasi dengan menggunakan satelit. Jarak satelit dengan permukaan bumi adalah 36.000 km. Sehingga jarak antara stasiun bumi adalah 72.000 km. Data rate ( R ) pengirim adalah 1 Mbps. Sehingga
B = (106 x 72,000,000)/3 x 108 = 240,000 bit
Jika panjang frame adalah 8000 bit, maka
a = 240000/8000 = 30
Sehingga bit pertama akan sampai pada tujuan membutuhkan waktu
72000000/(3 x 108) = 240 ms
Bit terakhir akan membutuhkan tambahan waktu 8 ms (8000/106 =
0,008 sec = 8 ms). Sehingga waktu yang dibutuhkan untuk pengiriman 1 frame + ACK adalah
Tp + Tt + Tp = 240 + 8 + 240 = 488 ms!!
Sliding Window
Untuk efisiensi, tentunya dapat dikirimkan pada saat yang sama lebih dari 1 PDU. Bagaimana itu terjadi?
Pada gambar Contoh Sliding Window Protocol, Station B mengalokasikan buffer untuk menerima n PDU, dan station A diijinkan untuk mengirimkan n PDU juga tanpa harus menunggu ACK untuk tiap PDUnya.
Untuk tetap menjaga PDU mana yang telah di terima (ACK), tiap PDU diberi nomor urut. Daftar nomor urutan setiap window
ditentukan dari jumlah bit pada sequence bounded sizenya (K). Misal 3 bit, berarti sequence number dari 0 - 7.
Station B akan mengirim ACK yang berisi juga nomor PDU berikut
yang siap diterima station B.
Station A memelihara daftar urutan paket yang dapat dikirim, sedangkan station B memelihara daftar urutan paket yang dapat diterima. Daftar urutan paket ini disebut sebagai window.
Jumlah maksimal urutan paket tidak menentukan jumlah paket PDU yang dapat dikirimkan pada saat yang sama.
Berikut adalah contoh mekanisme pengiriman dan penerimaan dengan teknik Sliding Window :
ERROR CONTROL
- Error control merupakan suatu mekanisme untuk mendeteksi dan
Lost PDU. PDU gagal untuk tiba di tujuan.
Damaged PDU. Reorganized PDU tiba, tapi ada beberapa bit
informasi dalam kondisi error.
- Teknik error control sebagian besar di dasarkan pada beberapa
unsur berikut :
Error detection, penerima mendeteksi error dan membuang PDU yang error. Ada beberapa metode error detection, seperti Parity Check dan CRC (Cyclic Redundancy Check). Error detection dilakukan pada layer MAC.
Positive acknowledgment, tujuan mengembalikan positive
acknowledgment untuk menunjukkan bahwa PDU diterima dengan baik tanpa error.
Retransmission after timeout, sumber mengirim ulang PDU yang belum diacknowledged setelah kurun waktu tertentu.
Negative acknowledgment and retransmission, tujuan
mengembalikan negative acknowledgment terhadap PDU yang terdapat kesalahan. Sumber mengirim ulang PDU tersebut.
- Mekanisme-mekanisme tersebut bertindak sebagai automatic repeat request (ARQ), dimana efek dari ARQ adalah
mengembalikan data link unreliable ke reliable.
- Ada 3 teknik Error Control :
1.Stop and Wait ARQ
2.Go-Back-N ARQ
3.Selective-Reject ARQ
Stop and Wait ARQ
di dasarkan pada stop-and-wait flow control, dimana stasiun
sumber mengirim sebuah PDU tunggal dan menunggu sebuah ACK dari tujuan untuk dapat mengirimkan PDU tunggal berikutnya.
Ada dua error yang mungkin terjadi :
a. Damaged PDU. Penerima mendeteksi ini dengan menggunakan teknik error detection. Bagi si pengirim, ada definisi batasan waktu untuk menerima ACK. Jika sampai pada batas waktu, tidak ada ACK, PDU yang sama akan dikirim ulang.
tujuan ketika mengirimkan ACK ke pengirim rusak, sehingga stasiun pengirim mengirim ulang PDU yang sama. Akibatnya pada stasiun penerima akan menerima 2 PDU yang sama. Untuk itu, setiap ACK yang dikirim akan diberi label ACK0 untuk PDU1, ACK2 untuk PDU1, dst.
Go-Back-N ARQ
Go-back-N ARQ membenarkan beberapa kemungkinan berikut:
1. Damaged frame (PDU), jika PDU yang diterima invalid, B membuang frame dan tidak melakukan aksi. Ada dua kondisi :
a. A mengirimkan secara berurutan PDU (i + 1). B menerima frame (i + 1) diluar order dan mengirimkan REJ i. A harus mengirim ulang PDU i dan PDU berikutnya yang dikirimkan sebelumnya.
Damaged PDU
b. A tidak segera mengirimkan PDU tambahan, B tidak
menerima apapun dan tidak mengembalikan baik RR (Ready Receive) atau REJ. Ketika waktu pada A habis, A akan
mengirim RR dengan P bit=1. B akan menterjemahkan RR (P bit =1) sebagai perintah untuk mengirimkan ACK terhadap RR tersebut, yang mengindikasikan PDU berikutnya, PDU i siap diterima. A menerima ACK tersebut, dan mengirim PDU i.
2. Damaged RR. Terdapat dua kondisi :
a. B Menerima PDU i dan mengirimkan RR (i + 1), namun hilang dalam pengiriman. Bagi A akan menunggu sampai timeout, RR (i + 1) tersebut, dan selama belum timeout A juga telah mengirim urutan PDU berikutnya.
b. Jika timer A habis, maka akan dikirim RR (P bit = 1), dan melakukan setting timer lain, disebut P-bit timer. Jika B gagal meresponse terhadap RR, RR (P bit=1) akan expire dan A akan mengirim ulang kembali RR (P bit=1) dan restarting P-bit timer. Prosedur ini diulang terus sampai B memberikan RR ACK positif. Jika sampai pada batas pengulangan tertentu tetap gagal, maka A akan melakukan prosedur reset.
3. Damaged REJ. Sama dengan kasus 1b.
Damaged Frame
Selective-Reject ARQ
Ide dasarnya adalah pengirim akan
mengirim ulang frame berdasar informasi SREJ atau time expire.
Pada sisi penerima harus menyediakan buffer. Penerima harus memelihara urutan frame yang diterima, walaupun ada frame yang hilang dan dimintakan ulang ke
pengirim.
PENDETEKSIAN ERROR
● Ada dua teknik umum :
• Parity Check
✔ 1 bit “parity” ditambahkan untuk tiap word
✗ Odd Parity : menjadikan jumlah bit 1 ganjil
✗ Event Parity : menjadikan jumlah bit 1 genap
✔ Tambahan 1 blok karakter check ditambahkan (longitudinal redudancy check)
• Cyclic Redundancy Check (CRC)
✔ Sebuah frame (M) ditambahkan sebuah checksum (F),
sehingga pola bit (T) yang dikirimkan adalah sempurna sampai tujuannya jika habis dibagi dengan pola pembaginya (P).
✔ Contoh :
✗ M = 110011, P = 11001, R = 4
• Sehingga T = 1100111001
• Latihan : M = 1101011011, P = 10011, tentukan T?
IEEE 802
Oleh Standarisasi IEEE 802, Data Link Layer terdiri dari 2 sub
layer, LLC (Logical Link Control : 802.2) dan MAC (Medium Access Cotrol)
Layer Data Link dan Layer Fisik adalah dua layer yang bersifat