La modalità ESP / tunnel viene spesso utilizzata quando si desidera collegare due reti di POP differenti: si implementa fondamentalmente un intero livello di rete e di routing su un livello di crittografia e le reti non hanno conoscenza sufficiente per attraversare un rete pubblica (come internet). Quando si desidera semplicemente crittografare qualsiasi cosa tra due endpoint senza un layer di routing (di solito quando quei due endpoint vogliono parlare tra loro, ma non le reti dietro di loro) è oneroso creare un ulteriore strato di routing.
La modalità di trasporto viene utilizzata sempre tra due endpoint quando non è richiesto un tunnel completo con instradamento e rete separati. Questo è in qualche modo analogo a quando si crea una connessione TLS tra il computer e un sito Web; non ti interessa che qualcuno possa vedere il traffico tra voi due, ma lo volete crittografato.
La modalità di trasporto è approssimativamente l'equivalente di una connessione TLS al sito web della tua banca, mentre la modalità tunnel è approssimativamente l'equivalente di utilizzare un client VPN per connettersi alla rete interna del tuo datore di lavoro. Ci sono delle eccezioni, naturalmente, ma questo è il senso generale di ciò.
Esempio: dì che hai due macchine con IP pubblici e vuoi che facciano chiamate RPC l'una all'altra. Ovviamente non vuoi che comunichino su Internet senza crittografia o autenticazione. Puoi farlo tramite TLS (livello 7), ma puoi farlo tramite il trasporto IPsec (livello 4), in quanto rimuove l'onere della crittografia su qualsiasi software che stai utilizzando; questo è particolarmente importante se quel software non ha alcuna comprensione di TLS. Con la modalità di trasporto, tutto tra le due macchine viene crittografato, dalle richieste ping a telnet a qualsiasi traffico casuale aperto tra i due.
Ora POTREI fare questo su un tunnel ESP, ma 1) questo richiede che tutto il tuo software sia a conoscenza dei nuovi endpoint di routing, IP e gateway, piuttosto che gli IP pubblici già esistenti e 2) sia meno efficiente, come ora hai il traffico crittografato più l'overhead del tunnel aggiuntivo.
Come per AH, raramente l'ho visto implementato, poiché il suo scopo principale è verificare che tutti i payload arrivino immutati dalla sorgente. Le situazioni in cui ti interessa la verifica, ma non la crittografia, sono abbastanza piccole e spesso meglio servite con crittografia completa, ma i posti teorici in cui verrebbero utilizzati includeranno cose come l'anti-virus / malware che viene iniettato da terze parti in transito ma dove la crittografia completa potrebbe essere troppo costoso per l'hardware a portata di mano. Di nuovo, queste sono applicazioni di nicchia.