Multimedia Networking Quality of Service
Quality of Service Isu: Internet tidak menyediakan QoS Aplikasi media adalah intensif-bandwith Membutuhkan delay dan jitter yang rendah Network harus menyediakan QoS untuk kinerja baik Internet tidak menyediakan QoS Perlu fitur “tambahan” untuk mendapatkan QoS: Packet classification, policing, scheduling, call admission Arsitektur QoS Integrated Services Differentiated Services
Requirements untuk QoS Lihat model sederhana untuk melihat pengaruh sharing dan congestion Dua “flows” sharing link antara R1 dan R2 Output queue dari R1 yang diperhatikan
Skenario 1 Aplikasi audio dan FTP share link Audio: 1 Mbps (membutuhkan delay rendah) FTP: sebanyak mungkin (tidak ada time constraint) Priority scheduling: Selalu forward paket audio sebelum FTP Menjamin audio mendapatkan QoS yang baik Packet marking: menandai paket audiosebagai prioritas tinggi
Klasifikasi Paket Lebih general dibanding menandai satu class paket adalah klasifikasi paket Klasifikasi berdasarkan pada siapa yang mengirim jenis paket IP source, IP destination, source port, destination port, protocol type, … Kebijakan menentukan service paket apa yang didapat Misal: “all packets from 128.252.*.* low priority” Prinsip 1 QoS: “Klasifikasi paket menfasilitasi router untuk membedakan antar paket untuk membedakan classes of traffic.”
Skenario 2 Jika audio memiliki prioritas lebih tinggi dari FTP, dapat menyebabkan kesulitan FTP dengan mengirim 1.5 Mbps Mungkin karena malicious atau erroneous Flows harus diisolasi satu sama lain Malicious flow tidak dapat menurunkan service lainnya
Isolasi dan Kebijakan Prinsip 2 QoS: “Memungkinkan menerapkan derajat isolasi antar traffic flows, maka satu flow tidak dirugikan oleh misbehavinf flow lainnya.” Kebijakan dapat mengontrol traffic Klasifikasi mengenali suatu paket termasuk pada flow tertentu Jika paket tidak memenuhi spesifikasi flow tertentu, paket didelay atau didrop Mekanisme kontrol rate: leaky bucket (dibahas kemudian)
Skenario 3 Alokasi ketat sumber daya untuk flow Tidak membolehkan penggunakan bandwith yang tidak terpakai Jika audio dipause, FTP tidak dapat menggunakan bandwidth Prinsip 3 QoS 3: “Selain melakukan isolasi antar flow, dapat mengatur penggunaan resources (bandwidth) seefisien mungkin.”
Skenario 4 Bagaimana jika dua aplikasi dengan prioritas yang sama overload kapasitas link? Misal, dua aplikasi audio membutuhkan 2 Mbps Keduanya masih dapat berbagi link meskipun dengan 0.75 Mbps Kinerja buruk untuk keduanya
Admisi Call Tidak dapat menggunakan bandwith lebih dari yang ada Prinsip 4 QoS: “Proses admisi call dibutuhkan dimana flow menyatakan requirement QoS-nya dan kemudian diakui network (pada QoS yang disyaratkan) atau diblok dari network (jika QoS tidak dapat dipenuhi)”
QoS Requirements
Mekanisme Scheduling dan Policing FIFO Priority Queuing Round Robin Weighted Fair Queuing Policing: Leaky Bucket Delay maksimum
Scheduling: FIFO First-In-First-Out Packets diforward sesuai urutan kedatangan Discard policy (when buffer is full and packet arrives): Buang paket yang datang (tipikal) Buang paket yg datang atau salah satu yg ada di buffer tergantung policy (kapan ini digunakan?)
Scheduling: Priority Queuing Antrian berbeda untuk class berbeda Kalsifikasi menentukan paket masuk antrian yg mana Transmit paket dari class prioritas tertinggi dgn non-empty queue Preemptive dan non- preemptive
Contoh Antrian Prioritas Non- preemptive
Round Robin Tidak seperti antrian prioritas, perlakuan equal untuk tiap class yang berbeda Transmit class 1, kemudian class 2, kemudian class 1, … Tetap berjalan, dengan cepat ke class berikutnya jika salah satu class kosong
Scheduling: WFQ Weighted Fair Queuing Generalisasi abstraksi Round Robin Memberi weight wi untuk tiap class Tiap class mendapat R * wi / (Ówk) throughput (rata-rata)
Paketisasi Problem dalam algoritma scheduling? Bagaimana flow mengeksploitasi scheduling dan mendapatkan bandwidth lebih banyak dari flow lain yang memiliki prioritas yang sama? Kirim paket dengan ukuran sangat besar Penentuan scheduling dilakukan berdasarkan per-paket selain per-bit Algoritma yang lebih kompleks menyertakan mekanisme ini
Policing Bagaimana menentukan rate dimana flow diperbolehkan dikirim? Average rate: interval penting 100 pkts/sec = 6000 pkts/sec ?? Peak rate: maximum rate untuk short time Burst rate: maximum packets in an instant Mekanisme Leaky Bucket dapat melaksanakan average dan burst
Leaky Bucket Transmit jika token paket untuk paket tersedia Rate r menentukan average, bucket size b membatasi burst
Leaky Bucket + WFQ Rate maksimum untuk interval t adalah rt+b Burst maksimum adalah b Dengan WFQ: tiap flow is dikontrol oleh leaky bucket dengan ri dan bi
Delay Bound Delay maksimum untuk paket dalam flow i: Diteruskan lewat leaky bucket Tidak ada delay jika dikirim pada rate yang ditentukan b packets didepannya (packet adalah burst terakhir) Flow mendapatkan R * wi / (Ówk ) bandwidth Delay maksimum terbatas pada: Delay yang terjamin sangat penting pada QoS
Arsitektur QoS Pendekatan 1: Integrated Services Penerapan QoS pada tiap hop dalam network Pendekatan 2: Differentiated Services Melaksanakan pada network edge Menyederhanakan network core
Integrated Services Reservasi resource ditiap router pada path Butuj per-flow state (=> “virtual circuit” J) Butuh call setup Setiap router menerapkan spesifikasi QoS
Call Setup (1) Session menyatakan requirement QoS-nya R- spec: spesifikasi QoS T- spec: spesifikasi traffic Protokol signaling membawa R- spec dan T- spec melalui network Router mempertimbangkan apakah admit call Check resource yang teralokasi Check jikaf R- spec dan T-spec masih “fit” didalamnya RSVP (ReSerVation Protocol) digunakan untuk task ini
Call Setup (2)
IntServ Traffic Classes Guaranteed QoS: Batas tetap queuing delay pada routers Untuk aplikasi hard real-time dengan requirement delay sensitif Controlled Load: Pendekatan serupa QoS dari unloaded router Untuk aplikasi real-time yg bekerja baik pada unloaded Internet (mis., audio, video, …)
Differentiated Services Problem dengan IntServ: Skalabilitas: membutuhkan per-flow state ditiap router Service classes sedikit: tidak ada prioritas eksplisit Differentiated Services: Membedakan antara edge routers dan core routers Leaf routers (edge router): Klasifikasi paket (dalam “behavior aggregates” yg berbeda) Traffic conditioning Core routers: Forward paket berdasarkan marking Supports sedikit “per-hop behaviors” Fungsi sederhana pada core, kompleks pada edge
DiffServ Network
DiffServ Edge (1) Fungsi edge pada router-DS “pertama” dalam path (atau pada host) Klasifikasi Traffic Conditioning Klasifikasi: Node edge menandai paket tergantung dari aturan klasifikasi Menggunakan fiels tipe service IP dalam header IP Field tipe service: 6 bits untuk DS Code Point (DSCP) Menyatakan per-hop behavior dalam core 2 bits tidak digunakan
DiffServ Edge (2) Traffic Conditioning: Node edge mungkin mendelay dan membuang paket Untuk beberapa classes, rate yang diberikan terbatas Traffic dimonitor dan ditentukan jika tidak disyaratkan
DiffServ Core (1) Per-Hop Behavior: Contoh: Yang sekarang dinyatakan: Kinerja berbeda, dapat diukur PHB tidak menentukan mekanisme Contoh: Class A mendapat x% outgoing bandwidth pada interval t Paket class A pergi lebih dulu dari paket class B Yang sekarang dinyatakan: Expedited (memperlancar) Forwarding: Rate kedatangan class paling tidak pada rate tertentu Assured (kepastian) Forwarding: 4 classes dengan buffering dan bandwith minimum Masing-masing dgn tiga partisi utama drop
Ringkasan Multimedia Networking Aplikasi Bandwidth-intense, delay-sensitive QoS perlu Harus ditambahkan pada Internet yang ada QoS: Classification Policing Scheduling Arsitektur QoS: IntServ DiffServ