Virtual Machine Roaming in the Cloud

If you have a mobile phone and travel to other areas or countries, you can still use it to make and receive a call. Your phone number does not change. This is called roaming in the wireless telecommunications.

In the cloud environment, your virtual machine can “travel” around as well, maybe from one datacenter to another, from your enterprise to one of your service providers or the other way around, or from one service provider to another.

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

It’s relatively easy for a virtual machine to move around with either cold migration (just copy the related files), or live migration like vMotion or long distance vMotion. The tricky part is how to keep the original IP address so that it can still be located easily. If you use a virtual machine for browsing Internet, it’s fine to have a new IP address. Mostly this IP goes through a proxy and it’s not visible outside anyway. For a server, it’s different.

You may loosen the requirement a bit say keep the DN but map the DN to the new IP immediately. It definitely works in some cases, but not all. The IP address is still the ultimate address and ID. For a real roaming, the IP address should remain the same.

To satisfy my curiosity, I searched the web and found there are in fact RFCs on this: IETF RFC 3344 for IPv4, and RFC 3775 for IPv6. Also this wiki page provides nice introduction:

A mobile node can have two addresses – a permanent home address and a care-of address (CoA), which is associated with the network the mobile node is visiting. Two kinds of entities comprise a Mobile IP implementation:

  • A home agent stores information about mobile nodes whose permanent home address is in the home agent’s network.
  • A foreign agent stores information about mobile nodes visiting its network. Foreign agents also advertise care-of addresses, which are used by Mobile IP.

A node wanting to communicate with the mobile node uses the permanent home address of the mobile node as the destination address to send packets to. Because the home address logically belongs to the network associated with the home agent, normal IP routing mechanisms forward these packets to the home agent. Instead of forwarding these packets to a destination that is physically in the same network as the home agent, the home agent redirects these packets towards the foreign agent through an IP tunnel by encapsulating the datagram with a new IP header using the care of address of the mobile node.

When acting as transmitter, a mobile node sends packets directly to the other communicating node through the foreign agent, without sending the packets through the home agent, using its permanent home address as the source address for the IP packets. This is known as triangular routing. If needed, the foreign agent could employ reverse tunneling by tunneling the mobile node’s packets to the home agent, which in turn forwards them to the communicating node. This is needed in networks whose gateway routers have ingress filtering enabled and hence the source IP address of the mobile host would need to belong to the subnet of the foreign network or else the packets will be discarded by the router.

As you can see, the related technology does not require virtualization at all. You can apply it with physical servers. But virtualization and cloud computing has made it so easy to move a virtual machine, therefore more demand for virtual machine roaming.

This entry was posted in Cloud Computing, Virtualization and tagged , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  • NEED HELP?


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.