Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems

碩士 === 國立交通大學 === 資訊工程系所 === 93 === 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 w...

Full description

Bibliographic Details
Main Authors: Jung-Hsuan Fan, 范榮軒
Other Authors: Chien-Chao Tseng
Format: Others
Language:zh-TW
Published: 2005
Online Access:http://ndltd.ncl.edu.tw/handle/88849542452557838341
id ndltd-TW-093NCTU5392039
record_format oai_dc
collection NDLTD
language zh-TW
format Others
sources NDLTD
description 碩士 === 國立交通大學 === 資訊工程系所 === 93 === 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.
author2 Chien-Chao Tseng
author_facet Chien-Chao Tseng
Jung-Hsuan Fan
范榮軒
author Jung-Hsuan Fan
范榮軒
spellingShingle Jung-Hsuan Fan
范榮軒
Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems
author_sort Jung-Hsuan Fan
title Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems
title_short Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems
title_full Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems
title_fullStr Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems
title_full_unstemmed Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems
title_sort design and implementation of an integration platform for heterogeneous network roaming systems
publishDate 2005
url http://ndltd.ncl.edu.tw/handle/88849542452557838341
work_keys_str_mv AT junghsuanfan designandimplementationofanintegrationplatformforheterogeneousnetworkroamingsystems
AT fànróngxuān designandimplementationofanintegrationplatformforheterogeneousnetworkroamingsystems
AT junghsuanfan yìzhìwǎnglùmànyóuxìtǒngzhěnghépíngtáizhīshèjìyǔshízuò
AT fànróngxuān yìzhìwǎnglùmànyóuxìtǒngzhěnghépíngtáizhīshèjìyǔshízuò
_version_ 1718294331239956480
spelling ndltd-TW-093NCTU53920392016-06-06T04:10:40Z http://ndltd.ncl.edu.tw/handle/88849542452557838341 Design and Implementation of an Integration Platform for Heterogeneous Network Roaming Systems 異質網路漫遊系統整合平台之設計與實作 Jung-Hsuan Fan 范榮軒 碩士 國立交通大學 資訊工程系所 93 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. Chien-Chao Tseng 曾建超 2005 學位論文 ; thesis 126 zh-TW