在ad hoc的網路架構下,任兩台mobile若在彼此的通訊範圍中,則兩台mobile可直接互相通訊。目前一台使用無線網路卡的mobile的傳輸距離大約有兩百公尺,但限於地理位置以及各種地形的障礙和其他元件的干擾,真正的傳輸距離往往僅僅有幾十公尺。在這樣短距的傳輸範圍中,兩台mobile很可能因為相距太遠而無法直接通訊。此時若是能利用moltilhop的觀念在兩台相對遠距的mobile中,尋找另一個mobile當作轉傳的收發站,則可用接力的方式,來達成兩台mobile的通訊。
在我們所使用的無線網路卡中,因為主要是使用在有基礎架構之無線區域網路(infrastructure Wireless LAN)上,所以其驅動程式僅採singlehop的方式作資料的傳輸,在這樣的情況下,mobile並不會自動轉傳所收到的封包。
另外的一個問題是,驅動程式會要求硬體過濾MAC address不屬於自己的封包,所以能到達軟體控制層的封包,不是屬於本機的,就是廣播式的封包,所以那些收送不屬於自己的封包,會在硬體層就被攔截下而停止往上傳送,根本也沒有辦法加以處理。因此,若是要實測multihop的情形,我們必須針對這兩個性質加以改變。
我們首先在驅動程式中,找出有關封包收送模式的function,並將期收送模式的旗標改為promise的方式。接著我們嘗試將由硬體送來的封包再轉傳一次,利用驅動程式中傳送與接收資料的函式的功能,並改變資料在buffer中的位置使得我們可以在接收封包後立刻再把封包傳送出去,利用此一方式,我們可以讓修改過的mobile當作轉傳的收發站。
我們首先需要三台電腦,兩台作為遠距的傳輸,另一台則是用來作為轉傳的收發站。我們把接收的資料mobile稱為DM。把傳送的資料的mobile稱為SM,而修改過驅動程式的轉傳收發站則稱之HM。實驗步驟如下
● 確定三者可以互相直接通訊(telnet)。
● 把DM放置在一固定點,移動SM,並持續的傳送資料給DM(利用Ping or Telnet),直到兩者距離超過通訊範圍而無法通訊為止。
● 利用同樣的方式找出HM和DM的通訊範圍。
● 將HM放置在DM可通訊範圍的距離。
● 將SM放置在DM無法通訊的範圍。
● 確定在這樣的位置下HM和SM可以互相通訊。
● 測試DM和SM可利用HM轉傳來互相通訊嗎?
經過實際在系館三樓的測試,我們將DM放置在多媒體實驗室中,移動SM,發現大約到了三樓的樓梯口時,SM和DM就無法互相通訊。HM和DM的通訊距離相同。於是我們把HM放置在三樓的樓梯口附近,然後把SM放在系館四樓的樓梯口附近;此時SM和DM已無法互相通訊,而DM和HM之間,以及HM和SM之間,仍可以保持資料的傳輸。接下來開始由SM傳輸資料給DM,並觀察DM所收到的封包記錄。經過幾次實驗的結果,我們發現DM經過HM的轉傳,可以成功的收到SM送來的封包,不過在傳輸速度上,以及封包重送率上,利用轉傳的方式,其效能都有明顯的下降。我們認為這是很正常的現象,因為在無線通訊中,無線傳輸的過程本來就是資料發生錯誤的危險地帶,經過multilhop之後,利用無線傳輸的次數增加了,自然也提高資料錯誤的可能性。所以在mutilhop的通訊中,整個資料傳輸的正確率降低,應該是可預期的現象。
這個是我們1997年進行的資訊專題,後來實際產品出現類似的功能叫做WDS(Wireless Distribution System)。
資訊學院的30門課-無線網路資訊專題(一)
資訊學院的30門課-無線網路資訊專題(二)
更多分享內容: 資訊學院的30門課-課程一覽表
最後一週的課程可能會由下面選出六到七門課。
軟體工程概論
物件導向程式設計
機率論
程式語言
電腦動畫
普通物理學(上)
集合論
數位系統
檔案結構與管理
等候理論
圖型識別
人工智慧
高等視窗程式設計
嵌入式系統
電腦視覺
多媒體網路