正在进行这方面测试,觉得这个机制很奇怪,不知道什么情况下发多大的包会不需要发送RTS和CTS.
IEEE 802.11規範了RTS/CTS的機制,在這種模式下,發送端在傳送資料前先送出RTS (Request to Send)要求封包,接收端在收到此一訊息時,會送出CTS (Clear to Send) 封包,告訴發送端可以送出資料並且告訴其他的無線裝置在這段時間內不能傳送任何資料,以避免碰撞。 RTS/CTS機制除了可以避免碰撞外,它也可以解決無線電波”涵蓋吂點” (Hidden Node Problem) 的問題,由於無線電波有一定的涵蓋範圍,假如有二個無線裝置(裝置B,裝置C)同時要傳送資料給某一定點A,並且這二個無線裝置不在彼此涵蓋範圍之內,也就是說B、C彼此根本不知道對方的存在,這種狀況下當某一方與裝置A溝通時另一方不會偵測到,會誤以頻道是淨空的,而將資料傳遞出去,結果造成碰撞,這可能使得A、B、C完全不能傳遞與接收訊號。藉由RTS/CTS機制,裝置A在接到RTS請求時,會同時通知其他所有裝置不可再傳遞信息,以避免上述現象發生。 在實際運作上, 為了避免太小封包也利用RTS/CTS機制避免碰撞, 反而造成傳輸效率大減, 因此採取針對某個封包大小以上的封包進行此項機制, 這個就是RTS/CTS Threshold, 將值設為最大則表示不啟動此功能.