交遞機制對跨網域交遞延遲之影響分析
全文
(2) 交遞機制對跨網域交遞延遲之影響分析 Effects of Handover Schemes on the Latencies of Inter-network Handovers. 研 究 生:陳志豪. Student: Zhi-Hao Chen. 指導教授:曾建超. Advisor: Chien-Chao Tseng. 國 立 交 通 大 學 資 訊 科 學 與 工 程 研 究 所 碩 士 論 文. A Thesis Submitted to Institute of Computer Science and Engineering College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in Computer Science. June 2006 Hsinchu, Taiwan, Republic of China. 中華民國九十五年六月.
(3) 交遞機制對跨網域交遞延遲之影響分析 研究生:陳志豪. 指導教授:曾建超. 國立交通大學資訊學院資訊科學與工程研究所 摘. 要. 在無線網際網路環境之下,行動主機會由舊的無線基地台(Access Point, AP)交遞至另 一新無線基地台,而這些 AP 可能會存在於不同的存取路由(Access Router, AR)下。 因此行動主機在交遞時需要進行新 AP 的認證(authentication)、關聯(association),甚 至於需要更換不同的 AR。這些動作需要時間,造成使用者在使用各種應用程式存 取網際網路訊息時有明顯的停滯的情況發生,尤其是在使用 video/audio 串流 (streaming)類軟體(比如:skype)時甚至可能產生中斷。 對於跨網域交遞的問題,已經有不少的學者提出如何減少延遲的理論及方法,包含 針對 layer 2、layer 3 以及 application layer 各階層或跨階層的解決方法。我們首先將 依據現實網路與地理環境,去測量這些快速交遞機制所花費的時間。再比較這些方 法分別省去那些延遲,並判斷這些方法是否合適。 在測量的過程中,我們採用不同晶片的無線網路卡作測量,還有多種不同廠商的無 線存取點。將各網路層所造成的延遲用這些不同的設備作測量並且將這些結果加以 平均。在測量過程中,不同的作業系統間有些差異存在,甚至造成測量時的限制, 我們也將一併提出,並加以解決。 魚與熊掌不可兼得,所以最後我們會給予無線行動使用者適當的建議,這建議包括 了:當行動節點處與某種網路環境之下或是當使用者正在使用某種應用程式,此時 用什麼樣的交遞機制是比較合適的。再者建議對於網路管理者到底該如何配置整個 無線網路的環境,使一般的行動使用者能更快速交遞並且滿意的使用整個無線網路 的環境。任何一種交遞機制都有其優點,但也有其缺點,有何優缺點我們也會在最 後的分析與評估中提出。. - i -.
(4) Effects of Handover Schemes on the Latencies of Inter-network Handovers Student:Zhi-Hao Chen. Advisor:Dr. Chien-Chao Tseng. Institute of Computer Science and Engineering College of Computer Science National Chiao Tung University ABSTRACT In wireless networks, a mobile user may roam (or so called handoff) from one access point (AP) to another one. These APs may attach to different access routers (ARs). During handoff, a mobile user needs to authenticate and associate with the new AP and switch ARs, if a different AR is involved. This handoff procedure takes time and may cause network connection of Internet applications deferred or even broken, especially for those video/audio streaming applications, such as Voice over IP and Video on Demand. Many researches have proposed fast handoff mechanisms that can reduce handoff delays at link-layer, network-layer, application-layer, or combination of them. In this thesis, we will first apply those handoff mechanisms on our testbed and measure the actually handoff delays to analyze the effects of those mechanisms. In our measurement, we use several wireless LAN cards with different chips and various APs of different venders. We measure latencies in each network layers and compute the average latency caused by each layer. Moreover, we encounter some interesting constraints that are imposed by different operating systems. These constraints may limit the handoff performance. Therefore, we also provide solutions to eliminate these constraints.. - ii -.
(5) It is always difficult to get everything done at a time. There are tradeoffs for every handover scheme. First, we discuss the strength and weakness for various handover schemes. Finally, some suggestions will be given for the mobile node as well as the network operator. We suggest what handover schemes would be appropriate for mobile nodes using some specific application or under some specific environments. Moreover, we also recommend the network manger about how to configure the whole wireless network environment so that they can provide mobile users with a faster and more satisfied wireless environment.. - iii -.
(6) 誌 謝. 本論文能順利完成,首先要感謝我的指導教授—曾建超博士,在過去兩年對 於我的論文題目構思、內容撰寫及口試期間給予細心的指導與啟發。感謝我的論 文口試委員: 曹孝櫟博士、王讚彬博士與嚴力行博士,感謝他們細心地審查我的 論文,並提供寶貴的參考意見,使我的論文更加完善。感謝張弘鑫學長,在我的 論文構思期間與我討論並給予意見與啟發,讓我得以完成此論文。我還要特別感 謝交大資工無線網際網路實驗室的學長姐、同學以及學弟妹們,在我兩年的碩士 生涯中給予我支持與鼓勵,讓我過得非常充實,謝謝你們。 我要感謝我的父母、家人,在我有困難、煩惱的時候,給予我精神上與實質 上的幫助,謝謝你們。 還要感謝我的高中同學們,由於他們都早已取得碩士學位,所以不論在生活 上或是對於撰寫論文的心態上都給了我很多過來人的建議。 特別感謝陪我走過交大生活六個寒暑的女朋友,不論是研究所入學考或是碩 士論文都是她陪在我身邊鼓勵著我,沒有她時時刻刻在我身邊耳提面命與加油打 氣,我無法完成碩士論文這個艱鉅的任務。 謹將此成果獻給我的摯愛. - 4 -. "簡啟雯".
(7) 目 錄 目錄 .............................................................................................................................................i 圖目錄 ........................................................................................................................................v 表目錄 ..................................................................................................................................... vii 第一章 緒論 ..............................................................................................................................1 1.1 研究動機 .....................................................................................................................1 1.2 研究目標 .....................................................................................................................2 1.3 章節簡介 .....................................................................................................................3 第二章 背景與相關論文研究 ..................................................................................................5 2.1 無線網路相關背景 .....................................................................................................5 2.1.1 IEEE802.11 無線網路簡介 ..............................................................................5 2.1.2 無線網路漫遊簡介 ..........................................................................................6 2.2 DHCP 相關介紹 .........................................................................................................8 2.2.1 DHCP 協定 ......................................................................................................8 2.2.2 The IPv4 Subnet Selection Option for DHCP ...........................................10 2.2.3 Relay Agent Information Option ...............................................................10 2.3 Mobile IP 相關介紹 ..................................................................................................12 2.3.1 Mobile IP 概念 ...............................................................................................12 2.3.2 Co-located CoA.............................................................................................13 2.3.3 Foreign-Agent CoA ......................................................................................13 第三章 各種快速交遞機制的設計 ........................................................................................15 3.1 基本跨網域交遞動作流程 .......................................................................................15 3.2 Date link layer handover scheme..........................................................................19 3.2.1 Pre-probe........................................................................................................19 3.2.2 IAPP................................................................................................................20 3.2.3 Location-based Fast Handoff for 802.11 Networks .................................20 3.2.4 A Seamless Handoff Scheme with new AP Module for Wireless .........21 3.3 Network layer handover scheme ..........................................................................21 3.3.1 Move detection..............................................................................................21 3.3.2 DHCP address pre-configuration scheme and handover ......................22 3.3.3 Mobile IP Foreign-Agent address configuration scheme and handover ..................................................................................................................................23 3.3.4 Data Delivery ................................................................................................23 3.3.4.1 Mobile IP tunnel.................................................................................23 - i -.
(8) 3.3.4.2 Bicasting.............................................................................................. 24 3.3.4.3 Agent Forwarding............................................................................. 24 3.3.5 Mechanisms and hierarchical topology for fast handover in wireless IP networks ................................................................................................................. 25 3.3.6 Mobile SCTP ................................................................................................. 25 3.4 Application layer handover scheme..................................................................... 26 3.4.1 VoIP software: Kphone ............................................................................... 26 3.5 Cross layer handover scheme................................................................................ 27 3.5.1 Mobile IP ....................................................................................................... 27 3.5.2 Layer 2 trigger .............................................................................................. 27 第四章 交遞機制延遲的測量結果........................................................................................ 29 4.1 Experiment environment ....................................................................................... 29 4.1.1 Measure tools................................................................................................ 29 4.1.1.1 gettimeofday ...................................................................................... 29 4.1.1.2 Ethereal ............................................................................................... 29 4.1.2 Linux Fedora Core 5, kernel Linux-2.6.16 constraint.............................. 30 4.2 Data link layer handover latencies ....................................................................... 30 4.2.1 Original Wireless LAN handover latencies.............................................. 30 4.2.2 pre-probe ....................................................................................................... 33 4.2.3 IAPP ............................................................................................................... 33 4.2.4 Location-based Fast Handoff for 802.11 Networks................................. 33 4.2.5 A Seamless Handoff Scheme with new AP Module for Wireless......... 34 4.3 Network layer handover latencies........................................................................ 34 4.3.1 Original Network layer handover latencies............................................. 34 4.3.1.1 Move detection .................................................................................. 34 4.3.1.2 Address configuration...................................................................... 35 4.3.2 DHCP address pre-configuration scheme................................................ 37 4.3.3 Mobile IP address pre-configuration scheme .......................................... 37 4.3.4 Data delivery................................................................................................. 38 4.3.4.1 Mobile IP tunnel ................................................................................ 38 4.3.4.2 Bicasting.............................................................................................. 39 4.3.4.3 Agent Forwarding............................................................................. 39 4.3.5 Mechanisms and hierarchical topology for fast handover in wireless IP networks ................................................................................................................. 40 4.3.6 Mobile SCTP ................................................................................................. 40 4.4 Application layer handover latencies .................................................................. 40 4.4.1 VoIP software: Kphone ............................................................................... 40 4.5 Cross layer handover scheme................................................................................ 42 - ii -.
(9) 4.5.1 Layer 2 trigger ...............................................................................................42 第五章 分析與評估 ................................................................................................................43 5.1 Effort and effect of different Handover schemes................................................43 5.1.1 Data link layer ...............................................................................................43 5.1.1.1 Pre-probe.............................................................................................43 5.1.1.2 IAPP.....................................................................................................44 5.1.1.3 Location-based Fast Handoff for 802.11 Networks ......................44 5.1.1.4 A Seamless Handoff Scheme with new AP Module for Wireless ..........................................................................................................................44 5.1.2 Schemes comparisons ..................................................................................44 5.1.3 Network layer ...............................................................................................45 5.1.3.1 DHCP address pre-configuration scheme .....................................45 5.1.3.2 Mobile IP address pre-configuration scheme................................45 5.1.3.3 Data delivery ......................................................................................46 5.1.3.4 Schemes comparisons .......................................................................47 5.1.4 Application layer ..........................................................................................48 5.1.4.1 VoIP software: Kphone .....................................................................48 5.1.5 利用 Cross layer handover .........................................................................48 5.1.5.1 Mobile IP .............................................................................................48 5.1.5.2 Layer 2 trigger ....................................................................................49 5.1.5.3 Schemes comparsions .......................................................................49 5.2 行動節點移動速度與無線訊號衰減的關係 ...........................................................49 5.3 跨網域交遞機制的建議 ...........................................................................................51 5.3.1 Probe...............................................................................................................51 5.3.2 DHCP Move detection .................................................................................51 5.3.3 Address configuration .................................................................................52 5.3.4 Layer 2 trigger ...............................................................................................52 5.3.5 對行動節點與網路管理者的建議 ................................................................52 5.3.5.1 建議一 .................................................................................................52 5.3.5.2 建議二 .................................................................................................52 第六章 結論與未來工作 ........................................................................................................57 6.1 結論 ...........................................................................................................................57 6.2 未來工作 ...................................................................................................................58 參考文獻 ..................................................................................................................................59. - iii -.
(10)
(11) 圖 目 錄 Figure 1- 1 跨網域交遞示意圖 ................................................................................2. Figure 2- 1 無線隨意網路模式(左)及具基礎建設網路模式(右) ...........................5 Figure 2- 2 無線網路漫遊與網路七層架構之對應 ...............................................6 Figure 2- 3 使用主動探察與新無線基地台建立連線之訊息交換 ........................7 Figure 2- 4 DHCP message flow............................................................................9 Figure 2- 5 DHCP Server and Relay Agent...........................................................11 Figure 2- 6 Mobile IP 架構 ...................................................................................12 Figure 2- 7 Co-located CoA registration.............................................................13 Figure 2- 8 Foreign-Agent CoA registration ......................................................14. Figure 3-1 Probe Procedure ......................................................................................16 Figure 3-2 Handover latencies .............................................................................19 Figure 3-3 Architecture for a hierarchical wireless network .......................................25. Figure 4 - 1 time of layer 2 handover ........................................................................32 Figure 4 - 2 DHCP latencies .....................................................................................35 Figure 4 - 3 FA-CoA latencies ..................................................................................36 Figure 4 - 4 Mobile tunnel latency.......................................................................38 Figure 4 - 5 Kphone handover latency.......................................................................41 Figure 4 - 6 CCL handover latency ...........................................................................42. Figure 5- 1 mobile node speed with signal decay ......................................................50 Figure 5- 2 Latencies of over all handover .........................................................53. - v -.
(12)
(13) 表 目 錄 Table 2- 1 DHCP Message IP address...................................................................9 Table 2- 2 Subnet Selection Option Frame .........................................................10 Table 2- 3 Relay Agent Information Option Frame ..........................................10 Table 2- 4 DHCP and Agent cooperation...........................................................11. Table 4-1 Handover time of different WLAN cards .........................................31 Table 4- 2 time of AP handover ...........................................................................32. Table 5 - 1 Data layer handover Scheme comparison .................................................45 Table 5 - 2 Network layer schemes comparisons........................................................47 Table 5 - 3 cross layer schemes comparison...............................................................49 Table 5 - 4 Resource Location Server Option.....................................................51. - vii -.
(14)
(15) 第一章 緒論 1.1 研究動機 由於無線網際網路的蓬勃發展[1],越來越多使用者會帶著可藉由無線網際網路連上 網路的隨身裝置。不管是筆記型電腦、個人數位助理甚至是現在逐漸開始主導手機 市場的智慧型手機。因為更多的使用者就算不在桌上型電腦前,也會想要可以隨時 接收e-mail或是維持Microsoft MSN的登入狀態,以保持與他人有即時的溝通管 道。還有更方便的網際網路電話,目前Skype這套網際網路電話的使用者不斷的增 加,就是因為它擁有優秀的通話品質,再加上使用者最在乎的免收費特性。若能維 持與網際網路的連結並且保持登入狀態,這可以使這個免費的應用軟體取代目前仍 算高價的手機通話服務。 另外隨著無線網際網路技術的發展,許多原先建構在有線環境的服務也逐漸的轉移 到無線環境中發展。而其中以各種即時性的應用為民眾最希冀之服務。也因為這些 原因而使得在各公共場合大多數都有提供無線網際網路連線的服務。比如各辦公大 樓、政府機關、學校、機場…等多處皆可方便使用者隨時隨地的藉由無線網際網路 的連線取得所需的網路相關資源,並且執行各種使用者所需的網路應用程式。更甚 者一般咖啡廳、速食店,都要打著提供無線網際網路的服務來吸引顧客上門消費。 而無線網際網路目前較為大多數人所使用的機制為 infrastructure mode,也就是經 由 Access Point 來提供使用者連上網際網路。因為 Access Point 的訊號傳輸物理限 制使得 Access Point 有著涵蓋範圍的限制,一般的 Access Point 在空曠完全沒有遮 蔽物的情況之下可以達到 80~90 公尺的半徑涵蓋範圍。但是大多數的情況底下,建 築物的遮蔽與隔擋會使得 Access Point 的涵蓋範圍變的相當小。在這種環境底下, 使用者若是用個人數位助理、或是智慧型手機等可以隨身攜帶的小型裝置,有可能 會隨著時間而移動位置。移動位置所造成的後果就是離開 Access Point 的涵蓋範 圍,對於這個問題的解決辦法就是將整個要提供服務的環境用多個 Access Point 相互交錯的涵蓋整個服務範圍。這麼一來就會引起在無線網際網路環境底下需要做 handover 的衍生問題。. - 1 -.
(16) Figure 1- 1跨網域交遞示意圖. Handover 的動作除了切換不同的 Access Point 會造成延遲之外,還會因為跨網域的 交遞(Inter-AR handoff)(Figure 1-1)會造成網路連線服務的延遲甚至於中斷。這多種跨 網域交遞的機制所提供的優缺點我們也要去深入的了解,最後針對不同的連線模式 與環境系統狀況給使用者應該使用什麼交遞機制的建議。. 1.2 研究目標 針對上述的過程所引發的問題,我們將依據實際的測量以及配合無線網路的物理性 質。測量出跨網域交遞的延遲時間,探討實際測量多種加速交遞方法比沒有利用這 些加速交遞的機制縮短了多少延遲時間,並且比較這些跨網域交遞延遲所額外付出 的努力與所得到的縮短延遲回報。 Handover 的問題主要可以分為三個部份: A. Layer 2 也就是 Link layer 的部份,使用者需從一個舊的 Access Point 連線換 成連接上新的 Access Point。. - 2 -.
(17) B.. Layer 3, Network layer 的部份為大多數的 router 設計及網路管理者皆習慣將 一個 subnet 定義使用 255 的不同的 IP 位址。這麼一來也就限制了同個 subnet 底下的使用者數量。這種情況會造成不同的 Access Point 有可能隸屬於不同的 subnet router 的管轄範圍,也就是說需要將使用者原本連線的舊 IP 換成新的 subnet 底下的新 IP。. C.. Layer 7, Application layer 的部份,最後當使用者要連上無線網際網路就是因 為他正在使用的應用程式是需要無線的自由並且連上網際網路的。而絕大部分 的應用程式當切換 IP 之後必須要從新建立新的連線或是註冊新的 IP 位址。. 綜合以上 handover 的三個部份,每個部份皆有其相對應的 latencies。這些 latencies 會造成使用者在使用各種應用程式存取網際網路訊息時有明顯的停滯的情況發 生。尤其是在使用 video, audio stream (比如:skype) 的時候會有中斷的感覺。目 前針對這個無線網際網路跨網域交遞的問題,已經有不少的學者提出如何減少在跨 網域交遞之間所造成的延遲的理論。在這些方法中包括了三個部份的解決方案,但 是這些解決方案所花的 effort 是否真的有其必要與是否有得到相對應的成果。. 1.3 章節簡介 關於本論文的章節簡介如下: 第一章:緒論 描述本論文的研究動機,以及本論文想要達到的目標。 第二章:背景與相關論文研究 簡介本論文的相關研究背景,包括了無線網路的漫遊流程、DHCP 以及 Mobile IP 這兩種機制的相關內容。 第三章:各種快速交遞機制的設計 細談各種快速交遞機制的設計,包括了 data link layer、internet protocol layer、 application layer 以及 cross layer 各階層的快速跨網域交遞機制。 第四章:交遞機制延遲的測量結果. - 3 -.
(18) 根據實際的無線網路環境與作業系統,架設環境並且設計出各種交遞機制的測量方 法,測量出跨網域交遞機制中每一細節的延遲時間。 第五章:分析與評估 提供了分析與評估,比較各種交遞機制的優缺點,研究各機制所花的努力與效應的 關係,並且給予使用者與網路管理者如何增進跨網域交遞速度的建議。 第六章:結論與未來工作 最後我們將本論文所研究的結果做個結論,並且提出未來繼續研究的方向。. - 4 -.
(19) 第二章 背景與相關論文研究 2.1 無線網路相關背景 無線網路的發展不啻是網際網路進入一個新的紀元的開始,更多的應用針對無線網 路蓬勃的發展下面我們就針對無線網路的相關背景作簡單的介紹。 2.1.1 IEEE802.11 無線網路簡介 IEEE802.11 是目前無線網路所遵照的標準,在此標準之下規範了無線網路的實體層 (Physical Layer)、媒介存取控制層(Media Access Control)這兩層的運作方式。也 因為 IEEE802.11 的無線電頻率訂於 ISM(Industrial Scientific Medical),所以在架 設無線網路的環境並不需要跟政府機關申請。也因為這樣現在的無線網路環境在低 成本與高便利性的考量上已經普遍的存在於生活週遭。 再 IEEE802.11 無線網路的協定中定義了兩種網路傳輸的環境模式:無線隨意網路模 式(Ad-Hoc mode)、具基礎建設網路模式(Infrastructure mode)(Figure 2-1)。無線隨意網 路模式主要為無線網路節點之間的互相溝通,而不是對外連上網際網路。由於這種 模式比較不適用於一般使用者的使用需求,所以目前較多普遍的是具基礎建設網路 模式。而具基礎建設網路模式主要是藉由無線存取點(Access Point),一般作法是使 用者藉由無線存取點的媒介將資料送到無線存取點再送到有線網際網路上。這篇論 文也將在具基礎建設網路模式的環境下進行探討。. Figure 2- 1無線隨意網路模式(左)及具基礎建設網路模式(右). - 5 -.
(20) 2.1.2 無線網路漫遊簡介 整個無線網路漫遊可以根據 OSI 網路七層架構分別討論(Figure 2-2),除了第一層 physical Layer 及第六層 Presentation Layer 與漫遊無關外,其餘的每層都有其相 對應的流程與動作。 Layer 1 Physical Connection to Layer 2 AP1 is lost Data link 1.AP Probe Layer 3 L2 2.Authenticatuon Network 3.Association Layer 4 Transport 1.Address configuration L3 Layer 5 2.Router configuration session TCP re-connect Layer 6 L4 L5 L7. Session re-establish Application registration. Presentation. Layer 7 Application. Figure 2- 2 無線網路漫遊與網路七層架構之對應. 其中資料連結層(Layer 2: Data Link)漫遊牽涉了以下的動作:移動用戶端的裝置要 先與新的基地台建立無線網路連線,這個探查可以分為兩種不同的模式,主動探 查、被動探查。主動探查的方式為使用者自行發出探查要求(Probe Request)來取得 鄰近無線存取點的資訊(Figure 2-3)。被動探查則為無線存取點會定時發出信標 (Beacon),使用者在根據此信標來判定附近的無線存取點的資訊。 這資訊包含了無線存取點的網路卡號(hardware address)、名稱(essid)、頻道 (channel)以及無線訊號的強度(signal strength)、傳輸的位元率(bit rate)等資訊。經 過一個 IEEE802.11 中預設的等待時間後,依據這些收集來的附近無線存取點 Probe Responds 再挑選訊號強度合適或是有其他考量所指定的某一無線存取點。針對此 無線存取點發出身分認證訊息(Authentication),收到確認後再發出連結要求 (Association Request),等收到連結回應(Association Response)成功後行動節點 (Mobile Node, MN)會取得一個連結識別碼(Association ID, AID),根據此識別碼 無線存取點就可以用來分辨出行動節點的聯結,而行動節點就可以使用這無線存取 點的資源了。. - 6 -.
(21) Figure 2- 3使用主動探察與新無線基地台建立連線之訊息交換. 接下來為網路層(Layer 3: Network layer),這邊牽涉的漫遊動作主要是要判斷剛才 換的無線存取點與原先的無線存取點是否在同個網域中。判斷的方法並沒有特定的 協定,只能靠使用者自行的檢測與驗證。一般如果換無線存取點後無法連結上原先 的路由器(router),就可以判定是在不同的網域底下。 如果是在同個網域的話,那漫遊的動作也就到此為止算完成了。後面不用再做其他 的動作,行動節點可以繼續剛剛未更換無線存取點之前的所有連線與動作。 如果判斷出在不同的網域的話,那就得需要更換網路層中用來辨識每個節點的 IP。 也就是需要在新的網域中搜尋新的路由器(router),並且取得新的網路 IP 資源。如 何利用 DHCP Server 取得這些新的資源或是利用或是 Mobile IP FA CoA 來繼續未 漫遊前的網路連線,在後面我們會有詳細的描述。 而傳輸層(Layer 4: Transport)包含了連線所使用的機制,UDP、RTP 或是 TCP。 在 UDP、RTP 的連線底下漫遊並不會受到影響。因為 UDP、RTP 並不管自己本身 的 IP 位址。但是由於 TCP 的協定中定義了 TCP 連線所認的標籤為”Sender IP, Sender PORT, Receiver IP, Receiver PORT”,這四點缺一不可。所以如果原先有建 立 TCP 連線的話,更換 IP 後就必須從先建立連線。這個必須更換 IP 的問題可以 經由 Mobile IP FA CoA 來解決,使得連線並不需要更換 IP 也就不需要重新建立 TCP 連線。一樣的我們將如何解決留在後面介紹 Mobile IP 時會詳細解釋。 - 7 -.
(22) 會議層(Layer 5: Session Layer)中需要向原先正在進行連線傳輸的對應節點提出重 新建立會議的要求。不論是利用 TCP 來達成的 FTP 連線或試用 RTP 所做的 VoIP 連線都必須重新建立會議,才能再恢復交遞之前的連線,繼續剛剛尚未交遞前的連 線工作。 展示層(Layer 6: Presentation Layer) ,因為一般展示層所指的就是將資料加密的過 程。所以當應用程式有使用到加密的演算法的,比如說正在瀏覽有加密的網頁,在 跨網域交遞更換網路位址的這種情況之下展示層就需要重新建立連線。 最後的應用層(Layer 7: Application Layer)完全取決於應用程式的實作方式,舉例 來說 Microsoft MSN 或是 VoIP 就必須要向個別的伺服器回報位置的改變。這樣才 能讓其他使用者根據伺服器的 IP 位址記錄找到你。 以上這些漫遊的過程都會造成時間上的延遲以及網路連線的停滯,而其中又以網路 電話以及網路視訊的中斷及延遲最讓使用者造成明顯的不便,這對使用者而言是不 想要承受的困擾。. 2.2 DHCP 相關介紹 2.2.1 DHCP 協定 DHCP(Dynamic Host Configuration Protocol)原先是定義在 RFC 2132 的機制。會 制定 DHCP 的原因是因為考量到某些使用者,並不是固定整天 24 小時都會使用到 網路資源。在這種情況下當使用者需要網路位址用來連上網際網路的時候,我們經 由 DHCP Server 給予一個目前無人使用的網路位址。使用者就可以經由這個網路 位址連結上網際網路。也就是說我們可以更有效的控管網路位址的使用,避免了造 成浪費。 使用者利用與 DHCP Server(假定網路位址為:1.1.1.1)的訊息交換達到獲得網路位 址的目的(Figure 2-4),使用者發出 DHCP Discover 的封包是以(Source: 0.0.0.0, Destination: 255.255.255.255)為此封包的網路位址內容。當同個網域的 DHCP Server 收到這廣播的封包,依據本身所控管的網路位址中挑選一個(假定為:1.1.1.2) 給送出這封包的使用者。DHCP Offer 封包網路位址內容為(Source: 1.1.1.1, Destination: 1.1.1.2),使用者根據這封包裡面的硬體位址來判定這麼 Offer 是要給 自己的。. - 8 -.
(23) 如果拿到多份 Offers 就挑選其中之一,對那個提供 Offer 的 Server 發出 Request, 這個 DHCP Request 封包網路位址內容為((Source: 0.0.0.0, Destination: 255.255.255.255)。主要是因為還沒有確認 Server 回 Ack 所以使用者不能用這個 Offer 內含的網路位址來當自己的網路位址送出封包。DHCP Server 是根據這封包 裡面的包含"option: Server Identifier = 1.1.1.1"來判定這個封包的確是使用者針 對網路位址 1.1.1.1 的 Server 所發出的要求。最後 Server 回覆的 Ack 除了"option DHCP Message Type"不同於 Offer 其餘的欄位都是一模一樣的。. Source Destination. Discover 0.0.0.0 255.255.255.255. Offer 1.1.1.1 1.1.1.2. Request 0.0.0.0 255.255.255.255. Ack 1.1.1.1 1.1.1.2. Table 2- 1 DHCP Message IP address. MN. DHCP Servers DHCP Discover DHCP Offer DHCP Offer Choice DHCP DHCP Request DHCP Ack. Figure 2- 4 DHCP message flow. DHCP 協定規範了相當多的內容,另外還有一個 options 的欄位可以放任何 DHCP Server 想提供的網路資源。比如說 options 裡面可以包含這個網域的路由器網路位 址、子網路遮罩甚至是 Mobile Agent 的網路位址。. - 9 -.
(24) 2.2.2 The IPv4 Subnet Selection Option for DHCP 在 RFC 3011: The IPv4 Subnet Selection Option for DHCP 中又替 DHCP options 多增加了一項新的 option,也就是"Subnet selection option"(SSO)。這個 option 顧名思義就是讓使用者在發出 DHCP Discover 的時候可以自己選擇想要的 Subnet。雖然訂定這個 RFC 的動機不是為了無線網路的漫遊,而是為了同時控管 多個網域的網路位址資源。我們可以利用這個新增的 option 來要求非目前正在使 用的網域下的網路位址,唯一限制是這個網域的網路位址必須也在此 DHCP Server 的控管之下。在無線網路漫遊的情況之下,我們就可以要求不是使用者目前所處的 網域的網路位址資源。Table 2-2 標示了 Subnet selection option 的欄位,Code 為 option 的代碼,Length 為後面包含內容的長度,IPv4 Address 為 32 位元的網域前 綴(subnet prefix)。. Code Length. IPv4 Address. 118. A1. 4. A2. A3. A4. Table 2- 2 Subnet Selection Option Frame. 2.2.3 Relay Agent Information Option 在 RFC 3046: Relay Agent Information Option 所增加的 option 也是針對 DHCP 的不足所補強的。在這個 RFC 中所提出的新 Option 是讓原本多個不同的網域,可 以用同一個 DHCP Server 控管所有網域的網路位址。在各個網域中只要加上 DHCP relay agent 就可以將每個網域裡使用者所廣播的 DHCP Discover 轉送給多 個網域中唯一的 DHCP Server。Relay Agent 將所在地的網域內所有的 DHCP Discover、DHCP Request 封包用 unicast 直接轉送給控管 Agent 這網域網路位址 的 DHCP Server,並且再封包中多加了一個 Relay Agent Information option 欄位 (Table 2-3)。DHCP Agent 對同網域的使用者就跟 DHCP Server 一樣提供網路位 址,使用者不會去察覺 Agent 與 Server 的不同點。. Code Length. Agent Information Field. 82. A1. 4. A2. A3. A4. Table 2- 3 Relay Agent Information Option Frame. 以下面 Figure 2-5 與 Table2-4 解釋 Server 與 Agent 如何提供網路位址,假設 DHCP Server A 控管了 1.1.1.x 以及 1.1.2.x 的網域底下的網路位址,DHCP Server C 控管 了 1.1.3.x 底下的網路位址。 - 10 -.
(25) DHCP Agent 可以設定轉送給不同的 Server,也就是說 DHCP Agent 會根據 SSO 不同網域的網路位址要求轉送給不同的 DHCP Server。. DHCP Server A 1.1.1.1 DHCP Server C 1.1.3.1. DHCP Agent B 1.1.2.1 (relay to 1.1.1.1) DHCP Agent D 1.1.3.2 (relay to 1.1.1.1 and 1.1.2.1). Figure 2- 5 DHCP Server and Relay Agent. 目前使用者所在網域 1.1.1.x 1.1.1.x 1.1.1.x 1.1.2.x. DHCP Discover 有無包含 SSO No Yes, SSO = 1.1.2.x Yes, SSO = 1.1.3.x No. 1.1.2.x. Yes, SSO = 1.1.1.x. 1.1.2.x. Yes, SSO = 1.1.3.x. 1.1.3.x 1.1.3.x. No Yes, SSO = 1.1.1.x. 1.1.3.x. Yes, SSO = 1.1.2.x. Server, Agent 相對應動作 Server A 提供網路位址 Server A 提供網路位址 沒有回應 Agent B 轉送給 Server A Server A 提供網路位址 Agent B 轉送給 Server A Server A 提供網路位址 Agent B 轉送給 Server A Server A 不會回應 Server C 提供網路位址 Agent D 轉送給 Server A Server A 提供網路位址 Agent D 轉送給 Agent B Agent B 轉送給 Server A Server A 提供網路位址. Table 2- 4 DHCP and Agent cooperation. - 11 -.
(26) 2.3 Mobile IP 相關介紹 2.3.1 Mobile IP 概念 在無線網路漫遊的環境下 Mobile IP 所支援的是能夠正確的繞送資料給正在無線網 路環境底下做漫遊的行動節點。這個技術是由 IETF(Internet Engineering Task Force)所提出來的,目前已經有多種實作版本。基本的概念是當行動節點在家網域 (Home subnet)的時候是由行動節點自己以家網路位址(Home IP)收送對外的封 包。當行動節點離開家網域,並且到達一個新的網域後,行動節點會以另一個相對 應的網路位址(CoA: care of address)向 Home Agent 做註冊。Home Agent 就會記 錄行動節點目前的位址並且代替行動節點接收所有外部網路要傳給行動節點家網 路位址的封包。然後用 IP-in-IP 的機制將這個封包原封不動的傳送給擁有新網路位 址的行動節點。 行動節點也可以將封包送回 Home Agent,要求 Home Agent 用行動節點的家網路 位址傳送封包給外部的對應節點(Correspondent node, CN)。這樣一來不管行動節 點移動到什麼地方,換了什麼新的網路位址。當其他對應節點要送封包給行動節 點,這些封包都不會掉失。. Location Directory. Home. tunnel HIPÎCO. tunnel. Co-located CoA Figure 2- 6 Mobile IP 架構. - 12 -. Foreign-Agent.
(27) 當行動節點移動到一個新的網域,行動節點可以發出 Agent Solicitation 來搜尋有 沒有 Mobility(Foreign) Agent 的存在。當有 Mobility Agent 存在的話,Mobility Agent 就會回覆 Agent Advertisement 給行動節點。行動節點也可以選擇等待,因 為 Mobility 會定期的廣播 Agent Advertisement。行動節點可以根據這個定期廣播 的 Agent Advertisement 來判斷目前的網路位址是位於 Home Network 或是 Foreign Network。 2.3.2 Co-located CoA 當行動節點離開家網路後到達新的網域可以經由原先就已設定好的新網路位址或 是利用 DHCP 的機制取得新的網路位址。將這新網路位址當作 Co-located CoA 向 Home Agent 做註冊的動作,Home Agent 就會經由 IP-in-IP tunnel 將封包準確的 傳送給擁有新網路位址的行動節點。. MN. HA. Registration Request Registration Reply. Figure 2- 7 Co-located CoA registrations. 2.3.3 Foreign-Agent CoA Figure2-8 不論行動節點移動轉移了幾個不同的網域,原先的網域是不是有 cFA(current Foreign Agent),當行動節點到達新網域後。若是新網域有 Foreign Agent,行動節點也可以利用這個 Foreign Agent 做轉送的動作。用原本的家網路 位址跟 Foreign Agent 做註冊,Foreign Agent 會自行去跟 Home Agent 做註冊的 動作。這時候就是利用 Foreign Agent 的網路位址當作行動節點的新位址回去跟 Home Agent 做註冊,也就是所謂的 Foreign-Agent CoA。. - 13 -.
(28) Figure 2- 8 Foreign-Agent CoA registrations. - 14 -.
(29) 第三章 各種快速交遞機制的設計 一般的無線漫遊所造成的延遲,是我們所不願意等待的延遲。有很多學者提出相對 應的解決方案。這些方案與架構對跨網域 Handover 所造成的延遲都有或多或少的 改善。底下的章節我們將逐步的分析探討,到底哪些延遲是可以用哪些好的方法去 改善,或是在某特定的環境下我們並不需要這些架構與解決辦法。在無線網路漫遊 中做跨網域的交遞的確有相當多必須考量的延遲,而這些延遲可以依據網路分層來 分開探討。. 3.1 基本跨網域交遞動作流程 我們首先回歸到原始的無線網路漫遊的環境,也就是沒有添加任何減少交遞延遲的 機制。一步步解釋在做跨網域交遞的時程中,作業系統與網卡是做了哪些事情。 A. Association Detection: 跨網域交遞的過程是首先發生在無線網卡對原本連結上的無線存取點,已經開始有 封包掉失的現象出現。這時候無線網卡會繼續執行工作,等到掉失的封包超過一個 額度,無線網卡就會判定已經失去連結。這在不同廠商的網卡中實作的方式也不 同,取決於硬體設計與韌體的撰寫方式。 B.. Probe: 這時候使用者會對無線網卡下 probe 的指令,以找到目前可以連結的連線。這在不 統廠商不同的 driver 下也有不同的延遲時間。 首先我們先以Figure 3-1 Probe Procedure說明整個probe的時間延遲是如何產生,當 MN決定要做probe的時候,首先要將無線網卡目前頻道的資料存起來,換上欲 Probe的新頻道的資料,也就是所謂的channel switch (CS)。接著發出probe request,等候channel A中所有AP的response。當在minimal channel time (MinT) 的期間有收到response的話就會再等到maximal channel time (MaxT) 的時間結束 才更換下個頻道的probe,會這樣設計的主要原因是因為若是MinT中有無線存取點 回應,就表示有可能還會有其他無線存取點存在這channel中,所以要等到MaxT後 才認定完成probe。. - 15 -.
(30) 在完成了 channel A 的 probe 後我們再做 CS 到 channel B,在 channel B probe 這 情況下 MinT 都沒有無線存取點回應 response,我們就認定在此 channel 內沒有無 線存取點存在,所以結束 probe 並且繼續下一個 channel C 的 probe。 其中 probe 要等待的 MinT 與 MaxT 都有可能會造成 wasted,因為等待的時間並 沒有其他的無線存取點回應。. MN CS. Probe. MinT Respons. AP1. Respons. AP2. Channel A. MaxT. Wasted CS. Probe Channel B. MinT. CS. Probe AP3 Respons. Channel C. Figure 3-1 Probe Procedure. C.. Authentication、association: 當找到訊號穩定的無線存取點,使用者就可以發出 authentication request 等待 authentication response,接著再發出 association request 並且等候 association response 的指令。. - 16 -.
(31) Probe、Authentication、Association三個動作都完成即代表完成了layer 2 handover,可參照 Figure 3-1。 D. Move Detection 做完 layer 2 的 handover,接下來使用者必須要開始驗證是不是有換網域。行動節 點會嘗試著繼續將封包送給舊網域路由器,當新無線存取點收到這個封包後,無線 存取點並不會認得不同網域路由器的 MAC 位址,所以如果新無線存取點與行動節 點原本的路由器是不同網域,這個封包就會被丟掉。 這時被丟棄的封包並不會有任何的機制讓行動節點發覺封包因為不同網域被丟棄 了,行動節點只會繼續不斷的丟出封包,而新無線存取點則不斷的把封包丟掉。 所以要做 move detection 可以用 ping 試試看能不能將封包繼續送往剛剛的路由 器,如果不行表示已經換了新網域。如果可以繼續收送,表示是同網域的交遞,整 個交遞的過程到此就算完成了。 或者利用 Mobile IP 的 FA 機制,當行動節點收到不同的 Agent Advertisement 後, 就可以依據此 Advertisement 來斷定已經跨過不同的網域。並且完成 move detection 的動作。這部份的延遲會依據網路管理自行定義的 Advertisement period 所形成。 E.. Address configuration: 由於換了新的網域,我們就必須要重新取得新網域的網路位址。 甲、可以利用 DHCP 機制,使用者發出 DHCP Discover 去搜尋這個新網域有沒有 DHCP Server。如果有 DHCP Offer 回應就按照 DHCP 的程序發出 DHCP Request,等收到 DHCP Ack 就可以讓作業系統設定行動節點的網路位址、路 由器位址等資訊。 乙、也可以利用 Mobile IP Foreign-Agent 的機制,使用者發出 Agent Solicitation, 如果有 Agent Advertisement 的回應。就可以按照 Mobile IP 的機制先發出 Registration Request,等 Registration Reply 回來就可以繼續收送封包。利用 Mobile IP Foreign-Agent 的機制不用更改系統中的網路位址與路由器位址。因 為 Foreign-Agent 會幫行動節點在這個網域收送封包,行動節點利用與 Foreign-Agent 之間的 tunnel 就可以繼續正常的收送封包。. - 17 -.
(32) F.. Transport layer session re-build 做完上面的流程,行動節點已經可以正常的接收與傳送封包。但是如果在交遞之前 已經有應用程式正在使用網路連線做工作,要考量的是在 Address configuration 所取得的新網路位址,是利用 DHCP 或是利用 Mobile IP Foreign-Agent 所得的網 路位址,交遞後的狀況分成幾種情況說明: 甲、如果是利用 Mobile IP Foreign Agent 所取得的網路位址,那可以繼續正常的 做網路連線的工作。因為 Home Agent 會幫你把封包轉到 Foreign Agent,而 Foreign Agent 會把封包送給妳。 乙、如果是利用 DHCP 機制所取得的網路位址,那就要分下面兩種情況考量。 i.. UDP 連線程式,應用程式若是使用 UDP。那應用程式並不會在乎有沒有 更換無線存取點、網路位址、路由器位址,一樣可以正常的送出封包。如 果這個應用程式之前是與另外一個網路上的相對應節點正在作連線溝通 (例如:VoIP),這麼一來得通知相對應節點要更新行動節點的新網路位 址。換句話說也就是要通知有可能送封包給行動節點的相對應節點,才能 收到其他相對應節點要送給行動節點的封包。. ii.. TCP 連線程式,應用程式如果是用 TCP。更換網路位址後,之前所有的 TCP 連線都要重建。因為 TCP 連線程式是以網路位址為標籤,更換新的 網路位址就無法與之前的連線同標籤。. G. Application re-registration 最後如果使用者有使用需要通知伺服器,行動節點所在的網路位址的應用程式(例 如 Microsoft MSN、SIP Proxy)。更換新的網路位址後就必須要重新註冊,或是更 新伺服器所記錄的行動節點網路位址。 根據上述所有的latencies,我們以下面的 Figure 3-2 表示。. - 18 -.
(33) Probe and authentication. Application registration. Association WLAN NIC Detection. Session re-establish Move Detection. 900~1600ms 150~800ms. Address Configuration. 400~6000ms. > 100 ms > 100 ms. 100~1000ms Figure 3-2 Handover latencies. 3.2 Date link layer handover scheme Data link layer 主要是行動節點與無線存取點的同步連結,當更換新的無線存取點 可以用下面的機制來減少更換無線存取點所帶來的延遲(不能傳輸資料封包到網際 網路的時間)。 3.2.1 Pre-probe 由於probe新的無線存取點會花費相當多的時間,所以大多數的論文皆提出要預先 做probe的動作。在這裡我們參照[2]的作法是將無線網卡在收送封包中間把無線網 卡切換到其他的頻道發出probe request,如果有收到probe response就等到 maximal channel time或是等到minimal channel time都還沒有AP回應就停止等 待,並且切換回原先的頻道繼續收送封包。 由於掃描是必須花費時間,並且會佔據了資料收送的機會。所以根據不同的策略可 以一次 probe 一個頻道或是一次 probe 多個指定頻道,這裡的策略都不建議一次掃 描 802.11 所制定的 11 個頻道,因為這樣會造成大量的交遞延遲。. - 19 -.
(34) 3.2.2 IAPP IEEE 802.11f標準[3],即IAPP(Inter-Access Point Protocol)協議,該標準規定了為 了實現行動節點在同一網域上多無線存取點之間的漫遊功能,無線存取點之間進行 通信和交換交遞相關資訊的協定。802.11f標準規定了由行動節點、多個無線存取 點、DS(Distribution Service)、AC以及RADIUS伺服器組成的系統來實現行動節點 在同一個ESS下不同無線存取點之間的交遞功能。當由於無線網路連結掉失時行動 節點需要交遞時,在與新無線存取點進行正常通信前,必須與新無線存取點進行 authentication和association。讓使用者在切換無線存取點時,可以讓新的AP與舊 的AP交換使用者的連線資料,以便於維持原有的連線,而不會導致連線中斷,影 響使用者無線網路傳輸。 IAPP 協議是一個應用在 IP 層之上的協議,為了保證無線存取點之間安全通信,支 援 IAPP 協議的無線存取點應當向 RADIUS 伺服器進行註冊,建立無線存取點之間 的安全通信連接。無線存取點與 RADIUS 之間的交互資訊包括無線存取點的 BSS ID 到網路位址之間的映射,RADIUS 向無線存取點發送密鑰以保證無線存取點之間的 安全通信。當行動節點需要交遞時,需向新無線存取點發出 association 或者 re-association,無線存取點應與 RADIUS 伺服器進行訊息交換,RADIUS 伺服器 會向無線存取點發送相應的密鑰。 由於每次行動節點交遞時無線存取點都需要與 RADIUS 伺服器進行消息交換,因 此發生交遞的延遲比較長。為此 802.11 委員會成立了 TGr 工作組進行 FBT(Fast BSS Transition,快速切換)的研究,目的是為了研究實現支援時延敏感業務的快速切換 技術,也就是後來的 802.11r。 3.2.3 Location-based Fast Handoff for 802.11 Networks 在[4]這方法是行動節點根據一個內存無線存取點實際地理位置與BSSID的location server,以及附近無線存取點的訊號強度大小判定出行動節點的移動方向,利用了 機率與三角函數定位法,去預測無線節點可能靠近的下一個無線存取點。. - 20 -.
(35) 3.2.4 A Seamless Handoff Scheme with new AP Module for Wireless [5]這方法讓AP擁有兩個Antenna,然後第二個Antenna永遠都在做passive probe 看附近的MN訊號傳輸的強弱。當AP2 收集了這些訊號強弱的資訊後,傳給MN目 前正連結的無線存取點。如果目前連結的無線存取點AP1 發現與MN的連線強度遠 低於AP2 所送過來的資訊。AP1 trigger 整個Handover的流程,首先AP1 會幫MN 跟AP2 做Authentication,然後AP1 trigger MN請他自己去跟AP2 做Association。 最後AP1 會把在MN與AP2 做Association期間所收到的packet buffer經由AP2 再送 給MN。這個方法主要是要避免在Link Layer底下往往要花費很長的一段時間,無 線網卡才會確切的判斷出目前的連線已經斷了。 上述的策略省去了行動節點還要在收送封包之中切換頻道去 probe。不過她們的方 法得利用兩個 antenna 的無線存取點,這樣才能做到一邊掃瞄行動節點的訊號強度 一邊收送封包。也有相對的機制提出行動節點安裝兩個 antenna 一個收送封包一個 probe,概念是一樣的。都是利用多增加另一個硬體設備支援來省去做 probe 的時 間。. 3.3 Network layer handover scheme Network layer 主要為管理網路位址的部份,我們可以用下面的各種機制說明如何 加快跨網域交遞在 Network layer 部分的速度。 3.3.1 Move detection 所謂的 move detection 就是行動節點在完成無線存取點交遞後,要檢測是否換了 新的網域。當行動節點完成了 layer 2 的交遞後,如果沒有任何的機制幫助做 move detection 將會造成相當大量的延遲。在 Linux 中作業系統不會幫你做這個 detection 的動作,一切都得要依靠使用者自行測試,也就是說使用者要自己下 command, 那這延遲就會非常長,因為使用者下 command 的速度是以秒計的。 在Move detection的部份,[5]同時也提出其中一種作法,是將無線存取點的網域資 訊放在Probe Response中。這麼一來只要收到Probe Response後,行動節點就可以 知道這個無線存取點的網域是什麼。只要將這個無線存取點的網域跟行動節點目前 的網域做比對,就知道需不需要繼續做跨網域交遞的動作。也就是說layer 3 的move detection在layer 2 就可以預先解決。但是這個前提是廠商提供的無線存取點要支 援將網域資訊放入Probe Response,並不是一般網路管理者可以自行達到的功能。. - 21 -.
(36) 另一種作法是用一個location association server[6],記錄每一個無線存取點的網路 卡硬體位址(Media Access Control address, Mac)與無線存取點的網域資訊對應。 因為一般佈建無線存取點後是不會輕易移動的,這種情況下就可以毫無問題的利用 location association server的資訊來做到move detection。當行動節點決定要換新 無線存取點之前,先利用原本的網路連線與location association server溝通以取得 新無線存取點的網域資訊,就可以知道是否有跨網域。這個方法的限制是在於無線 節點必須知道這個所謂的location association server的網路位址,才能跟這server 要無線節點自己所需的資訊。 3.3.2 DHCP address pre-configuration scheme and handover 當行動節點跨網域的 handover 發生時,可以利用目前最大多數網域都有支援的 DHCP server 來取得新的網路位址。要加快這個 address configuration 的步驟, 唯一的辦法是要先去跟 DHCP server 要的下個網域的網路位址。因為 DHCP Discover 與 DHCP Offer 兩個訊息中 DHCP server 會等段時間才發 Offer 出來, 其中有個原因就是可以避免 DoS 的攻擊。如果我們直接就跨網域交遞到新的網域 才發出 DHCP Discover,要等候一段不算短的時間才能完成整個 address configuration 的動作,詳細的時間測量會在下一章提出。 在前面背景介紹 DHCP 機制時有提到,DHCP Relay Agent 與 Subnet Selection Option。我們可以利用這兩個有趣的東西做到跨網域交遞前的 pre-address configuration。但是前提有兩個,第一是已經有無線存取點 Mac 與其所在網域的 對應資訊,第二是網路管理者必須架設 DHCP Relay Agent,且 Relay Agent 知道 去哪找相對應網域的 DHCP server。 無線節點就在尚未做 layer 2 交遞動作之前,先在自己的網域下發出 DHCP Discover。不論是用目前的網路位址送 unicast 給 DHCP Relay Agent,或是直接 用 0.0.0.0 當 source 網路位址發出 255.255.255.255 的廣播封包,DHCP Relay Agent 都會收起來。 當 DHCP Relay Agent 發現這個 DHCP Discover 所要求的 SSO(Subnet Selection Option)是其他網域,DHCP Relay Agent 就會負責將這個 DHCP Discover 轉到管 理無線節點所要求之網域的 DHCP server。Relay Agent 轉送給 DHCP server 是利 用 unicast 直接送給另一網域的 DHCP server,而 DHCP server 也是利用 unicast 直接回報給 DHCP Relay Agent。. - 22 -.
(37) 當 DHCP Relay Agent 送回 DHCP Offer 給行動節點,行動節點就可以根據這個 Offer 去發出 DHCP Request,等收到 DHCP Ack 就完成了 address pre-configuration。 3.3.3 Mobile IP Foreign-Agent address configuration scheme and handover 當行動節點跨網域的handover發生時,也可以利用Mobile IP Foreign-Agent address來取得對外新的網路位址(系統的網路位址並沒有改變)。利用[6]中所提的 Foreign-Agent做address configuration,一樣是利用location association server獲 得相對應網域的Mobile Agent網路位址。在已知Mobile Agent網路位址的情況下, 可以先發Proxy Agent Solicitation給cFA(current Foreign Agent),cFA會轉送給 nFA(next Foreign Agent),nFA會回傳Proxy Agent Advertisement給cFA,這樣行 動節點就可以先獲得Proxy Agent Advertisement。或者也可以在location association server就存有Proxy Agent Advertisement這些資訊,這樣甚至連 Solicitation都不用發了。 當行動節點一決定要做跨網域交遞,可以一邊發出 Pre-RegistrationRequest 給 nFA。這個 Pre-Registration Request 是由 cFA 接收後轉送給 nFA,nFA 再依照一 般 Mobile IP 註冊的機制回去跟 HA 註冊。等 HA 的 Registration Reply 回傳給 nFA 就算完成了 address pre-configuration。 3.3.4 Data Delivery 3.3.4.1 Mobile IP tunnel. 利用 Mobile IP tunnel 的機制,可以達到 transport layer handover 完全不用重建 的效果。但是這還是有個限制,也就是當行動節點在網路中漫遊就得都用 FA-CoA。因為如果用 co-CoA 的機制,行動節點對外的連線就不會用 Home IP, 而是直接用 co-CoA 與對應節點建立連線,如此一來當行動節點再次的跨網域交遞 後,且更換新的 co-CoA 後而使得原先的 TCP 連線就會中斷。. - 23 -.
(38) 3.3.4.2 Bicasting. 在 Mobile IP 中有提及 bicasting 的機制,這個機制主要的方法就是在行動節點決定 要跨網域交遞時,回去跟 HA 註冊的 Pre-RegistrationRequest 裡面有一欄位用來 通知 HA 將接下來收到要給行動節點的封包,複製一份同時傳送到行動節點目前的 網路位址跟下個預期的網路位址。這樣可以讓連線的 session 在完成 layer2 及 layer 3 handover 且做完 ARP(address resolution protocol)後,馬上可以收到封包。也 就是說 Transport layer session re-build 的部份延遲時間為 0ms,不用付出額外的 latency。 3.3.4.3 Agent Forwarding. Agent Forward的概念是出自[7],行動節點作Bicasting的缺點是由於無法跟HA同 步化。只能靠註冊訊息的來回告知Bicasting的時間,也就是說當HA收到Bicasting 的要求後,發Registration Reply給行動節點後,馬上朝Bicasting所要求的兩個網路 位址轉送相同的封包。等行動節點收到Registration Reply後,才能開始Layer 2 與 Layer 3 的跨網域交遞。當HA的網路位址離行動節點目前的網路位址好幾個路由器 的話,這個從HA到行動節點的round trip time有可能很長,這麼一來就浪費了 Registration Reply傳回給行動節點這段時間中HA送給新網路位址的資料封包。 改用 Agent Forwarding 的話,是請行動節點同網域中的 Agent 幫行動節點接收 HA 送過來要給行動節點的封包,再轉送到行動節點新的網路位址。由於行動節點 跟這個 Agent 是同個網域底下,所以這個 Forwarding Request 與 Forwarding Reply 可以很快的送達目的地。當行動節點收到 Forwarding Reply 後開始做 Layer 2 與 Layer 3 的跨網域交遞,這時候 Agent 已經幫我們送資料封包到行動節點的新 網域,在行動節點作完跨網域交遞以及 ARP 後馬上可以收到這些資料封包。行動 節點在完成跨網域交遞後可以再回去跟 HA 做 location update 的動作,請 HA 將 之後的封包送給行動節點新的網路位址。等行動節點收到 location update 的 Reply,再發 Forwarding ending 給舊網域的 Agent。這樣就可以做到與 Bicasting 相同的功能,因為做 bicasting 時行動節點與 HA 的 round trip time 會影響 HA bicasting 要做多久,萬一 HA 到行動節點中間 round trip time 很長(可能 200ms 以上)的話就造成大量浪費網路頻寬。. - 24 -.
(39) 3.3.5 Mechanisms and hierarchical topology for fast handover in wireless IP networks. Figure 3-3 Architecture for a hierarchical wireless network. [8]此方法運用階層化網路(Hierarchical topology)將網路分為網域(Domain),次網 域(sub-domain),交界路由器(Cross-router)和基地台(AP)四層(Figure 3-3)。當MN 進入到domain後,會得到一個IP,MN在此domain內都使用這IP。當MN在基地台 層移動時,舊的AP會將封包重傳至新的AP,再轉到MN。若是在sub-domain移動, 封包在網域層會被multicast到所有sub-domain層路由器,再轉到新的基地台。此法 中由於IP不須改變所以省去了註冊程序,但是封包經過大量的multicast傳送,會增 加相當可觀的額外網路流量。 3.3.6 Mobile SCTP [9]中提出一個解決延遲的方案,可利用Stream Control Transmission Protocol[10] 以及ADDIP extensions[11]支援節點的移動。當使用SCTP ADDIP extensions,行 動節點可以要求對應節點增加一個行動節點所指定的新網路位址、改變主要的網路 位址、或者刪除以後不會再用到的網路位址。. - 25 -.
(40) 同時在行動節點用兩個硬體無線網路卡,一個無線網路卡可以設定一個網路位址, 第二張無線網卡先作完 layer 2, layer 3 的 handover。這個架構可以做到非常快速 的 handover,因為整個 handover 流程只要更改路由表,告知行動節點的系統往外 送的封包一律改由第二張無線網卡出去。. 3.4 Application layer handover scheme Application layer 的程式開發之時如果可以注意到 handover 所造成的影響,將行 動節點跨網域交遞後 application layer 的程式可以用不同的 scheme 來加速 application 部分恢復到尚未跨網域交遞前的狀態,用以減少跨網域交遞的時間,相 信會對整個跨網域交遞有更多正面的幫助。 下面 3.4.1 我們說明 Kphone 在跨網域交遞後更換網路位址如何減少重新恢復通話 的延遲。 3.4.1 VoIP software: Kphone 一般的 VoIP software 都是用 RTP(Real-Time Transport Protocol),做聲音封包的 傳輸。而 RTP 是傳承自 UDP 資料傳輸的運作模式。當行動節點因為跨網域交地後 更換網路位址,並不會影響行動節點傳送聲音封包給對應節點。對應節點由於是根 據本身的 Port 在收封包,所以對應節點端的 VoIP 應用程式依舊可以順利的收到行 動節點更換網路位址後所送抵的聲音封包。 但在行動節點跨網域交遞且更換了網路位址之後,對應節點就只會不斷的傳送聲音 封包給行動節點舊的網路位址。要傳送重建 session 的訊息(如 SIP 內用 RE-INVITE) 來告知對應節點說行動節點的網路位址已更改,需要重新建立對話 session。這個 需要額外花上重建 session 的訊息傳遞延遲時間。 在 Kphone 的軟體實作中,利用了另一種聰明的方法。Kphone 使用了 RTP 裡面的 SSRC 欄位,SSRC 是一個 32 位元的隨機數字,主要是用來確認 RTP session 的唯 一性。對應節點依據 socket 函數裡面所回傳的來源網路位址,針對每個封包都做確 認行動節點網路位址的動作。再利用 SSRC 這個欄位,來確認行動節點的身分。行 動節點更換網路位址後所送給對應節點的聲音封包裡的 SSRC 並不會改變,但是網 路位址卻會不同,對應節點就將行動節點新的網路位址當作目標位址,而不是用一 開始建立 session 所記錄的行動節點網路位址。. - 26 -.
(41) 在 Kphone 這種動作下,能夠讓重建 session 訊息所花的傳輸延遲時間消失。等於 是在行動節點跨網域交遞後所傳給對應節點的第一個封包不單是聲音封包,也包含 了更改行動節點先前建立 session 時所用的網路位址,這麼一來行動節點與對應節 點馬上可以收到彼此的聲音封包。不需要發重建 session 的訊息,也就減少了 Application 在跨網域交遞底下的延遲。. 3.5 Cross layer handover scheme Cross layer 主要是溝通上下層之間的交遞進度,當下層完成交遞可以馬上通知上層的交 遞機制馬上開始動作的話,我們就可以省去大量的交遞延遲時間。 3.5.1 Mobile IP 利用 Mobile IP 做跨網域交遞的過程,由於 Mobile IP 包括了 layer 3 的 address configuration 交遞以及 Mobile IP tunnel,使得 transport layer 的 TCP session 連 線不需要重新建立,所以 Mobile IP 的機制也屬於 cross layer 的部份。在第四章的 測量中我們會將 Mobile IP 各部份的延遲測量放在各自對應的 layer 中。 3.5.2 Layer 2 trigger 這機制是利用 layer 3 與 application layer 註冊 layer 2 handover 完成事件通知的 要求,利用 layer 2 trigger,當 layer 2 handover 做完後就送出訊息以通知 Layer 3 或是 Application Layer。這麼一來當 layer 2 handover 發生的時候,Layer 3 與 Application Layer 就可以獲知這個訊息,並且馬上開始 handover 的動作。 否則 layer 3 與 Application layer 只能在發現無法正常的收送封包後,再去檢查目 前的網路連線狀態並且開始做相對應的 handover 動作。在跨網域交遞中若是有了 layer 2 trigger 後可以省卻相當多的交遞延遲。. - 27 -.
(42)
(43) 第四章 交遞機制延遲的測量結果 4.1 Experiment environment A. 本篇論文所選用的作業系統是 Linux Fedora Core 5,kernel 2.6.16。無線網路 卡用的是 Z-com 公司所出的 XI-325,這張無線網路卡所使用的晶片是 Prism 2。無線存取點用的是 Z-com 公司出的 X-1000。 B. 整個環境的網路是建置於國立交通大學資訊工程系所佈建的網路環境,包括了 140.113.17.0/24、140.113.24.0/24、140.113.215.0/24、140.113.216.0/24 這幾 個網域。 C.. 至於地理環境則是在國立交通大學工程三館六樓的實驗室 638 與六樓的走廊, 以及交大圖書館五樓。. 4.1.1 Measure tools 4.1.1.1 gettimeofday. 這是 C 語言的函式:gettimeofday(struct timeval *tv, struct timezone *tz),這個函 式可以精準到 micro seconds 的精確度。而且 gettimeofday 這個函式本身的呼叫執 行延遲,在我們的測量下得出低於 1ms 的延遲。 我們在程式中將欲測量的程式區間夾在 gettimeofday(tv1, NULL)與 gettimeofday(tv2, NULL)中間,再將 tv2-tv1,就可以得到這些程式中所指定的動 作花了多少時間。 4.1.1.2 Ethereal. 這是 Linux 上所發展的一個 network protocol analyzer,可以讓我們監控無線網路 中的訊息,這個 analyzer 會提供每一個訊息被 analyzer 所擷取的時間點,這個時 間可以精確到 micro seconds 的精確度。 在測量時將無線網卡設定為 monitor mode 並且指定 channel 後,我們可以得到所 有在這個 channel 中所傳送的訊息。不管是 layer 2 的 probe、authentication、 association message 或是其他在無線網路環境中傳送的所有封包(ICMP、TCP、 UDP、DHCP Discover…etc),都可以藉由 ethereal 擷取到訊息內容以及訊息所發 送的時間點。. - 29 -.
(44) 4.1.2 Linux Fedora Core 5, kernel Linux-2.6.16 constraint 在這個系統裡面實地測試時我們發現在切換過 IP 以及 router 之後會有一段一秒鐘 的時間點發不出任何的封包,造成這段時間內無法做 ARP 的動作。這麼一來新 router 會不知道 MN 的 MAC,也就造成了新 router 不會發出任何送給 MN 新 IP 的封包。這種情況下就算我們有預先做 IP pre-configuration 跟 location update 通 知 home agent,home agent 所送給新 IP 的封包也會因為 router 不知道 MN 的 MAC 而丟棄。 這一秒鐘經過我們仔細的研究 Linux 的 TCP/IP protocol stack、ARP 的機制以及 整個無線網卡更換 IP 的流程後發現問題其實是發生在管理網路卡的機制上面。在 這個作業系統內部將網路卡的更換 IP 的動作視為網路卡中斷後再啟用。 而在管理網路卡的程式碼中 (/usr/src/kernels/linux-2.6.16/net/core/link_watch.c)有提及為了避免撰寫錯誤 的 driver 不斷的將網路卡 carry on、carry off 而造成 message storm,特別將網路 卡中斷再啟動的動作限制在一秒鐘最多一次。也就是說將網路卡的 interface queue 在切換 IP 的一秒鐘內會被 Lock 住,不准任何程式將封包送進 interface queue (無 論是自己 kernel 要詢問 router MAC 所發出的 ARP request 封包,或是接收外部 router 要詢問 MN MAC 的 ARP request)。 對於這個系統實做上所引起的 Latency,必須是要考量的重點。因為就算所提出的 理論多麼完美,多麼快速的做完 handover。一但要實際的應用在這個最新版的 Linux kernel 中,省下的時間也因為還要再多等一秒而變成沒有效果,這一秒會造 成使用者很明顯的感覺有延遲的情況。 我們將 kernel 中這管理網路卡的機制重新編寫為利用 counter 變數去限制一秒內最 多切換十次 IP,超過十次的切換才將 interface queue 鎖起來。這麼做的設計考量 是在於如果我們將這 Lock 的 1 秒鐘改成 100ms,那這樣還是會造成整個網路停滯 100ms 的延遲。而依據我們的設計方法當 MN 切換完 IP 馬上可以發出 ARP 封包 去詢問 router 的 MAC,亦馬上可以收到 router 詢問的 ARP request。. 4.2 Data link layer handover latencies 4.2.1 Original Wireless LAN handover latencies 在目前的 Data link layer handover 所花費的時間主要有三個部份: - 30 -.
(45) A. 第一就是察覺行動節點與無線存取器之間的連線已經不敷使用,這部份的時間 根據[12]可以得到不同的網卡所花費的Detection時間也會不同。但是最快也要 902ms網卡才能判定已經失去連結 (Table 4-1 Handover time of different WLAN cards)。 B.. 第二個部份就是無線網路卡開始做掃描的動作,Table 4-1 Handover time of different WLAN cards所測量的時間應該只是特定頻道,而不是全部的 11 個 頻道。因為根據 802.11 所制定的標準在每個頻道最少需要等待minimal channel time,但 11*(minimal channel time)再加上無線網路卡需要執行 channel switch,掃描全部頻道的延遲是會大於 288ms的。 在我們自己的 probe 測量中,本篇論文是採用姜宜榮同學論文中所提供的 API。這個 API 是依據 prism 2 的 host AP 韌體所改寫的,API 所提供的功能 就是讓程式撰寫者可以在呼叫 API 後得到指定 channel 中的 probe 結果,詳細 的內容可以參照本實驗室姜宜榮同學的論文。在我們的測量裡面利用將宜榮同 學所提供的 API,並且將此 API 前後夾上 gettimeofday 的函式,可以得到掃 描一個頻道需要花費 65ms,如果一次掃描 11 個頻道至少需要 700ms。. C.. 第三個部份也就是做authentication與association的時間。在Table 4-1 Handover time of different WLAN cards的execution中作者有提及他們只有 計算association的時間,並沒有加入authentication的時間。. Table 4-1 Handover time of different WLAN cards. 在我們的測量中這裡利用了 Linux ethereal 來測量這兩個部份的時間。首先將 無線網路卡 A 設定為 monitor mode,再設定無線網路卡 A 想要監控的頻道。 這時候就可以監聽同一頻道下無線網路卡 B 所發出的 authentication Request 與 association Request,亦可以收到無線存取點所回應之 authentication Response 與 association Response。在 ethereal 這套軟體中有提供記錄每個 message 的時間點欄位,我們就依據這個時間欄位判斷延遲時間。. - 31 -.
(46) 在我們的測量中如果authentication使用WEP key,那麼更換無線存取點所花 費的時間根據ethereal所擷取的訊息是需要平均 70ms。這個時間包含了z-com 這家公司所開發的無線網路卡 (prism2 晶片) firmware所花費的reset的延 遲,當無線網路卡更換不同ESSID的無線存取點,就必須將firmware中的static configuration重新填寫,也就是說firmware要停止在啟動。這個reset的時間大 約需要 50ms,也就造成了比較長的layer 2 交遞延遲。另外不同品牌的無線存 取點也會有相當大的延遲差異,如 Table 4- 2。最後整個layer 2 的交遞延遲時 間可參考 Figure 4 - 1 time of layer 2 handover。. AP vendor. 3comEuro. D-Link. Z-Com. Authentication. 1 ms. 1 ms. 33 ms. Association. 1 ms. 1 ms. 61 ms. Table 4- 2 time of AP handover. MN. Neighbor AP Probe Request. Probe AP 65ms~710ms. Probe Response. Probe Response. Deauthentication. current AP. NEW AP 20ms~150ms. Authentication. Association. Figure 4 - 1 time of layer 2 handover. - 32 -.
數據
Outline
相關文件
Transfer the P-CSCF address with the PDP Context Activation signaling to the UE. GGSN acts as a DHCP Relay Agent 1.Create PDP context bearer ( TS 23.060) 2.UE requests a
倒傳遞神經網路的演算法使 SPOT 假色影像轉換到 SPOT 自然色影 像。影像的結果。(3)以不同天的 SPOT 假色影像進行網路回想,產 生
Wi-Fi 定位即利用無線網路來傳遞信號,根據各種網路參數和算法可以找出使用
本研究以 2.4 小節中之時程延遲分析技術相關研究成果為基礎,針對 Global Impact Technique、Net Impact Technique、As-Planned Expanded Technique、Collapsed
日本檢證法計算值為 t start =(2√A floor /15)+3,其考量起火居室 以外部份之情報傳遞上於樓層計算部分另要加上 3 分鐘之延遲餘裕 時間(非就寢用途之建築物)。9 樓與
(2) Windows 7 Client 如要重新向 DHCP Server 取得一組新 IP,要執行下列哪一指令?①ipconfig /all②ipconfig /renew.. ③ipconfig
隨機挑選模擬環境中先隨機選出某些根節點,此節點將當作根節點(Blueroot)建 立樹狀網路,利用此 Blueroot 建立樹狀網路,將 Blueroot 指定為 Master
傳統 CBT 通訊協定[11]中說明當網路上一節點要加入一群播群組 時,會根據自己的路由表(routing table)往核心(Core)節點方向送出