TUTORIALS 》 IP-in-IP Tunneling Demystified - VPN Tunnels

There can be many ways one can architect VPN Networks. The end objective is to tunnel private IP (typically LAN subnets) within public IP Networks (such as Internet). You can establish such a tunnel in various creative ways, such as Transport Mode, Tunnel Mode, IP-in-IP tunneling, etc. Also you can choose any transport layer protocol of your choice such as send VPN traffic via TCP, or via UDP and so on.

Sometimes since our objective is to just create a tunnel on public Internet (i.e L3 Routed Network), we may never need a transport layer. In such cases, we can just tunnel via IP-in-IP alone as shown below:
ip in ip scenarios VPN Tunnels
Since the routers operate in Layer-3, such VPN packets in theory will perfectly work and will reach the intended destination. From there the VPN server(s) or an app can recreate original LAN packets.

So if you see that way we can compare the VPN packet encapsulation differences between just IP-in-IP vs via added Transport Layer (either TCP or UDP).
IP in IP vs TCP UDP tunnels

In some weird situation if this VPN data (in this case IP-in-IP) is encapsulated inside another VPN Network (again IP-in-IP), then you can get into a weird scenario like this as shown below. Although it is perfectly fine to do as per the IPv4 routed network standards, we should know the fact that each VPN tunnel/layer will reduce the MTU of the actual application payload due to all those extra added headers and as well performance due to encapsulation as well possibly VPN tunnel compression.
Nested IP in IP VPN Tunnels

For VPNs which are built via Transport Layer network sockets (such as TCP/ UDP), one can choose either of the protocols. Since what we send the LAN data itself could be end-to-end TCP sessions which has reliability in place, we don't need strictly VPNs with TCP as its Transport Layer protocol such as TCP. Instead we can use UDP itself. Which is why I say always UDP is nothing but Layer-2 on IPv4 Networks.
VPN Tunnel Reliability

PacketLife.net Packet Captures - https://packetlife.net/captures/category/tunne ...
IP in IP tunneling - https://en.wikipedia.org/wiki/IP_in_IP

Here is an extensive Youtube video of mine on the same with a deeper insight on the same with some live packet analysis:

I would also recommend this below Youtube video episode of mine shot long ago before I published my earlier video. In which I discussed overall VPN architecture, design possibilities and compared the architecture with live real-world examples:

Also recommend to watch:

Featured Video:

Suggested Topics:

☆ Tutorials :: Arduino UNO Projects ↗

☆ Tutorials :: Network Software Development ↗

☆ Tutorials :: Research and Projects ↗

☆ Tutorials :: Linux (user-space), Systems Architecture ↗

☆ Tutorials :: Linux Kernel Software Development ↗

☆ Tutorials :: Linux Kernel Internals (PDFs) - by Ramin Farajpour ↗

☆ Tutorials :: Software Development (Programming) Tools ↗

☆ Tutorials :: Embedded Projects ↗

Join The Linux Channel :: Facebook Group ↗

Visit The Linux Channel :: on Youtube ↗

💗 Help shape the future: Sponsor/Donate

Recommended Topics:
Featured Video:
Watch on Youtube - x222 Embedded and Systems Development | What is a Board Bringup | Kernel Porting ↗

Weekly News Digest - Week 03 - July 2020 ↗
Wednesday' 20-Jan-2021
The Linux Channel :: Weekly News Digest - Week 03 - July 2020
> Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
> QNAP launches its first 2.5GbE network switch - QSW-1105-5T
> Japan's ARM-based Fugaku is the world's fastest supercomputer
> FreeBSD Back To Seeing Progress On 802.11ac WiFi Support, Ath10k Driver
> Sparkfun Launches the ZED-F9R GPS Dead Reckoning Raspberry Pi pHAT for Mobile Robots
> ODROID-N2 Plus SBC Gets Amlogic S922X Rev. C Processor Clocked at up to 2.4 GHz
> Rock Pi E SBC Comes with WiFi, Bluetooth, Two Ethernet Ports, and Optional PoE

Ubuntu installation, setup and upgrade ↗
Wednesday' 20-Jan-2021

The Linux Channel :: Video Index ↗
Wednesday' 20-Jan-2021

Weekly News Digest - Week 01 - June 2020 ↗
Wednesday' 20-Jan-2021
> UDOO BOLT GEAR AMD Ryzen Embedded V1605B Mini PC with Arduino Subsystem Launched for $399 > Systemd Will Change How Your Linux Home Directory Works > How to Manage Systemd Services on a Linux System > Linux 5.7 Kernel Released With New Apple Driver, Official Intel Gen12 Graphics > 8GB Raspberry Pi 4 on sale now at $75 > Bye Raspbian! Long Live Raspberry Pi OS! > Ultra-narrow DipDuino Arduino Compatible Board is a Perfect Breadboard Companion

Generic VLOGs ↗
Wednesday' 20-Jan-2021
My general and tech VLOGs

Weekly News Digest - Week 03 - June 2020 ↗
Wednesday' 20-Jan-2021
The Linux Channel :: Weekly News Digest - Week 03 - June 2020 > Kimχ Micro: A powerful alternative to the Raspberry Pi that supports PCIe cards > Linux Lands And Then Reverts Usage Of Flexible Array Members > AMD Ryzen 4000-Powered Asus Mini PC Challenges Intel's NUC > Aaeon's Raspberry Pi-like Board Bears An Intel 8th Gen Core i7 CPU and 16GB of DDR4 > Linus Torvalds Announces Massive Linux Kernel 5.8 Update > New Cisco Cloud Scale ASIC & 400G Line Card Announced > Key Differences of PoE vs PoE+ vs PoE++ Switches a STH Guide

CEO, CTO Talk ↗
Wednesday' 20-Jan-2021

Ubuntu Cloud Day Bangalore, India 2012 ↗
Wednesday' 20-Jan-2021

MySQL database server installation ↗
Wednesday' 20-Jan-2021

My Home-Lab Data Storage and Hard drives ↗
Wednesday' 20-Jan-2021

Trending Video:
Watch on Youtube - x222 Embedded and Systems Development | What is a Board Bringup | Kernel Porting ↗

Weekly News Digest - Week 12 - March 2018 ↗
Wednesday' 20-Jan-2021
> ReSpeaker Core v2 is a 6-Mic Array Audio Development Kit Powered by Rockchip RK3229 Processor > How to monitor network protocol traffic on your data center Linux servers > Open Source LimeSDR Mini Takes Off in Satellites > Marvell revs up Ethernet to 400Gbps with new ‘Alaska’ chips > Natural Language Processing (NLP) > WAGO PFC200 PLC Runs Embedded Linux, Supports Web and Mobile Visualization

Recommended Video:
Watch on Youtube - x222 Embedded and Systems Development | What is a Board Bringup | Kernel Porting ↗