Semester 2003/2004 Versi: 1.1 Jaringan Komputer (IKI-20240) Johny Moningka (moningka@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Physically Connecting Hosts
Direct Networks (Lecture 3)
2 Fasilkom UI v-1.2
Big Picture: where are we?
Direct Link Network
3 Fasilkom UI v-1.2
Agenda
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)
Pelajari Reference: Bab 2 (Hal. 64 s/d 110)
4 Fasilkom UI v-1.2
Physically Connected Hosts
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
Hardware Building Blocks
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:
•Interface antara memori dan network link, device driver mengontrol network adapter.
•Mengatur pengiriman/penerimaan bit ke link, secara fisik.
Network Adapter: Host Computer
main memory I/O bridge bus interface ALU register file CPU chip disk controller graphics adapter USB controller
mouse keyboard monitor
disk I/O bus
Network Adapter
7 Fasilkom UI v-1.2
Example: Network Media
Copper, 1mm think, twisted to avoid antenna effect
Twisted Pair: Used by cable companies: high BW, good noise immunity Coaxial Cable: Copper core Insulator Braided outer conductor Plastic Covering Light: fiber, light source, light detector Fiber Optics Transmitter – L.E.D
– Laser Diode Receiver
– Photodiode light source Silica Total internal reflection Air 8 Fasilkom UI v-1.2
Network Basics: Links
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 0110 0110 links signal bits 9 Fasilkom UI v-1.2
Example: Dial-up Links
The dial-up modem allows connections through the phone network
10 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.
Radio Microwave Infrared UV Gamma ray f (Hz) FM Coax Satellite TV AM Terrestrial microwave Fiber optics X ray 100 104 105 106 107 108 109 1010 1011 1012 1013 1014 1015 1016 102 104 106 108 1010 1012 1014 1016 1018 1020 1022 1024 11 Fasilkom UI v-1.2
Media: Cable Local Links
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
12 Fasilkom UI v-1.2
Example: Telco. carriers
Sirkit Sewa (Leased Lines)
24 x E0 DS3 44.736 Mbps 28 x DS1
STS1 51,840 Mbps
E0, sering setara dengan 1 kanal digital voice channel, STS1, basis dasar jaringan telekomunikasi (antar sentral) => OC-N (Optical Carrier)
13 Fasilkom UI v-1.2
Example: Common Carrier Links
Link yang menggunakan network bersama (service provider) Service Bandwidth POTS (telepon) 28,8 Kbps – 56 Kbps ISDN 64 – 128 Kbps ADSL 16 Kbps – 9 Mbps CATV 20 – 40 Mbps
ADSL, menggunakan kabel telepon (Telkom) ISDN, hanya ditawarkan pada “bussiness district” CATV, bagian dari jaringan cable TV (Indovision) Umumnya perlu peralatan: Modem
14 Fasilkom UI v-1.2
Example: Wireless Links
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.
15 Fasilkom UI v-1.2
Encoding (1/3)
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
16 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).
Example: Manchester Encoding (3/3)
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 NRZ Clock Manchester NRZI 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 Framing (1/5)
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)
19 Fasilkom UI v-1.2
Framing (2/5)
Blok data (kumpulan bits) dipertukarkan dalam satu unit => frames
Problem: Bagaimana mengetahui akhir dan awal dari frame?
20 Fasilkom UI v-1.2
Framing: Bit Oriented (3/5)
Setiap frame mulai dengan pola (sequence) bit yang unik sebagai tanda (flag):
Misalkan: 01111110 = 0160
Problem: Bagaimana jika data berisi “pola” bit flag tsb?
21 Fasilkom UI v-1.2
HDLC: Bit Stuffing (4/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 limabit 1 yang
berurut.
Receiver: Jika melihat limabit 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
• Jika 0 berarti akhir dari frame (flag: 01111110)
• Jika 1 berarti error, buang frame tsb (receiver meneriman invalid
bit: 01111111)
22 Fasilkom UI v-1.2
Bit Stuffing Example (5/5)
Data: Sender: Receiver: flag flag 23 Fasilkom UI v-1.2
Error Detection: Focus
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 frameyang diterima
receivertidak terdapat error? •Mampu mendeteksiadanya kesalahan
•Mekanisme memperbaikikesalahan
24 Fasilkom UI v-1.2
Error Detection (1/5)
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)?
•Jika sama tidak ada kesalahan
•Redundant bits sebanyak besar frame tsb.
•Overhead? 100%
25 Fasilkom UI v-1.2
Redundant Bits (2/5)
Ide Dasar:
Sender tambahkan redundant bits, berdasarkan data dalam frame.
Receiver: analisa/bandingkan redundant bits dan data frame => deteksi kesalahan.
Usahakan:
•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 Algoritma (proses): parity, checksum (addition), CRC (Cyclic Redundancy Check) dll.
26 Fasilkom UI v-1.2
Example: Single Parity Check (3/5)
Pengirim:
Data: 1 1 0 0 0 0 1 b1 b2 b3 b4 b5 b6 b7 Menggunakan “even parity”:
• Data: terdapat 3 bit 1 (ganjil) => tambahkan bit 1, jumlah bit 1
menjadi genap.
• Kirim: Data & Parity = 11000011
Penerima:
Proses (algoritma) even parity:
• Hitung jumlah bit 1 => x
• Jika x = genap disimpulkan tidak ada error
• Jika x = ganjil, terjadi error
• Terima: Data & Parity = 11100011
•Error?
Single parity: mampu mendeteksi satu bit error
27 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. 1011110 1 1101001 0 0101001 1 1011111 0 0110100 1 0001110 1 1111011 0 Parity bits Parity byte Data
Contoh: paritas genap (even parity)
28 Fasilkom UI v-1.2
Coverager Error Detection (5/5)
Two errors 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 One error Three errors 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 Four errors Tanda panah menunjukkan bit paritas, mampu mendeteksi bit yang error
1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 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 1 1 0 1 0 0 1 1 1
Cyclic Redundancy Check (CRC)
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)
Reliable Transmission (1/3)
Problem: Bagaimana menjamin frame diterima, walaupun terdapat kemungkinan erroratau
hilangsaat 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.
31 Fasilkom UI v-1.2
Reliable Transmission (2/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.
•Sender menerima frame: ACK (Acknowledgements), berarti receiver telah menerima frame dengan baik (no error).
32 Fasilkom UI v-1.2
Reliable Transmission (3/3)
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 otomatismelakukan retransmisiframe => jenis protokol ARQ (Automatic Repeat Request)
Menggunakan tanda ACK (receiver) Menggunakan timer untuk “automatic retransmission” (sender).
33 Fasilkom UI v-1.2
Protocol Stop & Wait (1/3)
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
34 Fasilkom UI v-1.2
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