Big Picture: where are we?
Physically Connecting Hosts
Direct Networks
Direct Link Network
(Lecture 3)
Jaringan Komputer (IKI-20240) Johny Moningka (
[email protected]) Fakultas Ilmu Komputer Universitas Indonesia
Semester 2003/2004 Versi: 1.1
Agenda
2
Physically Connected Hosts
Masalah: Bagaimana melakukan koneksi fisik Host => Bagaimana mengirimkan bits melalui koneksi fisik !! Bab 2: Jaringan Komputer Hubungan Langsung (Direct Link Networks) H/W Building Blocks Encoding Framing Error Detection Reliable Transmission Protokol Medium Access Control (MAC)
Jaringan terbentuk hubungan langsung antar hosts/nodes Secara fisik kedua node tersebut dihubungkan oleh links => media (kabel, fiber dll). Bagaimana informasi (message) disampaikan secara fisik => transfer bits! Informasi host dalam bentuk bits (data). Struktur host => transmisi bits (komponen I/O devices). Pemilihan jenis media => kecepatan dan koneksi I/O
Pelajari Reference: Bab 2 (Hal. 64 s/d 110) 3
Fasilkom UI v-1.2
Fasilkom UI v-1.2
Hardware Building Blocks
4
Fasilkom UI v-1.2
Network Adapter: Host Computer
Jaringan “sederhana” dibangun oleh dua komponen utama yakni: node dan link Node => host/komputer (umum); Link => media (kabel, fiber dll) Kemampuan hardware Node: Memori => kapasitas penampungan (buffer), kecepatan akses/transfer memori. Network Adapter:
CPU chip register file ALU
main memory
I/O bridge
bus interface
I/O bus
• Interface antara memori dan network link, device driver mengontrol network adapter. • Mengatur pengiriman/penerimaan bit ke link, secara fisik.
USB controller mouse keyboard
graphics adapter
disk controller
Network Adapter
monitor disk
5
Fasilkom UI v-1.2
6
Fasilkom UI v-1.2
1
Example: Network Media Twisted Pair:
Network Basics: Links
Copper, 1mm think, twisted to avoid antenna effect
bits
Used by cable Coaxial Cable: companies: high Plastic Covering Braided outer conductor BW, good noise Insulator immunity Copper core Light: fiber, light Total internal Fiber Optics source, reflection Transmitter Air light – L.E.D – Laser Diode Receiver detector – Photodiode light source Silica 7
Fasilkom UI v-1.2
Example: Dial-up Links
0110
links
0110
signal
Link made of some physical media wire, fiber, air with a transmitter (tx) on one end konversi simbol dijital (binary) ke sinyal analog/dijital dan kirim sinyal melalui link. and a receiver (rx) on the other “capture” sinyal analog/dijital dan konversikan kembalikan ke bentuk simbol dijital (binary) tx+rx called a transceiver 8
Fasilkom UI v-1.2
Links & Signal Sinyal Sinyal => gelombang elektromagnetis (EM) yang merambat pada berbagai media fisik. Property gel. EM adalah frekwensi (Hz, setara dengan periode gel. atau panjang gel. atau wavelength) Ingat (Fisika): Panjang Gelombang = Kecepatan / Frekwensi • Kecepatan konstan gelombang EM utk suatu media, mis di uadara 3.0 x 10^8 m/det. f (Hz) 100
102
104
106 Radio
The dial-up modem allows connections through the phone network
10
4
10
5
10
6
10
7
108
1010
Microwave
10
8
10
9
1012
1014
Infrared
10
10
1016
10 18
UV
10
11
10
1020
1022
X ray
12
Satellite
10
13
10
1024
Gamma ray
14
10
15
10
16
Fiber optics
Coax AM
9
Fasilkom UI v-1.2
Media: Cable Local Links
10
FM
Terrestrial microwave
Fasilkom UI v-1.2
TV
Example: Telco. carriers
Contoh: kabel tembaga (copper) dan fiber yang digunakan untuk koneksi lokal (LANs) Jenis Bandwidth Jarak Cat 5 Twisted Pair 10 – 100 Mbps 100 m Thin Net Coax 10 – 100 Mbps 200 m Thick Net Coax 10 –100 Mbps 500 m Multimode fiber 100 Mbps 2 km Single-mode fibel 100 – 2400 Mbps 40 km
Sirkit Sewa (Leased Lines)
24 x E0 DS3 STS1
44.736 Mbps 28 x DS1 51,840 Mbps
E0, sering setara dengan 1 kanal digital voice channel, STS1, basis dasar jaringan telekomunikasi (antar sentral) => OC-N (Optical Carrier) STS3 = 3 x STS1, 11
Fasilkom UI v-1.2
12
Fasilkom UI v-1.2
2
Example: Common Carrier Links
Example: Wireless Links
Link yang menggunakan network bersama (service provider) Service POTS (telepon) ISDN ADSL CATV
Perkembangan pesat => teknologi dan skala ekonomi Transmisi nirkabel: Satelit, low orbit (Teledesic: 288 satelit melingkupi seluruh bumi) Standar radio (IEEE 802.11, WiFi): 2.4 GHz radio, 11 Mbps, 7Km Infrared (IR) link, 1 Mbps, 10 m Bluetooth: 2.45 GHz, 1 Mbps, 10 m Masalah (tanpa media guide): atenuasi besar, noise, security (open space), interferensi.
Bandwidth 28,8 Kbps – 56 Kbps 64 – 128 Kbps 16 Kbps – 9 Mbps 20 – 40 Mbps
ADSL, menggunakan kabel telepon (Telkom) ISDN, hanya ditawarkan pada “bussiness district” CATV, bagian dari jaringan cable TV (Indovision) 13
Umumnya perlu peralatan: Modem Fasilkom UI v-1.2
Encoding (1/3)
14
Fasilkom UI v-1.2
Encoding: Non-Return to Zero (NRZ) (2/3) 0 Æ low signal; 1 Æ high signal Deteksi sinyal (bit) jika terdapat string bit 1 (atau 0) yang panjang => Receiver sulit mendeteksi (sampling tegangan).
Adaptor men-drive sinyal pada link. Problem: Bagaimana menumpangkan bit 0 dan 1, supaya dapat dideteksi pada sisi receiver.
Encoding: konversi bit data ke dalam sinyal supaya dapat dikirimkan 15
Fasilkom UI v-1.2
Example: Manchester Encoding (3/3)
16
Framing (1/5)
Each bit contains a transition 0 Æ low-to-high transition 1 Æ high-to-low transition Setiap bit: terdapah perubahan tegangan (transisi) => tanda (clock) Digunakan: 10 Mbps Ethernet Bits
Fasilkom UI v-1.2
Encoding: menerjemahkan bit data ke dalam sinyal supaya dapat dikirimkan Framing: membuat batas pada urutan bit (strings) dalam satu kesatuan unit (blok, paket) Terbentuk kelompok bit dalam unit frame Tanda awal dan akhir sebuah frame. Kegunaan frame: Sinkronisasi (awal, akhir transmisi 1 blok data). Kontrol (recovery): deteksi kesalahan dan retransmisi pada satu frame (blok data)
0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0
NRZ Clock Manchester NRZI 17
Fasilkom UI v-1.2
18
Fasilkom UI v-1.2
3
Framing (2/5)
Framing: Bit Oriented (3/5) Setiap frame mulai dengan pola (sequence) bit yang unik sebagai tanda (flag): Misalkan: 01111110 = 0160
Blok data (kumpulan bits) dipertukarkan dalam satu unit => frames Problem: Bagaimana mengetahui akhir dan awal dari frame?
19
Fasilkom UI v-1.2
HDLC: Bit Stuffing (4/5)
Problem: Bagaimana jika data berisi “pola” bit flag tsb? 20
Fasilkom UI v-1.2
Bit Stuffing Example (5/5)
Contoh Protokol Data Link: High Level Data Link Control (standard OS) Bermula dari standard IBM: SDLC (Synchronous DL Control). Bit Stuffing: flag: 01111110 Sender:Sisipkan bit 0, pada setiap lima bit 1 yang berurut. Receiver: Jika melihat lima bit 1 berurut, lakukan “decision” berdasarkan dua bit sesudahnya: Jika bit berikutnya 0 (pasti stuffed bit), remove bit 0 tsb. Jika bit berikutnya 1, lihat lagi bit sesudahnya
Data:
Sender: flag flag
Receiver:
• Jika 0 berarti akhir dari frame (flag: 01111110) • Jika 1 berarti error, buang frame tsb (receiver meneriman invalid bit: 01111111) 21
Fasilkom UI v-1.2
Error Detection: Focus
22
Error Detection (1/5)
Encoding data bit ke sinyal Framing bit data dalam bentuk unit blok data transfer Error Detection Bit yang telah di-encode dalam bentuk sinyal dan dikirimkan dalam blok/frame Kemungkinan terdapat kesalahan dalam transmisi (hardware): network interface, noise, koneksi, dll Bagaimana menjamin frame yang diterima receiver tidak terdapat error?
Mekanisme umum => sulit memperbaiki bit yang error Lebih mudah mendeteksi adanya kesalahan dalam satu frame (blok bit pada frame tsb) Problem: Bagaimana receiver mengetahui terdapat bit yang salah dalam frame? Contoh: Kirim dua frame yang sama => receiver membandingkan (XOR)? • • • •
• Mampu mendeteksi adanya kesalahan • Mekanisme memperbaiki kesalahan 23
Fasilkom UI v-1.2
Fasilkom UI v-1.2
24
Jika sama tidak ada kesalahan Redundant bits sebanyak besar frame tsb. Overhead? 100% Reliability? Fasilkom UI v-1.2
4
Redundant Bits (2/5)
Example: Single Parity Check (3/5)
Ide Dasar: Sender tambahkan redundant bits, berdasarkan data dalam frame. Receiver: analisa/bandingkan redundant bits dan data frame => deteksi kesalahan. Usahakan:
Pengirim: Data: 1 1 0 0 0 b1 b2 b3 b4 b5 Menggunakan “even parity”:
• Data: terdapat 3 bit 1 (ganjil) => tambahkan bit 1, jumlah bit 1 menjadi genap. • Kirim: Data & Parity = 11000011
• Jumlah redundant atau extra bits sangat minimal (overhead untuk transmisi satu frame) tapi kemampuan deteksi sangat besar (mis. 99.9 % jenis error dapat dideteksi) • Proses deteksi kesalah frame harus sederhana; supaya cepat => implementasi pada tingkat hardware
Penerima: Proses (algoritma) even parity: • • • •
Algoritma (proses): parity, checksum (addition), CRC (Cyclic Redundancy Check) dll. 25
Fasilkom UI v-1.2
Two-dimensional parity: Frame (4/5) Teknik untuk deteksi kesalahan dalam satu frame. Frame: Blok karakter (bytes) single bit paritas untuk setiap byte (karakter) paritas byte: paritas vertikal untuk seluruh byte dalam frame. Kemampuan deteksi: 1, 2, 3, bit errors.
• Error?
26
1 0 0 1 0 0 0 0 0 0 0 1
0101001
1
1 0 0 1 0 0
1101001
0
1 1 0 1 1 0
1011110
1
0001110
1
0110100
1
0 0 0 1 0 1
1011111
0
1 0 0 1 0 0
1111011
0
27
1 0 0 1 1 1
1 0 0 1 0 0
One error
Two errors
1 0 0 1 1 1 Fasilkom UI v-1.2
28
1 0 0 1 0 0 1 0 0 1 1 0
Tanda panah menunjukkan bit paritas, mampu mendeteksi bit yang error
1 0 0 1 1 1
1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0
Three errors
Four errors
1 0 0 1 1 1 Fasilkom UI v-1.2
Reliable Transmission (1/3)
Teori: finite field arithmetic (binary valued arit.) String bit direpesentasikan dalam persamaan tingkat tinggi (polynomial) => M(x) 0110 = x^3 + x^2 + x^1 + x^0 0 1 1 0 M(x) = x^2 + x^1 Terdapat: string generator polynomial yang unik dan standard (G(x)), sama utk. sender/receiver CRC: G(x) = X^2 + x^0 = 101 Hitung CRC code dari sisa hasil bagi: M(x) / G(x) => P(x): x^1 + x^0 = 2 bit sisa hasil bagi (CRC code) 101 / 0110 Kirimkan sebagai message: T(x) = M(x) << 2 bit + P(x) Fasilkom UI v-1.2 0110 00 + xx = 0110 xx => T(x)
1 0 0 1 0 0 0 0 0 0 0 1
1 0 0 1 1 0
Cyclic Redundancy Check (CRC)
29
Fasilkom UI v-1.2
Coverager Error Detection (5/5)
Parity bits
Parity byte
Hitung jumlah bit 1 => x Jika x = genap disimpulkan tidak ada error Jika x = ganjil, terjadi error Terima: Data & Parity = 11100011
Single parity: mampu mendeteksi satu bit error
Contoh: paritas genap (even parity)
Data
0 1 b6 b7
Problem: Bagaimana menjamin frame diterima, walaupun terdapat kemungkinan error atau hilang saat transmisi di jaringan? Saat ini kita telah mempelajari: Receiver mampu mendeteksi kesalahan dari frame yang diterima. Pilihan untuk receiver: Memperbaiki kesalahan pada frame => sulit dan “overhead” h/w & s/w besar Membuang (discard) frame tersebut dan request sender untuk mengirimkan kembali frame tsb. 30
Fasilkom UI v-1.2
5
Reliable Transmission (2/3)
Reliable Transmission (3/3)
Sender: menjamin diterima dengan baik Kemungkinan frame “dibuang” oleh receiver Terdapat mekanisme untuk memberikan informasi ke sender => frame OK atau Error Jika OK, kirim frame berikutnya Jika Error, retransmisi frame yang error tsb. Mekanisme Dasar: Receiver wajib mengirim “control” frame OK, sebagai tanda ke sender.
Bagaimana jika sender tidak menerima frame control ACK? Sender harus mempunyai timer (timeout) selama menunggu ACK Jika timer expired => retransmisi frame Catatan: jadi setiap timer expired, sender otomatis melakukan retransmisi frame => jenis protokol ARQ (Automatic Repeat Request) Menggunakan tanda ACK (receiver) Menggunakan timer untuk “automatic retransmission” (sender).
• Sender menerima frame: ACK (Acknowledgements), berarti receiver telah menerima frame dengan baik (no error). 31
Fasilkom UI v-1.2
Protocol Stop & Wait (1/3)
32
Protocol Stop & Wait (2/3) Bagaimana Receiver mengetahui terjadi duplikasi frame (mis. retransmisi jika ACK hilang)? Solusi: Informasi untuk identifikasi nomor frame Gunakan nomor urut frame yang dikirim oleh sender dan receiver menerima sesuai nomor urut frame Performance Lambat, tidak dapat mengirim lebih dari satu frame (No pipeline effect) Masalah: Satu frame per RTT, throughput tidak terpengaruh oleh besarnya bandwidth Utilisasi link (throughput) sangat rendah
Simplest reliable protocol: Stop and Wait Sender: Kirim SEBUAH frame Start timer, Stop and Wait pengiriman frame, sampai frame ACK diterima dari Receiver Retransmit frame yang sama, jika terjadi time-out atau menerima Not-ACK dari Receiver. Kontinyu transmisi frame berikutnya, jika menerima ACK. Receiver: Menerima frame Deteksi kesalahan pada frame tsb. Kirim ACK atau Not-ACK berdasarkan hasil algoritma deteksi kesalahan 33
Fasilkom UI v-1.2
Fasilkom UI v-1.2
34
Fasilkom UI v-1.2
6