其實不單是RTS/CTS,雖然他是802.11的重點
錯誤重送的一干機制還是被保留作為最後的保險,我說還有做CD指的就是這個
我不知道實際上CD到底如何偵測碰撞,說不定他有一套機制在碰撞一發生就中斷傳輸
但是因為所有的網路節點都要保持監聽狀態,這樣才能隨時知道有沒有人送訊息給他
所以其實最笨的偵測就是聽聽看有沒有不完整的資料,或是不該有資料時卻聽到東西
例如在兩筆傳輸之間的空白聽到東西...大概就表示有人的資料被截斷
CD基本上是不預先處理碰撞,等到真的發生了再利用重傳的機制去協調
會有碰撞的發生就是因為所有節點都是盡可能找到空閒就送,盡量塞滿所有頻寬
不過差別在碰撞發生的機率在有線的情況是可以很容易被管理的
實體上的分割把碰撞很巧妙的限制在線路兩端,再怎麼碰就是兩個去協調
搬到無線網路就不一樣了,因為每一次搶都是跟一個範圍中的所有節點搶
又大家都是看到空檔就卡位,因此碰撞發生的機會相對就變大了
每次碰撞就是鄰近所有節點大家一起重算發送時機,然後又碰在一起
因此會有一說是無線網路節點多了效率會急遽下降,就是因為碰撞機率上升
要能省就省,盡量最大化傳輸效率,這是所有網路架構的目標
CA的觀念是,與其依賴碰撞之後重送的機制,不如在每個資料傳輸前設法降低碰撞
因此引進RTS/CTS,這個動作可以先把頻道預約起來,這樣附近節點就不會搶
即使發生碰撞也盡量限制在這極短的過程中,比一口氣傳了一大堆發現要重傳還好
的確,讓資料傳輸都要先送RTS/CTS似乎很浪費,但是這個投資其實相對上很划算的
雖然每次傳輸都要多花掉寶貴的時間,但總比頻頻出錯依靠重送還要好
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.204.140.231
※ 編輯: darkcc 來自: 203.204.140.231 (10/20 22:04)