US20150146746A1 - Method of Providing Mobility Support to Internet Protocol Version 6 (IPv6) using Filtering Technology - Google Patents

Method of Providing Mobility Support to Internet Protocol Version 6 (IPv6) using Filtering Technology Download PDF

Info

Publication number
US20150146746A1
US20150146746A1 US14/201,947 US201414201947A US2015146746A1 US 20150146746 A1 US20150146746 A1 US 20150146746A1 US 201414201947 A US201414201947 A US 201414201947A US 2015146746 A1 US2015146746 A1 US 2015146746A1
Authority
US
United States
Prior art keywords
packets
mobile node
filter layer
ipv6
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/201,947
Inventor
Chak Fong CHEANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Macau Univ of Science and Technology
Original Assignee
Macau Univ of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Macau Univ of Science and Technology filed Critical Macau Univ of Science and Technology
Assigned to MACAU UNIVERSITY OF SCIENCE AND TECHNOLOGY reassignment MACAU UNIVERSITY OF SCIENCE AND TECHNOLOGY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHEANG, CHAK FONG
Publication of US20150146746A1 publication Critical patent/US20150146746A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • H04W8/085Mobility data transfer involving hierarchical organized mobility servers, e.g. hierarchical mobile IP [HMIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • H04W80/045Network layer protocols, e.g. mobile IP [Internet Protocol] involving different protocol versions, e.g. MIPv4 and MIPv6

Definitions

  • This invention relates to a method of providing mobility support to Internet Protocol version 6 (IPv6), and in particular a method of providing mobility support to IPv6 using filtering technology.
  • IPv6 Internet Protocol version 6
  • IPv6 Internet Protocol version 6
  • MIPv6 Mobile Internet Protocol version 6 introduces the necessary mechanisms required for providing mobility support to IPv6, and thus allows a node to be mobile in an IPv6 network and can maintain the existing connections uninterrupted.
  • the first mechanism is delivery reachability which guarantees a node is always reachable regardless of the change of its location.
  • the second mechanism is transport layer transparency which guarantees a node's existing transport layer connections are survivable regardless of the change of its address.
  • the objective of the present invention is to propose an alternate method of providing mobility support to IPv6, without the need to understand and modify the existing source codes of IPv6.
  • it is related to a method of providing the MIPv6-compatible mobility support to IPv6 using filtering technology.
  • the present invention in one aspect, is a method of combining the MIPv6 mechanisms to the existing non-mobility-capable IPv6 module of the TCP/IP stack so as to provide mobility support to IPv6.
  • the method comprises the steps of (1) providing a filter layer between the internet layer and the network access layer in the TCP/IP stack, wherein the filter layer is below the internet layer and above the network access layer; and (2) modifying the IPv6 packets (simply referring to “packets”) by using the filter layer, wherein the filter layer modifies both the formats and the contents of the sending and the receiving packets.
  • the internet layer is encoded with a non-mobility-capable IPv6 module and the filter layer is encoded with a filtering protocol module supporting the MIPv6 mechanisms.
  • the step of modifying the packets using the filter layer further comprises the steps of detecting the movement of a mobile node by the filter layer, and updating said movement of the mobile node to the home agent and the correspondent nodes by the filter layer.
  • the step of detecting the movement of the mobile node further comprises a step of hiding the movement of the mobile node from the non-mobility-capable IPv6 module of the internet layer by replacing the prefix in the receiving packets before passing the receiving packets to the upper internet layer.
  • the step of updating the movement of the mobile node to the home agent and the correspondent nodes further comprises the steps of (1) sending a binding update from the filter layer of the mobile node to the home agent and the correspondent nodes, wherein the binding update comprises a first address at home subnet of the mobile node and a second address at current foreign subnet of the mobile node; and (2) replying a binding acknowledgement from the filter layer of one of the correspondent nodes to the mobile node, when the correspondent node receives a binding update from the mobile node.
  • the step of modifying the packets further comprises the steps of adding the extension headers and replacing the IP addresses to the sending packets; and deleting the extension headers and restoring the IP addresses from the receiving packets.
  • the step of modifying the packets further comprises the steps of tunneling the sending packets to the correspondent node via the home agent; and restoring the receiving tunneled packets by the filter layer.
  • the advantages of the present invention is that it provides an efficient and flexible method of providing MIPv6-compatible mobility support based on the existing non-mobility-capable IPv6 module and eliminates the difficulty of programming in modifying the original source codes of the IPv6 module in the TCP/IP stack.
  • FIG. 1 a illustrates the scheme of protocol design according to the conventional method.
  • FIG. 1 b illustrates the scheme of protocol design according to an embodiment of the present invention.
  • FIG. 2 a illustrates the step of detecting movement in the filter layer when the node is at home link according to an embodiment of the present invention
  • FIG. 2 b illustrates the step of detecting movement in the filter layer when the node is at foreign link according to the same embodiment of the present invention.
  • FIG. 3 a and FIG. 3 b illustrate the steps of updating movement in the filter layer according to an embodiment of the present invention.
  • FIG. 3 a illustrates the sending of binding update
  • FIG. 3 b illustrates the replying of binding acknowledgement.
  • FIG. 4 a illustrates the step of modifying a sending packet using extension headers in the filter layer according to an embodiment of the present invention
  • FIG. 4 b illustrates the step of modifying a receiving packet using extension headers in the filter layer according to the same embodiment of the present invention.
  • FIG. 5 a illustrates the step of tunneling a sending packet in the filter layer according to an embodiment of the present invention
  • FIG. 5 b illustrates the step of restoring a receiving tunneled packet in the filter layer according to the same embodiment of the present invention.
  • a ‘layer’ means a generic network layer in the protocol stack, which can include one or more protocol modules that are implemented by software.
  • One protocol module in a layer can exchange information with another protocol module in the upper layer or in the lower layer.
  • mobile node refers to an IPv6 node capable of moving from a home link to a foreign link and vice versa
  • CN correspondent node
  • a node which movement is detected is a mobile node, and becomes a correspondent node when the node is communicating with another mobile node.
  • the names of the protocol modules installed in each layer of the TCP/IP stack are shown in the brackets.
  • the arrows denote the flow of packets from a source to a destination.
  • the down arrows denote the flow of sending packets from the upper layers to the lower layers and the up arrows denote the flow of receiving packets from the lower layers to the upper layers.
  • the present invention is a method of providing MIPv6-compatible mobility support to IPv6 using filtering technology.
  • the method comprises a step of providing a filter layer 22 , inserted between the internet layer 20 and the network access layer 24 in the TCP/IP stack.
  • the internet layer 20 is encoded with a non-mobility-capable IPv6 module and the filter layer 22 is encoded with the filtering protocol module supporting the MIPv6 mechanisms.
  • the combination of the internet layer 20 and the filter layer 22 allows the non-mobility-capable IPv6 module behaves as a mobility-capable protocol.
  • the method comprises a step of filtering the packets by modifying both the formats and the contents of the sending and the receiving packets using the filter layer 22 .
  • the filter layer 22 is designed to modify the sending packets (packets that received from the upper internet layer 20 in a format of IPv6 standard) along the down arrow path 26 a and pass the modified sending packets along the path 26 b to the lower network access layer 24 in a format that is acceptable by the MIPv6 standard.
  • the filter layer 22 is also designed to modify the receiving packets (packets that received from lower the network access layer 24 ) along the up arrow path 28 a and pass the modified receiving packets along the path 28 b to the upper internet layer 20 in a format that is acceptable by the IPv6 standard.
  • the step of modifying the packets using the filter layer 22 enables data communication between a mobile node and a correspondent node even when the mobile node is away from its home network.
  • the step of modifying the packets further comprises the steps of detecting the movement of a mobile node; and updating the movement of the mobile node to the home agent and all correspondent nodes.
  • the step of detecting the movement of the mobile node further comprises a step of hiding the movement of the mobile node from the non-mobility-capable IPv6 module of the internet layer 20 .
  • the step of hiding the movement of the mobile node further comprises a step of replacing the prefix in the receiving packets before passing the receiving packets to the internet layer 20 .
  • the node 30 receives an Internet Control Message Protocol version 6 (ICMPv6) router advertisement (RA) message 32 that generated by the router in the home subnet at regular interval to advertise the prefix of home subnet and configuration options to all nodes under this home subnet.
  • the packet of RA message 32 comprises an IPv6 header and an ICMPv6 message.
  • the ICMPv6 message defines the type as ‘134’ and the prefix as “home prefix”.
  • the RA message 32 is then passed to the filter layer 22 of the node 30 .
  • the filter layer 22 records the home prefix and forms an IPv6 address (referring as “home address (HoA)”).
  • the filter layer 22 if the home agent (H) flag is set in the RA message 32 , it indicates that the router is capable of being a home agent (HA) and the filter layer 22 records the router's address (referring as “home agents address (HAA)”) in the home agents list (HAL). As the node is at home subnet, the filter layer 22 then passes the un-modified RA message 34 to the upper internet layer 20 .
  • the mobile node 36 when the node (now referring as “mobile node 36 ”) moves from home link to foreign link or from one foreign link to another foreign link, the mobile node 36 also receives another RA message 38 that generated by the router in the foreign subnet at regular interval to advertise the prefix of the current foreign subnet and configuration options to all nodes under this foreign subnet.
  • the packet of RA message 38 comprises an IPv6 header and an ICMPv6 message.
  • the ICMPv6 message defines the type as ‘134’ whereas the prefix as “foreign prefix”.
  • the RA message 38 is then passed to the filter layer 22 of the mobile node.
  • the filter layer 22 compares the prefix in the RA message 38 with the “home prefix” and records the prefix as “foreign prefix” if two prefix are not identical, and then forms a second IPv6 address (referring as “care-of address (CoA)”). In a further embodiment, the filter layer 22 replaces the foreign prefix with the home prefix and forms a modified RA message 40 . The modified RA message 40 is then passed to the upper internet layer 20 , hiding the movement of the mobile node 36 to the non-mobility-capable IPv6 module.
  • the prefix in all upcoming receiving ICMPv6 neighbor solicitation (NS) messages needs to be changed by the filter layer 22 of the mobile node 36 from “foreign prefix” to “home prefix” before passing it to the upper internet layer 20 , and the prefix in all replying neighbor advertisement (NA) messages also needs to be restored from “home prefix” back to “foreign prefix” before passing it to the lower network access layer.
  • the CoA is different from the HoA in the filter layer, the movement of the mobile node 36 is determined, and thus triggers the step of updating movement.
  • the filter layer 22 a of the mobile node 36 performs a step of updating the movement to all other nodes communicating with the mobile node respectively.
  • the step of updating the movement further comprises a step of sending a packet (referring as “binding update (BU) 44 ”) to the home agent and all correspondent nodes 42 .
  • the binding update 44 is generated by the filter layer 22 a of the mobile node 36 .
  • the packet of binding update 44 comprises an IPv6 header, a destination option extension header and a mobility extension header.
  • the IPv6 header defines the source IP and the designation IP.
  • the source IP is the CoA and the destination IP is the address of correspondent node, CNA.
  • the destination option extension header comprises the HoA.
  • the mobility extension header defines the type as “5 (BU)” and comprises an address of CoA.
  • the filter layer 22 b of a correspondent node 42 receives the binding update 44 , the filter layer 22 b records the binding of the mobile node 36 in the binding cache (BC), and then deletes the binding update 44 without passing it to the upper internet layer 20 b .
  • the steps of sending and receiving binding update 44 do not involve the internet layer 20 a of the mobile node 36 or the internet layer 20 b of the correspondent node 42 .
  • the BC is maintained by the correspondent node 42 only.
  • the filter layer 22 b of the correspondent node 42 performs a step of replying a packet (referring as “binding acknowledgement (BAck) 46 ”) to the mobile node 36 .
  • the binding acknowledgement 46 is generated by the filter layer 22 b of correspondent node 42 .
  • the packet of binding acknowledgement 46 comprises an IPv6 header, a type 2 routing extension header and a mobility extension header.
  • the IPv6 header defines the source IP and the designation IP.
  • the source IP is the CNA and the destination IP is the CoA.
  • the type 2 routing extension header comprises the HoA.
  • the mobility extension header defines the type as “6 (BAck)”.
  • the filter layer 22 a of the mobile node 36 receives the binding acknowledgement 46 before the timer (predefined value is 1 second) expires, the filter layer 22 a records the success of binding update to this correspondent node 42 in the binding update list (BUL), and then deletes the binding acknowledgement 46 without passing to the upper internet layer 20 a .
  • the steps of sending and receiving binding acknowledgement 46 do not involve the internet layer 20 a of the mobile node 36 or the internet layer 20 b of the correspondent node 42 .
  • the BUL is maintained by the mobile node 36 only.
  • the packets flowing to and from the internet layers 20 a / 20 b need to be modified by the filter layer 22 a / 22 b before delivering them between the mobile node 36 and the correspondent node 42 .
  • the details of the aforesaid steps are illustrated and explained in FIG. 4 and FIG. 5 .
  • the packets are delivered between the mobile node 36 and the correspondent node 42 using extension headers.
  • the sending packet 48 comprises an IPv6 header and a TCP/UDP segment.
  • the IPv6 header defines the source IP and the destination IP.
  • the source IP is the HoA and the destination IP is the CNA.
  • the extension header added is destination option extension header (DOH).
  • the extension header comprises the HoA.
  • the IP addresses of the IPv6 header of the modified sending packet 50 are also changed.
  • the source IP address is changed from HoA to CoA.
  • the filter layer 22 b of the correspondent node 42 removes the DOH before passing the receiving packet 52 to the internet layer 20 b .
  • the source IP address of the receiving packet 52 is also changed from CoA back to HoA.
  • the sending packet 54 comprises an IPv6 header and a TCP/UDP segment.
  • the IPv6 header defines the source IP and the destination IP.
  • the source IP is the CNA and the destination IP is the HoA.
  • an extension header is added to the sending packet 54 so as to generate another modified sending packet 56 .
  • the extension header added is type 2 routing extension header (RH2).
  • the type 2 routing extension header comprises the HoA.
  • the IP addresses of the IPv6 header of the modified sending packet 56 are also changed.
  • the destination IP address is changed from HoA to CoA.
  • the filter layer 22 a of the mobile node 36 removes the RH2 before passing the receiving packet 58 to the internet layer 20 a .
  • the destination IP address of the receiving packet 58 is also changed from CoA back to HoA.
  • the packets is delivered between the mobile node 36 and the correspondent node 42 using tunneling via the home agent 64 .
  • the sending packet 60 comprises an IPv6 header and a TCP/UDP segment.
  • the IPv6 header defines the source IP and the destination IP.
  • the source IP is the HoA and the destination IP is the CNA.
  • an outer IPv6 header is added to the sending packet 60 so as to generate a modified sending packet 62 by the filter layer 22 a .
  • the outer IPv6 header defines the source IP and the destination IP.
  • the source IP is the CoA and the destination IP is the HAA.
  • the modified sending packet 62 is then tunneled from the mobile node 36 to the correspondent node via the home agent 64 .
  • the home agent 64 receives the modified sending packet 62 tunneled from the mobile node 36
  • the home agent 64 removes the outer IPv6 header and continues forward the further modified sending packet 66 to the correspondent node 42 .
  • the filter layer 22 b of the correspondent node 42 does not modify the further modified sending package 66 and passes the receiving packet 68 directly to the internet layer 20 b.
  • the sending packet 70 comprises an IPv6 header and a TCP/UDP segment.
  • the IPv6 header defines the source IP and the destination IP.
  • the source IP is the CNA and the destination IP is the HoA.
  • the filter layer 22 b of the correspondent node 42 does not modify the sending packet 70 and passes the un-modified sending packet 72 to the lower network access layer.
  • the home agent 64 intercepts the un-modified sending packet 72 on behalf of the mobile node 36 if the binding is presented in the BC of the home agent 64 .
  • an outer IPv6 header is added to the sending packet so as to generate a modified sending packet 74 .
  • the outer IPv6 header defines a new source IP and a new destination IP.
  • the new source IP is the HAA and the new destination IP is the CoA.
  • the modified sending packet 74 is then tunneled from the home agent 64 to the mobile node 36 .
  • the filter layer 22 a of the mobile node 36 removes the outer IPv6 header before passes the receiving packet 76 to the upper internet layer 20 a.
  • the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited.
  • a typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, controls a computing device such that it carries out the methods described herein.
  • a specific use computer containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized.
  • the present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.
  • Computer program, software program, program, or software in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
  • the computing device generally comprises central processing unit (CPU), memory, bus, input/output (I/O) interfaces, external devices/resources and database.
  • CPU may comprise a single processing unit, or be distributed across one or more processing units in one or more locations.
  • Memory may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc.
  • RAM random access memory
  • ROM read-only memory
  • memory may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method of providing mobility support to Internet Protocol version 6 (IPv6) using filtering technology is disclosed. The method comprises the steps of: providing a filter layer below the internet layer and above the network access layer in the TCP/IP stack; and modifying the packets using the filter layer. The step of modifying packets further comprises the steps of detecting the movement of a mobile node, and updating the movement of the mobile node to other nodes. The step of detecting the movement of the mobile node further comprises a step of replacing the prefix in the receiving packets before passing the receiving packets to the non-mobility-capable IPv6 module of the internet layer for hiding the movement of the mobile node; The step of modifying the packets also comprises the steps of adding extension headers to the packets, deleting extension headers from the packets and replacing IP addresses of the packets for the survivability of the ongoing connections.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • The present application claims priority under 35 U.S.C. §119 to Australian Innovation Patent Application No. 2013-101550 filed on Nov. 26, 2013. The content of the application is incorporated herein by reference in its entirety.
  • FIELD OF INVENTION
  • This invention relates to a method of providing mobility support to Internet Protocol version 6 (IPv6), and in particular a method of providing mobility support to IPv6 using filtering technology.
  • BACKGROUND OF INVENTION
  • Internet Protocol version 6 (IPv6) was not originally designed for mobility communication. When an IPv6 node (simply referring to “a node”) changes its point of attachment in an IPv6 network, its IPv6 address might change and thus the existing connections, which use the previously assigned IPv6 address, are terminated.
  • To deal with the aforesaid problem, Mobile Internet Protocol version 6 (MIPv6) is proposed. MIPv6 introduces the necessary mechanisms required for providing mobility support to IPv6, and thus allows a node to be mobile in an IPv6 network and can maintain the existing connections uninterrupted.
  • Two main mechanisms are introduced to IPv6 in order to achieve the aforementioned capability of mobility. The first mechanism is delivery reachability which guarantees a node is always reachable regardless of the change of its location. The second mechanism is transport layer transparency which guarantees a node's existing transport layer connections are survivable regardless of the change of its address.
  • As shown in FIG. 1 a, conventionally, these mechanisms are introduced by combining MIPv6 to IPv6 directly into a single protocol, which requires modifying the original source codes of IPv6. This approach is considered as a difficult task because the IPv6 module of the TCP/IP stack installed in most operating system platforms is not always open to the public. Moreover, such combination involves massive modification of the algorithms and the data structures in the original source codes of the IPv6 module.
  • SUMMARY OF INVENTION
  • In the light of the foregoing background, the objective of the present invention is to propose an alternate method of providing mobility support to IPv6, without the need to understand and modify the existing source codes of IPv6. In particular, it is related to a method of providing the MIPv6-compatible mobility support to IPv6 using filtering technology.
  • Accordingly, the present invention, in one aspect, is a method of combining the MIPv6 mechanisms to the existing non-mobility-capable IPv6 module of the TCP/IP stack so as to provide mobility support to IPv6. The method comprises the steps of (1) providing a filter layer between the internet layer and the network access layer in the TCP/IP stack, wherein the filter layer is below the internet layer and above the network access layer; and (2) modifying the IPv6 packets (simply referring to “packets”) by using the filter layer, wherein the filter layer modifies both the formats and the contents of the sending and the receiving packets. In one embodiment, the internet layer is encoded with a non-mobility-capable IPv6 module and the filter layer is encoded with a filtering protocol module supporting the MIPv6 mechanisms.
  • In one embodiment of the present invention, the step of modifying the packets using the filter layer further comprises the steps of detecting the movement of a mobile node by the filter layer, and updating said movement of the mobile node to the home agent and the correspondent nodes by the filter layer.
  • In one embodiment, the step of detecting the movement of the mobile node further comprises a step of hiding the movement of the mobile node from the non-mobility-capable IPv6 module of the internet layer by replacing the prefix in the receiving packets before passing the receiving packets to the upper internet layer.
  • In one embodiment, the step of updating the movement of the mobile node to the home agent and the correspondent nodes further comprises the steps of (1) sending a binding update from the filter layer of the mobile node to the home agent and the correspondent nodes, wherein the binding update comprises a first address at home subnet of the mobile node and a second address at current foreign subnet of the mobile node; and (2) replying a binding acknowledgement from the filter layer of one of the correspondent nodes to the mobile node, when the correspondent node receives a binding update from the mobile node.
  • In another embodiment of the present invention, when the mobile node is communicating with a mobility-capable correspondent node, the step of modifying the packets further comprises the steps of adding the extension headers and replacing the IP addresses to the sending packets; and deleting the extension headers and restoring the IP addresses from the receiving packets.
  • In another embodiment of the present invention, when the mobile node is communicating with a non-mobility-capable correspondent node, the step of modifying the packets further comprises the steps of tunneling the sending packets to the correspondent node via the home agent; and restoring the receiving tunneled packets by the filter layer.
  • The advantages of the present invention is that it provides an efficient and flexible method of providing MIPv6-compatible mobility support based on the existing non-mobility-capable IPv6 module and eliminates the difficulty of programming in modifying the original source codes of the IPv6 module in the TCP/IP stack.
  • BRIEF DESCRIPTION OF FIGURES
  • FIG. 1 a illustrates the scheme of protocol design according to the conventional method.
  • FIG. 1 b illustrates the scheme of protocol design according to an embodiment of the present invention.
  • FIG. 2 a illustrates the step of detecting movement in the filter layer when the node is at home link according to an embodiment of the present invention; and FIG. 2 b illustrates the step of detecting movement in the filter layer when the node is at foreign link according to the same embodiment of the present invention.
  • FIG. 3 a and FIG. 3 b illustrate the steps of updating movement in the filter layer according to an embodiment of the present invention. In particular, FIG. 3 a illustrates the sending of binding update; and FIG. 3 b illustrates the replying of binding acknowledgement.
  • FIG. 4 a illustrates the step of modifying a sending packet using extension headers in the filter layer according to an embodiment of the present invention; and FIG. 4 b illustrates the step of modifying a receiving packet using extension headers in the filter layer according to the same embodiment of the present invention.
  • FIG. 5 a illustrates the step of tunneling a sending packet in the filter layer according to an embodiment of the present invention; and FIG. 5 b illustrates the step of restoring a receiving tunneled packet in the filter layer according to the same embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • As used herein and in the claims, “comprising” means including the following elements but not excluding others.
  • As used herein and in the claims, a ‘layer’ means a generic network layer in the protocol stack, which can include one or more protocol modules that are implemented by software. One protocol module in a layer can exchange information with another protocol module in the upper layer or in the lower layer.
  • As used herein and in the claims, “mobile node (MN)” refers to an IPv6 node capable of moving from a home link to a foreign link and vice versa; and “correspondent node (CN)” refers to the node which communicates with the mobile node. A node which movement is detected is a mobile node, and becomes a correspondent node when the node is communicating with another mobile node.
  • In the figures, the names of the protocol modules installed in each layer of the TCP/IP stack are shown in the brackets. Moreover, the arrows denote the flow of packets from a source to a destination. The down arrows denote the flow of sending packets from the upper layers to the lower layers and the up arrows denote the flow of receiving packets from the lower layers to the upper layers.
  • As shown in FIG. 1 b, in one aspect, the present invention is a method of providing MIPv6-compatible mobility support to IPv6 using filtering technology. The method comprises a step of providing a filter layer 22, inserted between the internet layer 20 and the network access layer 24 in the TCP/IP stack. The internet layer 20 is encoded with a non-mobility-capable IPv6 module and the filter layer 22 is encoded with the filtering protocol module supporting the MIPv6 mechanisms. Thus the combination of the internet layer 20 and the filter layer 22 allows the non-mobility-capable IPv6 module behaves as a mobility-capable protocol.
  • In one embodiment, the method comprises a step of filtering the packets by modifying both the formats and the contents of the sending and the receiving packets using the filter layer 22. The filter layer 22 is designed to modify the sending packets (packets that received from the upper internet layer 20 in a format of IPv6 standard) along the down arrow path 26 a and pass the modified sending packets along the path 26 b to the lower network access layer 24 in a format that is acceptable by the MIPv6 standard. The filter layer 22 is also designed to modify the receiving packets (packets that received from lower the network access layer 24) along the up arrow path 28 a and pass the modified receiving packets along the path 28 b to the upper internet layer 20 in a format that is acceptable by the IPv6 standard.
  • In one embodiment, the step of modifying the packets using the filter layer 22 enables data communication between a mobile node and a correspondent node even when the mobile node is away from its home network. The step of modifying the packets further comprises the steps of detecting the movement of a mobile node; and updating the movement of the mobile node to the home agent and all correspondent nodes. The step of detecting the movement of the mobile node further comprises a step of hiding the movement of the mobile node from the non-mobility-capable IPv6 module of the internet layer 20. In a further embodiment, the step of hiding the movement of the mobile node further comprises a step of replacing the prefix in the receiving packets before passing the receiving packets to the internet layer 20. The details of the aforesaid steps are illustrated and explained in FIG. 2 and FIG. 3.
  • Referring to FIG. 2 a, when a node 30 is at home link, the node 30 receives an Internet Control Message Protocol version 6 (ICMPv6) router advertisement (RA) message 32 that generated by the router in the home subnet at regular interval to advertise the prefix of home subnet and configuration options to all nodes under this home subnet. The packet of RA message 32 comprises an IPv6 header and an ICMPv6 message. The ICMPv6 message defines the type as ‘134’ and the prefix as “home prefix”. In an embodiment, the RA message 32 is then passed to the filter layer 22 of the node 30. The filter layer 22 records the home prefix and forms an IPv6 address (referring as “home address (HoA)”). In a further embodiment, if the home agent (H) flag is set in the RA message 32, it indicates that the router is capable of being a home agent (HA) and the filter layer 22 records the router's address (referring as “home agents address (HAA)”) in the home agents list (HAL). As the node is at home subnet, the filter layer 22 then passes the un-modified RA message 34 to the upper internet layer 20.
  • Referring to FIG. 2 b, when the node (now referring as “mobile node 36”) moves from home link to foreign link or from one foreign link to another foreign link, the mobile node 36 also receives another RA message 38 that generated by the router in the foreign subnet at regular interval to advertise the prefix of the current foreign subnet and configuration options to all nodes under this foreign subnet. The packet of RA message 38 comprises an IPv6 header and an ICMPv6 message. The ICMPv6 message defines the type as ‘134’ whereas the prefix as “foreign prefix”. In an embodiment, the RA message 38 is then passed to the filter layer 22 of the mobile node. The filter layer 22 compares the prefix in the RA message 38 with the “home prefix” and records the prefix as “foreign prefix” if two prefix are not identical, and then forms a second IPv6 address (referring as “care-of address (CoA)”). In a further embodiment, the filter layer 22 replaces the foreign prefix with the home prefix and forms a modified RA message 40. The modified RA message 40 is then passed to the upper internet layer 20, hiding the movement of the mobile node 36 to the non-mobility-capable IPv6 module. In a specific embodiment, for successfully discovering the neighbors in the foreign subnet, the prefix in all upcoming receiving ICMPv6 neighbor solicitation (NS) messages needs to be changed by the filter layer 22 of the mobile node 36 from “foreign prefix” to “home prefix” before passing it to the upper internet layer 20, and the prefix in all replying neighbor advertisement (NA) messages also needs to be restored from “home prefix” back to “foreign prefix” before passing it to the lower network access layer. In another embodiment, if the CoA is different from the HoA in the filter layer, the movement of the mobile node 36 is determined, and thus triggers the step of updating movement.
  • Referring to FIG. 3 a, in case a movement is determined, the filter layer 22 a of the mobile node 36 performs a step of updating the movement to all other nodes communicating with the mobile node respectively. In an embodiment, the step of updating the movement further comprises a step of sending a packet (referring as “binding update (BU) 44”) to the home agent and all correspondent nodes 42. In a specific embodiment, the binding update 44 is generated by the filter layer 22 a of the mobile node 36. The packet of binding update 44 comprises an IPv6 header, a destination option extension header and a mobility extension header. The IPv6 header defines the source IP and the designation IP. In one specific embodiment, the source IP is the CoA and the destination IP is the address of correspondent node, CNA. The destination option extension header comprises the HoA. The mobility extension header defines the type as “5 (BU)” and comprises an address of CoA. In another embodiment, when the filter layer 22 b of a correspondent node 42 receives the binding update 44, the filter layer 22 b records the binding of the mobile node 36 in the binding cache (BC), and then deletes the binding update 44 without passing it to the upper internet layer 20 b. Thus the steps of sending and receiving binding update 44 do not involve the internet layer 20 a of the mobile node 36 or the internet layer 20 b of the correspondent node 42. In one embodiment, the BC is maintained by the correspondent node 42 only.
  • Referring to FIG. 3 b, in an embodiment, in case a specific correspondent node 42 receives the binding update 44 from the mobile node 36, the filter layer 22 b of the correspondent node 42 performs a step of replying a packet (referring as “binding acknowledgement (BAck) 46”) to the mobile node 36. In a specific embodiment, the binding acknowledgement 46 is generated by the filter layer 22 b of correspondent node 42. The packet of binding acknowledgement 46 comprises an IPv6 header, a type 2 routing extension header and a mobility extension header. The IPv6 header defines the source IP and the designation IP. In one specific embodiment, the source IP is the CNA and the destination IP is the CoA. The type 2 routing extension header comprises the HoA. The mobility extension header defines the type as “6 (BAck)”. In another embodiment, when the filter layer 22 a of the mobile node 36 receives the binding acknowledgement 46 before the timer (predefined value is 1 second) expires, the filter layer 22 a records the success of binding update to this correspondent node 42 in the binding update list (BUL), and then deletes the binding acknowledgement 46 without passing to the upper internet layer 20 a. Thus the steps of sending and receiving binding acknowledgement 46 do not involve the internet layer 20 a of the mobile node 36 or the internet layer 20 b of the correspondent node 42. In one embodiment, the BUL is maintained by the mobile node 36 only.
  • After complete the steps of updating the movement of the mobile node 36, the packets flowing to and from the internet layers 20 a/20 b need to be modified by the filter layer 22 a/22 b before delivering them between the mobile node 36 and the correspondent node 42. This guarantees the addresses used in the packets remain consistent before and after the movement of the mobile node 36, and thus the survivability of the ongoing connections can be maintained. The details of the aforesaid steps are illustrated and explained in FIG. 4 and FIG. 5.
  • Referring to FIG. 4 a, if the binding is recorded both in the BUL of the mobile node 36 and the BC of the correspondent node 42, the packets are delivered between the mobile node 36 and the correspondent node 42 using extension headers. In an embodiment, when the mobile node 36 sends a packet to a corresponding node 42, the sending packet 48 comprises an IPv6 header and a TCP/UDP segment. The IPv6 header defines the source IP and the destination IP. In one specific embodiment, the source IP is the HoA and the destination IP is the CNA. When the sending packet 48 is passed to the filter layer 22 a of the mobile node 36, an extension header is added to the sending packet 48 so as to generate a modified sending packet 50. In one embodiment, the extension header added is destination option extension header (DOH). The extension header comprises the HoA. Furthermore, the IP addresses of the IPv6 header of the modified sending packet 50 are also changed. In one embodiment, the source IP address is changed from HoA to CoA. In another embodiment, when the correspondent node 42 receives the modified sending packet 50, the filter layer 22 b of the correspondent node 42 removes the DOH before passing the receiving packet 52 to the internet layer 20 b. In a further embodiment, the source IP address of the receiving packet 52 is also changed from CoA back to HoA.
  • Referring to FIG. 4 b, in an embodiment, when a corresponding node 42 sends a packet to the mobile node 36, the sending packet 54 comprises an IPv6 header and a TCP/UDP segment. The IPv6 header defines the source IP and the destination IP. In one specific embodiment, the source IP is the CNA and the destination IP is the HoA. When the sending packet 54 is passed to the filter layer 22 b of the correspondent node 42, an extension header is added to the sending packet 54 so as to generate another modified sending packet 56. In one embodiment, the extension header added is type 2 routing extension header (RH2). The type 2 routing extension header comprises the HoA. Furthermore, the IP addresses of the IPv6 header of the modified sending packet 56 are also changed. In one embodiment, the destination IP address is changed from HoA to CoA. In another embodiment, when the mobile node 36 receives the modified sending packet 56, the filter layer 22 a of the mobile node 36 removes the RH2 before passing the receiving packet 58 to the internet layer 20 a. In a further embodiment, the destination IP address of the receiving packet 58 is also changed from CoA back to HoA.
  • Referring to FIG. 5 a, if the binding is not presented in either the BUL of the mobile node 36 or the BC of the correspondent node 42, the packets is delivered between the mobile node 36 and the correspondent node 42 using tunneling via the home agent 64. In an embodiment, when the mobile node 36 sends a packet to a corresponding node 42, the sending packet 60 comprises an IPv6 header and a TCP/UDP segment. The IPv6 header defines the source IP and the destination IP. In one specific embodiment, the source IP is the HoA and the destination IP is the CNA. Then an outer IPv6 header is added to the sending packet 60 so as to generate a modified sending packet 62 by the filter layer 22 a. In one embodiment, the outer IPv6 header defines the source IP and the destination IP. In one specific embodiment, the source IP is the CoA and the destination IP is the HAA. The modified sending packet 62 is then tunneled from the mobile node 36 to the correspondent node via the home agent 64. In one embodiment, when the home agent 64 receives the modified sending packet 62 tunneled from the mobile node 36, the home agent 64 removes the outer IPv6 header and continues forward the further modified sending packet 66 to the correspondent node 42. In another embodiment, when the correspondent node 42 receives the further modified sending packet 66, the filter layer 22 b of the correspondent node 42 does not modify the further modified sending package 66 and passes the receiving packet 68 directly to the internet layer 20 b.
  • Referring to FIG. 5 b, when a corresponding node 42 sends a packet to the mobile node 36, the sending packet 70 comprises an IPv6 header and a TCP/UDP segment. The IPv6 header defines the source IP and the destination IP. In one specific embodiment, the source IP is the CNA and the destination IP is the HoA. The filter layer 22 b of the correspondent node 42 does not modify the sending packet 70 and passes the un-modified sending packet 72 to the lower network access layer. When the un-modified sending packet 72 arrives to the home subnet of the mobile node 36, the home agent 64 intercepts the un-modified sending packet 72 on behalf of the mobile node 36 if the binding is presented in the BC of the home agent 64. In one embodiment, an outer IPv6 header is added to the sending packet so as to generate a modified sending packet 74. In a further embodiment, the outer IPv6 header defines a new source IP and a new destination IP. In one specific embodiment, the new source IP is the HAA and the new destination IP is the CoA. The modified sending packet 74 is then tunneled from the home agent 64 to the mobile node 36. In one embodiment, when the mobile node 36 receives the tunneled sending packet 74, the filter layer 22 a of the mobile node 36 removes the outer IPv6 header before passes the receiving packet 76 to the upper internet layer 20 a.
  • It is understood that the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, controls a computing device such that it carries out the methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
  • The computing device generally comprises central processing unit (CPU), memory, bus, input/output (I/O) interfaces, external devices/resources and database. CPU may comprise a single processing unit, or be distributed across one or more processing units in one or more locations. Memory may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc. Moreover, similar to CPU, memory may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms. [Inventors: The two paragraphs above were added in order to fulfill the US patent requirements.]
  • The exemplary embodiments of the present invention are thus fully described. Although the description referred to particular embodiments, it will be clear to one skilled in the art that the present invention may be practiced with variation of these specific details. Hence this invention should not be construed as limited to the embodiments set forth herein.

Claims (5)

What is claimed is:
1. A method of providing mobility support to Internet Protocol version 6 (IPv6) comprising the steps of:
a) providing a filter layer in the TCP/IP stack, wherein said filter layer is below the internet layer and above the network access layer; and
b) modifying packets by using said filter layer;
wherein said internet layer is encoded with a non-mobility-capable IPv6 module and said filter layer is encoded with a filtering protocol module supporting the Mobile Internet Protocol version 6 (MIPv6) mechanisms.
2. The method of claim 1, wherein said step of modifying said packets further comprises the steps of:
a) detecting movement of a mobile node by said filter layer; and
b) updating said movement of said mobile node to home agent and correspondent nodes by said filter layer.
3. The method of claim 2, wherein said step of detecting said movement of said mobile node further comprises a step of hiding said movement of said mobile node from said non-mobility-capable IPv6 module of said internet layer by replacing the prefix in the receiving packets before passing said receiving packets to said internet layer; wherein said prefix indicates the current subnet said mobile node belongs to.
4. The method of claim 2, wherein said step of updating said movement of said mobile node to said home agent and said correspondent nodes further comprises the steps of:
a) sending a binding update from said filter layer of said mobile node to said home agent and said correspondent nodes; wherein said binding update comprises a first address at home subnet of said mobile node and a second address at current foreign subnet of said mobile node; and
b) replying a binding acknowledgement from said filter layer of one of said correspondent nodes to said mobile node.
5. The method of claim 1, wherein said packets comprises sending packets and receiving packets; wherein said step of modifying said packets by said filter layer further comprises the steps of:
a) adding extension headers and replacing IP addresses to said sending packets;
b) deleting extension headers and restoring IP addresses from said receiving packets;
c) tunneling said sending packets to correspondent node via home agent; and
d) restoring receiving tunneled packets.
US14/201,947 2013-11-26 2014-03-10 Method of Providing Mobility Support to Internet Protocol Version 6 (IPv6) using Filtering Technology Abandoned US20150146746A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2013101550 2013-11-26
AU2013101550A AU2013101550A4 (en) 2013-11-26 2013-11-26 A method of providing mobility support to Internet Protocol version 6 (IPv6) using filtering technology

Publications (1)

Publication Number Publication Date
US20150146746A1 true US20150146746A1 (en) 2015-05-28

Family

ID=49882679

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/201,947 Abandoned US20150146746A1 (en) 2013-11-26 2014-03-10 Method of Providing Mobility Support to Internet Protocol Version 6 (IPv6) using Filtering Technology

Country Status (2)

Country Link
US (1) US20150146746A1 (en)
AU (1) AU2013101550A4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105250A (en) * 2014-03-14 2016-11-09 索尼公司 Receive device, method of reseptance, transmitting device and transmission method
JP2019062526A (en) * 2017-08-31 2019-04-18 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド Method and system having application for ipv6 extension headers and destination options

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277315A1 (en) * 2005-06-01 2006-12-07 Garcia Francisco J Method of communicating between layers of a protocol stack and apparatus therefor
US20070160065A1 (en) * 2005-12-29 2007-07-12 Samsung Electronics Co., Ltd. Method for route optimization with dual mobile IPV4 node in IPV6-only network
US20100293289A1 (en) * 2009-05-15 2010-11-18 Telcordia Applied Research Center Taiwan Co. PEER-TO-PEER MOBILITY MANAGEMENT IN HETEROGENEOUS IPV4 NETWORKSAPP 1784n

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277315A1 (en) * 2005-06-01 2006-12-07 Garcia Francisco J Method of communicating between layers of a protocol stack and apparatus therefor
US20070160065A1 (en) * 2005-12-29 2007-07-12 Samsung Electronics Co., Ltd. Method for route optimization with dual mobile IPV4 node in IPV6-only network
US20100293289A1 (en) * 2009-05-15 2010-11-18 Telcordia Applied Research Center Taiwan Co. PEER-TO-PEER MOBILITY MANAGEMENT IN HETEROGENEOUS IPV4 NETWORKSAPP 1784n

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105250A (en) * 2014-03-14 2016-11-09 索尼公司 Receive device, method of reseptance, transmitting device and transmission method
US10536488B2 (en) 2014-03-14 2020-01-14 Saturn Licensing Llc Receiving device, reception method, transmitting device, and transmission method
US11102252B2 (en) 2014-03-14 2021-08-24 Saturn Licensing Llc Receiving device, reception method, transmitting device, and transmission method
US11575717B2 (en) 2014-03-14 2023-02-07 Saturn Licensing Llc Receiving device, reception method, transmitting device, and transmission method
JP2019062526A (en) * 2017-08-31 2019-04-18 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド Method and system having application for ipv6 extension headers and destination options
JP7132028B2 (en) 2017-08-31 2022-09-06 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド Method and system with application for IPV6 extension headers and destination options

Also Published As

Publication number Publication date
AU2013101550A4 (en) 2014-01-09

Similar Documents

Publication Publication Date Title
JP4995891B2 (en) Multi-hop mesh network connection using MAC bridge
US6915325B1 (en) Method and program code for communicating with a mobile node through tunnels
KR101082711B1 (en) Methods and apparatus for use in a communication system
CN101919277B (en) Method for detecting duplicate address, mobile station, network element and communication system
CN103430149B (en) Virtual machine migration notification method and system
CN109347740B (en) Message forwarding method and device
WO2008094730A2 (en) Optimized mobile-ipv6 encapsulation for wireless networks
CN1998193B (en) Mobile terminal managing device and home agent switching method
CN101115022B (en) Apparatus and method for implementing node to roaming in IPv6 network
US20150146746A1 (en) Method of Providing Mobility Support to Internet Protocol Version 6 (IPv6) using Filtering Technology
US8923303B2 (en) Method, system and installation for forwarding data transmission frames
JP2008541516A (en) Communication method between IPv6 communicating node and mobile IPv6 node, and communicating node proxy gateway
JP5975881B2 (en) Method and system for routing data to mobile nodes in a foreign network
US20120120939A1 (en) Method and device for conveying traffic in a proxy mobile ip system
CN110366169B (en) Roaming method and device
WO2006048608A1 (en) Managing node mobility in a ip network
Novak Proxy MAP for intra-domain route optimization in hierarchical mobile IP
WO2009002075A2 (en) Method and system for optimizing routing between nodes in proxy mobile ipv6 network
Kannadath et al. Simulating Mobile IP based network environments
KR101361264B1 (en) Method and apparatus for changing transmission paths for mobile node with fixed IP address
JP4154784B2 (en) Data transmission method and data transmission router
JP5674778B2 (en) Extension of network-based IP mobility management protocol to provide multihoming support
Mitsuya et al. SHISA: The Mobile IPv6/NEMO BS Stack Implementation Current Status
WO2010038701A1 (en) Communication processing device and communication processing method
EP1898587A1 (en) A method of requesting an option to be used in a tunnel type

Legal Events

Date Code Title Description
AS Assignment

Owner name: MACAU UNIVERSITY OF SCIENCE AND TECHNOLOGY, MACAU

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHEANG, CHAK FONG;REEL/FRAME:032400/0130

Effective date: 20140221

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION