什么叫计算机网络阻塞,计算机网络中的“线端阻塞”释义
李勇軍 張勝兵 劉潮東 張雋 秦濤
摘要:在與計算機網絡相關課程的教學或實踐過程中經常提及“線端阻塞”這個概念,其與擁塞控制、網絡性能和網絡應用緊密聯系。了解該概念的本義與延伸,可以幫助學習者或從業者準確地理解和掌握相關知識點。本文從日常中的“線端阻塞”現象入手釋義概念,詳細解釋計算機網絡中該概念的本義、外延和解決方法,并給出計算機網絡中線端阻塞的測試方法,有助于相關知識點的教學活動。
關鍵詞:線端阻塞;計算機網絡;網絡性能;交通管理
中圖分類號:TP393.1 文獻標識碼:A 文章編號:1009-3044(2019)04-0036-02
但凡學習過計算機網絡相關課程的學習者或計算機網絡相關領域的從業者都接觸到過“線端阻塞”“隊頭阻塞”等概念。很自然地會(被)問到什么是“線端”?什么是“線端阻塞”?這也是在學活動中經常被學習者問的問題。為幫助學習者或從業者準確理解和掌握相關知識,本文詳細解釋該概念的本義和延伸。
“阻塞”是一種生活中的常見現象,比如道路擁塞、排隊等待服務等。意指“有障礙而不能通過,無法暢通。”明朝文學家陳子龍在《募練水師疏》中提及“風塵阻塞,未達中朝。”就是指該意思。“阻塞”在自然科學中也是經常被提及的概念,比如氣象學、無線電學、軟件工程和網絡工程等。該概念在不同學科的意思可能存在細微差異,但其本義基本是一致的。在計算機網絡中,“阻塞”發生在發送端發送的數據量超過了接收端的處理能力的情況下,因部分數據不能及時被處理而引起擁塞。在計算機網絡中的不同協議層,有不同的阻塞處理策略(或算法)[1]。
從字面上看,“線端阻塞”(Head of Line Blocking[2])是“阻塞”的一種形式。準確理解“線端”的含義是理解“線端阻塞”的關鍵所在。“線”在這里指隊列,“端”指隊列頭部。“線端阻塞”可以直觀地理解為發生在隊列頭部或由隊列頭部而引起的阻塞現象。有些文獻中也譯為“隊頭阻塞”。在本文中統稱為“線端阻塞”,該現象也常見于日常生活中。
1 交通管理中的線端阻塞現象
本文先從交通管理中的“線端阻塞”現象談起。圖1給出了一個十字路口的交通示意圖。從南向北有兩條同向車道,分別稱為A車道和B車道。A車道可以允許車輛左轉和直行,而B車道允許右轉和直行。
在A車道中,有三輛汽車分別是公共汽車、小汽車和出租車。假設公共汽車是左轉車輛,小汽車和出租車是直行車輛。當綠燈亮起后,在公共汽車因為對向(C)車道的直行車輛通過而不能及時左轉時,它后面的小汽車和出租車受阻而不能直行。這種在交通管理中常見的現象即為“線端阻塞”。假設公共汽車是直行車輛,小汽車是左轉車輛,出租車是直行車輛,同理(小汽車)也會引起“線段阻塞”;當三輛汽車均為直行車輛時,則不會發生“線端阻塞”現象;而當三輛車均左轉時,則引起的“阻塞”現象是普通擁塞,而非“線段阻塞”。
針對交通管理中的“線端阻塞”,可行的解決方法有:1)設置左轉等待區;2)分離左轉和直行車道。有經驗的駕駛員駕車到達十字路口時,通常不會選擇左側車道等待紅燈,擔心“線端阻塞”發生也是原因之一。
2 計算機網絡中的線端阻塞現象
計算機網絡中“線端阻塞”與交通管理中的“線端阻塞”有類似的內涵。圖2給出了一個發生在交換機中的“線端阻塞”示例。在交換機中,有三個端口,端口0是發送數據幀的端口,端口1是接收數據幀的擁塞端口,端口2是另一個接收數據幀的非擁塞端口。交換機采用先進先出的輸入緩沖隊列模式,發送隊列中的數字表示數據幀的目的端口號。
在端口0的發送隊列中,有7個數據幀分別發往端口1、1、2、2、1、2和1。假設接收端口1 此時已經產生擁塞,隊列頭部的數據幀則不能被及時處理和發送,而在隊列頭部產生擁塞,致使發往非擁塞接收端口2的數據幀也被阻塞。這種現象即為計算機網絡中“線端阻塞”。通常,該現象是“計算機網絡中的一種性能受限的現象,產生的原因是第一個數據幀受阻而導致整個隊列的數據幀受阻。”該現象發生在采用輸入緩沖隊列模式的場景中,從其形成機理上很容易理解,當采用輸出緩沖隊列模式時不會產生“線端阻塞”現象。“線端阻塞”不僅僅產生在計算機網絡的數據鏈路層,在計算機網絡的其他協議層也會產生該現象,比如傳輸層[3]、應用層[4]。
解決“線端阻塞”問題的一個思路是采用虛擬輸出隊列技術[5]。在輸入端設置多個虛擬輸出隊列,每個輸出隊列對應一個接收端口。當數據到達輸入隊列時,根據其目的端口被及時移至對應虛擬輸出隊列中。以圖2為例,在端口0處為端口1和2分別設置虛擬輸出隊列1和2。當目的端口為1的數據幀到達輸入隊列時,被移至虛擬隊列1中,其余數據幀同樣被處理。這樣就不會在輸入隊列頭部產生擁塞,解決了“線端阻塞”問題。這種解決問題的思路與交通管理中的細分不同行駛車道的方法有異曲同工之處。
3 線端阻塞的測試
理解網絡中是否發生“線端阻塞”現象的判斷方法不僅有助于學習者掌握相關知識,而且有助于從業者優化網絡性能。本文以測試交換機中的“線端阻塞”為例詳細解釋測試方案 、判斷條件等。
圖3是RFC 2889建議的測試“線端阻塞”的拓撲結構[6]。四個相同的端口組成一個測試塊,采用先進先出的輸入緩沖隊列模式,其中兩個為發送端口,另外兩個為接收端口。兩個發送端口的負載分配方案如圖3所示,接收端口2因要接收150%的負載而產生擁塞,而接收端口1因僅接收50%的負載而成為非擁塞端口。實驗過程中,按照圖3所示的負載分配方案發送數據,在兩個接收端口記錄接收到的數據。
在接收端口2,因為產生了數據擁塞,導致發往接收端口2的部分數據丟失。在丟失數據中,既有來自發送端口1的,也有發送端口2的。參考圖2,假設存在“線端阻塞”現象,因為發往接收端口2的數據產生阻塞,致使發往接收端口1的部分數據也被阻塞在發送端口1,導致接收端口1的丟幀率不為0。基于上述分析,在實驗過程中,只要在接收端口1發現了丟幀現象,則說明交換機產生了“線端阻塞”。
總結
以上是生活随笔為你收集整理的什么叫计算机网络阻塞,计算机网络中的“线端阻塞”释义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html %3c 不给转义,八个无法利用
- 下一篇: 桌面计算机密码应由哪项组成,计算机应用能