Sistem Terdistribusi
TIK-604
Jaringan
Pertemuan 04: 20 Maret 2017Husni
husni@trunojoyo.ac.id Husni.trunojoyo.ac.idHari ini…
▪ Bahasan yang lewat:
▪ Model-model arsitektural dari sistem terdistribusi
▪ Bahasan hari ini:
▪ Tipe-tipe jaringan (network)
▪ Prinsip penting Networking: Layering, Enkapsulasi, Routing dan kendali kemacetan (kongesti)
▪ Skalabilitas, Reliabilitas dan Toleransi kegagalan di Internet
▪ Pemberitahuan:
Prinsip Networking
Tujuan Pembelajaran
▪
Mampu menjelaskan bagaimana komputer-komputer
di Internet berkomunikasi
▪
Secara rinci, setelah kelas hari ini harus mampu:
▪
Menjelaskan tipe-tipe (berbeda) jaringan▪
Mendeskripsikan prinsip-prinsip networking seperti layering, enkapsulasi dan packet-switching▪
Mengetahui bagaimana paket-paket dirutekan dan bagaimana kemacetan dikendalikan▪
Menguraikan konsep scalability, reliability danNetwork dalam Sistem Terdistribusi
Sistem terdistribusi “hanyalah” suatu koleksi komponen yang
berkomunikasi untuk menyelesaikan suatu masalah.
Mengapa programmer sistem terdistribusi harus memahami jaringan komputer?
Persoalan networking sangat mempengaruhi kinerja, toleransi kegagalan dan keamanan sistem terdistribusi
Mis. Gmail outage pada Sep 1, 2010 – Jubir Google mengatakan
“we had slightly underestimated the load which some recent
changes placed on the request routers. … . few of the request routers became overloaded… causing a few more of them to also become overloaded, and within minutes nearly all of the request routers were overloaded.”
Network dalam Sistem Terdistribusi
Isu Networking Ulasan pada Rancangan Sistem Terdistribusi
Mempengaruhi latency dan data-transfer-rate dari pesan Ukuran Internet bertambah. Diperkirakan lalulintas lebih besar di masa depan.
Deteksi error komunikasi & kerjakan error-checks pada
application layer.
Install firewall. Pasang modul otentikasi, privasi dan keamanan end-to-end.
Perkiraan koneksi “nyambung-putus” untuk perangkat bergerak
Internet adalah karya terbaik. Sulit memastikan jaminan QoS tepat 100%, misalnya untuk pesan multimedia.
Performance Scalability Reliability Security Mobility Quality-of-service
Klasifikasi Jaringan
Cara penting mengklasifikasi jaringan:
1. Berbasis ukuran
Body Area Networks (BAN) Personal Area Networks (PAN) Local Area Networks (LAN) Wide Area Networks (WAN)
2. Berbasis teknologi
Ethernet Networks Wireless Networks Cellular Networks
Body Area Networks (BAN):
Perangkat membentuk unit wearable computing Beberapa Body Sensor Units (BSUs)
berkomunikasi dengan Body Central Unit (BCU) Khas, networking low-cost dan low-energy.
Personal Area Networks (PAN):
PAN menghubungi berbagai perangkat digital yang dimiliki oleh seorang pengguna (mobile phone, tablet, camera)
Networking Low-cost dan low-energy
Mis. Bluetooth
Klasifikasi Jaringan: LAN
Beberapa komputer dikoneksikan oleh satu medium komunikasi
Mis. twisted copper wire, optical fiber
Data-transfer-rate tinggi dan latency rendah
LAN terdiri dari:
1.
SegmentBiasanya di dalam suatu departemen/lantai gedung Bandwidth dishare, tidak perlu routing.
2.
Local NetworksMelayani kampus/gedung kantor
Banyak segmen dikoneksikan dengan switch/hub Khas, mewakili jaringan di dalam suatu organisasi
Klasifikasi Jaringan: WAN
Biasanya meliputi area yang lebih luas (kota, negara,...) Terdiri dari banyak jaringan berbeda organisasi /institusi Lalu-lintas dirutekan dari satu organisasi ke lainnya
Banyak Router
Bandwidth dan delay
Bervariasi
Lebih buruk daripada LAN
Rangkuman Jaringan
(Berdasarkan Ukuran)Satu link Point-to-point
Jaringan dari jaringan
Satu Segment
Tipe Jaringan Berdasarkan Teknologi
Ethernet Networks
Sebagian besar digunakan dalam Internet berkabel (wire)
Wireless LANs
Terutama dirancang untuk menyediakan akses nirkabel (wireless) ke Internet
Rentang rendah (100 meter), bandwidth tinggi
Cellular networks (2G/3G)
Awalnya dirancang untuk membawa suara Rentang besar (beberapa km)
Kinerja Berbagai Tipe Jaringan
Network Contoh Rentang Bandwidth
(Mbps)
Latency (ms)
Wired LAN Ethernet 1-2 km 10 – 10,000 1 – 10
Wired WAN Internet Sedunia 0.5 – 600 100 – 500
Wireless PAN Bluetooth 10 – 30 m 0.5 – 2 5 – 20
Wireless LAN WiFi 0.15 – 1.5 km 11 – 108 5 – 20
Cellular 2G – GSM 100m – 20 km 0.270 – 1.5 5
Modern Cellular
Prinsip Networking
Protokol Jaringan
Transmisi Paket
Jaringan terbagi dalam banyak layer
Physical layer
Data-link layer
Network layer dan routing
Protokol Jaringan
Jika dua entitas ingin berkomunikasi pada suatu jaringan, diperlukan persetujuan yang telah didefinisikan
Berapa bit harus digunakan untuk menandakan bit 0 atau bit 1? Bagaimana receiver mengetahui bit terakhir dalam pesan?
Bagaimana receiver dapat mendeteksi jika pesan rusak?
Protokol adalah himpunan aturan dan format well-known
untuk digunakan selama komunikasi antar entitas
Standarisasi himpunan protokol well-known ini mendukung komunikasi antar entitas heterogen
Transmisi Paket
Messages dipecah ke dalam packet-paket
Paket adalah satuan data yang ditransmisikan
antara asal dan tujuan
Paket dapat berubah-ubah panjangnya
Ukuran maksimum paket dikenal sebagai Maximum
Transmission Unit (MTU)
MTU mencegah suatu host mengirimkan message terlalu panjang
Setiap paket mempunyai dua field utama
Header: berisi informasi meta mengenai paket
Mis. Panjang paket, ID receiver
Layer Jaringan
Software jaringan diatur ke dalam hirarki layerProtokol dalam satu layer mengerjakan satu fungsi khusus (tertentu)
Layering merupakan rancangan scalable & modular bagi suatu software kompleks
Fungsi khusus dalam software jaringan: 011100011 0011 011
Dest
Src
P1 P2 P3
Mesin Tujuan
Fungsi Layer
Mengirimkan bit-bit ke media transmisi
Mengkoordinasi pengiriman antar host yang langsung terhubung (LAN)
Merutekan paket melalui jaringan lanjutan (WAN) Menangani messages – bukan paket – antara proses sender dan receiver
Memenuhi persyaratan komunikasi untuk aplikasi tertentu Physical Data link Network Transport Application
Model Referensi OSI
Model referensi Open Systems Interconnection (OSI)
Model networking berlapis yang distandardkan oleh ISO Model ini mengidentifikasi 7 layer & fungsinya.
Fungsionalitas Layer Contoh Protokol
Memenuhi persyaratan komunikasi bagi aplikasi khusus
Application HTTP, FTP
Mengirimkan data dalam representasi jaringan yang tak bergantung dari representasi dalam komputer pengguna
Presentation CORBA data representation Mendukung reliability dan adaptasi, seperti deteksi
kegagalan dan pemulihan otomatis
Session SIP Menangani message - bukan paket - antara proses
sender dan receiver
Transport TCP, UDP Merutekan paket melalui jaringan lanjutan Network IP, ATM Mengkoordinasikan pengiriman antar host yang
secara langsung terhubung ke medium bersama
Data-link Ethernet MAC Mengirimkan bit-bit ke medium transmisi Physical Ethernet
Enkapsulasi adalah teknik membungkus dan membuka
paket data dalam suatu arsitektur ber-layer.
Enkapsulasi Paket
Physical Layer Network Layer Application Layer Physical Layer Network Layer Application LayerLayer akan dibahas hari ini...
1. Physical layer
2. Data-link layer
3. Network layer
4. Transport layer
Layer akan dibahas hari ini...
1. Physical layer
2. Data-link layer
3. Network layer
4. Transport layer
Physical Layer
Protokol physical layer mengirimkan serangkaian
bit-bit ke suatu medium transmisi
Mengubah bit-bit ke dalam sinyal yang dapat dikirimkan ke medium
Medium Transmisi Tipe sinyal yang dikirimkan
Twisted-pair (Ethernet cable)
Electrical signal
Fiber Optic Circuits Light signal
Wireless channel Electro-magnetic signal
A physical layer protocol
Data-link layer protocol
Transmission Medium
Bits
Layer akan dibahas hari ini...
1. Physical layer
2. Data-link layer
3. Network layer
4. Transport layer
Data-link Layer
Protokol dalam data-link layer memastikan bahwa
paket dihantarkan dari satu host ke lainnya dalam
jaringan lokal
Protokol data-link layer menyediakan dua fungsi
utama:
Bagaimana melakukan koordinasi antar transmitter (pemancar) sehingga paket diterima dengan sukses?
Koordinasi
Bagaimana mengidentifikasi host lain pada jaringan lokal? Pengalamatan di jaringan lokal
Suatu paket tidak berhasil diterima di receiver jika
sender mengirimkan data pada saat transmisi
pengirim lain sedang aktif.
Paket dikatakan mengalami tabrakan (collision) jika tidak berhasil diterima di penerima
Tabrakan dihindari dengan “
merasakan
” medium
sebelum transmisi
Pengalamatan pada Jaringan Lokal
Setiap perangkap yang terkoneksi ke jaringan mempuyai suatu alamat unik bernama Medium Access Control (MAC)
address
MAC address panjangnya 6 byte
Mis. 2A:D4:AB:FD:EF:8DPendekatan:
Data-link layer men-broadcast paket ke medium
Receiver membaca header paket dan memeriksa apakah paket ditujukan kepadanya
Layer akan dibahas hari ini...
1. Physical layer
2. Data-link layer
3. Network layer
Network Layer
Protokol network layer mengerjakan peran routing
Protokol network layer memastikan bahwa paket dirutekan
dari mesin asal ke mesin tujuan
Paket dapat melintasi LAN-LAN berbeda untuk mencapai tujuan
Internet Protocol (IP):
protokol network layer
yang luas digunakan.
IP Address biasanya digunakan untuk mengidentifikasi mesin. Destination Source Router
Router
Perangkat yang meneruskan paket melintasi beberapa jaringan
Router dikoneksikan ke dua atau lebih jaringan
Setiap network interface dihubungkan ke LAN atau host
Paket berjalan sampai network layer pada router
LAN-3 Int-3 Int-2 A Router LAN-2 LAN-1 Physical Data-link Network Transport Application Source machine Physical Data-link Network Transport Application Dest machine Physical Data-link Network Router Int-1
Paket harus dikirimkan dalam serangkaian hop (lompatan) melewati beberapa router
Rangkaian hop yang ditempuh oleh suatu paket dikenal sebagai route
Algoritma Routing bertanggungjawab menentukan rute
pengiriman paket
Tantangan perancangan algoritma routing di Internet:
Kinerja: Lalu lintas di jaringan yang berbeda bervariasi Kegagalan router: Router di Internet mungkin gagal
Algoritma Routing
S R1 D
R2
R4 R4
Algoritma Routing (lanj.)
Algoritma routing mempunyai dua aktifitas
1. Menentukan next-hop yang akan ditempuh setiap paket
Algoritmanya harus cepat dan efisien
2. Secara dinamis mengupdate informasi koneksi dan rute
Menjaga pengetahuan jaringan dengan memantau router dan trafik
Aktifitas tersebut terdistribusi di seluruh jaringan
Keputusan routing dibuat berbasis hop-by-hop
Informasi mengenai kemungkinan next-hop router disimpan di lokal
Informasi diupdate secara berkala
Algoritma Distance Vector
Distance Vector (DV) menggunakan algoritma teori graf untuk
menemukan rute terbaik dalam jaringan
Menggunakan algoritma jalur terpendek Bellman-Ford
Dua aktifitas pada algoritma routing DV:
1.
Penentuan next-hop terbaik pada setiap router2.
Secara dinamis mengupdate informasi koneksi pada semua routerAlgoritma Distance Vector
Penentuan Next-hopSetiap router memelihara table routing yang berisi:
Destination: IP address tujuan paket
Link: link keluar kemana paket akan diteruskan
Cost: jarak (distance) antara router dan next-hop
Mis. Biaya diperkirakan sebagai delay bagi paket untuk mencapai next-hop
Router membaca tabel untuk menentukan next-hop terbaik
Tabel routing pada router A To Link Cost A B C D E local 1 1 3 1 0 1 2 1 2 A B D 1 3 Links Routers Hosts or local networks
Tabel Routing
dari Scenario Contoh
A B E D C 1 2 3 4 6 5 Routers Hosts or local networks Links
Routings from A Routings from B Routings from C To Link Cost To Link Cost To Link Cost
A B C D E local 1 1 3 1 0 1 2 1 2 A B C D E 1 local 2 1 4 1 0 1 2 1 A B C D E 2 2 local 5 5 2 1 0 2 1
Routings from D Routings from E
To Link Cost To Link Cost A B C D E 3 3 6 local 6 1 2 2 0 1 A B C D E 4 4 5 6 local 2 1 1 1 0
Algoritma Distance Vector
Update Informasi Koneksi
Koneksifitas diupdate melalui pertukaran tabel routing.
Router Information Protocol (RIP) digunakan untuk mengirimkan pesan update
1.
Kirim tabel routing ke router tetanggaSecara berkala atau ketika tabel lokal berubah
2.
Ketika tabel routing tetangga diterima:Kasus Jika tabel routing yang diterima … Update tabel routing lokal
1 Ada tujuan baru yang tidak ada dalam tabel
routing lokal Update Cost & Link
2 Ada rute dengan biaya lebih baik ke tujuan dalam
tabel routing lokal Update Cost
Pseudocode RIP
Send: Setiap t detik atau ketika Tl berubah, kirim Tl pada setiap link keluar tidak-rusak
Receive: Kapanpun tabel routing Tr diterima pada link n: for all rows Rr in Tr {
if (Rr.link != n) {
Rr.cost = Rr.cost + 1; // Update cost
Rr.link = n; // Update next-hop
if (Rr.destination is not in Tl) {
add Rr to Tl; // tambahkan tujuan baru ke Tl
}
else for all rows Rl in Tl {
if (Rr.destination = Rl.destination) {
// Rr.cost < Rl.cost : remote node punya rute lebih baik
// Rl.link = n : Informasi lebih baru
if (Rr.cost < Rl.cost OR Rl.link = n) {
Rl = Rr; } } } } } A B E D C 1 2 3 4 6 5
Routing table at router A
To Link Cost A D local 3 0 1 Tl at A C 3 3
Routing table of router B To Link Cost A B local 1 1 0 C 2 1 Tr recvd @ A from B on link n=1 Kasus 1 Kasus 2 Kasus 3
Rangkuman: Routing Internet
Setiap mesin di Internet diidentifikasi oleh suatu IP Address Mesin asal mengirimkan paket melalui jaringan lokalnya Router lanjutan (perantara) memeriksa paket, dan
meneruskannya ke router next-hop terbaik
Jika tujuan langsung terhubung ke jaringan lokal dari router, router meneruskan paket melalui jaringan lokal tersebut
Router saling bertukar informasi untuk menjaga informasi yang up-to-date tentang jaringan.
Destination
Layer akan dibahas hari ini...
1. Physical layer
2. Data-link layer
3. Network layer
Transport Layer
Protokol transport layer menyediakan komunikasi end-to-end bagi aplikasi
Merupakan layer paling rendah untuk pengananan message (bukan packet).
Message ditujukan kepada port komunikasi yang melekat pada proses tersebut
Transport layer me-multiplexes setiap paket yang diterima ke portnya
masing-masing. P1 P2 P3
Transport layer protocol
Mesin Tujuan
Protokol Transport Layer Sederhana
Protokol transport sederhana menyediakan layanan berikut
1. Layanan Multiplexing
2. Komunikasi connection-less: proses sender & receiver tidak memulai koneksi sebelum pengiriman message
Setiap message dibungkus dalam paket (dikenal juga datagram) Message pada receiver dapat berbeda urutannya dengan saat dikirimkan oleh sender
Mis. User Datagram Protocol (UDP)
P1 P2 P3 UDP protocol Destination machine P1 P1 P3 UDP protocol Source machine
Transport Control Protocol (TCP)
Protokol lapisan transport lanjut yang (biasanya)
menyediakan layanan lebih dari multiplexing
sederhana
Transmission Control Protocol (TCP) adalah protokol
yang digunakan secara luas dan menyediakan tiga
layanan tambahan:
1. Komunikasi berorientasi koneksi
2. Keandalan (Reliability)
1. Komunikasi Berorientasi Koneksi
Sender dan receiver akan berjabat-tangan sebelum pengiriman message
Jabat-tangan akan mensetup parameter koneksi & alokasi sumber daya pada tujuan (penerima) paket
Penerima menerima pesan & menatanya sesuai in-order delivery
Penerima membuffer paket sampai paket sebelumnya diterima
Menyampaikan paket ke proses atau layer lanjutan sesuai urutan pengiriman oleh mengirim P1 P2 P3 TCP protocol Mesin Tujuan P1 P1 P3 TCP protocol Mesin Asal
Akankah saya kirim? OK. Mulai kirim
2. Reliability
Paket dapat hilang dalam jaringan karena buffer
overflow pada router atau error transmisi
Dalam TCP, penerima mengirimkan suatu ACK
kepada pengirim
Jika ACK tidak diterima oleh pengirim, pengirim akan menyimpulkan error paket, dan mengirim-ulang paket tersebut
3. Kendali Kemacetan
Kapasitas jaringan dibatasi oleh link komunikasi individu
dan router
Ruang buffer dan link-bandwith yang terbatas.
Apa yang terjadi jika pengirim (asal) mengirimkan paket
pada rate lebih besar dari kapasitas jaringan?
Paket di-drop pada router lanjutan. ACK tidak ada di pengirim Pengirim memancarkan ulang paket tersebut
Akibat: lebih banyak paket di antrian router Jaringan kolaps (macet total)
3. Kendali Kemacetan (lanj.)
Untuk menghindari kemacetan, diadopsi dua fungsi:
1.
Deteksi kemacetan pada router:Jika router memperkirakan akan buffer overflow, harus ikut satu dari dua strategi:
Drop paket di router. Pengirim akan mengatur ulang setelah mengalami kehilangan packet.
Kirim suatu paket “Explicit Congestion Notification (ECN)” kepada pengirim.
2. Mengatur masukan pada pengirim:
Jika TCP-sender memperkirakan macet (mis. Ia menerima paket ECN), maka pengirim mengurangi kecepatan
Network dalam Sister
Persoalan Networking
Ulasan pada rancangan Sistem Terdistribusi
Faktor-faktor Networking
Mempengaruhi latency dan data-transfer-rate dari message.
Ukuran Internet meningkat. Trafik lebih besar di masa depan
Deteksi error komunikasi & pemerik-saan error pada application layer. Install firewall. Pasang modul otenti-kasi, privasi & keamanan end-to-end. Perkirakan koneksi terputus-putus untuk perangkat mobile.
Internet upaya terbaik. Sulit untuk memastikan jaminan QoS yang ketat, mis. Untuk pesan multimedia.
Performance Scalability Reliability Security Mobility Quality-of-service
Bandwidth LAN, trafik LAN, routing delay
Kendali kemacetan, waktu pencarian tabel routing Paket di-drop di router, tabrakan paket
Konfigurasi salah dari router & gateway
Kegagalan rute, bandwitch kecil dari LAN nirkabel
Router delay, kemacetan, kegagalan rute, trafik LAN.