執行摘要
輕量IOS接入點緩衝組播資料包的容量有限。 組播傳輸緩衝區跨BSSID共用。 如果AP上配置了許多WLAN(SSID),則AP上的語音WLAN可能無法緩衝單個組播音訊流,從而造成音訊問題。
config wlan multicast buffer AireOS命令可用於為一個或兩個WLAN分配額外的緩衝區。
深入探討
預設情況下,每個無線電上有50個組播緩衝區,可在所有WLAN間共用(在運行8.3.121.0的AP3502e上驗證)。 因此,啟用4個SSID後,每個組播隊列(即每個WLAN)有12個組播緩衝區可用:
AP3502e# show controller dot11radio0 | begin --\ In-Prog
---- Active ------ In-Progress --------------- Counts --------------
Cnt Quo Bas Max Cl Cnt Quo Bas Sent Discard Fail Retry Multi
Uplink 0 64 0 0 0 0 5 0 0 0 0 0 0
Voice 0 512 0 0 0 0 60 0 8 0 0 0 0
Video 0 1024 0 0 0 0 200 0 0 0 0 0 0
Best 0 1024 0 0 0 0 200 0 158499 0 0 5 2
MC0 0 0 0 0 0 0 12 0 0 0 0 0 0
MC1 0 0 0 0 0 0 12 0 0 0 0 0 0
MC2 0 0 0 0 0 0 12 0 0 0 0 0 0
MC3 0 0 0 0 0 0 12 0 8 0 0 0 0
MC4 0 0 0 0 0 0 0 0 0 0 0 0 0
MC5 0 0 0 0 0 0 0 0 0 0 0 0 0
MC6 0 0 0 0 0 0 0 0 0 0 0 0 0
MC7 0 0 0 0 0 0 0 0 0 0 0 0 0
MC8 0 0 0 0 0 0 0 0 0 0 0 0 0
MC9 0 0 0 0 0 0 0 0 0 0 0 0 0
MC10 0 0 0 0 0 0 0 0 0 0 0 0 0
MC11 0 0 0 0 0 0 0 0 0 0 0 0 0
MC12 0 0 0 0 0 0 0 0 0 0 0 0 0
MC13 0 0 0 0 0 0 0 0 0 0 0 0 0
MC14 0 0 0 0 0 0 0 0 0 0 0 0 0
MC15 0 0 0 0 0 0 0 0 0 0 0 0 0
Back 0 128 0 0 0 0 35 0 0 0 0 0 0
啟用10個SSID後,每個WLAN只有5個組播緩衝區可用:
AP3502e# show controller dot11radio0 | begin --\ In-Prog
---- Active ------ In-Progress --------------- Counts --------------
Cnt Quo Bas Max Cl Cnt Quo Bas Sent Discard Fail Retry Multi
Uplink 0 64 0 0 0 0 5 0 0 0 0 0 0
Voice 0 512 0 0 0 0 60 0 5 0 0 0 0
Video 0 1024 0 0 0 0 200 0 0 0 0 0 0
Best 0 1024 0 0 0 0 200 0 148121 0 0 3 2
MC0 0 0 0 0 0 0 5 0 0 0 0 0 0
MC1 0 0 0 0 0 0 5 0 0 0 0 0 0
MC2 0 0 0 0 0 0 5 0 0 0 0 0 0
MC3 0 0 0 0 0 0 5 0 8 0 0 0 0
MC4 0 0 0 0 0 0 5 0 0 0 0 0 0
MC5 0 0 0 0 0 0 5 0 0 0 0 0 0
MC6 0 0 0 0 0 0 5 0 0 0 0 0 0
MC7 0 0 0 0 0 0 5 0 0 0 0 0 0
MC8 0 0 0 0 0 0 5 0 0 0 0 0 0
MC9 0 0 0 0 0 0 5 0 0 0 0 0 0
MC10 0 0 0 0 0 0 0 0 0 0 0 0 0
MC11 0 0 0 0 0 0 0 0 0 0 0 0 0
MC12 0 0 0 0 0 0 0 0 0 0 0 0 0
MC13 0 0 0 0 0 0 0 0 0 0 0 0 0
MC14 0 0 0 0 0 0 0 0 0 0 0 0 0
MC15 0 0 0 0 0 0 0 0 0 0 0 0 0
Back 0 128 0 0 0 0 35 0 0 0 0 0 0
使用舊式powersave客戶端,AP必須緩衝組播直到每個DTIM信標。 DTIM為1時,這意味著組播必須快取最多104毫秒。 (如果具有更高的DTIM值,則需要在多個信標間隔內對組播進行緩衝。)
正常的音訊流以20毫秒取樣的方式傳輸 — 換句話說,它以每秒50個資料包的速度傳輸。 因此,如果需要對單個音訊流進行1/10秒(即信標間隔)的緩衝,AP必須能夠對每個音訊流緩衝多達5個資料包。
在無線電上啟用15個SSID的情況下,預設情況下,每個SSID的組播緩衝區只有3個資料包。 這意味著,即使只有一個組播音訊流,語音樣本也會被丟棄,從而導致音訊亂碼。 如果同時傳輸多個組播音訊流(或影片流!),結果會更糟。
解決方式是在支援多點傳送的WLAN上設定以下命令:
(WLC2504-2)>config wlan multicast buffer enable ?
<buffer number>無線組播緩衝區數(30 .. 60)
(WLC2504-2)>config wlan multicast buffer enable 30 ?
<WLAN id>輸入1到16之間的WLAN識別符號。
最多可以為兩個WLAN配置「啟用無線區域網組播緩衝區」。
以下範例包括啟用14個SSID且為WLAN 1設定「config wlan multicast buffer enable 60」:
Transmit queues: Limit 2766 Current 0 In-Progress 0 ACQ inserts 47508 deletes 47508 reins 0
---- Active ------ In-Progress --------------- Counts --------------
Cnt Quo Bas Max Cl Cnt Quo Bas Sent Discard Fail Retry Multi
Uplink 0 64 0 0 0 0 5 0 0 0 0 0 0
Voice 0 512 0 0 0 0 60 0 2 0 0 0 0
Video 0 1024 0 0 0 0 200 0 0 0 0 0 0
Best 0 1024 0 0 0 0 140 0 47547 0 0 2 2
MC0 0 0 0 0 0 0 60 0 0 0 0 0 0
MC1 0 0 0 0 0 0 3 0 0 0 0 0 0
MC2 0 0 0 0 0 0 3 0 0 0 0 0 0
MC3 0 0 0 0 0 0 3 0 7 0 0 0 0
MC4 0 0 0 0 0 0 3 0 0 0 0 0 0
MC5 0 0 0 0 0 0 3 0 0 0 0 0 0
MC6 0 0 0 0 0 0 3 0 0 0 0 0 0
MC7 0 0 0 0 0 0 3 0 0 0 0 0 0
MC8 0 0 0 0 0 0 3 0 0 0 0 0 0
MC9 0 0 0 0 0 0 3 0 0 0 0 0 0
MC10 0 0 0 0 0 0 3 0 0 0 0 0 0
MC11 0 0 0 0 0 0 3 0 0 0 0 0 0
MC12 0 0 0 0 0 0 3 0 0 0 0 0 0
MC13 0 0 0 0 0 0 3 0 0 0 0 0 0
MC14 0 0 0 0 0 0 0 0 0 0 0 0 0
MC15 0 0 0 0 0 0 0 0 0 0 0 0 0
Back 0 128 0 0 0 0 35 0 0 0 0 0 0
因此,具有60個緩衝器的WLAN 1將能夠承載多個音訊流的組播流,而其他WLAN將只能緩衝每個DTIM的3個組播幀,因此即使對於單個音訊流,也會丟棄資料包。
採用元件
本演示使用運行AireOS 8.3.121.0的無線LAN控制器,以及802.11n IOS AP(AP3502e)。其他輕量IOS AP也應同樣工作;ap-COS AP上的組播緩衝方案尚未驗證。
驗證
在組播傳輸期間,首先發出以下AP IOS exec命令:
ap#terminal length 30
然後重複發出以下命令(假設第一個無線電是感興趣的無線電台):
show controller dot11radio0 | begin —\進程內
檢視「已傳送」和「丟棄」列中的增量。 如果「丟棄」快速增加,則組播緩衝可能不足。