IP in IP is an IP tunneling protocol that encapsulates one IP packet in another IP packet. To encapsulate an IP packet in another IP packet, an outer header is added with <code>Source IP</code>, the entry point of the tunnel, and <code>Destination IP</code>, the exit point of the tunnel. While doing this, the inner packet is unmodified (except the <code>TTL</code> field, which is decremented). The <code>Don't Fragment</code> and the <code>Type Of Service</code> fields should be copied to the outer packet. If the packet size, including the outer header, is greater than the <code>Path MTU</code>, the encapsulator fragments the packet. The decapsulator will reassemble the packet.
Outer IP header has the following fields: