Chapter 2 part 2
Getting Connected
(Error Detection and Reliable Transmission)
(Error Detection and Reliable Transmission)
Pembahasan Chapter 2
•
Eksplorasi perbedaan media komunikasi yang
digunakan untuk mengirimkan data
•
Memahami masalah pada encode di atas media
transmisi sehingga dapat dimengerti oleh penerima
•
Mendiskusikan gambaran urutan bit saat
•
Mendiskusikan gambaran urutan bit saat
ditransmisikan melalui link ke dalam satu kesatuan
pesan yang utuh yang dapat dikirim ke node tujuan
akhir
•
Mendiskusikan teknik-teknik untuk mendeteksi
kesalahan pada transmisi data dan menentukan aksi
yang tepat
Pembahasan Chapter 2 (Lanj.)
•
Mendiskusikan persoalan tentang kehandalan link
dalam menangani masalah transmisi
•
Pengenalan Media Access Control Problem
•
Pengenalan jaringan Carrier Sense Multiple Access
(CSMA)
(CSMA)
•
Pengenalan jaringan tanpa kabel dengan teknologi
dan protokol berbeda-beda
Outline
•
Error Detection
–
Parity
–
Checksum
–
CRC (Cyclic Redundancy Check)
–
CRC (Cyclic Redundancy Check)
•
Reliable Transmission
–
Stop and Wait
–
Sliding Window
Error Detection
•
Error bit terjadi di dalam frame
– Karena interferensi elektronika dan gangguan
– Atau karena pelemahan (attenuation), penyimpangan (distortion), dan gangguan (noise)
•
Single Bit Error
•
Single Bit Error
Error Detection
•
Attenuation
•
Distortion
•
Distortion
Error Detection
•
Ide dasar pada Error Detection
– Menambahkan bit ke Frame yang dapat digunakan untuk menentukan bahwa dalam suatu Frame terdapat error
•
Bit tambahan
– Tidak ada informasi tambahan
– Diperoleh dari pesan asal menggunakan algoritma tertentu – Baik pengirim maupun penerima harus mengetahui
algoritma yang dipakai
– Pengirim Penerima
Penerima menghitung r menggunakan m Jika cocok maka tidak ada error
m r m r
Two-dimensional parity
•
Berdasarkan single parity bit,
dengan menambahkan bit 1
tambahan ke dalam kode 7 bit
untuk menggenapkan jumlah
Two Dimensional Parity
untuk menggenapkan jumlah
bit 1 di dalam satu byte
Internet Checksum Algorithm
• Checksum dilakukan sebagai komplemen sequence dari integer 16 bit
• Menambahkan komplemen dengan seluruh bit isi pesan, dengan seluruh bit isi pesan, dihitung secara aritmatika dan mengambil hasil komplemen yang terjadi sebagai hasilnya • Hasil komplemen integer 16 bit
adalah yang disebut checksum • Dalam aritmatika, integer
bernilai negatif (-x) maka komplemennya adalah (x)
Internet Checksum Algorithm
•
Contoh: terdapat -5 dan -3 dalam satu
komplemen arimatika pada integer 4 bit
–
Jika +5 = 0101 maka −5 = 1010; dan jika +3 = 0011
maka – 3 = 1100
maka – 3 = 1100
•
Jika menambahkan 1010 dan 1100 maka
Contoh Algoritma
Internet Checksum Algorithm
uint16_t
NetIpChecksum(uint16_t const ipHeader[], int nWords) { uint32_t sum = 0;
/* IP headers always contain an even number of bytes. */ while (nWords-- > 0) {
sum += *(ipHeader++); sum += *(ipHeader++); }
/* Use carries to compute 1's complement sum. */ sum = (sum >> 16) + (sum & 0xFFFF);
sum += sum >> 16;
/* Return the inverted 16-bit result. */ return ((unsigned short) ~sum);
Cyclic Redundancy Check (CRC)
•
Mengurangi jumlah bit tambahan dan
memaksimalkan proteksi
•
Diberikan string bit 110001, dapat
diasosiasikan sebagai polinomial dalam
diasosiasikan sebagai polinomial dalam
variabel x
–
1.x
5+1.x
4+0.x
3+0.x
2+0.x
1+1.x
0= x
5+x
4+1 maka
degree adalah 5.
–
Suatu frame dengan k bit memiliki maksimal
Reliable Transmission
•
Kombinasi antara mekanisme:
– Acknowledgements (ACK)
– Timeouts
•
Jika pengirim tidak menerima ACK setelah beberapa
•
Jika pengirim tidak menerima ACK setelah beberapa
waktu maka akan mentransmisikan kembali frame
yang sama
•
Aksi menunggu dalam satuan waktu yang telah
disepakati disebut timeout
•
Strategi menggunakan ACK dan timeout untuk
mengimplementasikan pengiriman yang handal,
dapat disebut Automatic Repeat reQuest (ARQ)
Stop and Wait Protocol
•
1 frame on link at a time
•
Terdapat link dengan bandwidth 1.5 Mbps dengan
nilai RTT adalah 45 ms
– Link = Delay x Bandwidth = 67.5 Kb atau 8 KB – Link = Delay x Bandwidth = 67.5 Kb atau 8 KB – Asumsi: besar frame adalah 1 KB
– Maximum Sending rate
• Bits per frame Time per frame = 1024 8 0.045 = 182 Kbps • Or about one-eighth of the link’s capacity
– Untuk dapat menggunakan link secara maksimal, pengirim harus mentransmisikan hingga 8 (delapan) frame sebelum menunggu sebuah ACK
Sliding Window Protocol
• Pengirim memberikan nomor urutan yang ditunjukkan dengan nomor urut untuk setiap frame
• Pengirim mengelola 3 (tiga) variabel
– Sending Window Size (SWS)
• Batas atas jumlah frame yang dapat ditransmisikan oleh pengirim
– Last Acknowledgement Received (LAR)
• Nomor urut ACK terakhir yang diterima
– Last Frame Sent (LFS)
• Nomor urut frame yang terakhir ditransmisikan
Sliding Window Protocol
•
Penerima mengelola 3 (tiga) variabel
– Receiving Window Size (RWS)
• Batas atas jumlah frame yang dapat diterima
– Largest Acceptable Frame (LAF)
• Nomor urutan frame tertinggi yang dapat diterima • Nomor urutan frame tertinggi yang dapat diterima
– Last Frame Received (LFR)
Sliding Window Protocol
•
Saat frame datang dengan nomor urut “SeqNum”,
maka penerima melakukan:
– If SeqNum ≤ LFR atau SeqNum > LAF
• Abaikan/Buang (Frame di luar batas atas penerima)
– If LFR < SeqNum ≤ LAF – If LFR < SeqNum ≤ LAF
• Terima, lalu penerima harus memutuskan apakah mengirimkan ACK atau tidak
– Cummulative ACK
• ACK penerima ditandai dengan “SeqNumToAck” bahkan walau paket dengan nomor tertinggi sudah diterima
Sliding Window Protocol
• Contoh: Asumsi, LFR = 5, RWS = 4, LAF = 9
– (ACK terakhir yang dikirim oleh penerima bernomor urut no. 5)
• Jika frame 7 dan 8 datang, akan di-buffer karena masih berada dalam “receiver window”
• Tapi tidak ada ACK yang akan dikirim apabila frame no.6 • Tapi tidak ada ACK yang akan dikirim apabila frame no.6
belum datang
• Frame 7 dan 8 out of order
• Frame 6 datang (telat datang karena mungkin hilang saat
dikirim dan perlu ditransmisi ulang)
• Sekarang penerima mengirim ACK frame no. 8, lalu mengubah LFR = 8 dan LAF = 12
Issues with Sliding Window Protocol
•
Negative Acknowledgement (NAK)
– Penerima mengirim NAK untuk frame no. 6 saat frame no. 7 datang
•
Additional Acknowledgement
– Penerima mengirim Additional ACK untuk frame no. 5 saat
frame no. 7 datang
– Pengirim menggunakan duplikat ACK sebagai petunjuk
frame yang hilang
•
Selective Acknowledgement
– Penerima akan mengirim ACK sesuai sengan frame yang diterima dari pada nomor urut frame tertinggi
Issues with Sliding Window Protocol
•
Bagaimana cara menentukan “window size”
–
SWS mudah dihitung
• Delay Bandwidth
–
RWS dapat berapa saja, 2 (dua) cara umum
–
RWS dapat berapa saja, 2 (dua) cara umum
• RWS = 1
Tidak ada penyangga untuk frame yang datang out of
order
• RWS = SWS
Penerima dapat menyangga frame-frame yang ditransmisikan pengirim
Issues with Sliding Window Protocol
•
Melayani 3 (tiga) peran:
–
Reliable, mengirim frame menuju link yang tidak
handal
–
Preserve the order
–
Preserve the order
• Setiap frame memiliki nomor urut
–
Frame control
• Penerima mampu untuk menghambat pengirim agar tidak mentransmisikan frame di luar batas atas yang dapat penerima proses