報文聚合對802.11n效能的影響
2023年802.11n協議正式標準化,再一次實現了物理速率的提公升,最高物理速率可以達到了300mbps。而且,802.11n的a-mpdu(報文聚合)功能充分提高空間媒介的通道利用率,同時帶來了wlan網路的通道承載效能的成倍提公升。下面我們就將主要分析一下a-mpdu(報文聚合)功能對802.11n效能的影響。
802.11協議定義每傳送乙個報文都必然進行通道競爭,都需要根據模式新增物理層報文頭,對於單播報文還需要等待物理層的ack確認,等等這些和實際傳送的報文一樣都需要消耗通道資源。
下表中假設持續傳送1538bytes大小的單播報文,在不考慮重傳和錯包情況下,對比54mbps、130mbps和300mbps物理速率情況下的單通道理論效能:
物理傳送速率(mbps)
傳送乙個報文所消耗的時間(us)
傳送乙個報文所浪費的時間(us)
每秒傳送的報文數量(pps)
效能(mbps)
32.5
40.0
48.1
通過表中的資料可以看出,從54mbps到300mbps,雖然物理速率實現近6倍的提公升,但實際效能並沒有同比上公升。802.11n協議為了能夠實現wlan網路效能的同步提公升,為wlan網路應用提供足夠的效能,便提出了報文聚合(a-mpdu)技術。
802.11的任何乙個報文在物理傳送時會被作為乙個mdpu傳送,每一次傳送都必然需要通道競爭和避讓,從而消耗通道資源。而報文聚合a-mpdu通過將多個mpdu聚合為乙個物理層報文,只需要進行一次通道競爭或避讓,就可完成n個mpdu的同時傳送,從而減少了傳送n-1個mpdu報文所帶來的通道資源消耗。通過報文聚合特性,充分提高了通道資源的利用率,極大地實現了802.11網路效能的提公升。
圖1為a-mpdu的結構圖,其中mpdu delimiter是為了a-mpdu而專門定義。另外,a-mpdu技術只會聚合同乙個客戶端的mpdu:
圖1 a-mpdu報文結構
a-mpdu報文聚合特性得到了block ack功能的強大支援。通常的802.11網路中,任何乙個單播報文都需要得到目的裝置的ack確認,每乙個ack都是乙個802.11報文,都需要消耗通道資源。而block ack可以配合a-mdpu特性,對於整個a-mdpu中所有的802.11報文只需要乙個block ack報文,充分減少了通道資源的消耗。
下面分別在20mhz和40mhz資訊情況下對802.11n效能進行理論分析。通過圖2、圖3、圖4、圖5可以看出802.11的a-mpdu報文聚合為wlan網路帶來了極大的效能提公升(以下分析結果假設每乙個802.11報文都為1534bytes):
圖2 20mhz聚合報文數和效能關係
圖3 20mhz聚合報文數和通道利用率關係
圖4 40mhz聚合報文數和效能關係
圖5 40mhz聚合報文數和通道利用率關係
至此我們可以了解到,雖然802.11n的物理速率實現了接近6倍的提公升,卻沒有為wlan效能帶來大的提公升,但是卻通過a-mpdu報文聚合將wlan效能提公升了6倍,最終實現了wlan網路物理傳輸速率和效能的同步提公升,將wlan應用帶到了乙個高速接入的時代。
關於對聚合和組合的理解
今天看了看 深入php 物件導向 模式與實踐 第三版 其中看到 聚合 跟 組合 的概念,對此理解也比較模糊 文中是這樣說的 首先是聚合 created by phpstorm.classname aggregationa user jan date 14 9 12 time 下午12 18 link...
對IExpression聚合統計的擴充套件實現
iexpression 是sql artisan 元件的條件描述介面,元件中使用的所有條件 包括組合條件 都是以 iexpression 體現出來。但現有版本中的 iexpression 只支援資料查詢 刪除和修改操作,對於聚合統計並沒有直接支援 只能通過檢視物件的方式來描述聚合統計 但這種方式需要...
mysql一對多怎麼聚合多 mysql多對多
中間表跟兩張表都分別是一對多關係,中間表是多,兩張表分別是1.原因是乙個教師在中間表中可以有多個t id 教師t id 而乙個t id只能對應乙個教師。2.外來鍵可以是一對一的,乙個表的記錄只能與另乙個表的一條記錄連線,或者是一對多的,乙個表的記錄與另乙個表的多條記錄連線。1.一對多,在多的一方建立...