encapsulating security payload, ESP(封装安全有效负荷)协议为 ESP 所封装的内容提供保密性。ESP 也提供 AH 提供的服务。然而,ESP 不保护外部的 IP 头。ESP 会提供验证服务以确保受保护的包的完整性。因为 ESP 使用启用了加密的技术,因此提供 ESP 的系统可能会受进出口控制法制约。
ESP 头和尾会封装 IP 有效负荷。将加密与 ESP 一起使用时,它仅应用于 IP 有效负荷数据,如下图所示。
在 TCP 包中,ESP 头会接受验证,并且它可以封装 TCP 头及其数据。如果包是 IP-in-IP 包,则 ESP 会保护内部的 IP 包。由于每个套接字的策略允许自封装,因此,ESP 可以在需要时封装 IP 选项。
编写使用 setsockopt() 的程序时,可以使用自封装。如果设置了自封装,则会生成 IP 头的副本,用来构建 IP-in-IP 包。例如,如果未在 TCP 套接字上设置自封装,则会以下列格式发送包:
[ IP(a -> b) options + TCP + data ]
如果在 TCP 套接字上设置了自封装,则会以下列格式发送包:
[ IP(a -> b) + ESP [ IP(a -> b) options + TCP + data ] ]
有关进一步介绍,请参见IPsec 中的传输模式和隧道模式。
下表比较了 AH 和 ESP 提供的保护。
|