Bagaimana Antrian Tertimbang Adil dan Deteksi Dini Tertimbang Acak terkait?


10

Saya mencoba memahami bagaimana sistem QoS bekerja dan saya tidak yakin bagaimana tepatnya WFQ dan WRED berinteraksi.

Pada awalnya, saya berpikir bahwa WFQ adalah mekanisme antrian dan bahwa WRED adalah mekanisme penghindaran kemacetan. WFQ harus menjadwalkan paket dalam antrian dan WRED ada di sana untuk menjatuhkannya ketika antrian penuh. Jika saya mengatur QoS misalnya sebagai saklar L3, saya akan mengatur mekanisme antrian dan mekanisme penghindaran kemacetan, sehingga secara teori saya dapat membuat WFQ dan WRD bekerja sama. Sebagai contoh, dokumen ini tampaknya menyiratkan bahwa saya akan diatur sedemikian rupa. Beberapa dokumen Cisco lainnya menyebutkan bahwa saya dapat menggunakannya secara mandiri.

Kemudian saya ingin belajar lebih banyak tentang bagaimana mereka bekerja dan mulai mencari di internet. Akibatnya, sekarang saya tidak tahu apa itu dan bagaimana cara kerjanya.

Beberapa situs (setidaknya untuk pemahaman saya tentang konten) mengklaim bahwa algoritma penjadwalan paket dan algoritma penghindaran kemacetan pada dasarnya sama. Misalnya dalam hal ini artikel Wikipedia, mereka semua ditempatkan dalam kelompok yang sama. Beberapa artikel acak menyebutkan bahwa saya bisa menggunakan WFQ XOR WRED.

Jadi yang ingin saya tanyakan adalah bagaimana kaitannya WFQ dan WRED? Kapan saya akan menggunakan satu atau yang lain dan kapan keduanya, jika itu mungkin?


1
wfq dan wred tidak memiliki hubungan satu sama lain di luar berbagi penggunaan kata bahasa Inggris yang sama
Mike Pennington

1
"Lalu saya ingin belajar lebih banyak tentang bagaimana mereka bekerja dan mulai mencari di internet. Akibatnya, sekarang saya tidak tahu apa itu mereka dan bagaimana mereka bekerja." Ini menggambarkan 99,98% pengalaman saya mencoba memahami QoS.
Nanban Jim

Jawaban:


10

Weighted Fair Queuing (WFQ) adalah seperti namanya menyiratkan algoritma antrian. Antrian digunakan ketika ada kemacetan di antarmuka. Ini biasanya terdeteksi melalui Transmit Ring (TX-Ring) penuh. Ini berarti bahwa antarmuka sedang sibuk mengirim paket. Antrian tidak terjadi kecuali ada kemacetan di antarmuka. Dalam beberapa kasus, ukuran cincin-TX dapat dimanipulasi. TX-ring kecil memberikan antrian perangkat lunak lebih banyak kekuatan untuk paket yang dikirim pertama tetapi itu tidak terlalu efektif. TX-ring yang terlalu besar akan membuat antrian perangkat lunak hampir tidak berguna dan menyebabkan latensi dan jitter yang lebih tinggi untuk paket-paket penting.

Algoritma antrian default biasanya First In First Out (FIFO). Ini berarti bahwa paket-paket dikirimkan dengan tepat sesuai urutan ketika mereka tiba di input antarmuka. Ini biasanya tidak diinginkan karena beberapa paket harus diprioritaskan.

Sangat umum bahwa pelanggan membeli layanan dari Penyedia Layanan Internet (ISP) di subrate. Artinya, pelanggan membeli layanan 50 Mbit / s tetapi antarmuka fisik berjalan pada 100 Mbit / s. Dalam hal ini tidak akan ada kemacetan tetapi ISP akan membatasi jumlah lalu lintas dari pelanggan. Untuk memperkenalkan kemacetan buatan dalam kasus ini pembentuk dapat diterapkan.

Jadi sekarang ada kemacetan algoritma antrian dapat diterapkan. Perhatikan bahwa algoritma antrian tidak memberikan bandwidth tambahan, mereka hanya membiarkan kami memutuskan paket mana yang lebih penting bagi kami. WFQ adalah algoritma yang mengambil beberapa parameter dan membuat keputusan berdasarkan itu. Algoritma ini cukup kompleks dan menggunakan bobot (IP Precedence), ukuran paket dan waktu penjadwalan sebagai parameter. Ada penjelasan yang sangat rinci dari INE di sini. WFQ adalah pilihan yang baik jika seseorang tidak ingin mengutak-atik antrian karena menyediakan bandwidth yang memadai untuk aliran ukuran kecil seperti SSH, Telnet, suara dan itu berarti bahwa transfer file tidak akan mencuri semua bandwidth.

Weighted Random Early Detection (WRED) adalah mekanisme penghindaran kemacetan. WRED mengukur ukuran antrian tergantung pada nilai Precedence dan mulai menjatuhkan paket ketika antrian berada di antara ambang minimum dan ambang maksimum. Konfigurasi akan memutuskan bahwa 1 dalam setiap paket N dijatuhkan. WRED membantu mencegah sinkronisasi TCP dan kelaparan TCP. Ketika TCP kehilangan paket, itu akan menjadi awal yang lambat dan jika semua sesi TCP kehilangan paket pada saat yang sama mereka bisa disinkronkan yang menyediakan grafik seperti ini:

Sinkronisasi TCP

Seperti yang dapat dilihat jika WRED tidak dikonfigurasi, grafik menjadi full blast, kemudian silent, kemudian full blast dan sebagainya. WRED memberikan tingkat pengiriman yang lebih rata-rata. Penting untuk dicatat bahwa UDP tidak terpengaruh oleh menjatuhkan paket karena tidak memiliki mekanisme pengakuan dan jendela geser diimplementasikan seperti TCP. Oleh karena itu WRED tidak boleh diimplementasikan pada kelas berbasis UDP seperti kelas yang menangani SNMP, DNS atau protokol berbasis UDP lainnya.

Baik WFQ dan WRED dapat dan harus digunakan bersama.


2
Hai Daniel, jawaban yang bagus. Bukankah itu WFQ (bukan WQF)? Juga, perlu disebutkan bahwa WRED tidak efektif terhadap UDP dan Anda harus menghindari menggunakannya pada kelas berbasis UDP seperti UDP Voice
Mike Pennington

Terima kasih Mike. Tidak yakin mengapa saya salah mengetik WFQ, saya telah mengeditnya. Juga membuat catatan cepat tentang UDP. Anda selalu memberikan posting yang bagus.
Daniel Dib

8

Pertama-tama, jangan percaya semua yang Anda baca di Internet ;-)

Kadang-kadang algoritma (atau cara penerapannya secara fisik) tidak cocok dengan kategori teoretis. Apa yang Anda sebut itu kurang penting daripada memahami apa yang dilakukannya.

Inti dari WFQ (atau algoritma penjadwalan lainnya) adalah untuk berbagi bandwidth tautan terbatas di antara berbagai aliran. WFQ mencoba mengalokasikan bandwidth secara proporsional untuk setiap aliran. CBWFQ melakukan hal yang sama untuk setiap "kelas." Di dunia yang sempurna, dengan antrian tak terbatas dan memori tak terbatas, hanya itu yang Anda butuhkan - Anda berbagi bandwidth dan semua orang senang.

Tetapi karena perangkat tidak memiliki antrian dan memori tanpa batas, beberapa "pintasan" harus dibuat. Karena antrian memiliki ukuran terbatas, ada bahaya bahwa antrian akan terisi, menyebabkan penurunan ekor dan sinkronisasi lalu lintas. Intinya, jika antrian saya meluap, saya tidak lagi mengendalikan bandwidth.

Untuk menghindari antrian saya meluap, saya menggunakan Deteksi Dini Acak. Algoritma ini secara acak menjatuhkan paket-paket dari antrian sesuai dengan seberapa penuh antrian itu (kedalaman) - semakin penuh antrian, semakin banyak paket yang akan dijatuhkan. Tujuannya agar antrian tidak meluap, sehingga algoritma penjadwalan dapat bekerja.

Kemudian beberapa insinyur Cisco yang cerdas memperhatikan bahwa seseorang dapat menggunakan lebih sedikit antrian (perangkat keras yang lebih sederhana) dan secara acak menjatuhkan berbagai jenis lalu lintas pada kedalaman antrian yang berbeda. WRED menjatuhkan lalu lintas dari antrian pada kedalaman yang berbeda tergantung pada jenis lalu lintas. Meskipun Anda dapat menyebut WRED sebagai mekanisme penghindaran kemacetan, karena kedalaman di mana lalu lintas turun bervariasi dengan jenis lalu lintas, efeknya adalah bahwa berbagai jenis mendapatkan lebih sedikit ruang dalam antrian dan karenanya lebih sedikit dari bandwidth. Jadi itu juga bertindak sebagai algoritma penjadwalan. Anda mengatakan po-tay-to dan saya katakan po-tah-toe.

Satu lagi perbedaan: FQ dan WFQ bekerja pada semua jenis lalu lintas, karena mereka pada dasarnya menghitung byte. RED dan WRED hanya bekerja dengan TCP, karena mereka bergantung pada mekanisme kontrol aliran TCP untuk memperlambat lalu lintas dan menjaga antrian tidak meluap.

(Catatan: demi penjelasan, saya mengabaikan antrian prioritas dan LLQ. Itu jawaban lain).

Saya setuju dengan semua yang dikatakan Mike juga.


1
Jawaban dan komentar yang luar biasa.
generalnetworkerror

-1

Berikut adalah contoh CBWFQ dan WRED:

peta kebijakan OUT


prioritas suara kelas persen 20


Bandwidth video kelas persen 30


bandwidth kelas P1 persen 10
deteksi acak dscp berbasis
deteksi acak dscp af31 26 40 10


bandwidth P2 kelas persen 15
deteksi acak dscp berbasis
deteksi acak dscp af21 24 40 10

kelas-standar
adil-antrian
acak-deteksi berbasis dscp


sayangnya contoh ini tidak menjawab pertanyaannya. Ketika tidak sama dengan bagaimana
Mike Pennington

Untuk perspektif, ini seperti bertanya pada pengemudi mobil balap bagaimana turbocharger dan rasio roda gigi terkait, dan meminta dia mengantar Anda berkeliling lintasan balap tanpa mengucapkan sepatah kata pun. Jika Anda sudah memahami interaksinya (dan / atau kekurangannya), tidak apa-apa ... tetapi Anda tidak akan mengajukan pertanyaan.
Nanban Jim
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.