|Minimal Encapsulation Protocol|
|Type:||Transport layer protocol.|
An IP datagram is encapsulated with an outer minimal forwarding IP header.
This document specifies a method by which an IP datagram may be encapsulated (carried as payload) within an IP datagram, with less overhead than "conventional" IP encapsulation that adds a second IP header to each encapsulated datagram. Encapsulation is suggested as a means to alter the normal IP routing for datagrams, by delivering them to an intermediate destination that would otherwise not be selected by the (network part of the) IP Destination Address field in the original IP header. The process of encapsulation and decapsulation of a datagram is frequently referred to as "tunneling" the datagram, and the encapsulator and decapsulator are then considered to be the the "endpoints" of the tunnel; the encapsulator node is refered to as the "entry point" of the tunnel, and the decapsulator node is refered to as the "exit point" of the tunnel.
The Mobile IP working group has specified the use of encapsulation as a way to deliver packets from a mobile node's "home network" to an agent that can deliver datagrams locally by conventional means to the mobile node at its current location away from home. The use of encapsulation may also be indicated whenever the source (or an intermediate router) of an IP datagram must influence the route by which a datagram is to be delivered to its ultimate destination. Other possible applications of encapsulation include multicasting, preferential billing, choice of routes with selected security attributes, and general policy routing.
A minimal forwarding header is defined for datagrams which are not fragmented prior to encapsulation. Use of this encapsulating method is optional. Minimal encapsulation MUST NOT be used when an original datagram is already fragmented, since there is no room in the minimal forwarding header to store fragmentation information. To encapsulate an IP datagram using minimal encapsulation, the minimal forwarding header is inserted into the datagram.
|MAC header||IP header||Minimal encapsulation header||Data :::|
The original IP header is modified as follows:
Minimal encapsulation header:
|Destination IP address|
|Original Source IP address|
Copied from the Protocol field in the original IP header.
S, Original Source Address Present. 1 bit.
|0||The Original Source Address field is not present. The length of the minimal tunneling header is 8 bytes.|
|1||The Original Source Address field is present. The length of the minimal tunneling header is 12 bytes.|
Always cleared to 0.
The 16-bit one's complement of the one's complement sum of all 16-bit words in the minimal forwarding header. For purposes of computing the checksum, the value of the checksum field is 0. The IP header and IP payload (after the minimal forwarding header) are not included in this checksum computation.
Original Source IP address.
Copied from the Source Address field in the original IP header. This field is present only if the S bit is set.
[RFC 2004] Minimal Encapsulation within IP.