38
Jaringan Komputer (IF8505) Data link layer 2 Materi • Prinsip dasar Peran data link layer • Framing Error handling Flow control Contoh: HDLC, PPP

Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

  • Upload
    trantu

  • View
    242

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

Jaringan Komputer (IF8505) Data link layer

2

Materi

• Prinsip dasar• Peran data link layer• Framing• Error handling• Flow control• Contoh: HDLC, PPP

Page 2: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

3

Materi

• Prinsip dasar• Peran data link layer• Framing• Error handling• Flow control• Contoh: HDLC, PPP

4

Prinsip dasar (1)

• Masalah utama dalam komunikasi data: realibility. Sinyal yang dikirim melalui medium tertentu dapat mengalami pelemahan, distorsi, keterbatasan bandwidth

• Data yang dikirim dapat menjadi rusak, hilang, berubah, terduplikasi

• Tugas data link layer adalah menanganikerusakan dan hilangnya data antar 2 titikkomunikasi yang terhubung oleh satu medium transmisi fisik

Page 3: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

5

Prinsip dasar (2)

• A mengirim data ke B. Jalur antara A dan B tidakreliable, sehingga mungkin ada data yang rusak/hilang.

• Bagaimana menjamin transmisi data A ke B tetap reliable?

A Bxdata

6

Prinsip dasar (3)

• A mengirim data yang panjang ke B. Data dibagi menjadi frame, sehingga kerusakan sebuah frame tidak merusak keseluruhan data.

• Bagaimana B dapat mendeteksi bahwa frame yang dikirim A mengalami kerusakan?

• A menambahkan error check bits ke frame, sehingga B dapatmemeriksa frame dan menentukan apakah telah terjadi perubahan

A Bxdata

Page 4: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

7

Prinsip dasar (4)

• Bagaimana A mengetahui data yang dikirimnya telahditerima B?

• B dapat mengirimkan ack/pemberitahuan jika data diterima dengan benar, dan nak/pemberitahuan data salah jika data rusak

• A dapat mengirimkan ulang frame yang rusak

A Bxdata

8

Prinsip dasar (5)

• Mengapa frame dapat hilang?– Bagian alamat/id/header mengalami kerusakan,

sehingga frame tidak dikenali– Temporer disconnection

• Apa yg terjadi jika frame dapat hilang?– B tidak mengetahui ada pengiriman dari A, A

menunggu ack dari B– B mengirimkan ack namun hilang di jalan. A

menunggu ack dari B

Page 5: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

9

Prinsip dasar (6)

• A harus memiliki timer, yang akan mengirim ulang jikatidak menerima kabar dari B

• Jangka waktu timeout harus diatur. – Jika timeout terlalu cepat, A akan mengirimkan ulang sebelum

ack dari B tiba. – Jika timeout terlalu lama, A akan menunggu terlalu lama jika ada

frame yg hilang

A Bxdata

10

Prinsip dasar (7)

• A mengirim frame 1• A mengalami timeout, dan mengirimkan ulang frame 1• A menerima ack, melanjutkan mengirim frame 2• A menerima ack kedua untuk frame 1, namun dianggap

sebagai ack untuk frame 2 (error)• A harus memberikan frame number, sehingga B dapat

memberikan ack spesifik untuk frame number tertentu

A Bxdata

Page 6: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

11

Materi

• Prinsip dasar

• Peran data link layer• Framing• Error handling• Flow control• Contoh: HDLC, PPP

12

Peran data link layer• Physical layer: mengkodekan data menjadi

sinyal yang dikirim melalui medium transmisi

• DL menangani kesalahan transmisi, danmenyediakan layanan ke network layer berupa:• Error control, error detection• Flow control• Link management• Medium access

Page 7: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

13

Services Provided to Network Layer

(a) Virtual communication.(b) Actual communication.

14

Services Provided to Network Layer (2)

Placement of the data link protocol.

Page 8: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

15

Materi

• Prinsip dasar• Peran data link layer

• Framing• Error handling• Flow control• Contoh: HDLC, PPP

16

Framing

• DL melakukan framing untuk:• Mengurangi kemungkinan error• Menyesuaikan dengan physical layer• Kapasitas buffer penerima terbatas

• Teknik framing:• Character count• Flag byte – byte stuffing• Flag bits – bit stuffing• Physical layer coding violation

Page 9: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

17

Framing

Relationship between packets and frames.

18

Framing – character count

A character stream. (a) Without errors. (b) With one error.

• Setiap frame diawali dengan field yang menyatakanpanjang frame

• Jika field ini rusak, maka frame tidak dapat dikenali lagi

Page 10: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

19

Framing : flag byte

• Awal dan akhir frame ditandai dengan byte(s) khusus

• Byte penanda dapat merupakan simbol yang sama atau berbeda

• Masalah: kode byte(s) yang digunakan dapatmuncul di dalam data yang terkirim, sehinggadapat mengakibatkan kesalahan penentuanframe

• Solusi: byte stuffing, mengganti byte serupapada data dengan simbol lain

20

Framing : flag byte

(a) A frame delimited by flag bytes.(b) Four examples of byte sequences before and after stuffing.

Page 11: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

21

Framing : flag bits

• Serupa dengan flag bytes, namunmenggunakan bit

• Lebih cocok untuk data biner• Misal: flag: 01111110• Pengirim: setiap muncul 5 bit 1 berurutan,

tambahkan bit 0• Penerima: setiap menerima 5 bit 1 berurutan:

– Bit berikutnya 0: hapus– Bit berikutnya: 10: end-of-frame– Bit berikutnya: 11: error

22

Framing : flag bits

Bit stuffing(a) The original data.(b) The data as they appear on the line.(c) The data as they are stored in receiver’s memory after destuffing.

Page 12: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

23

Materi

• Prinsip dasar• Peran data link layer• Framing

• Error handling• Flow control• Contoh: HDLC, PPP

24

Error Detection and Correction• Umumnya penanganan error transmisi

dilakukan pada data link layer. Error control dapat pula dilakukan pada layer lain (physical/higher layer)

• Error dapat diperbaiki dan dideteksi denganmenggunakan data redundant/tambahanpada setiap pengiriman data

• Jenis error:• Single bit error: hanya sebuah bit yang berubah.

Disebabkan oleh white noise• Burst error: sederetan bit-bit mengalami error.

Disebabkan oleh impulse noise• Makin tinggi data rate, makin besar efeknya

Page 13: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

25

Error control

• Ada 2 teknik yang digunakan:• Error-Detecting Codes• Error-Correcting Codes

• Error correcting codes memerlukandata redundant lebih besardibandingkan dengan error detecting codes

26

Error detection: parity bit

• Menambahkan sebuah bit pada setiappengiriman sejumlah bit, sehingga jumlah bit bernilai 1 selalu genap/ganjil.

• Parity bit dapat mendeteksi kesalahan 1 bit ataukesalahan bit dalam jumlah ganjil, namun tidakdapat mendeteksi kesalahan dalam jumlahgenap

Page 14: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

27

Error detection: CRC

• Cyclic redundancy check (CRC) adalah method yang umum digunakan untuk mendeteksi error

• CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirimakan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit).

• Pada sisi penerima, penerima akan menghitungCRC checksum pada frame yang diterima, dandibandingkan dengan checksum yang diterima, jika berbeda, berarti frame rusak

28

CRC

• CRC menggunakan prinsip modulo bilangan.• Data dianggap sebagai sebuah bilangan, dan untuk

menghitung checksum, sama dengan menambahkandigit untuk data dengan digit untuk checksum (berisi 0) kemudian dibagi dengan pembilang tertentu, dan sisapembagiannya menjadi checksum untuk data tsb

• Tergantung pemilihan bilangan pembagi, CRC dapatmendeteksi single-bit error, double bit error, error berjumlah ganjil, burst error dengan panjang maks r

• Bilangan pembagi disebut sebagai generator

Page 15: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

29

• Operasi penambahan dan pengurangan = XOR

CRC – modulo arithmetic

1100

1010

0110+

1100

1010

0110-

10010010101100011010111010111

1011101

30

CRC

• Contoh: data memiliki m bit– 1001, m = 4

• Generator memiliki panjang r bit– 101, r = 3

• Tambahkan r-1 bit 0 ke data:– 100100

• Bagi bilangan ini dengan generator, sisanya (11) adalah checksum

• Tambahkan checksum ke data asal:• 100111

10010010101100011010111010111

1011101

Page 16: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

31

CRC

• Pada sisi penerima, cukupmembagi data yang diterimadengan generator. Jika sisanyabukan 0, berarti terjadikesalahan

• Jika sisanya 0, berarti tidakterjadi kesalahan, sesuaidengan kriteria generator yang digunakan

10111110100100001100011110110

1001101

32

Hamming distance

• Jumlah bit yang berbeda antara dua buah kode disebutsebagai hamming distance– 1110 dan 1111 memiliki 1 bit yang berbeda: d=1– 1010 dan 1100 memiliki 2 bit yang berbeda: d=2

• Jika setiap kode yang valid memiliki perbedaan minimum h bit, maka setiap kesalahan yang < h bit dapat dideteksi

• Kode yang error dapat diperbaiki jika ia memiliki jumlahperbedaan yang lebih sedikit ke kode valid tertentu

• Untuk memperbaiki d bit error, diperlukan jarak minimum antar kode valid 2d+1

Page 17: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

33

• Untuk mengkoreksi 1 bit error, diperlukan

• Dengan metode Hamming, check bits ditambahkan padaposisi bit pangkat 2: 1, 2, 4, 8 dst

• Setiap bit berkontribusi kepadacheckbit pembentuknya: 11=1+2+8

Hamming distance

rmr ++≥12r=jumlah bit untuk error detectionm=jumlah bit kode asal

r 2r m1 2 02 4 13 8 44 16 115 32 266 64 577 128 1208 256 247

34

Error-Correcting Codes

Use of a Hamming code to correct burst errors.

Page 18: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

35

Materi

• Prinsip dasar• Peran data link layer• Framing• Error handling

• Flow control• Contoh: HDLC, PPP

36

Flow control

• Mengendalikan aliran transmisi data, sehinggapengirim tidak membanjiri penerima

• Dapat dilakukan pada layer data link maupunlayer di atasnya– Stop and wait protocol– sliding window

Page 19: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

Karakteristik channel transmisi

• bit rate: jumlah bit yang dikirim setiap satuanwaktu

• transmission delay/latency: waktu yang diperlukan sebuah bit untuk mencapai tujuan

• error rate: probabilitas terjadinya kesalahan saattransmisi

• transmission time: waktu yang diperlukan untukmengirim sebuah frame. Untuk frame denganukuran L, maka transmission time=L/bit rate

37

Stop and wait protocol

• mengirim sebuah frame pada setiap saatnya, dan menunggu konfirmasi penerima (ACK) sebelum mengirimkan frame berikutnya

38

frame

frame

ack

ack

Page 20: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

Stop and wait protocol

• utilisasi kanal rendah: setiap pengiriman frame memerlukan waktu: transmission time+2*latency

• Jika latency jauh lebih besar dari transmission time, maka utilisasinya akan sangat rendah– contoh: pada 1 Mbps link antara stasiun bumi dan

satelit dengan jarak 36 km.• t trans untuk 8000 bit frame: 8000/106=8ms • latency=36km/3X108=120ms

39

proptrans

trans

tttU

*2+=

• pengirim dapat mengirim hingga w (ukuranwindow) buah frame tanpa harus menerimakonfirmasi terlebih dahulu

• penerima harus memiliki buffer yang mampumenampung n buah frame

• frame memiliki nomoridentitas (sequence number)

• ack menyatakan frame terakhir yang diterima sesuaiurutan

sliding window protocol

40

frame

ack

ack

Page 21: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

sliding window protocol

• utilisasi kanal:– jika w x t trans > 2 x latency, maka dapat dicapai

utilisasi 100% (pengirim dapat melakukan pengirimanframe secara kontinu

– jika w x t trans < 2 x latency:

41

proptrans

trans

tttwU

*2*+

=

sliding window protocol

• window pengirim: menyatakan frame yang telahdikirim namun masih belum menerima ack. Setiap menerima ack, batas bawah akandigeser. Setiap mengirimkan frame baru, batasatas akan bergeser. Pada unreliable link, frame-frame ini harus disimpan pada buffer pengirim

• window penerima: menyatakan frame yang dapat diterima. Setiap menerima frame padabatas bawah, window akan bergeser

42

Page 22: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

sliding window protocol

43

0 1

2

34

5

6

70 1

2

34

5

6

7

window pengirim window penerima

ARQ

• konfirmasi/ack untuk flow control digunakan pula untuk error control: positive ack berarti data telah diterima dengan benar, negative ackberarti frame diterima rusak.

• pengirim menggunakan timeout untukpengiriman ulang frame yg belum mendapatack, sehingga pengiriman ulang dilakukansecara otomatis, disebut sebagai protokol ARQ (automatic repeat request)

44

Page 23: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

stop and wait ARQ• disebut juga sebagai PAR protocol (Positive

Acknowledgment/Retransmission)• one bit sliding window ARQ• ACK dapat dititipkan pada frame data, disebut

sebagai piggybacking• prinsip kerja:

– pengirim mengirim frame, lalu menunggu ack– jika terjadi timeout, frame dikirim ulang– penerima mengabaikan frame yang terduplikasi

(namun tetap mengirimkan ack)– penerima mengabaikan frame yang rusak

45

46

Protocol Definitions

Continued

Some definitions needed in the protocols to follow. These are located in the file protocol.h.

Page 24: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

47

Protocol Definitions(ctd.)

Some definitions needed in the

protocols to follow. These are located in the file protocol.h.

48

A One-Bit Sliding Window Protocol

Continued

Page 25: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

49

A One-Bit Sliding Window Protocol (ctd.)

50

A One-Bit Sliding Window Protocol (2)

Two scenarios for protocol 4. (a) Normal case. (b) Abnormal case. The notation is (seq, ack, packet number). An asterisk indicates where a network layer accepts a packet.

Page 26: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

Go Back N ARQ• sliding window dengan window size pengirim N, window

size penerima 1• pengirim menyimpan semua frame yang belum

mendapat ACK pada buffer• jika tidak ada error, penerima akan mengirim ACK

dengan nomor frame terakhir yang telah diterimaberurutan

• jika terjadi error, penerima akan menolak frame hinggamenerima frame yang memiliki nomor yang sesuaidengan yang diinginkan. Pengirim akan timeout danmengirimkan ulang semua frame pada buffer

• variant: saat menerima frame error, penerimamengirimkan NAK/REJ.

51

52

A Protocol Using Go Back N

Pipelining and error recovery. Effect on an error when(a) Receiver’s window size is 1.(b) Receiver’s window size is large.

Page 27: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

53

Sliding Window Protocol Using Go Back N

Continued

54

Sliding Window Protocol Using Go Back N

Continued

Page 28: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

55

Sliding Window Protocol Using Go Back N

Continued

56

Sliding Window Protocol Using Go Back N

Page 29: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

57

Sliding Window Protocol Using Go Back N (2)

Simulation of multiple timers in software.

selective repeat

• sliding window dengan window size pengirimdan penerima > 1

• penerima dapat menerima frame yang tidakberurutan, sepanjang masih berada dalamwindow penerima.

• saat menerima frame rusak, penerima akanmengirim pesan SREJ berisi nomor frame yang rusak, dan pengirim akan mengirim ulang hanyaframe tersebut saja

58

Page 30: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

selective repeat

• mengurangi retransmisi, sehingga utilisasi kanaltinggi

• memerlukan buffer pada pengirim dan penerima• lebih kompleks, sehingga jarang digunakan• diterapkan pada komunikasi yang memiliki

latency tinggi, seperti link satelit

59

60

A Sliding Window Protocol Using Selective Repeat

Continued

Page 31: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

61Continued

A Sliding Window Protocol Using Selective Repeat (2)

62

A Sliding Window Protocol Using Selective Repeat (3)

Continued

Page 32: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

63

A Sliding Window Protocol Using Selective Repeat (4)

64

A Sliding Window Protocol Using Selective Repeat (5)

(a) Initial situation with a window size seven.(b) After seven frames sent and received, but not acknowledged.(c) Initial situation with a window size of four.(d) After four frames sent and received, but not acknowledged.

Page 33: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

65

Protocol Verification

• Finite State Machined Models• Petri Net Models

66

Finite State Machined Models

(a) State diagram for protocol 3. (b) Transmissions.

Page 34: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

67

Petri Net Models

A Petri net with two places and two transitions.

68

Petri Net Models (2)

A Petri net model for protocol 3.

Page 35: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

69

Materi

• Prinsip dasar• Peran data link layer• Framing• Error handling• Flow control

• Contoh: HDLC, PPP

70

Example Data Link Protocols

• HDLC – High-Level Data Link Control

• The Data Link Layer in the Internet

Page 36: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

71

High-Level Data Link Control

Frame format for bit-oriented protocols.

72

High-Level Data Link Control (2)

Control field of (a) An information frame.(b) A supervisory frame.(c) An unnumbered frame.

Page 37: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

73

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

74

PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode operation.

Page 38: Materi · Materi • Prinsip dasar ... Prinsip dasar (5) ... • Tambahkan r-1 bit 0 ke data: – 100100 • Bagi bilangan ini dengan generator,

75

PPP – Point to Point Protocol (2)

A simplified phase diagram for bring a line up and down.

76

PPP – Point to Point Protocol (3)

The LCP frame types.