802.11 b真的會拖慢802.11 g的無線網路傳輸速度嗎?
坊間對於RTS / CTS保護機制似是而非的誤解

作者:戴致禮
精誠資訊 恆逸教育訓練中心 資深講師
技術分類:網路管理與通訊應用

IEEE是現今無線區域網路(Wireless LAN)的通用標準,它是由國際電機電子工程學會(IEEE)所定義的無線網路通訊標準。 自從IEEE在1997年為無線區域網路制定了第一個版本稱之為IEEE 802.11標準,爾後就分別在2.4 GHz與5 GHz這兩個頻段裡,陸續發展802.11 a、802.11 b、802.11 g、802.11 n與802.11 ac - 先使用DSSS(直接序列展頻)調變技術將無線網路的傳輸速度從最初的2 Mbps增加到802.11 b的11 Mbps,再藉由OFDM(正交分頻多工處理)調變技術的改良將傳輸速度由802.11 b的11 Mbps提升到802.11 a / 802.11 g的54 Mbps,然後在2009年後再透過多重輸入 / 多重輸出(MIMO,Multiple Input Multiple Output)與通道結合(Channel Bonding)等更先進的技術將傳輸速度一舉挺進到802.11 ac的6 Gbps(請參考下圖:802.11 Standards for Channels and Data Rates,了解各種802.11無線通訊標準的演進過程)。



如前面所言,近年來由於802.11無線網路頻寬的大為提升,所以陸續有相當多的企業紛紛升級舊有的無線網路,然而在無線網路頻寬升級的過程中,難免會發生802.11 b與802.11 g並存(或是802.11 a與802.11 ac / 802.11 n並存)的無線網路環境,而且似乎都會有無線網路傳輸速度不如預期的感覺,搜尋Internet查找相關文件後,經常會發現有下列這段文字的描述:

由於802.11 g同時相容802.11 b,如果今天802.11 g的無線網路中,進來了某個只支援802.11 b的用戶端,那麼所有802.11 g的用戶必須轉為使用802.11 b的模式…………

這是正確的敘述嗎? 難道802.11 b的存在會拖慢802.11 g的速度嗎? 如果802.11 b真的會拖慢802.11 g的速度,那麼理由是否就如同上面這段文字所陳述的,還是另有真正的原因? 其實上面這段文字是坊間似是而非的誤解,看倌且聽我娓娓道來,繼續給它看下去! 描述:

因為802.11 b協定是採用2.4 GHz的頻段與比較低速的DSSS(直接序列展頻)調變技術,而802.11 g協定則是在相同的2.4 GHz頻段範圍裡,採行相同的DSSS調變技術外,另行加入比較高速的OFDM(正交分頻多工處理)調變技術,所以802.11 g協定可以往前相容於802.11 b協定(也就是說,802.11 b用戶與802.1g用戶可以連接到相同的802.11 g無線AP基地台)。

由於有相當多醫院的醫學設備與工廠的作業機台還是使用傳統的802.11 b無線網路裝置來傳輸資料,因此雖然在無線AP基地台普遍升級為802.11 g的過程中,實務上至今仍到處存在著802.11 b與802.11 g用戶裝置並存的事實。 然而在這樣的環境下,802.1 g用戶卻經常會有無線網路傳輸速度過慢的埋怨,其實背後真正的理由解釋如下:在802.11 b與802.11 g混合使用的無線網路中,由於802.11 b用戶的存在引發了802.11無線傳輸標準裡所規範的RTS / CTS(Request to Send / Clear to Send)保護機制的緣故。

RTS / CTS其實是一種簡單的警告機制,當802.11 b與802.11 g的用戶裝置連接到相同的802.11 g無線AP基地台時,由於802.11 b用戶裝置並不了解OFDM訊號,所以就無從得知802.11 g用戶正在傳送資料,因此會大大增加碰撞發生的機率,使得整體無線網路交通打結; 因此當802.11 g無線AP基地台經由DSSS訊號的偵查而得知存在有802.11 b用戶裝置時,該802.11 g AP就會在發送的beacon封包中寫入這兩個參數資訊Non-ERP present:yesUse protection:yes(其中Non-ERP就是指802.11 b)來通知所有的無線用戶,造成802.11 g用戶在即將傳送資料的當下會先行以802.11 b的低速發送RTS封包,,而接收端也會以802.11 b的低速回覆CTS封包,這樣使得所有的無線用戶(包含所有的802.11 b與802.11 g用戶裝置)都可以聽得懂並得知即將有傳送要發生,而且該傳送會持續多久的時間。

坊間文章對於RTS / CTS(Request to Send / Clear to Send)保護機制有下列這段似是而非的敘述 -由於802.11 g同時相容802.11 b,如果今天802.11 g的無線網路中,進來了某個只支援802.11 b的用戶端,那麼所有802.11 g的用戶必須轉為使用802.11 b的模式 …………..其實這是對RTS / CTS常見的誤解,事實上802.11 g用戶裝置在啟動保護機制後,仍然是以較高速的OFDM調變技術來傳送資料,而不會因此降為使用802.11 b的低速DSSS調變技術作資料的傳送。

然而在802.11 b與802.11 g用戶裝置混雜的環境裡,由於有802.11 b裝置的加入而導致RTS / CTS保護機制的啟動,雖然因此防止了碰撞的發生,但卻使得在傳送每一筆802.11 g OFDM資料之前都必須額外交換大量低速的RTS / CTS封包,因而大大減少了整體802.11 g的資料傳輸量(Data Throughput)。 一般而言在沒有啟動保護機制時,802.11 g通常可以提供18到20 Mbps的資料傳輸量;然而在保護機制啟動後,卻會將整體的資料傳輸量拉低至13 Mbps,甚至有可能低到9 Mbps。(註:802.11 a與802.11 ac / 802.11 n混合使用的無線網路也是採用相同邏輯的RTS / CTS保護機制)

避免因RTS / CTS的保護機制而影響到802.11 g效能的唯一方法,就是:全面移除802.11 b的用戶裝置,並且在802.11 g無線AP基地台裡禁用802.11 b的傳輸速度(也就是說,只允許802.11 g的傳輸速度)。 在這裡我以思科無線網路控制器設備(Cisco WLC 2504)為範例來說明,如何在802.11 b / g的無線AP基地台關掉較低的802.11b傳輸速度,請參考下圖的示範設定: