Obecný princip tunelování je zobrazen na následujícím obrázku.
Každý tunel má obecně dva konce a každý konec má svoji vlastní IP adresu. Pokud se zařízení rozhodne na jednom konci, na základě směrovací tabulky nebo speciální adresy příjemce v příchozím IPv6 datagramu, že daný IPv6 datagram má odeslat tunelem, vezme jej a vloží jako data do nově vytvořeného IPv4 datagramu. Cílová adresa nového IPv4 datagramu bude IPv4 adresa druhého konce tunelu a jako adresa odesilatele se vezme IPv4 adresa zdejšího konce tunelu. Do položky Protokol v IPv4 datagramu se uloží hodnota 41, čímž dá najevo, že se jedná o tunelovaný IPv6 datagram.
Datagram se odešle běžným způsobem sítí IPv4 na druhý konec tunelu. Podle hodnoty 41 v položce Protokol pozná příjemce na druhé straně tunelu, že obdržel tunelovaný IPv6 datagram. Příjemce IPv6 datagram vybalí a dále zpracuje na základě jeho cílové IPv6 adresy a IPv6 směrovací tabulky příjemce. Z hlediska IPv6 je celý průchod tunelem počítán za jeden skok a zařízení na druhé straně tunelu (směrovač) zmenší položku Maximální počet skoků v IPv6 záhlaví o jedna.
V případě spolupráce IPv4 a IPv6 se používají dva režimy tunelování: