Transparent Mobile IP
Migrate till your heart's content...

Project Status

Version 0.14a, the latest major alpha release, is now available at the project SourceForge site.

TMip SourceForge


Set up Howto

A developmental version of 0.5a can also be downloaded here.

 Project Introduction

 Quick Introduction

This project aims to provide IP mobility across multiple networks, ensuring that all active TCP sessions will be maintained upon migration. No client side software or alteration to IP stack is required. The network itself changes to provide connectivity to hosts, using IP tunnelling techniques.

 Further Details

The TMip networks consists of a single Mobile Location Register (MLR), and a series of Correspondent Nodes (CNs). The MLR acts as a mapping between clients (i.e. the Ethernet MAC address), their current location, and IP allocation. Each CN will have attached to it a mobility equipped network, be it wireless or wired. Each network is on a different subnet, and hence requires level 3 routing to communicate between the two. Mobile hosts initially appear in one of these cells, and obtain an IP address and network allocation. Single cell subnets are used, hence each host will get a /30 network (network mask of, giving network address, IP address, gateway address and broadcast address).

For an explanation of terms, see here.

If this host now migrated to a network served by a different CN, then this migration will be detected by the new CN, using various methods such as ARP/IP/DHCP etc. This CN now contacts the parent CN (where the host initially appeared), and possibly the old CN from where the host has just migrated from. Within one single transactional hand-over (distributed two phase commit), the host will be handed over to the new CN, and the network updated. This whole process is transparent to the client, and typically very nippy!

Client migrations do not affect network routing tables. Whilst remote, outgoing data packets will travel from the mobile host as normal. However, since their source address falls under a different CN, reply packets will not be routed back directly. With the aid of the MLR, the parent CN knows the current location of the host, and will forward (over a tunnel) the packets to the current CN. They can then be delivered normally on the local CN network.

Possible optimisations can be performed, such as if the external host knows about TMip mobility. Instead of sending the packets to the mobile hosts parent CN, it could send them straight to the current CN, hence removing the extra two sides of the triangle.

A more detailed introduction is included here.

 Project Status

The latest alpha version available is 0.14a, an alpha release. This can be downloaded from the SourceForge TMip web site. You can also grab the very latest version from the tmipcore module in the CVS repository.

A newer version is also available, 0.5a, which includes many new features and significant changes. Due to this it is still under development, but can be downloaded here.

You can use the following to check the latest version out directly (use a blank password):

cvs login
cvs -z3 co tmipcore

Work is currently being done on a GUI network manager, and Perl modules to build a web based management system. See the Net::TMip::MLR package on the SourceForge TMip project page.

Goto Top


Best place to start is to look at the HowTo. This covers the steps required to establish a complete TMip network, and get everything running.

A more detailed introduction is included here.


See the SourceForge TMip site for all downloads/forums and CVS archives.

I have also written a small Perl script to help people test their TMip network. It enables a single (currently FreeBSD host, but with minor alterations it should work on Linux) wireless node to act as many. Click here to download it.


For interactive help, try #tmip or #sown on, either myself (Sly) or one of the other SOWN guys are usually around (try #sown if not). Feel free to mail me (, or use the forums on the SourceForge site ( Logo

Goto Top