3.3. IPsec 可在何处实现
IPsec 可以通过多种方式实现:在主机中实现,或结合路由器或防火墙创建安全网关,或作为独立的安全设备实现。
实现方式
a. 原生 IP 协议栈集成
IPsec 可以集成到原生 IP 协议栈中。这要求能够访问 IP 源代码,并且适用于主机和安全网关两类场景,尽管如后文所述(第 4.4.1 节第 6 段;第 4.4.1.1 节最后一段),原生主机实现从这种策略中受益最大。
b. 协议栈内嵌(BITS)
在“协议栈内嵌(bump-in-the-stack,BITS)”实现中,IPsec 实现位于现有 IP 协议栈实现的“下层”,处于原生 IP 与本地网络驱动程序之间。在此情形下不要求访问 IP 协议栈的源代码,因而这种实现方式适合与遗留系统配合使用。采用此方式时,通常用于主机。
c. 线缆内嵌(BITW)
使用专用的、内联的安全协议处理器,是军用系统以及某些商用系统的常见设计特征。这有时称为“线缆内嵌(bump-in-the-wire,BITW)”实现。此类实现可以设计为服务主机或网关。通常,BITW 设备本身可由 IP 寻址。在支持单台主机时,它可能与 BITS 实现非常类似;但在支持路由器或防火墙时,它必须像安全网关一样运行。
实现的灵活性
本文档经常以主机或安全网关使用 IPsec 的方式进行讨论,而不考虑其实现是原生的、BITS 还是 BITW。当这些实现选项之间的区别很重要时,本文档会引用具体的实现方式。
IPsec 的主机实现可能出现在不一定被视为“主机”的设备中。例如,路由器可以使用 IPsec 保护路由协议(如 BGP)和管理功能(如 Telnet),而不影响穿越该路由器的用户流量。安全网关可以使用独立的 IPsec 实现来保护其管理流量和用户流量。本文档所描述的架构非常灵活。例如,一台具备完整功能、合规的原生操作系统 IPsec 实现的计算机,应当能够配置为保护驻留的(主机)应用,并为穿越该计算机的流量提供安全网关保护。这种配置会使用第 5.1 节和第 5.2 节描述的转发表和 SPD 选择功能。