Teks Indo
Teks Indo
jaringan 1 dari 34
HANYA
Mengukur
bandwidth
kemacetan
NEAL CARDWELL dan waktu
YUCHUNG CHENG Internet tidak memindahkan propagasi
C.STEPHEN GUNN Secaradata sebagaimanahari
keseluruhan, mestinya.
ini bolak-balik
Sebagian besar sel di dunia
SOHEIL HASSAS YEGANEH
VAN JACOBSON pengguna mengalami penundaan dari detik ke menit;
Wi-Fi publik di bandara dan tempat konferensi seringkali lebih
buruk. Peneliti fisika dan iklim perlu bertukar data berukuran
petabyte dengan kolaborator global, namun infrastruktur
multi-Gbps yang mereka rancang dengan hati-hati sering kali
hanya memberikan kecepatan beberapa Mbps pada jarak
antarbenua.6
kerugian. Menemukan alternatif ini memerlukan pemahaman tentang dari mana dan
3 Ini menentukan kecepatan pengiriman data maksimum koneksi. Ini adalah sifat
umum dari arus tak mampat (misalnya, bayangkan sebuah jalan bebas hambatan
enam jalur pada jam sibuk dimana sebuah kecelakaan telah mengurangi satu
bagian pendek menjadi satu jalur. Lalu lintas di bagian hulu dari kecelakaan
bergerak tidak lebih cepat daripada lalu lintas yang melalui jalur tersebut).
hulu dari kemacetan memiliki tingkat keberangkatan yang lebih cepat sehingga
Terlepas dari berapa banyak link yang dilalui suatu koneksi atau berapa
pergi) dan tingkat kemacetan yang sama. Dua kendala fisik, RTprop (waktu
GAMBAR 1: tarif pengiriman dan waktu pulang pergi vs. dalam penerbangan
1
BDP+
BDP BtlneckBufSize
buffer.buffer
kemiringan = 1 / BtlBw
uw
gunitgakrlae p
RTprop
BtlBw
RTprop
genpit
namitraigkn
kemiringan
1/
= Pengoperasian penyumbatan
titik.titik kontrol
di sini beroperasi di sini
garis hijau pada batasan BtlBw, dan garis merah pada buffer
kemacetan. Pengoperasian di wilayah yang diarsir tidak mungkin
dilakukan karena akan melanggar setidaknya satu batasan.
Transisi antar batasan menghasilkan tiga wilayah berbeda (terbatas
kemacetan dengan mengorbankan penundaan yang tinggi dan seringnya kehilangan paket.
Ketika memori mahal, ukuran buffer hanya sedikit lebih besar daripada BDP,
yang meminimalkan penundaan berlebih dari kontrol kemacetan berbasis
kerugian. Penurunan harga memori selanjutnya menghasilkan buffer yang
besarnya lebih besar daripada BDP link ISP, dan bufferbloat yang dihasilkan
menghasilkan RTT dalam hitungan detik, bukan milidetik.9
KARAKTERISASI KEMAMPUAN
Koneksi berjalan dengan throughput tertinggi dan penundaan terendah
ketika (rate balance) tingkat kedatangan paket bottleneck sama
dengan BtlBw, dan (full pipe) total data dalam penerbangan sama
dengan BDP (= BtlBw × RTprop) .
Kondisi pertama menjamin bahwa kemacetan bisa terjadi
berjalan pada pemanfaatan 100 persen. Yang kedua menjamin
tersedianya data yang cukup untuk mencegah terjadinya kemacetan,
namun tidak memenuhi kebutuhan pipa secara berlebihan. Kondisi rate
balance saja tidak menjamin tidak adanya antrian, hanya saja tidak dapat
mengubah ukuran (misalnya, jika koneksi dimulai dengan mengirimkan
Initial Window yang berjumlah 10 paket ke dalam BDP lima paket,
kemudian berjalan tepat pada rate bottleneck. , lima dari 10 paket awal
mengisi pipa sehingga kelebihannya membentuk antrian berdiri di
kemacetan yang tidak dapat dihilangkan). Begitu pula dengan kondisi pipa
yang penuh tidak menjamin tidak adanya antrian (misalnya sambungan
yang mengirimkan BDP dalam semburan BDP/2 mendapat
pemanfaatan kemacetan penuh, namun dengan antrian rata-rata BDP/4).
Satu-satunya cara untuk meminimalkan antrian di kemacetan dan
sepanjang jalur adalah dengan memenuhi kedua kondisi tersebut secara bersamaan.
BtlBw dan RTprop bervariasi sepanjang umur sambungan, sehingga
harus terus diperkirakan. TCP saat ini melacak RTT (interval waktu dari
pengiriman paket data hingga paket tersebut dihargai) karena diperlukan
untuk deteksi kehilangan. Kapan saja t,
Yaitu, jendela waktu berjalan min over time WR (yang biasanya puluhan
detik hingga menit).
dapat dipelajari pada titik operasi saat ini dan, ketika informasi
menjadi usang, bagaimana mencapai titik operasi di mana
informasi tersebut dapat diperoleh. dipelajari kembali.
fungsi onAck(paket)
rtt = sekarang - packet.sendtime
perbarui_min_filter(RTpropFilter, rtt)
terkirim += paket.ukuran
waktu_terkirim = sekarang
deliveryRate = (terkirim - paket. terkirim) / (sekarang -
paket. waktu_terkirim)
if (deliveryRate > BtlBwFilter.currentMax
|| ! paket.app_limited)
update_max_filter(BtlBwFilter, Tingkat
Pengiriman)
jika (aplikasi_terbatas_hingga > 0)
app_limited_until - = paket.ukuran
paket = nextPacketToSend()
jika (! paket)
app_limited_until = dalam penerbangan
kembali
paket.app_limited =
(app_limited_until > 0)
packet.sendtime = sekarang
paket.terkirim = terkirim
paket.waktu_terkirim = waktu_terkirim
kapal (paket)
nextSendTime = sekarang + ukuran paket /
(pacing_gain *
BtlBwFilter.currentMax)
timerCallbackAt(kirim, nextSendTime)
baru yang ditunjukkan pada gambar 2, yang mengilustrasikan detail RTT (biru),
dalam penerbangan (hijau), dan kecepatan pengiriman (merah) dari 700 mdtk
dari aliran 10-Mbps, 40 mdtk. Garis abu-abu tebal di atas data kecepatan
pengiriman adalah status filter BtlBw max. Struktur segitiga dihasilkan dari
diterapkan pada RTT sebelumnya, saat data dikirim. Hal ini ditunjukkan
sisi kiri.
waktunya dengan satu BDP dalam penerbangan, sesuai dengan perkiraan BtlBw.
Ini memindahkan hambatan ke pengirim sehingga tidak dapat mengamati BtlBw
RTT, yang menjaga deliveryRate tetap konstan. (Antrian ini dihapus dengan
2 GAMBAR 2: Detail RTT (biru), Inflight (hijau) dan Tarif pengiriman (MERAH).
52.5
pipa penuh sehingga RTT
50.0
meningkat seiring dengan penerbangan
)TdTmR(
47.5
(antrian dibuat)
45.0
42.5
60
55
akp
le
rea)nB
nagnabm d(
50
45 gain > 1
sehingga inflight meningkat
perolehan siklus
1,00 1,00 1,00 1,00 1,00 1,25 0,75 1,00 1,00 1,00 1,00 1,00 1,00 1,25 0,75 1,00 1,00
9.50
9.25
)spbM(WB
9.00
8.75 kedatangan ack menambahkan sampel
ke filter maksimal BtlBw
Waktu (detik)
3
120
dalam penerbangan
RTT
100 1,95x
siklus
memperkirakan
meningkat
80
akR
lTm
e d(
p
(=1.253
)dalam
BW
3
re)T
nagnabm sB
a)n
40
19 20 22
21 Waktu (detik)
200
penerbangan meningkat,
mendorong RTT, hingga
dijepit oleh cwnd_gain
sampai optimal
BtlBw dibelah dua; pulih
dalam penerbangan tidak
pas di pipa,
50 meningkatkan RTT
40 41 42 43 Waktu 44
(detik)
4
abu-abu vertikal menandai transisi status BBR. Gambar di
bawah menunjukkan RTT dari dua koneksi vs. waktu. Perhatikan
bahwa referensi waktu untuk data ini telah tiba (biru) jadi,
rintisan mengeringkan
selidiki BW
1,00
0,75
0,50
kctarM
aiB
mir)ku a ia
-cted(t
0,25
0,00
0 0,25 0,50 0,75 1,00
kali (detik)
5
tanpa antrian.
GAMBAR 5: 8 detik pertama dari aliran CUBIC dan BBR 10-Mbps, 40-ms
500
kehilangan paket dan
episode pemulihan
400
kemacetan 250 ms
300
batas penyangga
)TdTmR(
200
100
RTprop
0 2 6 8
4 kali (detik)
6
BDP menggunakan status ProbeRTT: ketika perkiraan RTTProp belum
diperbarui (yaitu, dengan mengukur RTT yang lebih rendah) selama beberapa
detik, BBR memasuki ProbeRTT, yang mengurangi inflight
80
60
40
ek(
na)srapublM
adil. adil
membagikan
20
0
0 10 20 30 40 50
waktu (detik)
menjadi empat paket untuk setidaknya satu perjalanan pulang pergi, lalu
kembali ke keadaan sebelumnya. Aliran besar yang masuk ke
ProbeRTT menguras banyak paket dari antrian, sehingga beberapa aliran
melihat RTprop baru (RTT minimum baru). Hal ini membuat perkiraan
RTprop mereka kedaluwarsa pada waktu yang sama, sehingga mereka
memasukkan ProbeRTT bersama-sama, yang membuat penurunan
antrian total lebih besar dan menyebabkan lebih banyak aliran melihat
RTprop baru, dan seterusnya. Koordinasi yang terdistribusi ini adalah
kunci menuju keadilan dan stabilitas.
BBR menyinkronkan aliran di sekitar kejadian yang diinginkan dari
antrian kemacetan yang kosong. Sebaliknya, pengendalian kemacetan
berbasis kerugian menyinkronkan kejadian yang tidak diinginkan seperti
pertumbuhan dan luapan antrian secara berkala, sehingga memperkuat
penundaan dan kehilangan paket.
20
•
7 GAMBAR 7: BBR vs. Peningkatan throughput relatif CUBIC
1,00
18
•
0,75
16
•
•
satfiltiablaubmourpk
14 0,50
• KUBIK
BBR
12
•
• 0,25
•
•
10 •
•
•
tupphhgK
tu R
guI/uB BrhhK
oorU B
Tt
• 0
•
8 •
• 1 5 20 100 500 5000
•
•
throughput (Mbps) – skala log
6
4 ••••
••
• ••••••••••••••••
••
•
2
peningkatan 2x •••••••••••••••••••••••••••••••••••••••• •••••••• • •
0
5 10 20 50 100 200 500 1000 2000 5000
yang membuka koneksi BBR dan CUBIC persisten ke pusat data jarak
jauh, kemudian mentransfer data sebesar 8 MB setiap menit. Prober
100
GAMBAR 8: BBR vs. Goodput CUBIC mengalami kerugian 8
75
50
ek(
na)srapublM
25
0
0,001 0,01 0,1 12 5 10 2030 50
tingkat kerugian (%) – skala log
Peningkatan RTT median CUBIC dari lebih dari 200 juta koneksi pemutaran
9
5
GAMBAR 9: BBR vs. Peningkatan RTT median CUBIC
3
TU
/ KIR
B TR
B K
B
0 1 2 3 4 5 6 KUBIK RTT 7 8 9 10
(detik)
yang lebih serius: TCP beradaptasi dengan penundaan RTT yang panjang
kecuali pada paket SYN inisiasi koneksi, yang memiliki batas waktu tetap
yang bergantung pada OS. Ketika perangkat seluler menerima data
massal (misalnya, dari pembaruan aplikasi otomatis) melalui SGSN
dengan buffer besar, perangkat tidak dapat terhubung ke apa pun di
Internet hingga antriannya kosong (paket penerimaan SYN ACK tertunda
lebih lama dari paket yang diterima). batas waktu SYN tetap).
10 600
GAMBAR 10: Variasi RTT median kondisi tunak dengan ukuran buffer tautan
400
i)skniteetda(l
0
0,15 0,75 1,5 3 6 10
penyangga (MB)
1,25 × BtlBw saat ini , tidak ada degradasi yang terlihat dibandingkan
dengan CUBIC di jaringan mana pun.
POLISI TOKEN-BUCKET
cara-cara yang lebih baik untuk mengurangi dampak buruk yang ditimbulkan
oleh polisi.
dalam antrean dan mengambil lebih dari porsi yang seharusnya. Mengurangi
hal ini adalah bidang penelitian aktif lainnya.
KESIMPULAN
Memikirkan kembali pengendalian kemacetan akan memberikan manfaat yang
dari model kemacetan formal Kleinrock dan titik operasi optimal yang
dari penundaan dan bandwidth tidak dapat ditentukan secara bersamaan dapat
Linux sumber terbuka dan dijelaskan secara rinci dalam lampiran artikel ini.
Teknologi ini juga diterapkan pada server Web Google dan YouTube,
hingga saat ini, dan yang paling signifikan adalah di wilayah berkembang. BBR
bertahap. Itu hanya bergantung pada RTT dan pengakuan pengiriman paket,
Referensi
7. Flach, T., Papageorge, P., Terzis, A., Pedrosa, L., Cheng, Y., Karim,
T., Katz-Bassett, E., Govindan, R. 2016. Analisis di seluruh
10. Ha, S., Rhee, I. 2011. Menjinakkan gajah: TCP baru yang lambat.
Jaringan Komputer 55(9): 2092–2110.
11. Ha, S., Rhee, I., Xu, L. 2008. CUBIC: varian TCP kecepatan tinggi
baru yang ramah TCP. Tinjauan Sistem Operasi ACM SIGOPS
42(5): 64–74.
12. Heidergott, B., Olsder, G.J., Van Der Woude, J. 2014. Max Plus di
Tempat Kerja: Pemodelan dan Analisis Sistem Tersinkronisasi:
Kursus Aljabar Max-Plus dan Penerapannya. Pers
Universitas Princeton.
13. Jacobson, V. 1988. Penghindaran dan pengendalian kemacetan.
Tinjauan Komunikasi Komputer ACM SIGCOMM 18(4): 314–329.
15. Jain, S., Kumar, A., Mandal, S., Ong, J., Poutievski, L., Singh,
A., Venkata, S., Wanderer, J., Zhou, J., Zhu, M .,
Artikel Terkait
Buffer sisi pengirim dan Kasus untuk Multimedia
Adaptasi
Aiman Erbad dan Charles “Buck” Krasic
http://queue.acm.org/detail.cfm?id=2381998
Anda Tidak Tahu Jack tentang Kinerja Jaringan
Kevin Fall dan Steve McCanne
http://queue.acm.org/detail.cfm?id=1066069
kali keluar dari filter. Filter RTprop min secara otomatis menangani
peningkatan panjang jalur dengan cara yang sama.)
Jika bandwidth kemacetan meningkat, BBR harus mengirim
PERILAKU STEADY-STATE
Aliran BBR menghabiskan sebagian besar waktunya di
dengan jarak yang sama di bawah 1,0, dan kemudian berlayar dengan antrian
pendek menggunakan pacing_gain 1,0. Gain rata-rata di semua fase
adalah 1,0 karena ProbeBW bertujuan agar laju kecepatan rata-ratanya sama
pacing_gain, cwnd_
Perolehan tetap konstan pada angka dua, karena ack yang tertunda dan
diregangkan dapat menyerang kapan saja (lihat bagian mengenai Ack yang
Tertunda dan Meregangkan).
dengan memilih fase awal secara acak—dari semua fase kecuali fase 3/4—
apa pun yang dapat dibuat dengan menjalankan 5/4 pacing_gain ketika pipa
sudah penuh.
Saat keluar dari Drain atau ProbeRTT dan masuk ke ProbeBW, tidak ada
PERILAKU STARTUP
Ketika aliran BBR dimulai, ia melakukan proses probe/drain
berurutan yang pertama (dan paling cepat). Bandwidth tautan jaringan
berkisar antara 1012—dari beberapa bit hingga 100 gigabit per
detik. Untuk mempelajari BtlBw, mengingat rentang yang sangat besar
untuk dijelajahi, BBR melakukan pencarian biner pada rate space. Ini
menemukan BtlBw dengan sangat cepat (log2 BDP bolak-balik) tetapi
mengorbankan pembuatan antrian 2BDP pada langkah terakhir
pencarian. Status Startup BBR melakukan pencarian ini dan kemudian
status Drain menguras antrian yang dihasilkan.
Pertama, Startup meningkatkan kecepatan pengiriman secara
eksponensial, menggandakannya setiap putaran. Untuk mencapai
probing cepat ini dengan cara yang sehalus mungkin, di Startup,
pacing_gain dan cwnd_gain diatur ke 2/ln2, nilai minimum yang
memungkinkan kecepatan pengiriman menjadi dua kali lipat setiap
putaran. Setelah pipa penuh, cwnd_gain membatasi antrian menjadi
(cwnd_gain - 1) x BDP.
untuk membuka jendela penerimaan dan agar pengirim BBR menyadari bahwa BtlBw
harus lebih tinggi: pada putaran pertama algoritma penyetelan otomatis jendela
mengisi jendela penerimaan yang lebih tinggi; Pada putaran ketiga pengirim
mendapatkan sampel dengan tingkat pengiriman yang lebih tinggi. Ambang batas tiga
Di Drain, BBR bertujuan untuk dengan cepat menguras antrian apa pun yang dibuat
Startup dengan beralih ke pacing_gain yang merupakan kebalikan dari nilai yang
digunakan selama Startup, yang menguras antrian dalam satu putaran. Bila jumlah paket
dalam penerbangan sesuai dengan estimasi BDP, berarti BBR memperkirakan antrian
sudah terkuras seluruhnya namun pipa masih penuh, maka BBR keluar dari Drain dan
masuk ke ProbeBW.
Perhatikan bahwa Startup BBR dan startup CUBIC yang lambat mengeksplorasi
mereka setiap putaran; Namun keduanya berbeda dalam banyak hal. Pertama, BBR
lebih kuat dalam menemukan bandwidth yang tersedia, karena BBR tidak keluar dari
pencarian saat paket hilang atau (seperti pada Hystart10 CUBIC) peningkatan
menunjukkan jumlah paket dalam penerbangan dan RTT yang diamati pada
secara tiba-tiba. Untuk beradaptasi dengan hal ini dengan lancar dan kuat, serta
mengurangi kehilangan paket dalam kasus seperti itu, BBR menggunakan sejumlah