Mobile IP Extension to the Click Modular Router
Introduction |
Documentation |
Examples |
Downloads |
Change Log |
Back
Maybe it is a good idea to get yourself familiar with
The Click Modular Router
before you read on...
What you have here is an extension to the Click Modular Router.
New Elements
Supporting Elements
Supporting Structures
- mip.h
This is a header file contains new structures for all the Mobile IP related extensions.
- icmpext.h
This is a header file contains new ICMP structures not included in Click itself.
Configuration Examples
- Case 1
This is a very simple scheme which only contains:
- one Home Network with a Home Agent
- one Foreign Network with a Foreign Agent
- one Mobile Node with only one NIC
The Mobile Node (MN(v0.1.2)) can be connected
to either the Home Network (HN) or the Foreign Network (FN). It changes its point of attachment
by switching to another cable, as shown below:
------ ------
| MN | | MN |
------ ------
/ \
/ ==> \
/ \
------ ------ ------ ------
| HA |----------| FA | | HA |----------| FA |
------ ------ ------ ------
Here the Home Agent (HA(v0.1.2)) is also the gateway
on the HN. Foreign Agent (FA(v0.1.2)) acts as the
gateway on the FN. The direct line between HA and FA can be looked as a network connecting HN and FN.
There could be quite some variations to Case 1. For example the direct link between HA
and FA can be replaced with networks of any scale, as long as the routing tables of HA and FA
are complete. Multiple NICs on the MN is also possible. You can refer to Case 2 to see how
it works.
- Case 2
This is a much more complicated scheme which contains:
- one Home Network with a Home Agent
- two Foreign Networks with a Foreign Agent on each of them
- one Mobile Node with three NICs
The MN (MN(v0.1.2)) can move around and connects
to either the HN or one of the FNs. The change in its position can be realized by switching cables
(as in case 1), or by connecting all of them at the same time and manually selecting the desired
one. The latter is shown as below:
------ ------
| MN | | MN |
------ ------
/ | \ / | \
/ X X X | X
/ | \ / | \
------ ------ ------ ------ ------ ------
| HA | | FA 1 | | FA 2 | ==> | HA | | FA 1 | | FA 2 |
------ ------ ------ ------ ------ ------
\ | / \ | /
\ | / \ | /
\ | / \ | /
-------- --------
| Router | | Router |
-------- --------
It is realized by a small external program called mipchdev, which communicates with the running Click
router via unix socket. The way to use the socket can be found
here. The detailed instruction
can be found in the .click configuration file of the MN.
Having even more FNs in the configuration is possible. If not enough NICs are available, MN can
be switched among different networks in a similar manner as in Case 1: you can disconnect any inactive
link from its currently connected network to the network you want the MN to move to, and then activate
it. The reason behind it is that all NICs on the MN are identical to the MN except their MAC addresses,
so any NIC can be connected to any network.
NOTE: version number in the parentheses indicates which version of the element set this configuration
file uses.
How to Use These Examples
Normally the examples should be adjusted to fit your network environment before you can reuse them:
- MAC Addresses
MAC address for each NICs should be correctly set in the .click configuration files.
- IP Addresses
You can just use the IP addresses in the examples, or choose some other ones if you desire. Please note
that the IP addresses configured in Linux (using 'ifconfig') can be different from the ones set in the
.click files, but only the latter ones are effective.
- Routing Table
If you've changed the IP addresses, or you decide to change the topology, remember to supply a FULL
routing table in the .click files. The routing table in Linux (use 'route' to show them) is NOT effective
for Click running in the user-level mode. You can even flush this routing table, so that packets will
only be processed and routed by the .click configurations.
When you are familiar with these new elements, you can tailor the examples for your needs, or use these new
elements in your own configurations. But please note that MIPHomeBinding, MIPForeignList, MobileNodeState and
SwitchSyn need other elements' cooperation to carry out their functions.
Source files
Help Files
NOTE: shaded elements are controled by MIPHomeBinding/MIPForeignList/MIPMobileNode.
- 25/07/2005 Advanced to Version 0.1.2
* MobileNodeState is replaced by MIPMobileNode.
* mip.h is splitted into mip.h and icmpext.h, new structures for regional registration are added.
* MIPHomeBinding and MIPForeignList now have stronger validation check.
* MIPAdvert supports more flag setting options.
* Example scripts adapted to the new version of elements.
- 30/05/2005 Available as Click Package
* Now the source is also available as a separate Click package. The package, named 'mobileip',
contains the sample configuration files as well. To use the new elements introduced in this package,
you should add a new line 'require(mobileip);' in your configuration files.
- 25/05/2005 Advanced to Version 0.1.1
* GratuARP is added for sending out gratuitous ARP replies.
* Minor changes in the syntax of SwitchSyn.
* Minor changes in MIPHomeBinding: it doesn't send gratuitous ARP any more; output to the
Home Network now emits only IP packets, Ethernet header is added afterwards by EtherTunneling.
- 10/05/2005 Upgrade to Version 0.1
* mip.h is changed to be more consistant with /include/clicknet/icmp.h
* HomeAgentTable, ForeignAgentList and MobileIPAdvertise are replaced by MIPHomeBinding,
MIPForeignList and MIPAdvert. MIPHomeBinding now only handles registrations, while HomeAgentTable
takes care of registration, ARP and IP tunneling; The same is true for MIPForeignList replacing
ForeignAgentList. MIPAdvert now handles both solicitated and periodically sent advertisements.
* IPTunneling and EtherTunneling are added to take over the tunneling functionality which is
extract from MIPHomeBinding and MIPForeignList.
* the cooperation between elements is now always through Handlers.
- 25/03/2005 Version 0.0 released
* New elements are added to the Click Router to support Mobile IPv4
* Configuration examples are provided