Title: The Data Link Layer
1The Data Link Layer
2Tugas dari Data Link Layer
- Melayani Network Layer
- Membuat Framing
- Error Control
- Flow Control
3Verifikasi Protokol
- Finite State Machined Models
- Petri Net Models
4Fungsi dari Data Link Layer
- Melayani dan sebagai interface ke network layer
- Mengamati error transmisi
- Pengaturan data flow
- Raceiver dengan kecepatan yang rendah tidak dapat
menampung pengirim dengan kecepatan tinggi.
5Functions of the Data Link Layer (2)
- Hubungan antara paket dan frame
6Services Provided to Network Layer
- (a) Virtual communication.
- (b) Actual communication.
7Framing
- A character stream.
- (a) Without errors. (b) With one error.
8Framing (2)
- (a) A frame delimited by flag bytes.
- (b) Four examples of byte sequences
- before and after stuffing.
9Framing (3)
- Bit stuffing
- (a) The original data.
- (b) The data as they appear on the line.
- (c) The data as they are stored in
- receivers memory after destuffing.
10Hamming Code
- Menangani single error code
- Cara membuat codenya
- Posisi parity bit ada di bit sesuai 2n
(1,2,4,8,16,32.) - Selain posisi tersebut akan dipakai sebagai data
(3,5,6,7) - Untuk mencari besar parity (0 atau 1) dapat
dilakukan sbb
11- Posisi 1 bergantian ada 1bit dan tidak ada 1bit
ada 1bit, gak ada 1 bit,ada 1bit.. - Posisi 2 bergantian ada 2 bit dan tidak ada 2
bit ada 2bit, gak ada 2 bit,ada 2bit.. - Posisi 4 bergantian ada 4 bit dan tidak ada 4
bit ada 4 bit, gak ada 4 bit,ada 4 bit.. - Dan seterusnya untuk 8, 16,32,64.
- Bit Paritas ditentukan sebagai 1 bila jumlah bit
1-nya adalah ganjil. Bit Paritas ditentukan
sebagai 0 bila jumlah bit 1-nya adalah genap
12Contoh
- Suatu data 1 0 0 1 1 0 1 0
- Membuat data word nya
- - - 1 0 0 1 1 0 1 0 ( - paritas 15)
- Carilah paritas-nya
- Posisi 1 ? 1 0 0 1 1 0 1 0
- Jumlah bit 1 genap paritas 0
- Posisi 2 0 ? 1 0 0 1 1 0 1 0
- Jumlah bit 1 ganjil paritas 1
- Posisi 4 0 1 1 ? 0 0 1 1 0 1 0
- Jumlah bit 1 ganjil paritas 1
13- Posisi 8 0 1 1 1 0 0 1 ? 1 0 1 0
- Jumlah bit 1 genap paritas 0
- Jadi Code-word-nya
- 0 1 1 1 0 0 1 0 1 0 1 0
- Dicoba cari kesalahan pada bit paritas-nya
- 0 1 0 1 0 1 1 0 0 0 1 1
-
- 1 1 1 1 1 0 0 0 1 1 0 0
- 0 0 0 0 1 0 0 0 1 0 1 0
140 1 0 1 0 1 1 0 0 0 1 1
- Posisi 1 ? 0 0 1 1 0 0 1 1
- Jumlah bit 1 genap paritas 0
- Posisi 2 0 ? 0 0 1 1 0 0 1 1
- Jumlah bit 1 ganjil paritas 1
Posisi 4 0 0 0? 0 11 0 0 1 1 - Jumlah bit 1 ganjil paritas 1
- Posisi 8 0 0 0 1 0 11 ? 00 1 0
- Jumlah bit 1 ganjil paritas 1
15Error-Correcting Codes
- Use of a Hamming code to correct burst errors.
16Error-Detecting Codes
Calculation of the polynomial code checksum.
17Elementary Data Link Protocols
- An Unrestricted Simplex Protocol
- A Simplex Stop-and-Wait Protocol
- A Simplex Protocol for a Noisy Channel
18Physical Layer Protocols Services
- Describe the role of bits in representing a frame
as it is transported across the local media.
19Protokol pada DDL
- Unrestricted Simplex Protocol
- Simplex stop and wait protocol
- Protocol Simplex untuk Kanal yang bernoise
- PAR (Positive Acknowledgement with
Retransmission) PAR (Positive Acknowledgement
with Retransmission) - Sliding Window Protocols
- Protokol dengan Go back to N
- Protokol dengan Selective Repeat
20Protocol Definitions
Continued ?
Some definitions needed in the protocols to
follow. These are located in the file protocol.h.
21Protocol Definition (cont)
Some definitions needed in the protocols to
follow. These are located in the file
protocol.h.
22Protocol Data Link Layer
- Unrestricted Simplex Protocol
- Pengirim
- Ambil paket dari NL
- Membentuk frame
- Kirim ke PL
- Penerima
- Bila ada frame sampai
- Ambil dari PL
- Ambil paket dari frame
- Kirim paket ke NL
23- Data ditransmisikan ke satu arah saja
- NL pengirim dan penerima siap
- Waktu proses diabaikan
- Mempunyai buffer dengan kapasitas ?
- Tidak ada frame yang rusak/hilang
24Unristricted Simplex Protocol
25- Simplex stop and wait protocol
- Buffer terbatas
- Saluran komunikasi error free
- Trafik data simplex
- Kecepatan proses terbatas
- Protocol ini merupakan protocol dimana pengirim
mengirimkan satu frame dan kemudian menunggu ack
sebelum melanjutkan pengiriman
26- Pengirim
- Ambil paket dari NL
- Membentuk frame
- Kirimkan ke PL
- Menunggu ack
- Penerima
- Bila ada frame yang datang
- Ambil dari PL
- Ambil paket dari frame
- Lewatkan ke NL
- Kirim ack
27Simplex Stop-and-Wait Protocol
28- Protocol Simplex untuk Kanal yang bernoise
- Situasi yang sesungguhnya
- Frame bisa rusak/hilang
- Bila frame rusak, dapat dideteksi dengan checksum
29- Protocol yang sebelumnya
- Pengirim
- Mengambil dari NL (data)
- Membuat frame/membentuk frame (DLL)
- Mengirim frame (lewat PL)
- Bila menerima ack, mengirim frame berikut
- Bila tidak menerima ack, mengirim ulang
- Diulang sampai selesai
30- Penerima
- Menerima dari PL
- Dilakukan error checking
- Kalau terjadi/terdeteksi error dibuang,
tidak mengirim ack - Kalau datanya bagus, tanpa error
- mengirim ack
- Diteruskan sampai si pengirim selesai mengirimkan
semua frame - MASALAH
- Apa yang terjadi bila acknya hilang dalam
transmisi data?
31A Simplex Protocol for a Noisy Channel
A positive acknowledgement with retransmission
protocol.
Continued ?
32A Simplex Protocol for a Noisy Channel (ctd.)
A positive acknowledgement with retransmission
protocol.
33- Gambarannya sbb
- Si A mengirim data
- Diterima oleh si B
- Lulus checksum, si B mengirim ack
- Ack hilang ditengah jalan
- Time out ! Si A tidak menerima ack dalam waktu
tertentu - Si A menganggap transmisi gagal dan mengirim
frame tadi lagi - Si B menerima frame lagi dan diteruskan ke NL
- Pada NL tertulis 2 frame yang sama pada NL
34- Cara mengatasinya
- Diberi no. urut pada setiap framenya untuk
membedakan frame yang satu dengan yang lain - Jadi bila menerima frame yang sama, salah satu
dapat dibuang. - Jumlah bit yang menyatakan no. urut diharapkan
seminimal mungkin - Berapa bit minimum tersebut ?
- Analisa
- Anggap bahwa frame I m
- frame II m 1
- frame III m 2
35m
m 1
m 2
- Keraguan terjadi pada bukan
- Akibatnya, hanya perlu membedakan antara
- m dengan m 1 atau m 1 dengan m 2
- bukan m dengan m 2
36- Oleh karena itu hanya diperlukan 1 bit saja untuk
nomor urut frame 0 dan 1 - Kalau menerima no. urut yang salah, (setelah 0, 0
lagi atau setelah 1, 1 lagi), berarti frame yang
diterima tidak urut (duplikasi dari frame yang
sebelumnya) salah satu dibuang - Kalau no. urutnya benar
- frame m no. 0
- frame m 1 no. 1
- frame m 2 no. 0 dst
- frame-frame tersebut akan
- diteruskan ke NL
Kenaikannya dengan modulo 2
37- PAR (Positive Acknowledgement with
Retransmission) -
- Pengirim
- Inisialisasi no urut frame yang mau dikirim
- Ambil paket I dari NL
- Membentuk frame
- Mengirim frame lewat PL
38Menunggu jawaban dari penerima Bila frame sampai
dengan selamat ada ack mengirim yang
berikut Kelamaan time out mengirim data
yang sama frame rusak mengirim data yang
sama Diulang sampai semua frame terkirim
39- Penerima
- Tunggu
- Bila frame sampai
- Cek apakah frame sempurna?
- Cek sequential no nya?
- Bila valid, lewatkan data ke NL
- Increment seq no yang diharapkan berikutnya
- Bila tidak, frame tersebut dibuang
- Seq. No yang diharapkan berikutnya tidak di
in-crement - Diulang sampai pengiriman data selesai
40Sliding Window Protocols
- A One-Bit Sliding Window Protocol
- A Protocol Using Go Back N
- A Protocol Using Selective Repeat
41- Protocol Sliding Window
- Pada 3 protocol yang pertama, frame
ditransmisikan ke 1 arah saja simplex - Situasi yang praktis perlu transmisi untuk 2
arah full duplex - Untuk full duplex (salah satu cara)
- Perlu 2 saluran transmisi simplex yang terpisah
- Tetapi untuk saluran balik, bandwidth wasted
Forward (data)
A
B
Reverse (ack)
42Pemikiran yang lain Menggunakan saluran yang
sama untuk ke dua arah dengan data dan ack dalam
1 frame Dengan melihat jenis field pada header
dari incoming frame, receiver mengetahui apakah
frame tsb frame data / frame ack
43- Digunakan teknik piggy backing
- Teknik dimana menunda pengiriman ack sampai ada
data frame yang dikirimkan dan ack akan
ditempelkan pada frame data. - Masalah pada piggy backing
- Lamanya waktu tunggu
- menunggu frame data yang dapat
- ditumpangi oleh ack
- Jika lamanya delay gt time out sender
- sender retransmit data
44- Keuntungan dari teknik ini
- Dapat menghemat bit-bit untuk membentuk frame ack
- Karena untuk mengirim ack juga harus dalam bentuk
frame, perlu - header
- checksum
- Protocol Sliding Window
- Dapat menangani
- Frame sampah (rusak)
- Frame hilang
- Time out yang terlalu cepat
Selain ack itu sendiri
45- Pada setiap frame berisi nomor urut 0 max
- Dimana max 2n - 1 bit
- Untuk Protocol stop and wait, n 1 (0 atau 1)
- Protocol ini memiliki
- Sending Window
- Mengingat nomor urut dari frame yang dikirim
- Ukuran frame, sesuai windownya
- Mengingat ack yang sampai
- Receiving Window
- Mengingat frame yang diterima dengan baik
- Mengingat ack yang dikirim
-
46- Max window size n, berarti sender perlu n
buffer untuk menyimpan frame yang mungkin perlu
dikirim kembali
Sliding window dengan ukuran 1, dengan no urut
3 bit
47- Keterangan gambar
- (a) Keadaan awal
- (b) Pengirim mengirim 1 frame
- (c) Setelah frame pertama diterima penerima
- (d) Setelah ack pertama diterima pengirim
- One Bit Sliding Windows
- Maximum window size 1
- Protokolnya stop and wait
Menunggu ack dari frame yang dikirimkan, baru
mengirim frame berikutnya
48Sliding Window Protocols (2)
- A sliding window of size 1, with a 3-bit sequence
number. - (a) Initially.
- (b) After the first frame has been sent.
- (c) After the first frame has been received.
- (d) After the first acknowledgement has been
received.
49A One-Bit Sliding Window Protocol
Continued ?
50A One-Bit Sliding Window Protocol (cont)
51A 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.
52Protokol dengan Go back to N
- Round Trip Time waktu transmisi sampai ke
penerima ditambah dengan diterimanya ACK di
pengirim - Besarnya RTT mempengaruhi efisiensi dari
penggunaan bandwidth. - Contoh Seharusnya suatu frame dapat dikirim
dengan lengkap pada t 20 ms. Ternyata baru
sampai penerima setelah 270 ms dan ACK diterima
kembali setelah 520. Berarti dibutuhkan 500/520
atau 96 tidak efisien.
53- Untuk mengatasi akan diblok w26 frame bukan
hanya 1 frame - Setelah selesai mengirim 26 frame 520 ms,
diikuti dengan diterimanya ACK setiap 20 ms - Window yang dibutuhkan sesuai dengan BW x RTT
menentukan kapasitas pipa disebut teknik
pipelining (definisikan!) - Mis Kapasitas kanal b bit/sec,
- Besar frame L bit
- RT prop (delay) R sec.
- Waktu transmit 1 frame L/b
- Utilisasi kanal L/(LbR)
- Bila LltbR. Berapa efisiensi-nya?
54- Masalah timbul, bila terjadi rusak/
- hilang pada frame ditengah??
- Ada 2 cara
- Penerima menggunakan window size 1 dan disebut
Go back n yang akan membuang semua frame
berikutnya, tanpa mengirim ACK thd frame yang
rusak - Penerima menggunakan window size besar dan
disebut Selective repeat yang akan membuffer
semua frame setelah frame yang rusak. Frame yang
rusak akan dibuang. Setelah sender time-out baru
ACK dikirim ulang menggunakan NAK
55A Protocol Using Go Back N
- Pipelining and error recovery. Effect on an
error when - (a) Receivers window size is 1.
- (b) Receivers window size is large.
56Sliding Window Protocol Using Go Back N
Continued ?
57Sliding Window Protocol Using Go Back N
Continued ?
58Sliding Window Protocol Using Go Back N
Continued ?
59Sliding Window Protocol Using Go Back N
60- Contoh skenario dengan max-seq 7
- Pengirim mengirim frame 0-7 (ke-1)
- ACK (Piggy-backing) ke-7 dikirim
- Pengirim mengirim lagi 8 frame (0-7) (ke-2)
- ACK (Piggy-backing) berikut ke-7 dikirim
- Untuk itu perlu jumlah max frame yang tersedia
(max-seq)-multiple - Dibutuhkamn multiple timer.
- Ilustrasi multiple timer sbb
61Sliding Window Protocol Using Go Back N (2)
- Simulation of multiple timers in software.
62Protokol dengan Selective Repeat
- Protokol 6 (penerimaan tidak berurut)
melewatkan ke NL berurut - Bila timer habis hanya frame tsb yang
diretransmisi tidak semua frame yang
berikutnya. - Contoh Untuk 3 bit bisa mengirim 7 frame sbl
menerima ack dikirim frame 0-6 jendela
dimajukan untuk pengiriman frame ke7 dan frame
0-6
63A 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.
64A Sliding Window Protocol Using Selective Repeat
Continued ?
65A Sliding Window Protocol Using Selective Repeat
(2)
Continued ?
66A Sliding Window Protocol Using Selective Repeat
(3)
Continued ?
67A Sliding Window Protocol Using Selective Repeat
(4)
68Protocol Verification
- Finite State Machined Models
- Petri Net Models
69- Merupakan teknik verifikasi dan spesifikasi dari
protokol. - Pada FSM tergantung dari
- S himpunan keadaan proses berada
- M himpunan frame yang dipertukarkan
- lewat saluran
- L himpunan keadaan proses2
- T himpunan transisi antara 2 keadaan
- Masing2 keadaan dilabelkan SRC
- S 0 atau 1 merupakan frame yang akan
- dikirim pengirim
- R 0 atau 1 merupakan frame yang
- diharapkan akan diterima
- C 0,1,A,- merupakan kondisi dari kanal,
- dipakai,tidak dipakai, ada ack dan kosong.
70Finite State Machined Models
- (a) State diagram for protocol 3. (b)
Transmissions.
71Petri Net Models
- A Petri net with two places and two transitions.
72Petri Net Models (2)
- A Petri net model for protocol 3.
73Example Data Link Protocols
- HDLC High-Level Data Link Control
- The Data Link Layer in the Internet
74High-Level Data Link Control
- Frame format for bit-oriented protocols.
75High-Level Data Link Control (2)
- Control field of
- (a) An information frame.
- (b) A supervisory frame.
- (c) An unnumbered frame.
76The Data Link Layer in the Internet
- A home personal computer acting as an internet
host.
77PPP Point to Point Protocol
- The PPP full frame format for unnumbered mode
operation.
78PPP Point to Point Protocol (2)
- A simplified phase diagram for bring a line up
and down.
79PPP Point to Point Protocol (3)