Mobile IP (or MIP) is an Internet Engineering Task Force (IETF) standard communications protocol that is designed to allow mobile device users to move from one network to another while maintaining a permanent IP address. Mobile IP for IPv4 is described in IETF RFC 5944, and extensions are defined in IETF RFC 4721. Mobile IPv6, the IP mobility implementation for the next generation of the Internet Protocol, IPv6, is described in RFC 6275.

Introduction 
The Mobile IP allows for location-independent routing of IP datagrams on the Internet. Each mobile node is identified by its home address disregarding its current location in the Internet. While away from its home network, a mobile node is associated with a care-of address which identifies its current location and its home address is associated with the local endpoint of a tunnel to its home agent. Mobile IP specifies how a mobile node registers with its home agent and how the home agent routes datagrams to the mobile node through the tunnel.

Applications 
In many applications (e.g., VPN, VoIP), sudden changes in network connectivity and IP address can cause problems. Mobile IP was designed to support seamless and continuous Internet connectivity.

Mobile IP is most often found in wired and wireless environments where users need to carry their mobile devices across multiple LAN subnets. Examples of use are in roaming between overlapping wireless systems, e.g., IP over DVB, WLAN, WiMAX and BWA.

Mobile IP is not required within cellular systems such as 3G, to provide transparency when Internet users migrate between cellular towers, since these systems provide their own data link layer handover and roaming mechanisms. However, it is often used in 3G systems to allow seamless IP mobility between different packet data serving node (PDSN) domains.

Operational principles 
The goal of IP Mobility is to maintain the TCP connection between a mobile host and a static host while reducing the effects of location changes while the mobile host is moving around, without having to change the underlying TCP/IP. To solve the problem, the RFC allows for a kind of proxy agent to act as a middle-man between a mobile host and a correspondent host.

A mobile node has 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 (HA) stores information about mobile nodes whose permanent home address is in the home agent's network.  The HA acts as a router on a mobile host's (MH) home network which tunnels datagrams for delivery to the MH when it is away from home, maintains a location directory (LD) for the MH.
 A foreign agent (FA) stores information about mobile nodes visiting its network. Foreign agents also advertise care-of addresses, which are used by Mobile IP. If there is no foreign agent in the host network, the mobile device has to take care of getting an address and advertising that address by its own means.  The FA acts as a router on a MH’s visited network which provides routing services to the MH while registered. FA detunnels and delivers datagrams to the MH that were tunneled by the MH’s HA

The so-called Care of Address is a termination point of a tunnel toward a MH, for datagrams forwarded to the MH while it is away from home.
 Foreign agent care-of address: the address of a foreign agent that MH registers with
 co-located care-of address: an externally obtained local address that a MH gets.

A Mobile Node (MN) is responsible for discovering whether it is connected to its home network or has moved to a foreign network. HA’s and FA’s broadcast their presence on each network to which they are attached. They are not solely responsible for discovery, they only play a part.  RFC 2002 specified that MN use agent discovery to locate these entities.  When connected to a foreign network,  a MN has to determine the foreign agent care-of-address being offered by each foreign agent on the network.

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 remote address 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, 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 or "route optimization" (RO) mode. 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 check that the source IP address of the mobile host belongs to their subnet or discard the packet otherwise. In Mobile IPv6 (MIPv6), "reverse tunneling" is the default behaviour, with RO being an optional behaviour.

Development 
Enhancements to the Mobile IP technique, such as Mobile IPv6 and Hierarchical Mobile IPv6 (HMIPv6) defined in RFC 5380, are being developed to improve mobile communications in certain circumstances by making the processes more secure and more efficient.

Fast Handovers for Mobile IPv6 is described in IETF RFC 5568.

Researchers create support for mobile networking without requiring any pre-deployed infrastructure as it currently is required by MIP. One such example is Interactive Protocol for Mobile Networking (IPMN) which promises supporting mobility on a regular IP network just from the network edges by intelligent signalling between IP at end-points and application layer module with improved quality of service.

Researchers are also working to create support for mobile networking between entire subnets with support from Mobile IPv6. One such example is Network Mobility (NEMO) Network Mobility Basic Support Protocol by the IETF Network Mobility Working Group which supports mobility for entire Mobile Networks that move and to attach to different points in the Internet.  The protocol is an extension of Mobile IPv6 and allows session continuity for every node in the Mobile Network as the network moves.

Changes in IPv6 for Mobile IPv6 
A set of mobility options to include in mobility messages
A new Home Address option for the Destination Options header
A new Type 2 Routing header
New Internet Control Message Protocol for IPv6 (ICMPv6) messages to discover the set of home agents and to obtain the prefix of the home link
Changes to router discovery messages and options and additional Neighbor Discovery options
Foreign Agents are no longer needed

Definition of terms 
Home network The home network of a mobile device is the network within which the device receives its identifying IP address (home address).

Home address The home address of a mobile device is the IP address assigned to the device within its home network.

Foreign network A foreign network is the network in which a mobile node is operating when away from its home network.

Care-of address The care-of address of a mobile device is the network-native IP address of the device when operating in a foreign network.

 A home agent is a router on a mobile node’s home network which tunnels datagrams for delivery to the mobile node when it is away from home. It maintains current location (IP address) information for the mobile node. It is used with one or more foreign agents.
 A foreign agent  is a router that stores information about mobile nodes visiting its network. Foreign agents also advertise care-of-addresses which are used by Mobile IP.

Binding A binding is the association of the home address with a care-of address.

See also 
GPRS Tunneling Protocol
Host Identity Protocol (HIP)
Identifier/Locator Network Protocol (ILNP)
Mobility management
Proxy Mobile IPv6 (PMIPv6)
Vertical handoff

References

External links 
RFC 2002 – IP Mobility Support
RFC 6275 – Mobility support for IPv6
RFC 5944 – IP Mobility Support for IPv4, Revised
RFC 4721 – Mobile IPv4 Challenge/Response Extensions
RFC 3024 – Reverse Tunneling for Mobile IP
Inside Mobile IP

Mobile IP explained (a tutorial)
Mobility Extensions for IPv6 (mext) IETF Working Group Web site
Mobile IPv6 -- A short introduction by Holger Zuleger
Linux Mobile IPv6 HOWTO on the Linux Documentation Project
D. Johnson, C. Perkins, J. Arkko. Mobility Support in IPv6. RFC 6275. June 2011
J. Arkko, V. Devarapalli, F. Dupont. Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents. RFC 3776. June 2004
The CDG wiki page for Mobile IP

Network layer protocols
Internet Protocol
모바일 IP(Mobile IP)는 IETF 표준 통신 프로토콜로, 이동 기기 사용자로 하여금 한 네트워크에서 다른 네트워크로 이동하면서 IP 주소를 유지하도록 하기 위해 고안되었다. 모바일 IPv4는 IETF RFC 3344(RFC 3220과 RFC 2002의 진화된 문서)에 기술되어 있고 최신의 내용은 IETF RFC 4721에 추가되었다. 모바일 IPv6는 IETF RFC 3775에 기술되어 있다.

개요 
모바일 IP 프로토콜은 위치에 구애받지 않고 IP 데이터그램을 전송하도록 한다. 각각의 이동 단말은 인터넷 상의 위치와는 무관하게 자신의 home address로 식별된다. 자신의 home network에서 벗어날 경우 이동 단말은 care-of address와 연관되는데 이 주소로 단말의 현재 위치가 식별되며 home agent로 연결되는 터널의 끝단에서 care-of address는 home address와 매핑된다. 모바일 IP는 어떻게 이동 단말이 home agent에 등록하는지, home agent는 어떻게 데이터그램을 터널을 통해 이동 단말로 전달하는지에 대해 기술하고 있다.

모바일 IP는 인터넷 상에서 로밍을 수행함에 있어서 효과적이고, 확장성있는 방법을 제시한다. 모바일 IP를 사용하여 이동 단말은 자신의 home IP address를 바꾸지 않고 접속 지점을 바꿀 수 있다. 이는 로밍을 수행하면서 전송 계층 및 상위 계층의 연결을 유지할 수 있다는 것을 의미한다. 이와 같은 이동성은 인터넷 라우팅 기법을 통한 해당 호스트에 대한 경로 전파 과정없이 실현된다.

응용 
모바일 IP는 이동 단말이 여러 LAN 서브넷을 이동하는 일이 많은 유무선 환경에서 광범위하게 사용된다. 예를 들어, DVB, WLAN, WiMAX, BWA와 같은 서로 다른 무선 네트워크 시스템이 중첩된 경우에도 이들 간의 로밍시 적용 가능하다. 현재 이동 통신 시스템은 고유의 핸드오버 및 로밍 기법을 가지고 있기 때문에 모바일 IP는 3G와 같은 이동 통신 시스템 내부의 이동성 제공을 위해 사용되진 않는다. 하지만, 모바일 IP는 서로 다른 Packet Data Serving Node 도메인 간의 원활한 IP 이동성을 위해 종종 사용된다.

그 밖에 VPN, VoIP와 같은 많은 응용에서 네트워크 연결 및 IP 주소의 갑작스런 변경은 많은 문제를 야기할 수 있기 때문에 모바일 IP는 이러한 문제를 해결할 중요한 기법이라고 볼 수 있다.

동작 원리 
이동 단말은 두 개의 주소-home address와 care-of address(CoA)-를 가지며 단말이 타 망으로 이동 시 이 둘은 서로 연관된다. 모바일 IP에는 아래와 같이 두 종류의 구성요소로 이루어진다.
 Home agent는 자신의 망에 속하는 home address를 갖는 단말에 대한 정보를 저장한다.
 Foreign agent는 자신의 망에 방문(접속)한 단말에 대한 정보를 저장한다. Foreign agent는 또한 모바일 IP의 동작을 위해 필요한 care-of address를 광고한다.
이동 단말과 통신하길 원하는 노드는 해당 이동 단말의 home address를 목적지 주소로 지정하여 패킷을 전송한다. Home address는 home agent가 위치한 네트워크에 소속된 주소이므로 일반적인 IP 라우팅 과정을 통해 패킷은 home agent로 전달된다. 이때 home agent는 이 패킷을 동일 네트워크 내 물리적인 목적지 주소로 전달하는 대신 IP 터널을 통해 foreign agent로 전달한다. 이때 데이터그램은 care-of address가 기입된 또다른 IP 헤더로 감싸여져 전달된다.
반대로 이동 단말이 데이터를 전송할 때에는 데이터는 home agent를 거치지 않고 foreign agent를 거쳐 바로 목적지 노드로 전달된다. 이때 발신지 주소는 이동 단말의 home address로 설정되고 이와 같은 방식을 triangular 라우팅이라고 한다. 필요에 따라 foreign agent는 reverse tunneling을 적용하여 이동 단말의 데이터를 바로 목적지 노드로 전송하는 대신 home agent로 전송할 수 있다. Reverse tunneling은 네트워크 내 게이트웨이 라우터가 인그레스 필터링을 가동하여 이동 단말의 발신지 IP 주소가 foreign network의 서브넷에 속해야 할 경우 필요하다. 만일 인그레스 필터링이 동작하는 상황에서 발신지 IP 주소가 foreign network의 서브넷에 속하지 않은 경우 이 패킷은 삭제된다.

모바일 IP 프로토콜은 다음에 대하여 정의한다.
 이동 단말이 자신의 care-of address를 home agent에 알리는 등록 절차
 ICMP 라우터 탐색의 연장선으로, 차후 사용할 home agent 및 foreign agent의 탐색 방법
 이동 단말에서 송수신되는 패킷에 대한 라우팅 기법 (필수적으로 제공되어야 할 터널링 기법 및 선택적인 터널링 기법을 포함)

차후 개발 방향 
현재 모바일 IP는 모바일 IPv6, Hierarchical MIPv6 등의 다양한 형태로 발전되면서 더욱 안전하면서 효과적인 방향으로 개발되고 있다. 모바일 IP는 어떠한 사전 설비없이 네트워크 간의 이동성을 지원하기 위한 방향으로 개발되고 있으며 그 한 예가 Interactive Protocol for Mobile Networking (IPMN)이다.

용어 정의 
Home network
이동 단말에게 home address를 부여 받은 네트워크를 그 단말의 home network라고 한다.

Home address
Home network내에서 이동 단말에 부여된 주소를 지칭한다.

Foreign network
이동 단말이 home network에서 벗어나 다른 네트워크로 이동하였을 때 그 네트워크를 foreign network라고 한다.

Care-of address
이동 단말이 foreign network에 접속했을 때 해당 서브넷에서의 물리적인 IP 주소를 지칭한다.

Home agent
이동 단말의 home network에 위치한 라우터로 이동 단말의 IP 주소를 유지시키면서 이동 단말로 데이터를 송수신한다.

Foreign agent
이동 단말이 접속한 네트워크에 위치한 라우터로 이동 단말에 대한 정보를 보관하는 동시에 care-of address를 광고한다.

Binding
Home address와 care-of address의 연관을 지칭한다.

같이 보기 
 핸드오프
 로밍
 GPRS 터널링 프로토콜
 모바일 IPv6
 프록시 모바일 IP

외부 링크 
 RFC 3344 - IPv4에서의 IP 이동성 지원
 RFC 4721 - 모바일 IPv4 Challenge/Response 확장
 RFC 3024 - 모바일 IP에서의 Reverse Tunneling

네트워크 계층 프로토콜