• 沒有找到結果。

WLAN與GPRS之間無縫式轉換之研究

N/A
N/A
Protected

Academic year: 2021

Share "WLAN與GPRS之間無縫式轉換之研究"

Copied!
63
0
0

加載中.... (立即查看全文)

全文

(1)國立交通大學 資訊工程學系 碩 士 論 文. WLAN 與 GPRS 之間無縫式轉換之研究 The Study of a Seamless Handoff between WLAN and GPRS. 研 究 生:王志祥 指導教授:吳毅成. 中 華 民 國 九 十 四 年 七 月.

(2) WLAN 與 GPRS 之間無縫式轉換之研究 The Study of a Seamless Handoff between WLAN and GPRS. 研 究 生:王志祥. Student:Zhi-Hsiang Wang. 指導教授:吳毅成博士. Advisor:Dr. I-Chen Wu. 國 立 交 通 大 學 資 訊 工 程 學 系 碩 士 論 文. A Thesis Submitted to Department of Computer Science and Information Engineering College of Electrical Engineering and Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in Computer Science and Information Engineering July 2005 Hsinchu, Taiwan, Republic of China. 中華民國九十四年七月.

(3) WLAN 與 GPRS 之間無縫式轉換之研究 研究生:王志祥. 指導教授:吳毅成. 國立交通大學 資訊工程學系. 摘要. 隨著無線通訊技術的進步,越來越多的行動裝置擁有兩個以上的 網路介面,如 GPRS 和 WLAN。行動裝置可以透過這些連線來瀏覽 網頁或是玩網路遊戲。由於使用者隨時會移動,因此在不同網路間切 換會經常發生。而現行的 TCP/IP 技術在切換時,會中斷原本的連線。 再者,不同網路介面有不同的優缺點,因此需要優先權的設定。SCTP multi-homing 的特性能改善連線中斷的問題。然而,行動裝置常因移 動造成訊號不穩,此時雖能傳遞資料,但會造成反應時間加大,所以 應該切換連線。另外,SCTP 也不支援優先權設定。為了解決這些問 題,本論文提出一套改良 SCTP 的方法,達成在不同網路間無縫轉換 且快速的反應時間的需求。 基於 SCTP multi-homing 的特性,本論文的方法可以使用多個網 路介面建立連線,主要有三項特點:一、藉由偵測訊號強度,在主要 連線品質持續變差時切換網路。二、主要連線訊號不穩定時,利用並 傳的方式來改善反應時間。三、高優先權的連線在恢復訊號強度時, 則會取代低優先權連線成為主要連線。實驗數據顯示,本論文提出的 方法能有效改善 SCTP 的缺點,讓網路連線有更快速的反應時間。此 技術將有助於需要連線不中斷與快速反應時間的應用,如網路遊戲。 i.

(4) The Study of a Seamless Handoff between WLAN and GPRS Student: Zhi-Hsiang Wang. Advisor: I-Chen Wu. Institute of Computer Science and Information Engineering National Chiao Tung University. Abstract More and more devices have more than one network interface, such as GPRS and WLAN. Because users may move at anytime, the handoff will often happen. But TCP/IP connections will be disconnected when the handoff happen. Besides, network interfaces have different features, so we need the setting of priority. SCTP could reduce the problem of disconnection. But when the signal strength becomes weak, it will result in a slow response time. In addition, SCTP does not support the setting of priority. To solve this problem, the thesis proposes a new design for SCTP. Based on the multi-homing feature of SCTP, our design has three features: (1) By detecting the signal strength, do handoff when the main connection becomes bad. (2) When the main connection is unstable, use simulcast to reduce the response time. (3) When the higher priority connection becomes good, promote to the main connection. By the experiment results, our design could efficiently reduce performance of SCTP. The technology could support the application without connection severance and fast response time, such as network games. ii.

(5) 誌謝 首先我要感謝的,是我的指導教授,吳毅成博士,在我寫這篇論 文時,給我相當多的指導和照顧,在多次的討論與研究中,給我寶貴 的意見及教導,使的這篇論文能夠順利的完成。 接下來要感謝的是實驗室的徐健智、汪益賢、林秉宏學長,在我 撰寫這篇論文時,教導我如何簡單明確的表達想法,並指正我做法上 缺失與不足的地方,還要感謝曾建超老師實驗室的范榮軒學長,教導 我如何使用 WiFiAPI 去取得訊號強度。同時,也要感謝實驗室的同學 黃德彥、翁仕全、周自強,和所有的學弟們在我念研究所的這兩年 給我的幫助與鼓勵。還要特別感謝一個學妹李姿瑩,在我奮鬥的這段 時間帶給我歡笑與祝福。 最後,要感謝的是我的父母,總在我失意挫折時勉勵我,提供我 無虞的生活使我能專心致力於我的研究,即使我不能時常回家還是透 過電話捎來問候,給予我家庭的溫暖與幸福。謹以此論文,獻給我最 摯愛的家人。. iii.

(6) 目錄 摘要............................................................................................................. i Abstract ...................................................................................................... ii 誌謝........................................................................................................... iii 圖目錄....................................................................................................... vi 表目錄..................................................................................................... viii 第一章 緒論...............................................................................................1 1.1 WLAN 與 GPRS 的比較 .............................................................1 1.2 相關研究 ......................................................................................2 1.2.1 Multiple TCP connections .................................................2 1.2.1.1 Multiple TCP connections 分析討論 ....................3 1.2.2 Proxy Based .......................................................................3 1.2.2.1 Proxy Based 分析討論..........................................4 1.2.3 Mobile IP ...........................................................................4 1.2.3.1 Mobile IP 分析討論 ..............................................5 1.2.4 SCTP..................................................................................5 1.2.4.1 SCTP 簡介 .............................................................6 1.2.4.2 SCTP 分析討論.....................................................8 1.2.5 Modified SCTP..................................................................9 1.2.5.1 Modified SCTP 分析討論...................................10 1.3 研究目標 ....................................................................................10 1.4 論文大綱 ....................................................................................11 第二章 架構的設計 ................................................................................12 2.1 訊號強度與資料傳輸的關係 ....................................................12 2.2 無縫式轉換演算法 ....................................................................13 2.3 修改 SCTP ..................................................................................19 第三章. 實驗設計及相關問題探討 ....................................................22. 3.1 實驗配備 ....................................................................................22 3.2 SCTP 原始碼的取得..................................................................22 3.3 High threshold 與 Low threshold 的取得 ..................................23 iv.

(7) 3.4 GPRS 傳輸資料大小與 RTT 的關係........................................24 3.5 SCTP 單點錯誤..........................................................................25 3.6 Routing table 和網路介面之間的問題......................................26 第四章. 實驗及特性分析 ....................................................................28. 4.1 測試程式 ....................................................................................28 4.2 實驗環境 ....................................................................................29 4.3 實驗流程與結果分析 ................................................................29 4.4 實驗比較與結果分析 ................................................................45 第五章. 結論與未來發展 ....................................................................48. v.

(8) 圖目錄 圖 1-1 MULTIPLE TCP CONNECTIONS 架構圖.............................................3 圖 1-2 PROXY BASED 架構圖 .....................................................................4 圖 1-3 MOBILE IP 架構圖...........................................................................5 圖 1-4 SCTP 架構圖 ..................................................................................6 圖 1-5 SCTP MULTI-HOMING 示意圖 ..........................................................7 圖 1-6 SCTP 封包格式...............................................................................7 圖 1-7 SCTP SACK 與 TCP ACK 的比較 ..................................................8 圖 1-8 MODIFIED SCTP WITH MULTI-PATH TRANSMISSION 架構圖...........10 圖 2-1 CLIENT 端狀態轉換圖...................................................................13 圖 2-2 SERVER 端狀態轉換圖 ..................................................................15 圖 2-3 狀態轉變流程 INIT......................................................................16 圖 2-4 狀態轉變流程 WACTIVE,GACTIVE ......................................................16 圖 2-5 狀態轉變流程 WACTIVE,GACTIVE → WWEAK,GACTIVE ..........................17 圖 2-6 狀態轉變流程 WWEAK,GACTIVE → WINACTIVE,GACTIVE ........................17 圖 2-7 狀態轉變流程 WINACTIVE,GACTIVE → WWEAK,GACTIVE ........................18 圖 2-8 狀態轉變流程 WWEAK,GACTIVE → WACTIVE,GACTIVE ..........................19 圖 2-9 SCTP CHUNK 格式.........................................................................20 圖 2-10 修改 FLAG 欄位...........................................................................20 圖 3-1 WLAN 訊號強度與封包遺失率的關係 ......................................24 圖 3-2 GPRS 傳輸資料量與 RTT 的關係...............................................25 圖 3-3 SCTP 單點錯誤示意圖.................................................................26 圖 3-4 修改 ROUTING TABLE .....................................................................27 圖 4-1 實驗環境 .......................................................................................29 圖 4-2 實驗流程 A→C→A .....................................................................30 圖 4-3 CASE A→C→A,訊號強度、GPRS 狀態變化圖 ......................31 圖 4-4 CASE A→C→A 訊號強度與 GPRS 狀態圖 ................................31 圖 4-5 SUBCASE A→C→A、C→S、200BYTES 實驗結果......................32 vi.

(9) 圖 4-6 數據圖上反應時間越來越高的原因 ...........................................33 圖 4-7 SUBCASE A→C→A、C→S、100BYTES 實驗結果......................35 圖 4-8 SUBCASE A→C→A、S→C、200BYTES 實驗結果......................36 圖 4-9 SUBCASE A→C→A、S→C、100BYTES 實驗結果......................37 圖 4-10 實驗流程 A→B→C→B→A......................................................38 圖 4-11 CASE A→B→C→B→A,訊號強度、GPRS 狀態變化圖 .......39 圖 4-12 CASE A→B→C→B→A 訊號強度與 GPRS 狀態圖 .................39 圖 4-13 SUBCASE A→B→C→B→A、C→S、200BYTES 實驗結果 ......40 圖 4-14 SUBCASE A→B→C→B→A、C→S、100BYTES 實驗結果 ......41 圖 4-15 SUBCASE A→B→C→B→A、S→C、200BYTES 實驗結果 ......42 圖 4-16 SUBCASE A→B→C→B→A、S→C、100BYTES 實驗結果 ......43 圖 4-17 實驗流程 - 只有一個網路介面 ................................................44 圖 4-18 WLAN 訊號強度變化圖 ............................................................44 圖 4-19 只有一個網路介面、C→S、100BYTES 實驗結果 ...................45 圖 4-20 CASE A→C→A、與「永遠並傳」的做法結果比較 ...............46 圖 4-21 CASE A→B→C→B→A、與「永遠並傳」的做法結果比較 ..47. vii.

(10) 表目錄 表 1-1 WLAN 與 GPRS 的比較 ................................................................1 表 3-1 WLAN 訊號強度與資料傳輸的關係 ..........................................24 表 4-1 SUBCASE A→C→A、C→S、200BYTES COST 比較.....................32 表 4-2 SUBCASE A→C→A、C→S、100BYTES COST 比較.....................35 表 4-3 SUBCASE A→C→A、S→C、200BYTES COST 比較.....................36 表 4-4 SUBCASE A→C→A、S→C、100BYTES COST 比較.....................37 表 4-5 SUBCASE A→B→C→B→A、C→S、200BYTES COST 比較 .......40 表 4-6 SUBCASE A→B→C→B→A、C→S、100BYTES COST 比較 .......41 表 4-7 SUBCASE A→B→C→B→A、S→C、200BYTES COST 比較 .......42 表 4-8 SUBCASE A→B→C→B→A、S→C、100BYTES COST 比較 .......43 表 4-9 CASE A→C→A、與「永遠並傳」COST 比較.............................46 表 4-10 CASE A→B→C→B→A、與「永遠並傳」COST 比較 .............47. viii.

(11) 第一章 緒論 隨著無線通訊技術與行動裝置的蓬勃發展,無線通訊技術的應 用越來越普遍,且越來越多的行動裝置擁有兩個以上的網路介面, 這些無線通訊技術因為彼此遵從不同的規格,所以造成互有利弊的情 況,如 WLAN 的高頻寬與低反應時間、GPRS 的廣傳輸範圍;當在 這些不同的無線網路漫遊時,有些應用需要有技術來提供連線不需中 斷且快速的反應時間,如玩網路棋類、麻將類遊戲,所以如果可以結 合各種無線技術的優點,則可以提供使用者一個無接縫式轉換與快速 反應時間的環境。以下會先對現在廣泛使用的 WLAN 與 GPRS 做簡 單的比較,然後說明相關研究、研究目標與論文大綱。. 1.1 WLAN 與 GPRS 的比較. 目前已經發展出很多種無線通訊技術,我們採用目前被廣泛使 用且適合 IP 網路的兩種技術,WLAN 和 GPRS,下表為兩種技術特 性的比較: GPRS. WLAN 802.11g. Coverage. Ubiquitous. Local (50-100m). Bandwidths. Low (up to 171 Kbps). High (up to 54 Mbps). Round Trip Time. High (500-3000ms). Low (5-40ms). Cost of data services. High. Low. 表 1-1 WLAN 與 GPRS 的比較 1.

(12) 根據表 1-1 的描述,可以歸納出 WLAN 與 GPRS 的優缺點,對 WLAN 來說,它具有高頻寬、低反應時間、以及便宜的優點,不過 涵蓋範圍較窄,使用者漫遊的範圍受限;對 GPRS 來說,它具有無遠 弗屆的優點,使用者可以幾乎無限制的漫遊,不過他的頻寬較低、反 應時間高、且需要較高的花費。. 1.2 相關研究. 本論文的目的在提供一個無縫式轉換的方法,關於此類的研究相 當的多,大致上可分為應用層(Application layer)[4][16][24]、傳輸層 (Transport layer)[2][3][5][9][10][18]、與網路層(Network layer)[11][12][13][17][19][20][25][26]的做法,以下將會介紹各種 layer 的做法並討論其優缺點。. 1.2.1 Multiple TCP connections. Multiple TCP connections[16]的架構如圖 1-1,藉由建立多條 TCP 連線,切割封包然後同時使用這些連線來做傳輸,如果其中有一條連 線中斷,則會交由另一條連線來做封包補齊的工作,他的實作方法是 抽換底層的函式庫,取代 socket API 裡面的 send 與 receive,改成同 時用多條 socket 來做收發。. 2.

(13) 圖 1-1 Multiple TCP connections 架構圖. 1.2.1.1 Multiple TCP connections 分析討論. 此方法的優點為因為是應用層的實作,所以很容易部署;但也因 為在應用層上實作,所以他必須設計一套 buffering 與 acknowledgment 的機制,當某條連線斷線或是壅塞,才能做資料緩衝或是重傳,因為 這些事情同樣的在傳輸層也會做一次,所以會導致很沒效率,且要設 計此套機制,也是相當複雜的。. 1.2.2 Proxy Based. 此方法利用代理伺服器(Proxy Server)[4]維護一個 IP 位址表格, 紀錄 client 目前所使用的 IP 位址與其他備用的 IP 位址,其架構如圖 1-2,當行動裝置在不同網域移動時,會主動跟 proxy 註冊新的 IP 位 址,當 server 要送資料給 client 時,就可以透過 proxy 傳送到正確的 IP 位址,如果 client 有兩個以上的 IP 可用,則會以原來使用的 IP 位 址為主,其他的位址作為備用。 3.

(14) 圖 1-2 Proxy Based 架構圖. 1.2.2.1 Proxy Based 分析討論. 此架構的優點為對 client 只需做一點修改,在 client 端加入一個 函式庫,來做取得 IP 位址與註冊新的 IP 位址的動作,所以很容易實 作;缺點則是應用必須支援 proxy,如瀏覽網頁、檔案傳輸等應用, 且因為資料傳輸都需透過 proxy,所以 proxy 設置的位置離 client 的遠 近,也會影響傳輸品質。. 1.2.3 Mobile IP. Mobile IP 是由 IETF 所提出的一個封包路由協定[11],每個 mobile node(MN)都有一個固定且唯一的 home address,當 mobile node 移出 本地網域時,會跟 foreign agent 取得一個 care-of-address,MN 會跟 home agent 註冊這個新的 care-of-address,home agent 就可以將要送 給 MN 的封包,用 tunnel 的方法順利送給 MN,其架構如圖 1-3。. 4.

(15) 圖 1-3 Mobile IP 架構圖. 1.2.3.1 Mobile IP 分析討論. 此方法因為是在網路層實作,所以不需更改現存的 TCP 架構,應 用層也不需做修改;但是部署這些許多的 home agent 與 foreign agent 需要相當大的花費。. 1.2.4 SCTP. SCTP 是 IETF 的一個新的傳輸層協定[18],提供可靠且訊息導向 的資料傳輸,由於本論文的作法是基於此協定來做修改,所以下面會 對這個協定作更詳細的介紹。. 5.

(16) 1.2.4.1 SCTP 簡介. ‹ 架構 如圖 1-4,SCTP 是在 IP Network 之上的通訊協定,與 TCP 同一個層級,其最大的特性,就是支援傳輸點兩端可以有一 到多個 IP 位址。. 圖 1-4 SCTP 架構圖 ‹ 特性 SCTP 與 TCP 一樣都是必須建立連線,但 TCP 只有支援 reliable 與 ordered;SCTP 除了 reliable 跟 ordered,還提供 partial reliable、unreliable、partial ordered、及 unordered;SCTP 還 有一個很重要的特性,就是 multi-homing,如圖 1-5,Endpoint A 有三個 IP 位址、Endpoint B 有兩個 IP 位址,當 B 主要的 連線中斷後,A 可以送到另一個 IP 位址,不需要中斷整個連 線。. 6.

(17) 圖 1-5 SCTP multi-homing 示意圖 ‹ 封包格式與資料封裝(bundle) 封包格式如圖 1-6,每個封包包含一個 SCTP Common Header 還有數個 chunks,每個 chunk 包含 chunk header 跟 data,常 見的 chunk 類型有:DATA、SACK、HB、HB Ack,SCTP 資 料封裝的技術就是可以把各種 chunk 都包在同一個 packet 裡 面做傳輸,減少資料傳輸的次數。. 圖 1-6 SCTP 封包格式 ‹ 資料重傳 SCTP 對於資料的 acknowledge,是採用 Selective Acknowledgements (SACK’s),如圖 1-7,1、2、4、5、6 是順 利送達的封包,3 是遺失的封包,對 TCP 來說,當收到封包 2 時,他會回覆 sender 端 Ack=3,表示他下一個要收 3 號封 包,如果接下來收到 4、5、6 號封包,也只能丟掉,因此 sender 端就必須重傳 3、4、5、6 這 4 個封包;對 SCTP 來說,當收 到封包 2 時,他會回覆 sender 端 Ack=3,表示他下一個要收 3 號封包,如果接下來收到 4、5、6 號封包,則他會回覆 sender 7.

(18) 端 Ack=3,(4,6),表示他除了 3 號之前的封包有收到之外,還 有收到 4、5、6 這三個封包,因此 sender 端只要重傳 3 號封 包就可以了,這讓重傳變的更有效率。. 圖 1-7 SCTP SACK 與 TCP Ack 的比較 而 SCTP 也利用 multi-homing 的特性,當在主要的那條路徑 發生封包遺失時,表示這條路徑有問題,所以重傳會透過另 一條路徑。 ‹ 斷線偵測 SCTP 對路徑(Path)的定義為 Path=destination,所以有幾個 destination 就會有幾個 path;對於所有在 idle 的 path,會定期 每 30 秒送 heartbeat chunk,來測試此路徑是否還有效;經過 五次連續的封包(DATA 或是 HB)遺失後,就會認定此路徑失 效。. 1.2.4.2 SCTP 分析討論. 經由 1.1.4.1 的介紹,可以發現 SCTP multi-homing 的特性,對於 可同時使用多個網路介面的應用是很大的優點,且因為它是在傳輸層 (Transport Layer)上的實作,所以效率比在應用層(Application Layer) 8.

(19) 實作還要好;跟 Mobil IP 的作法來比較,他不需要部署 HA 與 FA。 不過 SCTP 在某些情況下仍然有缺點,以下將對這些缺點做說明: ‹ 沒有考慮網路介面的優先權 以 WLAN 與 GPRS 並存的情況為例,一開始 SCTP 會選用 WLAN 當主要的傳輸路徑,當 WLAN 斷線後,就會轉換到 GPRS,如果此時 WLAN 連線恢復,SCTP 並不會轉換回 WLAN,而是繼續使用 GPRS,可是 WLAN 的傳輸率與費用 都比 GPRS 來的好,所以當 WLAN 可用的時候,應該優先使 用。 ‹ 每個時間點只用一條路徑做傳輸 SCTP 在每次傳輸資料時,只選用一條路徑,當在這條路徑發 生資料遺失,才會用另一條路徑作重傳,但在無線通訊的環 境下(如:WLAN),在訊號強度不穩定時,資料遺失的機會會 變大,如果在這個時候做資料並傳,雖然會增加資料重複的 overhead,但是當有資料遺失發生時,可以很即時的透過另一 條路徑補齊,降低反應時間。 ‹ 對於連線狀態的探知緩慢 SCTP 對於連線狀態探知的方法,是計算資料重傳次數是否已 到達某個值,所以需要經過幾次的資料遺失與重傳,才能知 道連線是否已中斷,不能很即時地對這種情形做處理。. 1.2.5 Modified SCTP. 此方法基於 SCTP multi-homing 的特性,提出一個多條路徑傳輸 9.

(20) 的演算法[5],且利用 SCTP 的 heartbeat 機制,頻繁地傳送 heartbeat 封包,以測試 path 是否穩定,當 path 不穩定時就會採用多條路徑並 傳,其架構如圖 1-8。. 圖 1-8 Modified SCTP with multi-path transmission 架構圖. 1.2.5.1 Modified SCTP 分析討論. 此方法因為在連線不穩定時就會做並傳,所以對於反應時間與 throughput 會有不錯的結果,但也因為過於頻繁的傳送 heartbeat 封包 (60 bytes/per 0.3sec),會造成網路的 overhead,尤其是對如 GPRS 這 種頻寬有限的通訊技術,更有相當大的影響;此外,即使連線在 idle 的情況下,此方法仍然會頻繁的傳送 heartbeat 封包,對 GPRS 會造 成相當大的花費。. 1.3 研究目標. 本論文的目的在提供使用者一個無縫式的轉換與快速的反應時 間。根據前面提及的相關研究,我們採用 SCTP 作為研究基礎,利用 SCTP multi-homing 的特性,並藉由偵測 WLAN 的訊號強度,在 WLAN 10.

(21) 狀態變差時即時轉換到 GPRS;在 WLAN 不穩定的時候,利用 WLAN 與 GPRS 並傳來改善反應時間,讓使用者在漫遊時,可以幾乎感受不 到網路的轉換。另一個特點是,當 WLAN 的狀態穩定時,就會優先 使用 WLAN 來做傳輸,因為用 GPRS 傳輸會帶來額外的花費,且 WLAN 的反應時間與頻寬比 GPRS 好,所以優先使用 WLAN 可以帶 來比較好的效能。. 1.4 論文大綱. 本論文在第一章對目前廣泛使用的 WLAN 與 GPRS 做簡單的比 較、及簡介相關研究及研究目標,在第二章會說明無線網路訊號強度 的特性,無縫式演算法的設計及我們對 SCTP 做了哪些修改,第三章 會說明實驗的設計和在實作上碰到的問題,第四章會說明實驗的環境 與流程,並分析比較實驗的結果,最後一章為結論和未來展望。. 11.

(22) 第二章 架構的設計 本論文的目標為基於 SCTP multi-homing 特性,利用偵測 WLAN 訊號強度的方式,提供一個無縫式轉換的方法,這個章節著重在此方 法的設計與演算法,首先會對訊號強度與資料傳輸的關係做個簡介, 接下來介紹我們的設計原則與演算法,最後對於我們修改 SCTP 的部 份做個說明。. 2.1 訊號強度與資料傳輸的關係. 在無線通訊的環境裡,訊號強度與資料是否能正常傳輸有相當大 的關係,以 WLAN 為例,當訊號強度很好時,資料遺失率幾乎為 0%; 當訊號強度衰落時,有些時候就會有資料遺失;當訊號強度低到某個 值後,就幾乎無法傳送資料。 我們的設計就根據這個特性,訂出 High threshold(HT)與 Low threshold(LT),當訊號強度大於 HT 時,我們就假設 WLAN 的狀態是 很好的;當訊號強度介於 HT 與 LT 之間,則假設目前的狀態是衰落, 可能會發生資料遺失;當訊號強度低於 LT,就假設狀態為很糟,不 能傳送資料。 對於 GPRS,我們不採用此種設計,因為即使 GPRS 的訊號強度 為衰落,他的反應時間相較於 WLAN 來說還是很長,且 GPRS 的優 點是廣傳輸範圍,所以相對 WLAN 來說,訊號衰落的機會小很多。. 12.

(23) 2.2 無縫式轉換演算法. 因為我們的方法是利用 WLAN 訊號強度與資料傳輸的關係,所 以我們的演算法,以訊號強度的大小為主要考量,但因為訊號強度並 不能百分之百代表 WLAN 的狀態,因此我們還加入封包遺失與確認 的考慮。因為偵測訊號強度的行為,主要是在 client 端,所以我們將 演算法分為 client 端與 server 端來分別討論: ‹ Client 端 綜合上述的兩項變因,我們設計如圖 2-1 的狀態轉換圖,. 圖 2-1 Client 端狀態轉換圖 首先說明一下各個名稱代表的意義,SHigh、SMedium、SLow 表示 偵測到的訊號強度的值,是大於 HT、介於 HT、LT 之間、或 是小於 LT,GPRS_on 跟 GPRS_off 則是經由五次在 GPRS 上 的封包遺失得知,橫向表示 WLAN 的狀態,縱向表示 GPRS 的狀態,狀態右下角表示當時的傳輸方式,接下來對狀態轉 13.

(24) 換作詳細的說明。 初使狀態為左上角的 State,此時 WLAN 的狀態很好,所以資 料的傳輸只透過 WLAN;當偵測到訊號強度變弱或發生封包 遺失時,我們就認為 WLAN 的狀態不穩定,下一刻傳輸封包 可能會發生遺失,所以進入並傳(中間上面的 state)的狀態, 當封包遺失發生時,可以適時的透過 GPRS 來補齊。 在並傳狀態時,如果訊號強度變好,我們會先透過傳送封包 得到的確認,來確定 WLAN 的狀態是否穩定,才會真正的轉 移過去;在並傳狀態時,如果訊號強度變的很差,我們也會 先透過傳送封包測試是否真的遺失,才會轉移狀態,這是因 為我們採取比較保守的政策,當不能很確定 WLAN 的狀態 時,就盡量用並傳來加快反應時間,所以要從並傳出去其他 state 的條件比較嚴苛,要從其他 state 進來並傳的條件則比較 鬆;從並傳到狀態好的 state 需要 3 次的封包確認,但是從並 傳到狀態差只需要一次的封包遺失,這是因為 WLAN 的 RTT 很短(5-40ms),所以 3 次的封包確認,可以很快的知道,但是 封包遺失,卻是 1 秒、2 秒、4 秒(Exponential back-off),會 將時間拉的很長,所以我們只判斷一次的封包遺失。 在 WLAN 狀態很差的 state(右上角)時,只用 GPRS 做傳輸, 如果訊號強度變好或是 WLAN 上有 HB Ack,表示 WLAN 下 一刻也許能傳送資料,所以馬上進入並傳的狀態。 最下面三個 state,是在 GPRS 斷線的時候狀態的轉變,因為 GPRS 斷線後,只剩 WLAN 一個介面可使用,所以不管訊號 強度高低,都只能用 WLAN 做傳輸;而此時 SCTP 也會定期 (30 秒)的傳送 HB chunk,來測試連線是否恢復。. 14.

(25) ‹ Server 端 因為要讓 server 的行為盡量與 client 一致,所以 server 端的設 計跟 client 端一樣,差別只在 server 端的狀態轉變,必須透過 client 來通知,其狀態轉變圖如圖 2-2,狀態轉換方式跟 client 一樣,都是採用保守的方式。. 圖 2-2 Server 端狀態轉換圖 WGood、WWeak、WBad、GPRS_on、GPRS_off,都是由 client 送來的封包夾帶的資訊所取得,server 根據這些值來與 client 作狀態同步的動作,但因為 client 夾帶的狀態對 server 來說是 client 上一刻的狀態,所以我們仍然需要傳送短封包來作連線 狀態的測試。. 15.

(26) 以下用一個例子來說明 client 與 server 狀態轉變的流程。. 圖 2-3 狀態轉變流程 INIT 如圖 2-3,client 在做初使連線的時候,會告訴 server 他所使用的 IP 與 priority。. 圖 2-4 狀態轉變流程 WActive,GActive 如圖 2-4,初使狀態為 WActive,GActive,此時資料傳輸都透過 WLAN。 16.

(27) 圖 2-5 狀態轉變流程 WActive,GActive → WWeak,GActive 如圖 2-5,當 client 移動到訊號強度衰落的位置,就會偵測到訊號 強度介於 HT 與 LT 之間,所以狀態轉移到 WWeak,GActive,接著他會發 送 HB 封包來通知 server,因為此時的傳輸方式是並傳,所以 HB 封 包會由兩條路徑傳送,當 server 收到這個封包後,就會轉移到 WWeak,GActive。. 圖 2-6 狀態轉變流程 WWeak,GActive → WInactive,GActive. 17.

(28) 如圖 2-6,當 client 移出 WLAN 涵蓋的範圍,就會偵測到訊號強 度小於 LT,則 client 會嘗試透過 WLAN 發送一個 HB 封包,確定封 包遺失發生後,就會轉換到 WInactive,GActive 這個 state,然後透過 GPRS 送一個 HB 通知 server,server 收到後,也會送一個 HB 來測試 WLAN 這條路徑,當封包遺失發生後,server 也會轉換到 WInactive,GActive。. 圖 2-7 狀態轉變流程 WInactive,GActive → WWeak,GActive 如圖 2-7,當 client 回到訊號強度衰落的位置時,就會偵測到訊號 強度介於 HT 與 LT 之間,所以狀態轉移到 WWeak,GActive,接著他會發 送 HB 封包來通知 server,因為此時的傳輸方式是並傳,所以 HB 封 包會由兩條路徑傳送,當 server 收到這個封包後,就會轉移到 WWeak,GActive。. 18.

(29) 圖 2-8 狀態轉變流程 WWeak,GActive → WActive,GActive 如圖 2-8,當 client 回到訊號強度很好的地方,就會偵測到訊號強 度大於 HT,然後就會連續傳送 3 個 HB 封包(等一個 ack 回來再送下 一個) ,如果 3 個都順利 ack,則會轉換到 WActive,GActive,接著透過 WLAN 傳送一個 HB 通知 server,server 收到後,也會連續送 3 個 HB 封包來測試 WLAN 是否很穩定,如果 3 個都順利 ack,則 server 也會 轉換到 WActive,GActive。 GPRS 不能使用的情況,因為只剩 WLAN 可用,所以不管 WLAN 狀況如何,還是只有一種選擇,因此不特別做討論。. 2.3 修改 SCTP. 根據我們所提出的演算法,我們需要對原本的 SCTP 做以下的修 改: ‹ Client 狀態的資訊,需要附在封包裡面 19.

(30) 因為偵測訊號強度動作是在 client 端,所以 server 端必須要透 過 client 傳送資訊才能轉變狀態;因此我們在四種常見的封包 裡面(DATA、SACK、HB、HB Ack),加入目前 client 狀態的 資訊。 加入的位置如圖 2-3,我們利用 chunk header 裡面的 Flag 欄 位,此欄位為 8 個 bits,前面 5 個 bits 是沒使用的,後面 3 個 bits 分別代表 ordered、begin、end,我們用 bit4、bit5 代表 優先權第一的路徑的狀態,bit6、bit7 代表優先權第二的連線 的狀態,bit8 作為擴充用,如圖 2-4,狀態的表示法為: Good(0)、Weak(1)、Bad(2)、Disconnect(3) 。. 圖 2-9 SCTP Chunk 格式. 圖 2-10 修改 Flag 欄位 ‹ Client 在狀態轉變時,必須主動告知 server 如一所述,server 是在接收到 client 的封包,才能知道 client 目前的狀態,所以如果沒有資料的轉換,則 server 就無法即 時的知道 client 的狀態,因此在 client 狀態轉變的時候,必須 主動送一個 heartbeat 的封包來通知 server。 20.

(31) ‹ 對於因為並傳造成的資料重複不做處理 由於我們的方法,會在 WLAN 不穩定的時候做資料並傳,所 以對收資料的那一端,會有資料重複發生,因為這時候的 資料重覆是並傳造成,所以不需做處理(SCTP 對資料重複的 處理是馬上回 ack,不做 delayed ack)。. ‹ 在初始連線的時候,需要給予連線優先權 因為有考慮網路介面的優先權,所以必須在初使連線的時 候,告知 server 優先權的順序,原本的 SCTP 在初使連線時, 會告知 server 有多少 IP 可用,我們就利用 IP 的順序,作為優 先權的順序。. 21.

(32) 第三章. 實驗設計及相關問題探討. 這個章節在探討實作時的細節,首先介紹實驗用的配備與無線通 訊環境,第二段說明 SCTP 原始碼的取得來源與版本,第三段討論 WLAN 訊號強度與資料傳輸的關係,第四段對於 GPRS 頻寬的限制 做簡單的測試並討論結果,第五段討論 SCTP 在某種情況,並非真正 multi-homing 的問題與解法,最後探討 routing table 與網路介面的問 題。. 3.1 實驗配備. 本實驗用來測試實作的行動裝置是筆記型電腦,作業系統為 Windows XP SP2,無線網路方面,配有一張無線網路卡 D-Link DWL-G650+,Access Point 型號 D-Link DWL-2000AP+,無線網路環 境為 WLAN 802.11g 54Mbps;GPRS 方面,配有一個 Solomon GPRS modem,網路環境為中華電信 GPRS 115Kbps,費率為每 128bytes 0.03 元;伺服器端是固定的主機,作業系統為 FreeBSD 4.9-RELEASE 版 本,網路卡型號 Intel 10/100 BaseTX,網路環境是乙太網路 100Mbps。. 3.2 SCTP 原始碼的取得. 我們用來修改並測試實作的 SCTP 原始碼,是由 GNU Public 22.

(33) License (GPL)和 GNU Lesser Public License (LGPL)所發行,版本為 sctplib-1.0.2;目前最新的版本為 sctplib-1.0.3,在 2005 年 3 月 4 號 釋出;此兩種版本都可以在 Linux、FreeBSD、Mac OS X、Solaris、 及 Windows 上運作執行[23]。. 3.3 High threshold 與 Low threshold 的取得 我們取得訊號強度的方法,是利用 WiFiAPI,透過 NDIS User Mode I/O protocol 來取得,取得的值的大小,與提供廠商有關,我們的實 驗配備所取得的數據在 0~255 之間,與 dBm 單位的換算方式,可以 參考[22]。 為了訂出 High threshold 與 Low threshold 的值,我們針對不同的 WLAN 訊號強度,做定時定量資料傳輸的實驗,觀察其值與封包遺 失率的關係。 ‹ 實驗流程與結果 我們用 3.1 所介紹的配備,在 WLAN 的網域內移動,並定時 每秒送出 100bytes 的資料,紀錄當時的訊號強度與封包是否 遺失,實驗時間為 3 分鐘,結果如下表: RSSI. 217 216 215 214 211 210 204 202 201 199. 傳送封包數 4. 3. 2. 2. 2. 2. 4. 6. 2. 6. 遺失封包數 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 198 197 196 195 194 193 192 191 190 189 8. 8. 2. 2. 14. 20. 24. 10. 13. 16. 1. 1. 1. 2. 1. 5. 8. 3. 6. 3. 23.

(34) 188 186 185 184 183 181 180 179 178 2. 2. 2. 4. 2. 6. 6. 4. 2. 1. 2. 2. 2. 0. 6. 6. 4. 2. 表 3-1 WLAN 訊號強度與資料傳輸的關係 ‹ 實驗結果分析 根據此結果,我們保守估計當訊號強度大於 200 時,封包遺 失率幾乎為 0%;當訊號強度介於 200 與 180 之間,封包遺失 率平均為 34%;當訊號強度小於 180 時,封包遺失率幾乎為 100%。如下圖所示:. 圖 3-1 WLAN 訊號強度與封包遺失率的關係 因此,我們設定 High threshold 為 200,Low threshold 為 180 做為我們實驗的參數。. 3.4 GPRS 傳輸資料大小與 RTT 的關係. 因為 GPRS 頻寬的限制,所以如果單位時間內傳輸的資料過於龐 大,會使反應時間拉長,因此我們需要根據實驗,來觀察 GPRS 在不 同資料量傳輸時的 round trip time,並印證我們的應用適合於 GPRS 的環境。. 24.

(35) ‹ 實驗流程與結果 我們用 3.1 所介紹的配備,在 GPRS 的環境下,定時每秒送 出 100、150、200、500、1000bytes 的資料,然後紀錄每個封 包的反應時間,實驗時間為 55 秒,結果如下圖: (ms). 8000 7000 6000. 100bytes. 5000. 150bytes. 4000. 200bytes. 3000. 500bytes. 2000. 1000bytes. 1000 0 0. 10000. 20000. 30000. 40000. 50000. 60000. (ms). 圖 3-2 GPRS 傳輸資料量與 RTT 的關係 ‹ 實驗結果分析 由實驗結果可以很明顯看出,當傳輸資料為 100、150bytes 時,RTT 都可以維持在 1 秒上下;當傳輸資料為 200bytes 時, RTT 就會偏高,但是還是有大約一半的機會(51%)在 1.4 秒以 下;當傳輸資料為 500bytes 時,RTT 會更偏向 2 秒,在 1.4 秒以下的機會變的更低(30%);當傳輸資料為 1000bytes 時, RTT 會變的很糟糕;因為我們的研究要有快速的反應時間, 所以我們選擇 100bytes 與 200bytes 作為實驗的參數,這適合 傳輸資料頻率低與短封包的應用,例如:網路棋類、麻將類 遊戲。. 3.5 SCTP 單點錯誤. 25.

(36) 如 1.1.4.1 對 SCTP 所做的簡介,SCTP 對於 path 的定義,就等同 於有幾個 destination,這在某種情況下,會使的 SCTP multi-homing 的特性失效[6]。以下圖為例:. 圖 3-3 SCTP 單點錯誤示意圖 對 Endpoint A 來說,由於他的 destination 只有一個,所以 path 就 只有一條,如果主要的那條連線中斷,則會造成 path 變成 inactive, 由於唯一的一條 path 變成 inactive,整個 SCTP 連線就會中斷,可是 Endpoint A 的另一個介面依然是可用的,所以 SCTP multi-homing 的 特性就失效了;我們採用 full-mesh paths[7]來解決此問題,此方法對 path 的定義除了 destination,還有加入 source 來做配對,以圖 3-3 為 例,Endpoint A 有兩個 source 與一個 destination,所以他的 path 數目 為 2,當主要的 path inactive,就會轉換到另外一條來繼續傳輸。. 3.6 Routing table 和網路介面之間的問題. 因為我們的演算法,需要指定用哪個網路介面來做傳輸,所以我 們必須要修改用戶端的 routing table,讓封包在做繞送時,可以透過 正確的網路介面,修改方式如下:. 26.

(37) 圖 3-4 修改 Routing table 伺服器的 IP 為 140.113.210.143、而用戶端的 WLAN 的 IP 為 140.113.210.116、GPRS 的 IP 為 221.120.1.1;當加上紅色圈圈這一個 rule 後,只要指定用 GPRS 傳送資料,封包在繞送時就會比對適合的 rule,正確的透過 GPRS 來做傳輸。. 27.

(38) 第四章. 實驗及特性分析. 這個章節在描述我們實驗的方法,並分析討論實驗的結果,首先 介紹測試程式,然後介紹實驗環境與流程,最後對實驗結果做分析。. 4.1 測試程式. 由於我們的方法,是以 client 端定期偵測訊號強度來即時探知 WLAN 的狀態,再藉由 client 傳送的封包來通知 server,所以 server 是處於被動的角色,如果 client 不主動送資料給 server,則 server 就 無法取得 client 的資訊,因此我們在設計時,如果 client 的狀態轉變, 就會主動發送一個 heartbeat 封包來通知 server,我們需要藉由實驗來 證實這種情形發生時,client 主動發送的 heartbeat 封包可以帶來幫 助,所以我們的測試程式包含兩種 case: ‹ Case C→S 資料傳輸由 client 發動,由 client 定期每秒傳送 100、200bytes 的資料給 server,client 定期每 0.1 秒偵測 WLAN 測訊號強度 的變化。 ‹ Case S→C 資料傳輸由 server 發動,由 server 定期每秒傳送 100、200bytes 的資料給 client,client 定期每 0.1 秒偵測 WLAN 測訊號強度 的變化。 我們的實驗最主要量測的值為反應時間,另外我們會量測的值包 28.

(39) 含有:封包重複數、GPRS 傳送的封包數量大小與花費等 overhead, 來比較我們的方法與原來的 SCTP。. 4.2 實驗環境. 實驗環境如圖 4-1,A 點的訊號強度值大約在 210 左右、B 點的 訊號強度值大約在 190 左右、C 點的訊號強度值大約在 170 左右,我 們的實驗就在這三個點之間作移動。. A : RSSI >= HT (200). B : HT > RSSI > LT C : RSSI <= LT (180). 圖 4-1 實驗環境. 4.3 實驗流程與結果分析. 29.

(40) 我們的實驗除了測試我們提出的方法,也針對原來的 SCTP 做測 試來比較,並在結果分析時指出原來的 SCTP 的缺點;我們的實驗流 程分成兩種 cases: ‹ Case 1 WLAN 的狀態從很好到很糟,再從很糟回到很好,如圖 4-2, 我們想觀察的是,當 WLAN 狀態有驟然的變化時,我們的結 果是否可以很好。. 圖 4-2 實驗流程 A→C→A 圖 4-3 為訊號強度還有 GPRS 的狀態變化圖,我們會先在 A 點停留約 85 秒,然後開始移動到 C 點,移動時間約 10 秒, 接著在 C 點停留約 85 秒,再移動回 A 點,最後停留 90 秒。. 30.

(41) 圖 4-3 Case A→C→A,訊號強度、GPRS 狀態變化圖 以下為 Case A→C→A 的實驗結果,根據定期傳送資料端與 資料大小,分為 Subcase C→S、200bytes,Subcase C→S、 100bytes,Subcase S→C、200bytes,Subcase S→C、100bytes 四種;圖 4-4 為實驗時紀錄的 WLAN 訊號強度與 GPRS 狀態 圖。. 230 210 190 RSSI. 170 150 0. 900. 1800. 圖 4-4 Case A→C→A 訊號強度與 GPRS 狀態圖 „ Subcase C→S、200bytes. 31. 2700. (0.1s).

(42) (ms). Response Time. 26000 24000 22000 20000 18000 16000 14000. Ori_WLAN Ori_GPRS. 12000 10000 8000. Mod. 6000 4000. Handoff to GPRS. Handoff to GPRS. Handoff to WLAN. 2000 0 0. 90000. 180000. Packet. 270000. (ms). 圖 4-5 Subcase A→C→A、C→S、200bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 0. 50. Amount of GPRS data 51136 bytes 11.99 元 Cost of GPRS. 36992 bytes 8.67 元. (0.03 元 / 128 bytes) 表 4-1 Subcase A→C→A、C→S、200bytes cost 比較 在此先對實驗結果的圖做個簡單的解說,橫軸是時間,圖 上的點表示在那個時間點傳送的封包,縱軸是封包從傳送 出去到收到 ack 的時間,也就是我們要量測的反應時間, 藍色點是原本的 SCTP 的結果,比較暗的表示當時主要的 傳輸路徑是 WLAN,比較亮的表示當時主要的傳輸路徑 是 GPRS,粉紅色點為我們的作法的結果;而我們量測的 GPRS 封包數量大小,除了本身的資料量,還有包含 IP header 與 SCTP header(約 48bytes)。 由實驗結果可以明顯看出,我們的作法比原本的 SCTP 反 應時間好很多,而且如圖 4-5 上標示的註解,當 WLAN 狀態變差時,我們可以很即時的切換到 GPRS,原本的 32.

(43) SCTP 卻需要經過五次的封包遺失,才能切換到 GPRS; 除此之外,當 WLAN 訊號恢復後,我們的作法會馬上切 換回 WLAN,可是原本的 SCTP 仍然繼續使用 GPRS 來 做傳輸,結果增加花費與反應時間;在 cost 部分,如表 4-1,因為即使是很快速的移動位置,還是會經過一段訊 號衰落的時間,所以我們的作法會做並傳,也因此造成一 些 duplicates,不過因為在 WLAN 恢復時我們的作法有切 換回去,所以在 GPRS 總共的傳輸量是比較少的,所以所 需的花費也比較少。 下面會對圖 4-5 裡面,原來的 SCTP 在 WLAN 變差時, 越來越高的反應時間做解釋。. 圖 4-6 數據圖上反應時間越來越高的原因 如圖 4-6,假設 26 到 27 剛好是訊號強度變差的時候,我 們一一分析每個時間點的行為,為了簡化分析,所以不考 慮 delayed ack。. 33.

(44) 26:此時訊號強度還是好的,所以封包順利送達並收到 ack 所以反應時間為 WLAN RTT。 27:此時訊號強度變差,所以封包發生遺失(初使 RTO 為 1 秒)。 28:經過一秒後,發現編號 27 的封包發生遺失,所以會 進行重傳的動作,且 RTO 會設成兩秒,而 SCTP 的 重傳會用另一條路徑,也就是 GPRS,加上封裝 (bundle)的技術,所以新的封包 28,會跟著重傳的 27,一起用 GPRS 送出去,然後收到 ack,所以對 27 來說,他的反應時間大約為 1 秒加上 GPRS RTT, 而對 28 來說,他的反應時間就是 GPRS RTT。 29:因為目前還沒切換到 GPRS,所以傳輸封包還是會透 過 WLAN,同樣的,此時的傳輸也會發生遺失。 30:因為 RTO 為 2 秒,所以此時還沒有 timeout 發生,不 會作重傳,新的封包 30 在此刻傳輸會遺失。 31:此時 timeout 發生,會進行重傳的動作,同時把 29、 30、31 封裝起來,一起用 GPRS 送出,然後收到 ack, 因此,29、30、31 的反應時間,就會如圖 4-6 一樣。 以此類推,直到第五次的封包遺失發生,才會轉換到 GPRS。 „ Subcase C→S、100bytes. 34.

(45) (ms). 26000. Respnse Time. 24000 22000 20000 18000 16000. Acked after first. 14000 12000. retransmission, reset counter. Ori_WLAN. Handoff to GPRS. Ori_GPRS Mod. 10000 8000 6000. Handoff to GPRS. 4000 2000. Handoff to WLAN. 0 0. 90000. Packet. 180000. 270000. (ms). 圖 4-7 Subcase A→C→A、C→S、100bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 2. 36. Amount of GPRS data 31512 bytes 7.39 元 Cost of GPRS. 24404 bytes 5.72 元. (0.03 元 / 128 bytes) 表 4-2 Subcase A→C→A、C→S、100bytes cost 比較 如圖 4-7,這個結果與 200 bytes 的結果差不多,不過因為 資料大小是 100bytes,所以 GPRS 的 RTT 大約都在一秒 左右;另外如圖 4-7 紅色圈圈標示,原本的 SCTP 在訊號 變弱的時候,經過五次封包遺失的時間變的很長,這是因 為當他在做第一次的重傳之後,下一刻送的資料有 ack 回 來,所以重傳的數目重新計算,又因為當時 buffer 裡有尚 未送出的封包,所以 RTO 沒有重新計算,因此五次的遺 失時間分別為 2、4、8、16、32 秒,又 RTO 的值與 RTT 有關,所以實際的值會再偏高一點;cost 部分,如表 4-2, 我們的方法會比較低,原因與上一個 case 相同。 „ Subcase S→C、200bytes 35.

(46) (ms). Respnse Time. 26000 24000 22000 20000 18000 16000. Ori_WLAN. 14000 12000. Ori_GPRS Mod. 10000 8000 6000 4000. Handoff to GPRS Handoff to GPRS. Handoff to WLAN. 2000 0 0. 90000. 180000. Packet. 270000. (ms). 圖 4-8 Subcase A→C→A、S→C、200bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 43. 67. Amount of GPRS data 62660 bytes 14.69 元 Cost of GPRS. 48022 bytes 11.26 元. (0.03 元 / 128 bytes) 表 4-3 Subcase A→C→A、S→C、200bytes cost 比較 由圖 4-8 可看出,S→C 的結果與 C→S 的結果差不多, 所以即使 server 是處於被動的角色,還是可以透過 heartbeat 讓 server 即時與 client 狀態做同步;cost 部分, 如表 4-3,我們的方法依然是比較低的。 „ Subcase S→C、100bytes. 36.

(47) (ms). Respn se Time. 26000 24000 22000 20000 18000 16000 14000. Second retransmission is also loss. Ori_WLAN Ori_GPRS. 12000 10000 8000. Mod. 6000 4000. Handoff to GPRS. Handoff to GPRS. Handoff to WLAN. 2000 0 0. 90000. Pack et. 180000. 270000. (ms). 圖 4-9 Subcase A→C→A、S→C、100bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 34. 72. Amount of GPRS data 39532 bytes 9.27 元 Cost of GPRS. 42588 bytes 9.98 元. (0.03 元 / 128 bytes) 表 4-4 Subcase A→C→A、S→C、100bytes cost 比較 此結果與 Case C→S、100bytes 的結果大致相同;如圖 4-9 紅色圈圈的標示,會有那樣的結果,是因為第一次重傳的 時候,剛好 GPRS 不穩定,所以也發生資料遺失,所以由 第二次的重傳來補齊;這個 case 的 cost 比較,如表 4-4, 我們的方法會比較高,這是因為在做這個 case 的實驗時, WLAN 較為不穩定,如圖 4-9,一開始的地方,還有 180 秒附近,都有幾次的重傳發生,所以會進入並傳的狀態而 使用 GPRS 來做傳輸,因此我們的方法 cost 反而較高。 ‹ Case 2 WLAN 的狀態從很好到衰落,衰落到很糟,然後再回到衰落, 37.

(48) 最後回到很好,如圖 4-10,且在很好的時候模擬出 GPRS 斷 線的情況,我們想觀察的是,當 WLAN 狀態較為平穩的變化 時,我們的結果是否可以很好,且在 GPRS 斷線的情況,可 以更突顯我們考慮網路介面的優先權所帶來的好處。. 圖 4-10 實驗流程 A→B→C→B→A 圖 4-11 為訊號強度還有 GPRS 的狀態變化圖,我們會先在 A 點停留約 55 秒,然後開始移動到 B 點,移動時間約 5 秒,接 著在 B 點停留約 55 秒,再移動到 C 點,停留約 55 秒後,再 移回 B 點,停留約 55 秒,再移回 A 點,在 A 點停留 60 秒後, 我們用 ip-firewall 來擋住 GPRS 的封包,模擬 GPRS 斷線的情 形(因為 GPRS 涵蓋的範圍是很廣的,所以我們採用模擬的方 式),等候 60 秒後,關閉 ip-firewall 恢復 GPRS 的狀態。. 38.

(49) 圖 4-11 Case A→B→C→B→A,訊號強度、GPRS 狀態變化圖 以下為 Case A→B→C→B→A 的實驗結果,根據定期傳送資 料端與資料大小,分為 Subcase C→S、200bytes,Subcase C→S、100bytes,Subcase S→C、200bytes,Subcase S→C、 100bytes 四種;圖 4-12 為實驗時紀錄的 WLAN 訊號強度與 GPRS 狀態圖。. 230 210 190 RSSI. 170 150 0. 600. 1200. 1800. 2400. 3000. 3600. 4200 (0.1s). 圖 4-12 Case A→B→C→B→A 訊號強度與 GPRS 狀態圖 „ Subcase C→S、200bytes (ms). 26000. Response Time. 24000 22000. RTO is related to RTT. 20000 18000 16000. Handoff to GPRS. 14000 12000. Ori_WLAN Ori_GPRS Mod. 10000 8000 6000. Handoff to WLAN Handoff to GPRS. 4000 2000. Handoff to WLAN. 39. 0 0. 60000. 120000. 180000. 240000. Pack et. 300000. 360000. 420000 (ms).

(50) 圖 4-13 Subcase A→B→C→B→A、C→S、200bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 27. 248. Amount of GPRS data 59552 bytes 13.96 元 Cost of GPRS. 70112 bytes 16.43 元. (0.03 元 / 128 bytes) 表 4-5 Subcase A→B→C→B→A、C→S、200bytes cost 比較 這個 case 的結果,很明顯的,我們的做法也是比較好, 只是在訊號強度衰落的時候,因為沒有封包遺失的情形, 所以並傳變成一種浪費,不過因為我們的設計是希望能有 很快速的反應時間,所以用多一點的 cost(約 2.5 元),如 表 4-5,來換取封包遺失發生時,更快的反應時間;另外 在後面我們模擬 GPRS 斷線的情況,對原來的 SCTP 來 說,因為當時主要傳輸路徑為 GPRS,所以他要經過五次 的封包遺失後,才會再轉換回 WLAN,而對我們設計的 方法來說,因為早就轉換到 WLAN 了,所以即使 GPRS 在當時斷線,也不會影響反應時間。 „ Subcase C→S、100bytes. 40.

(51) (ms). Response Time. 26000 24000 22000 20000. Acked after retransmission, reset counter. 18000 16000 14000 12000. Ori_WLAN. Handoff to GPRS. Ori_GPRS Mod. 10000 8000 Handoff to WLAN. 6000 4000. Handoff to WLAN. Handoff to GPRS. 2000 0 0. 60000. 120000. 180000. 240000. Packet. 300000. 360000. 420000. (ms). 圖 4-14 Subcase A→B→C→B→A、C→S、100bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 36. 231. Amount of GPRS data 39084 bytes 9.16 元 Cost of GPRS. 50448 bytes 11.82 元. (0.03 元 / 128 bytes) 表 4-6 Subcase A→B→C→B→A、C→S、100bytes cost 比較 這個 case 的結果大致與 200bytes 相同,不過在紅色圈圈 標示的地方,由於在第三次的重傳後,用 WLAN 送的資 料有 ack 回來,所以重傳的數目重新計算,又因為當時 buffer 裡面沒有資料待傳,所以連 RTO 的值也重設為 1 秒,所以才會出現兩段連續重傳的結果;cost 部分,如表 4-6,我們的方法會偏高,原因與上個 case 一樣。 „ Subcase S→C、200bytes. 41.

(52) (ms). 26000 24000. Respnse Time. 22000 20000 18000 16000 14000. Ori_WLAN Handoff to GPRS. 12000 10000 8000. Ori_GPRS Mod Handoff to WLAN. 6000 4000. Handoff to WLAN. Handoff to GPRS. 2000 0 0. 60000. 120000. 180000. 240000. Packet. 300000. 360000. 420000. (ms). 圖 4-15 Subcase A→B→C→B→A、S→C、200bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 75. 271. Amount of GPRS data 70184 bytes 16.45 元 Cost of GPRS. 85072 bytes 19.94 元. (0.03 元 / 128 bytes) 表 4-7 Subcase A→B→C→B→A、S→C、200bytes cost 比較 這個 case 的結果跟之前的大致相同,我們的方法 response time 可以比原來的 sctp 好很多;cost 部分,如表 4-7,我 們的方法花費依然是較高的,且由於在做這個實驗時, WLAN 的狀態較為不穩定,所以如圖 4-15,280、370 秒 左右,都有幾次的重傳發生,所以會進入並傳的狀態而使 用 GPRS 來做傳輸,因此花費比 case A→B→C→B→A、 C→S、200bytes 還高一些。 „ Subcase S→C、100bytes. 42.

(53) (ms). 26000 24000. Response Time. 22000 20000 18000 16000 14000. First and second retransmission is also loss. Ori_WLAN Ori_GPRS. 12000 10000 8000. Mod. Handoff to GPRS Handoff to WLAN. 6000 4000. Handoff to GPRS. Handoff to WLAN. 2000 0 0. 60000. 120000. 180000. 240000. Packet. 300000. 360000. 420000. (ms). 圖 4-16 Subcase A→B→C→B→A、S→C、100bytes 實驗結果. Duplicates. Original SCTP. Modified SCTP. 70. 328. Amount of GPRS data 45216 bytes 10.60 元 Cost of GPRS. 67056 bytes 15.72 元. (0.03 元 / 128 bytes) 表 4-8 Subcase A→B→C→B→A、S→C、100bytes cost 比較 這個 case 的結果,在 WLAN 訊號強度衰落的時候(60~ 120、180~240),可以看出反應時間幾乎都控制在一秒以 內,這就突顯出並傳的優點,如表 4-8,用多一些的 cost 來換取快一點的反應時間,此結果 duplicates 的次數較 多,是因為當 WLAN 發生遺失時,下一刻就會進入並傳, 所以並傳的時間比其他結果還多。 ‹ Case 3 這個 case 主要是在測試當只有一個網路介面時,我們的方法 會跟原來的 SCTP 一樣,不會比較差,測試的流程為從 WLAN 的狀態很好到狀態很糟,然後在斷線之前回到很好的狀態, 如圖 4-17。 43.

(54) 圖 4-17 實驗流程 - 只有一個網路介面 圖 4-18 為訊號強度變化圖,首先在 A 點停留約 10 秒,然後 開始移動到 C 點,移動時間約 10 秒,接著在 C 點停留約 5 秒,再移動回 A 點,最後停留 10 秒。. 圖 4-18 WLAN 訊號強度變化圖 因為只有一個網路介面,所以我們的測試只有一種,結果如 下。. 44.

(55) (ms) Response Time 35000 30000 25000 20000. Ori. 15000. Mod. First retransmission acked, reset counter. 10000 5000 0 0. 10000. 20000. 30000 Packet. 40000. 50000. 60000. (ms). 圖 4-19 只有一個網路介面、C→S、100bytes 實驗結果 如圖 4-19,在標示的地方,因為第一次的重傳(只有一個介面 WLAN)有 ack 回來,所以重傳的數目重設,又因為當時的 buffer 裡有資料待傳,所以 RTO 沒有被重設,所以此圖是在 第四次的重傳成功(2+4+8+16=30 秒),連線才沒中斷;這個實 驗的用意在證明,當只有一個網路介面時,我們的作法並不 會比原來的差。. 4.4 實驗比較與結果分析. 除了跟原來的 SCTP 做比較之外,我們還考慮另一種作法:永遠 都使用並傳,只要 WLAN 與 GPRS 連線未中斷,資料就會透過他們 送出,以下為實驗結果與討論: 從 4.3 的結果可看出 C→ S 與 S→C 的結果大致相同,所以我們挑 兩個 cases 來做比較,分別為 Case A→C→A、C→ S、200bytes 跟 Case A→B→C→B→A、C→ S、200bytes。 45.

(56) ‹ Case A→C→A、C→ S、200bytes (ms). Response Time. 26000 24000 22000 20000 18000 16000 14000. multi-path. 12000 10000 8000. Mod. 6000 4000 2000 0 0. 90000. 180000. Packet. 270000. (ms). 圖 4-20 Case A→C→A、與「永遠並傳」的做法結果比較. Duplicates. Always Simulcast. Modified SCTP. 290. 50. Amount of GPRS data 95128 bytes 22.30 元 Cost of GPRS. 36992 bytes 8.67 元. (0.03 元 / 128 bytes) 表 4-9 Case A→C→A、與「永遠並傳」cost 比較 如圖 4-20,我們的做法可以跟「永遠並傳」的做法達到幾乎 一樣的效果,可是由表 4-9 可以看出, 「永遠並傳」所需的花 費很高,在這個 case 下,大約是我們的做法的三倍,所以「永 遠並傳」的做法,在 WLAN 與 GPRS 並存,且 WLAN 很穩 定的情況下,會造成不必要的花費。 ‹ Case A→B→C→B→A、C→ S、200bytes. 46.

(57) (ms). 26000. Response Time. 24000 22000 20000 18000 16000 14000 12000. multi-path Mod. 10000 8000 6000 4000 2000 0 0. 60000. 120000. 180000. 240000. 300000. 360000. 420000(ms). Packet. 圖 4-21 Case A→B→C→B→A、與「永遠並傳」的做法結果比較. Duplicates. Original SCTP. Modified SCTP. 516. 248. Amount of GPRS data 154992 bytes 36.33 元 Cost of GPRS. 70112 bytes 16.43 元. (0.03 元 / 128 bytes) 表 4-10 Case A→B→C→B→A、與「永遠並傳」cost 比較 圖 4-21,是 Case A→B→C→B→A 的結果,我們的做法依然 可以跟「永遠並傳」的做法達到一樣的效果,所需的花費則 是它的一半,如表 4-10;換句話說,我們的做法並非盲目的 並傳,而是藉由訊號強度的偵測與封包傳遞的情況,做為是 否並傳的依據,這樣可以減少不必要的浪費,而且也能達到 同樣好的反應時間。. 47.

(58) 第五章. 結論與未來發展. 在本論文當中,以偵測訊號強度,並加入優先權的設定,提出了 一個方法來改良 SCTP 的缺點,這個方法結合 WLAN 與 GPRS 的優 點,提供使用者一個無接縫式的轉換與快速的反應時間,此方法有以 下三個特性: ‹ 用訊號強度來預測 WLAN 的狀態 一般而言,偵測網路狀態的方法,都是用發送短封包,等候 回應的方式,如果要很迅速的偵測網路狀態,則必須頻繁的 發送短封包,結果會增加網路的負載;如果使用訊號強度來 作預測,並搭配少量的短封包使其更準確,可以免去網路的 負載,並且可以更快速的察覺 WLAN 狀態的變化。 ‹ 用並傳來改善反應時間 當 WLAN 訊號強度衰落時,資料的傳輸會出現遺失的情況, 需要經過重傳才能補齊,結果會拉長資料的反應時間;使用 並傳的方法,如果 WLAN 發生資料遺失,此時 GPRS 就可以 補上遺失的資料,縮短反應時間。 ‹ 當 WLAN 與 GPRS 都正常時,優先使用 WLAN WLAN 具有較高頻寬與不需額外費用的優點,所以當 WLAN 可以使用時,就會優先採用;而 GPRS 雖然具有傳輸範圍較 廣,適合廣域漫遊的優點,但是頻寬較低且需要額外費用, 所以只有在 WLAN 不可以使用時,才使用 GPRS 來傳輸資料。. 48.

(59) 由實驗的結果分析,可以歸納出以下的未來發展: ‹ High threshold 與 Low threshold 的取得 由我們的實驗結果可以發現,當訊號強度在 190 左右時,封 包遺失的機會並不是很高,所以大部份的情況,並傳都算是 一種浪費,且 HT 與 LT 的值,也與所使用的配備有關,因此 是否有一種 self-tuning 的方式,可以取得較佳的 HT 與 LT? ‹ 超過兩個以上的網路介面 此篇論文討論的模式以兩個網路介面為主;如果行動裝置擁 有三個以上的網路介面,則使用全部的網路介面來做並傳比 較好?或是只挑選兩個狀態最好的來做並傳比較好?這是值 得研究的課題。 ‹ 並傳的最佳化 並傳的用意在當 WLAN 傳輸狀態不穩定時,用 GPRS 來補齊 遺失的資料;但如果在 WLAN 上發生連續的遺失或是收到確 認,則是否可以暫停並傳,改成只用 GPRS 或是只用 WLAN, 如此可以降低並傳造成的 overhead。 ‹ 可移動性 本篇論文的焦點在探討 WLAN 與 GPRS 並存的網路的換手, 沒有實作不同網域之間的轉換,未來將可依照 Mobile SCTP 的規格來達到可動態的增減 IP address.. 49.

(60) 參考文獻 [1] L. Coene , “Stream Control Transmission Protocol Applicability Statement”, RFC 3257, April 2002. [2] Tom Goff and Dhananjay Phatak, “Unified Transport Layer Support for Data Striping and Host Mobility”, To appear in the IEEE Journal of Selected Areas in Communications, Special Issue on Wireless IP networks, 2004. [3] Aydin, I. and C. Shen, “Cellular SCTP: A Transport-Layer Approach to Internet Mobility”, October 2003. [4] Z, Jiang, K, Leung, Byoung-Jo J. Kim. P. Henry, “Proxy Servers Based Seamless Mobility Management”, WCNC 2002, Orlando, FL, 2002. [5] Shigeru Kashihara, Katsuyoshi Iida, Hiroyuki Koga, Youki Kadobayashi and Suguru Yamaguchi, “End-to-End Seamless Handover using Multi-path Transmission Algorithm”, Proc. Internet Conference 2003, October 2003. [6] Toshiyuki Kubo, Katsuyoshi Iida, “Path based route identification in SCTP”, February 2003, http://cnscenter.future.co.kr/resource/ietf/ind-draft/draft-toshiyuki-pat h-sctp-00.txt [7] Toshiyuki Kubo, Shigeru Kashihara, Katsuyoshi Iida, Youki Kadobayashi and Suguru Yamaguchi, “Path Management of SCTP to Eliminate Single Point of Failure in Multihoming”, Proc. IEEE 5th International Conference on Advanced Communication 50.

(61) Technology(ICACT2003), pp.135-139, January 2003. [8] Ong, L., Yoakum, J., “An Introduction to the Stream Control Transmission Protocol”, RFC 3286, May 2002. [9] D. Maltz and P. Bhagwat, “MSOCKS: An architecture for transport layer mobility”, in Proc. IEEE INFOCOM, April 1998. [10] Li Ma, Fei Yu, Victor Leung, Tejinder Randhawa, “A New Method to Support UMTS/WLAN Vertical Handover Using SCTP”, IEEE Wireless Communications, vol. 11, no. 4, pp. 44-51, August 2004. [11] Charles E. Perkins, “IP Mobility Support”, IETF RFC 2002, October 1996. [12] Hemish Parikh, Hemant Chaskar, Dirk Trossen, Govind Krishnamurthi, “Seamless handoff of Mobile Terminal from WLAN to cdma2000 Network”, 3G World - Wireless congress, San Francisco, May 2003. [13] Chakravorty, R.; Vidales, P.; Subramanian, K.; Pratt, I.; Crowcroft, J., “Performance issues with vertical handovers - experiences from GPRS cellular and WLAN hot-spots integration”, Pervasive Computing and Communications, 2004, Proceedings of the Second IEEE Annual Conference on, March 2004. [14] M. Riegel and M. Tuxen, “Mobile SCTP”, October 2005, http://www.ietf.org/internet-drafts/draft-riegel-tuexen-mobile-sctp-0 5.txt. 51.

(62) [15] A. Snoeren, H. Balakrishnan and M. Kaashoek, “Reconsidering Internet Mobility”, In Proc. 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII), May 2000. [16] H. Sivakumar, S. Bailey, R. L. Grossman, “PSockets: The Case for Application-level Network Striping for Data Intensive Applications using High Speed Wide Area Networks”, Proceedings of the 2000 ACM/IEEE Conference on Supercomputing, 2000. [17] Nirmala Shenoy, Punita Mishra, Bruce Hartpence, “Performance of a Framework for Seamless Integration of Cellular and WLAN”, Proceedings of Annual OPNET Technology Conference, July 2004. [18] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, and V. Paxson, “Stream Control Transmission Protocol”, RFC 2960, October 2000. [19] I-Wei Wu, Wen-Shiung Chen, Ho-En Liao, Fongray Frank Young, “A seamless handoff approach of mobile IP protocol for mobile wireless networks”, IEEE Transaction on Consumer Electronic, Vol. 48, No.2, May 2002. [20] M. Ylianttila, M. Pande, J. Makela and P. Mahonen, “Optimization scheme for mobile users performing vertical handoffs between IEEE 802.11 and GPRS/edge networks”, IEEE Proceedings of Global Telecommunications Conference, Vol. 6, November 2001. [21] Victor C. Zandy and Barton P. Miller, “Reliable Network Connections”, in ACM MobiCom, September 2002.. 52.

(63) [22] Converting Signal Strength Percentage to dBm Values, available from, http://www.wildpackets.com/elements/whitepapers/Converting_Sign al_Strength.pdf [23] GNU Public License, GNU Lesser Public License, “SCTP library 1.0.3”, available from, http://www.sctp.de/sctp-download.html. [24] 林義欽, “行動無縫式 TCP 連線環境架構之研究”, 國立交通大學 資訊工程學系, 碩士論文, August 2004. [25] 陳伯綱, “整合 GPRS 與 Wireless LAN 資料網路之兩階層式架構 與通訊協定”, 國立交通大學資訊工程學系, 碩士論文, June 2000. [26] 邱文岳, “WLAN/GPRS 整合網路下無接縫換手的方法”, 國立 交通大學, 碩士論文, 2003. [27] 中華電信, “GPRS 費率表”, available from, http://www.cht.com.tw/PersonalCat.php?CatID=695&Module=Fee, Describe.. 53.

(64)

數據

表 1-1 WLAN 與 GPRS 的比較
圖  1-3 Mobile IP  架構圖
圖 1-5 SCTP multi-homing 示意圖
圖  1-8 Modified SCTP with multi-path transmission  架構圖
+7

參考文獻

相關文件

Wi-Fi 定位即利用無線網路來傳遞信號,根據各種網路參數和算法可以找出使用

我們提出利用讀取器與讀取器間的距離為參數來優化利用分層移除讀取器之方法的最佳 化技術 Distance Based Optimization for Eliminating Redundant Readers (DBO) ,此方法完全

在與 WINS 有關的研究之中,除了研發感測器硬體這個領域之外,其它的領域均需要

本研究採用的方法是將階層式與非階層式集群法結合。第一步先運用

A wireless network based on the combination of Zigbee and GPRS(Shen Lin, Shi xiangquan Ling Ming): 文章結合 GPRS 和 ZigBee 建立在開闊地區利用

這種方式稱為前推法 (forward pass) ,可以計算出 每一個活動的最早開始時間 (ES, Early Start) ,與 最早可以完成的時間 (EF, Early Finish) 。. 6-6

本研究是以景觀指數進行對 1993 年、2008 年與擴大土地使用三個時期之評 估,其評估結果做比較討論。而目前研究提供研究方法的應用-GIS 與 FRAGSTATS 之使用方法。從 1993 年至

本研究以 CCR 模式的投入導向模式進行差額變數分析 ,針 對相對無效率之