十年前范雅各布森关于bufferbloat的讨论
周末下雨,在家扒拉了幾篇10年前的論文。
我主要是有個疑問,BBR真的是Von Jacobson的idea嗎?畢竟論文作者有他的名字,我想知道范雅各布森在BBR里的角色是什么。
但我沒有找到。不過還是挖出一些有趣的東西。
2011年的一篇論文《BufferBloat: What’s Wrong with the Internet?》:
https://queue.acm.org/detail.cfm?id=2076798
這一篇是一個關于bufferbloat的討論,我摘錄了其中有趣的一些段落。
配置大buffer有利于設備的銷售:
下面是范雅各布森的一些抱怨:
下面這個有意思,提出從時間角度去評估buffer而不是大小:
你要說“我有10ms的buffer”,但這必須指定數據包進入buffer以及離開buffer的速率。而這個速率卻是無法固定的。不過盡管如此,“提高一倍速率,節省一半延遲”的觀點也是挺trick的,事實上就是如此,不是嗎?
下面的這段,提供了bufferbloat為什么總發生在邊緣的佐證,至少是理論上的佐證:
現實中,經濟因素實際上是最重要的因素。不管是核心backbone無需buffer還是邊緣網絡趨向漸大的buffer,都是經濟因素:
一個重要的觀點很少在這類論文里被討論和提及,那就是 buffer的作用僅僅是用來平滑統計復用的突發的 ,這在 “統計復用的存儲轉發式的分組交換網” 被設計伊始的1960年代就是說定了的。然而buffer在1986年前后卻被選成了擁塞控制的核心組件之一,如此一來buffer便兼職了擁塞控制的職責,它的任務就是在buffer overflow的時候提供一個信號給端到端的TCP協議,僅此而已。如此,這便是bufferbloat的開端。
現如今,BBR采用了另一種方式來進行擁塞控制,不再以填充buffer以獲得丟包收斂信號為目標,這顯然是一個創新,事實上,Delay-based的擁塞控制算法一直致力于此,但由于無法和AIMD共存從而無法推廣部署,這不,BBR終于也面臨了這個問題,所以BBRv2便無法保持純粹了。
除了在擁塞控制算法上做文章之外,AQM是另一個領域。下面的一篇論文比較有趣《Controlling Queue Delay
A modern AQM is just one piece of the solution to bufferbloat.》:
https://queue.acm.org/detail.cfm?id=2209336
以下描述的雅各布森管道雖然是一個基礎,但講的很好,讓人嗅出了BltBW和RTprop的味道:
在此基礎上這篇論文主要是想提出codel的邏輯,這是一種非常精美且簡單精巧的隊列管理算法。
AQM一定要是簡單的,一定要自適應,這是互聯網設計之初就必須要遵守的核心要求,這也是傳輸控制協議為什么是端到端的核心原因,我們始終不能忘記互聯網的核心原則: Intelligence Edge && Dummy Core
浙江溫州皮鞋濕,下雨進水不會胖。
總結
以上是生活随笔為你收集整理的十年前范雅各布森关于bufferbloat的讨论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django 模板引擎以及模板
- 下一篇: 涉密计算机用户创建申请单,一种涉密计算机