1. 程式人生 > >IPSec 的兩種工作模式及其報文封裝格式

IPSec 的兩種工作模式及其報文封裝格式

隧道(tunnel)模式:隧道模式保護所有 IP 資料並封裝新的 IP 頭部,不使用原始 IP 頭部進行路由。在 IPSec 頭部前加入新的 IP 頭部,源目為 IPSec peer 地址。並允許 RFC 1918(私有地址)規定的地址參與 VPN 穿越網際網路。

AH Tunnel modeAH Tunnel mode ESP Tunnel modeESP Tunnel mode

傳輸(transport)模式:傳輸模式保護原始 IP 頭部後面的資料,在原始 IP 頭和 payload 間插入 IPSec 頭部(ESP 或 AH)。典型應用為端到端的會話,並且要求原始 IP 頭部全域性可路由。

AH Transport modeAH Transport mode ESP Transport modeESP Transport mode

兩者的區別在於 IP 資料報的 ESP 負載部分的內容不同。在隧道模式中,整個 IP 資料報都在 ESP 負載中進行封裝和加密。當這完成以後,真正的 IP 源地址和目的地址都可以被隱藏為 Internet 傳送的普通資料。

這種模式的一種典型用法就是在防火牆-防火牆之間通過虛擬專用網的連線時進行的主機或拓撲隱藏。在傳輸模式中,只有更高層協議幀(TCP、UDP、ICMP 等)被放到加密後的 IP 資料報的 ESP 負載部分。在這種模式中,源和目的 IP 地址以及所有的 IP 包頭域都是不加密傳送的。

簡單的說,加密點不等於通訊點的時候就是 tunnel 模式,如果加密點等於通訊點的話就是傳輸模式。但是要注意,預設情況下都是 tunnel 模式的需要你更改一下,這個你在 show crypto ipsec sa 中可以看到,因為傳輸模式比 tunnel 模式少了一個頭,這樣提供了更大的負載空間,所以儘量使用傳輸模式。

Transport 是兩臺電腦直接通過 IPSec VPN 連線的時候用的,tunnel 是隻要一端採用閘道器的話就需要用 Tunnel 隧道模式。因為如果採用 Transport 連線一端是閘道器的時候,閘道器有 NAT 功能,會將地址變換,而傳輸是隻識別原 IP 的,這樣就會被直接丟棄掉。而 Tunnel 隧道模式則是直接建立隧道用於兩端的通訊,不會出現被拋棄的情況。

在 tunnel 和 transport 模式下的資料封裝形式如下圖所示,圖中 data 為原 IP 報文。

IPSec的兩種工作模式及其報文封裝格式IPSec的兩種工作模式及其報文封裝格式