Week 5 Protokol Data Link Control

  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

  jumlah bit maksimum yang dapat berada sepanjang sebuah sambungan 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

Pengurangan Rs Rs > Rr Pengurangan d

  ●

  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  Stasiun tujuan harus berada pada kondisi stop, yaitu dengan withholding acknowledgment. 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); } } void receiver2(void) { frame r, s; /* buffers for frames */ 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.

  Contoh berikut memperlihatkan perhitungan sederhana yang menunjukkan tidak efisiennya teknik ini :

  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 6 Bit terakhir akan membutuhkan tambahan waktu 8 ms (8000/10 =

  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 beberapa terminologi tentang teknik Sliding Window:

  Berikut adalah contoh mekanisme pengiriman dan penerimaan dengan teknik Sliding Window :

ERROR CONTROL

  • Error control merupakan suatu mekanisme untuk mendeteksi dan membetulkan kesalahan yang terjadi dalam transmisi PDU. Ada dua tipe kesalahan :
  • Teknik error control sebagian besar di dasarkan pada

  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.

  mengembalikan negative acknowledgment terhadap PDU yang terdapat kesalahan. Sumber mengirim ulang PDU tersebut.

   Ada dua error yang mungkin terjadi :

   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.

  Stop and Wait ARQ

  3.Selective-Reject ARQ

  2.Go-Back-N ARQ

  1.Stop and Wait ARQ

   Negative acknowledgment and retransmission , tujuan

   Lost PDU. PDU gagal untuk tiba di tujuan.  Damaged PDU. Reorganized PDU tiba, tapi ada beberapa bit informasi dalam kondisi error.

   Retransmission after timeout , sumber mengirim ulang PDU yang belum diacknowledged setelah kurun waktu tertentu.

  acknowledgment untuk menunjukkan bahwa PDU diterima dengan baik tanpa error.

   Positive acknowledgment , tujuan mengembalikan positive

  yang error. Ada beberapa metode error detection, seperti Parity Check dan CRC (Cyclic Redundancy Check). Error detection dilakukan pada layer MAC.

   Error detection , penerima mendeteksi error dan membuang PDU

  beberapa unsur berikut :

  • 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 :

  Damaged PDU Damaged ACK

  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. 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 Damaged RR

  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

  

  Prinsip dasarnya adalah sebagai berikut :

  ●

  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 Tambahkan 4 bit 0 di akhir frame M, di dapat 1100110000

  • 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 dependent.