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.
- 2. The method of claim 1 wherein, routing the packets based on their classification comprises:
maintaining an Address Resolution Protocol (ARP) table of the classifications to map the IP addresses of the IP packets; and maintaining an route table of the classifications to route the packets to their destination address.
- 3. The method of claim 1, wherein receiving IP packets is accomplished through node on the Internet, another router with a tunnel command or a local application.
- 4. The method of claim 3, wherein the a tunnel command is parsed and performed.
- 5. The method of claim 3 wherein the type of IP packets are Application Resolution Protocol (ARP) request packets, ARP reply packets, IP packets, Interference packets, or link layer packets.
- 6. The method of claim 4, wherein an interference packet is a packet that gets transmitted between nodes with the same network visibility.
- 7. The method of claim 4, wherein a link layer packet is an IP packet that has a hardware address.
- 8. The method of claim 1, wherein the types of destination address classifications are subscriber addresses, network addresses, internal gateway addresses, virtual gateway addresses, external addresses or broadcast addresses.
- 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.
- 10. The method of claim 9, 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.
- 11. The method of claim 9, 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.
- 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.
- 13. The method of claim 12 wherein the Transmit Input Stage comprises determining the classification of the of the IP packet based on a route table.
- 14. The method of claim 12, wherein the Transmit Forwarding Stage comprises routing the IP packets to their destination based on their classification.
- 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;
- 17. The method of claim 16, wherein the RARP table is a table to temporarily store IP packets that have hardware addresses.
- 18. The method of claim 16, 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.
- 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.
- 23. The computer readable medium of claim 22 wherein, routing the packets based on their classification is achieved, comprises:
maintaining an Address Resolution Protocol (ARP) table of the classifications to map the IP addresses of the IP packets; and maintaining a route table of the classifications to rout the packets to their destination address.
- 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.
- 26. The method of claim 24 wherein the types of IP packets are Application Resolution Protocol (ARP) request packets, ARP reply packets, IP packets, Interference packets or link layer packets.
- 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.
RELATED APPLICATIONS
[0001] This application claims the benefit of co-pending U.S. Provisional Application Ser. No. 60/173,733 filed Dec. 30, 1999, and U.S. Provisional Application Nos. 60/202,228 and 60/202,229 both filed on May 5, 2000.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60173733 |
Dec 1999 |
US |
|
60202228 |
May 2000 |
US |
|
60202229 |
May 2000 |
US |