Method and apparatus for transparent internet mobility management
First Claim
Patent Images
1. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
- receiving the IP packets;
classifying the IP packets according to their type, source and destination; and
routing the packets to their destination address based on their classification.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for achieving seamless, Internet Protocol (IP) wireless station mobility by using an Internet Protocol (IP) router to receive and classify IP packets and route them to their desired destination based on these classifications as the IP host moves between networks. The use of this method and apparatus provides a transparent network to facilitate Internet mobility management.
171 Citations
41 Claims
-
1. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
-
receiving the IP packets;
classifying the IP packets according to their type, source and destination; and
routing the packets to their destination address based on their classification. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
-
receiving the IP packets; and
sending the IP packets to a Receive Input Stage, then to a Receive Forwarding Stage when they are received from a node on the Internet. - View Dependent Claims (10, 11, 13, 14, 17, 18)
-
-
12. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
sending the IP packets to a Transmit Input Stage then to a Transmit Forwarding Stage when the packets are received from a local application.
-
15. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
-
determining whether the IP packet was sent from a router or directly from the mobile IP host;
determining whether the host is already in an ARP table when the packet is sent directly from an IP host;
adding the IP host to the ARP table when the host is not already in the ARP table and the IP packet is sent directly from an IP host;
propagating the IP host'"'"'s ARP table entry to other nodes in the network;
updating the IP host'"'"'s ARP table entry timestamp;
determining whether the IP host'"'"'s hardware address is correct when the IP host is already in the ARP table;
updating the IP host'"'"'s ARP table entry timestamp when the IP host'"'"'s hardware address is correct in the ARP table;
setting the correct hardware address entry when the IP host'"'"'s hardware address is not correct in the ARP table;
propagating the IP host'"'"'s ARP table entry to other nodes in the network when it is corrected in the ARP table; and
updating the IP host'"'"'s entry time stamp when it is corrected and propagated;
-
-
16. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
-
determining whether the mobile host is already in a route table;
adding the host to the route table when the host is not already in the route table;
determining whether the vendor type for the host is in a RARP table;
setting the vendor type in the in the route table and removing the vendor type from the RARP table when the vendor type is in the RARP table;
determining whether the correct route for the IP packets is entered into the route table;
setting the correct route for the IP packets in the route table when the route is not already correct;
determining whether any changes have occurred to the route table;
propagating the updated route table entry to other nodes in the IP network using tunnel commands; and
updating the route table entry'"'"'s time stamp;
-
-
19. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
-
determining whether the destination IP address matches on one of the local network interfaces;
forwarding the IP packets to the network operating system'"'"'s TCP/IP stack when the destination IP address matches one of the local network interfaces; and
tunneling the IP packets to the node with the destination network interface address when the destination IP address does not match on of the local network interfaces.
-
-
20. A method for routing Internet Protocol (IP) packets between network nodes for seamless mobile IP host subscriber service as the mobile IP host moves between network nodes comprising:
-
determining whether a destination IP host is in a route table;
sending an ARP request for the destination host and queing the IP packet for later delivery;
determining whether the source host and destination hosts are numbered for the same subnet;
setting the IP packets source hardware address to that of the destination IP host'"'"'s default gateway when the source and destination host are numbered for the same subnet;
determining whether the source IP hosts and the destination IP hosts are currently located on the same subnet when they are numbered for the same subnet;
setting the IP packets source host'"'"'s hardware address to a source host'"'"'s hardware address as looked up in an ARP table when the source hosts and destination hosts are not currently located on the same subnet;
setting the IP packet'"'"'s source hardware address to the host'"'"'s default destination gateway when the source host and destination host are not numbered for the same gateway;
replacing the destination host'"'"'s hardware address with the destination address looked up in the ARP table when the packet'"'"'s source hardware address is set to the destination host'"'"'s default gateway and when the packet'"'"'s source hardware address is set to the source'"'"'s hardware address as looked up in the ARP table;
determining whether the destination host is a host that sends a packet to the router when it changes it point of attachment to the network;
routing the IP packet to the destination host'"'"'s last known location on a local or remote interface when the destination hosts is a host that sends a packet to the router when it changes it point of attachment to the network;
determining whether the destination hosts activity timer has expired;
routing the IP packet to destination host'"'"'s last known location on a local or remote interface when the destination host'"'"'s activity timer has not expired;
repeating the IP packets on subscriber interfaces when the destination hosts activity timer has expired; and
repeating packets on a network interface that is proper for the destination host.
-
-
21. An apparatus for facilitating a mobile IP host'"'"'s movement within and between IP networks while maintaining a seamless IP subscriber service comprising:
-
a network interface;
a central processing (CPU) coupled to the network interface to facilitate routing;
a route table coupled to the CPU for determining the rout destination the IP packets based on their classification; and
Address Resolution Protocol (ARP) table coupled to the CPU to storing IP packet classifications for mapping the IP addresses of the IP packets.
-
-
22. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
-
receiving the IP packets;
classifying the IP packets according to their type, source and destination; and
routing the packets to their destination address based on their classification. - View Dependent Claims (23, 26)
-
-
24. The computer readable medium 22, wherein receiving IP packets is accomplished through a node on the Internet, another router with a tunnel command or a local application.
-
25. The computer readable medium 24, wherein the tunnel command is parsed and performed.
-
27. The computer readable medium 26, wherein an interference packet is a packet that gets transmitted between nodes with the same network visibility.
-
28. The computer readable medium 26, wherein a link layer packet is an IP packet that has a hardware address.
-
29. The computer readable medium 22, wherein the types of destination address classifications comprise:
-
subscriber addresses;
network addresses;
internal gateway addresses;
virtual gateway addresses;
external addresses; and
broadcast addresses.
-
-
30. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
-
receiving the IP packets; and
sending the IP packets to a Receive Input Stage, then to a Receive Forwarding Stage when they are received from a node on the Internet.
-
-
31. The computer readable medium 30, wherein the Receive Input Stage comprises:
-
classifying the IP packet type;
classifying the IP packet addressing;
disregarding the IP packet when it is an interference packet;
considering an ARP table update; and
considering a route table update.
-
-
32. The computer readable medium 30, wherein the Receive forwarding Stage comprises:
-
determining whether the IP packet is a link layer packet;
determining whether the mobile IP host is in the route table when the IP packet is a link layer packet;
determining whether the mobile IP source host is in the route table, when the packet is a link letter packet;
setting the hosts vendor type in a RARP table when the host is not in the route table;
setting the hosts vendor type in the route table when the host is already in the route table;
propagating the route table update to other nodes in the network; and
classifying the IP packets when they are not link layer packets.
-
-
33. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
sending the IP packets to a Transmit Input Stage then to a Transmit Forwarding Stage when the packets are received from a local application.
-
34. The computer readable medium 33 wherein the Transmit Input Stage comprises determining the classification of the of the IP packet based on a route table.
-
35. The computer readable medium 33, wherein the Transmit Forwarding Stage comprises:
routing the IP packets to their destination based on their classification.
-
36. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
-
determining whether the IP packet was sent from a router or directly from the mobile IP host;
determining whether the host is already in an ARP table when the packet is sent directly from an IP host;
adding the IP host to the ARP table when the host is not already in the ARP table and the IP packet is sent directly from an IP host;
propagating the IP host'"'"'s ARP table entry to other nodes in the network;
updating the IP host'"'"'s ARP table entry timestamp;
determining whether the IP host'"'"'s hardware address is correct when the IP host is already in the ARP table;
updating the IP host'"'"'s ARP table entry timestamp when the IP host'"'"'s hardware address is correct in the ARP table;
setting the correct hardware address entry when the IP host'"'"'s hardware address is not correct in the ARP table;
propagating the IP host'"'"'s ARP table entry to other nodes in the network when it is corrected in the ARP table; and
updating the IP host'"'"'s entry time stamp when it is corrected and propagated;
-
-
37. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
-
determining whether the mobile host is already in a route table;
adding the host to the route table when the host is not already in the route table;
determining whether the vendor type for the host is in a RARP table;
setting the vendor type in the in the route table and removing the vendor type from the RARP table when the vendor type is in the RARP table;
determining whether the correct route for the IP packets is entered into the route table;
setting the correct route for the IP packets in the route table when the route is not already correct;
determining whether any changes have occurred to the route table;
propagating the updated route table entry to other nodes in the IP network using tunnel commands; and
updating the route table entry'"'"'s time stamp;
-
-
38. The computer readable medium 37, wherein the RARP table is a table to temporarily store IP packets that have hardware addresses.
-
39. The computer readable medium 37, wherein determining whether the vendor type for the host is in the RARP table establishes whether the host sends an IP packet to the router when it changes its point of attachment to the network.
-
40. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
-
determining whether the destination IP address matches on one of the local network interfaces;
forwarding the IP packets to the network operating system'"'"'s TCP/IP stack when the destination IP address matches one of the local network interfaces; and
tunneling the IP packets to the node with the destination network interface address when the destination IP address does not match on of the local network interfaces.
-
-
41. A computer readable medium encoded with data instructions, such that when executed by a computer is caused to perform processes comprising:
-
determining whether a destination IP host is in a route table;
sending an ARP request for the destination host and queuing the IP packet for later delivery;
determining whether the source host and destination host are numbered for the same subnet;
setting the IP packets source hardware address to that of the destination IP host'"'"'s default gateway when the source and destination host are numbered for the same subnet;
determining whether the source IP hosts and the destination IP hosts are currently located on the same subnet when they are numbered for the same subnet;
setting the IP packets source host'"'"'s hardware address to a source host'"'"'s hardware address as looked up in an ARP table when the source hosts and destination hosts are not currently located on the same subnet;
setting the IP packet'"'"'s source hardware address to the host'"'"'s default destination gateway when the source host and destination host are not numbered for the same gateway;
replacing the destination host'"'"'s hardware address with the destination address looked up in the ARP table when the packet'"'"'s source hardware address is set to the destination host'"'"'s default gateway and when the packet'"'"'s source hardware address is set to the source'"'"'s hardware address as looked up in the ARP table;
determining whether the destination host is a host that sends a packet to the router when it changes it point of attachment to the network;
routing the IP packet to the destination host'"'"'s last known location on a local or remote interface when the destination hosts is a host that sends a packet to the router when it changes it point of attachment to the network;
determining whether the destination hosts activity timer has expired;
routing the IP packet to destination host'"'"'s last known location on a local or remote interface when the destination host'"'"'s activity timer has not expired;
repeating the IP packets on subscriber interfaces when the destination hosts activity timer has expired; and
repeating packets on a network interface that is proper for the destination host.
-
Specification