標題: | 異質網路漫遊系統整合平台之設計與實作 Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems |
作者: | 范榮軒 Jung-Hsuan Fan 曾建超 Chien-Chao Tseng 資訊科學與工程研究所 |
關鍵字: | 異質網路;行動網際網路;雙網整合;無縫漫遊;無縫交遞;無線區域網路;整合封包無線電服務;Heterogeneous Network;Mobile IP;Dual Network Integration;Seamless Roaming;Seamless Handoff;WLAN;GPRS;Windows;Layer-2 Trigger |
公開日期: | 2004 |
摘要: | 隨著行動運算技術的普及化,現今市面上多數的可攜式裝置如筆記型電腦、平板電腦、個人數位助理或是智慧型手機等可能皆已具備存取網際網路的能力。 不僅如此,這些裝置通常擁有不止一種的網路介面,包括有線的區域網路、無線的區域網路、GPRS,甚至是PHS或是3G。 然而我們發現到在硬體逐漸成熟的同時,卻缺乏一套可以整合這些異質性網路的軟體讓使用者能根據目前所在的位置選用適當的網路媒體並且維持切換時原有的連線。
在本論文中,我們便設計與實作此異質網路漫遊系統整合平台於裝有微軟視窗作業系統Windows XP的可攜式裝置上。 此平台提供的功能有收集網路卡的狀態資訊、自動選擇最適當的網路卡、由選定網路卡繞送/擷取往返的封包以及維持行動裝置原有的連線。 由於網路介面在選擇上必須考量其連線狀態、網路頻寬、計費標準與使用者偏好等複雜的因素,因此本論文僅專注於網路卡管理與路由等方面的技術探討。 為了驗證我們的方法,我們也實作了一個運作於用戶模式下以優先權為考量的切換抉擇演算法軟體模組來為行動裝置自動選擇一張適當的網路卡。
首先,為了選擇一張適當的網路卡,切換抉擇模組必須取得網路卡的相關狀態。 這些狀態是由連結狀態、訊號強度等的鏈結層資訊與諸如DHCP位址、DHCP閘道、路由表與ARP快取表等的網路層資訊所共同組成。 其中切換抉擇模組藉由呼叫IPHLPAPI函式庫來存取網路層資訊。 但是由網路卡所提供的鏈結層資訊則僅提供給NDIS驅動程式來使用。 因此我們便實作了稱為NdisProt的核心驅動程式來收集鏈結層資訊並提供給用戶模式下之應用程式存取的介面。 除此之外,為了加速切換,我們在NdisProt中也加入了layer-2 trigger並且利用IPHLPAPI函式庫來攔截DHCP事件以減低切換抉擇模組偵測網路卡狀態改變的等待時間。
其次,我們實作了Mobile IP來支援行動裝置切換網路卡時的原有連線維持。 在這部分我們所採用的是配置轉交位址模式,如此一來我們便可以視每個網路僅為一個用來存取的網路而不需要網路服務提供者的任何支援。 然而,在配置轉交位址模式下,Mobile IP軟體必須將應用程式所送出的封包在到達指定的網路卡前做封裝的動作,反之它也要將網路卡所收到的封包在傳遞給應用程式前做拆裝的動作。 因此,為了從Windows的NDIS架構中攔截不管是由應用程式所送出或是自網路卡所收到的封包做後續的封裝或拆裝,我們設計了兩個核心驅動程式NdisFlt與IpFlt於此平台中。 此外,由於Windows XP在SP2之後便不再提供raw socket給Mobile IP軟體來傳送已封裝/拆裝的封包,Mobile IP軟體便必須自行做乙太網路訊框的封裝後將該訊框直接送往指定網路卡的迷你連接埠驅動程式。
再者,Mobile IP需要將家位址固定地設定在行動裝置的其中一張網路卡上,而該網路卡在當行動裝置移動時也需要動態地透過DHCP取得配置轉交位址。 所以整合平台運用了IP Alias的技巧將家位址與轉交位址同時地設定在一張網路卡上。 不過,在Windows NDIS架構中的Media Sense功能在網路卡失效時會通知TCP/IP協定驅動程式。 一旦TCP/IP協定驅動程式收到該訊息,它便會移除該失效網路卡上相關的IP位址設定。 因此為了永遠保持家位址的存在,整合平台插入了一隻中間層驅動程式來避免TCP/IP協定驅動程式得知設有家位址之網路卡的連結狀態。
最後,整合平台也實作了IETF所提出的UDP承載IP封裝標準讓行動端漫遊於私有網域內。 然而有鑑於UDP承載IP封裝帶來過多的標頭封裝與封包分割,我們提出了一個新穎的Mobile IP穿越網路位址轉譯器機制。由效能評估的結果可發現我們的方法將優於原有IETF所提出的。 As wireless networks and mobile terminal technologies advance, most mobile devices, such as notebooks, tablet PCs, PDAs, or smart phones, may have more than one network interface, including wired LAN, wireless LAN, GPRS, PHS, and even 3G, and can access Internet with any appropriate interface. However, although the hardware of the mobile devices gradually becomes more and more mature, there is still lack of software that can manage these heterogeneous network interfaces and help users adopt the most suitable media to retain the ongoing sessions when mobile devices change the points of network attachment. In this thesis, we present the design and implementation of a software platform for integrating multiple heterogeneous network interfaces on a mobile device of Microsoft Windows XP. The integration platform provides the functionalities of gathering the statuses of network interfaces, automatically selecting the most appropriate interface, routing/intercepting packets to/from a designated interface and retaining the ongoing sessions for the mobile device. Because interface selection is a complex decision depending on the connectivity, bandwidths and tariffs of the interfaces, and/or sometimes the user preferences, this thesis focuses only on the techniques issues of interface management and routings. For the demonstration purpose, we also implement a priority-based handoff decision software module, which operates in the user space, to select an appropriate interface automatically for the mobile device. First, in order to select an appropriate interface, the handoff decision module needs to obtain the statuses of the network interfaces. The network statuses consists of layer-2 information, such as link status and signal strength, and layer-3 information, such as DHCP address, DHCP gateway, routing table, and ARP cache. The layer-3 information can be accessed by the handoff decision module by calling the IPHLPAPI library. However the layer-2 information provided by network interfaces can only be accessed by the NDIS drivers. Therefore we implement an NdisProt kernel driver to collect layer-2 information and provide interfaces for the user level program to acquire the layer-2 information. Furthermore, in order to speedup the handoff process, we also implement layer-2 triggers in NdisProt and hook layer-3 DHCP events with the IPHLPAPI library to reduce the waiting time for the handoff decision module to detect the changes in interface statuses. Second, we also implement Mobile IP to support session continuity when a mobile device switches from one network interface to another. We adopt the co-located care-of address (Co-CoA) mode of Mobile IP so that our system can treat each network simply as an access network and does not need any supports from the network providers. However, in Co-CoA mode, the mobile IP software needs to encapsulate packets sent by user programs before routing the packets to a designated interface, and decapsulate packets received from an interface before sending the packets to user programs. Therefore, in order to intercept packets, either sent by a user level program or received from a network interface, from Windows NDIS framework for further encapsulation and decapsulation, we also develop two kernel drivers NdisFlt and IpFlt in the platform. Moreover, because Windows XP after the Service Pack 2 does not provide raw socket for the mobile IP software anymore to send the encapsulated/decapsulated packets, the mobile IP software also needs to perform Ethernet frame encapsulation itself and send the frame directly to the miniport driver of the designated interface. Furthermore, mobile IP needs to bind the home IP address statically to one of the mobile device’s interfaces that may acquire Co-CoAs dynamically as the mobile device moves. Therefore the integration platform applies IP alias technique and binds the home IP address and a Care-of Address simultaneously with an interface card of the mobile device. However the Media Sense function of Windows NDIS will notify the TCP/IP protocol driver when an interface becomes inactive. Upon receiving the notification, the TCP/IP protocol driver will remove the IP address configuration of the inactive interface. In order to retain the home IP permanently, the integration platform also inserts an intermediate driver to prevent TCP/IP protocol driver from knowing the link status of the interface bound with the home IP address. Finally, the integration platform also implements the IETF IP-in-UDP tunnel standard for the mobile nodes to roam under private networks. Nevertheless, because IP-in-UDP tunnel introduces too much header encapsulation and IP fragmentation overhead, we also propose a novel NAT traversal mechanism for mobile IP. The performance results show that our NAT traversal mechanism outperforms the IETF one. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#GT009117519 http://hdl.handle.net/11536/49591 |
Appears in Collections: | Thesis |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.