我有两个使用 ipsec 连接的站点,ipsec 使用两个 netscreen 框连接,我想将 VLAN 从一个站点扩展到另一个站点是否可以在不添加任何新组件的情况下实现这一目标
通过 L3 网络扩展 VLAN
那么,您想通过具有 IPsec 链路的 IP 网络对以太网帧进行隧道传输吗?像任何 IP 网络一样工作,但您必须小心 MTU(一如既往)。IPsec 链接的最大传输单元 (MTU) 通常低于 1500,但使用基于 IP 的以太网,无论如何您都会遇到 MTU 问题。
解决方案可能是RFC7348中指定的 VXLAN 。但是,请注意,由于 VXLAN 通过 UDP 运行,因此存在大量开销。如果 IPsec 链路的 MTU 为 1500,那么 IPsec、UDP 和 VXLAN 会一起增加开销,这意味着以太网链路的 MTU 小于 1500。要使以太网链路的 MTU 为 1500,则需要大于 1500 的 MTU IPsec 链接,这在 Internet 中通常是不可能的。
请注意,由于 VXLAN 在第 2 层上运行,因此无法生成 ICMP 数据包太大消息(即第 3 层消息)。这意味着您必须手动将以太网链路的 MTU 配置为较小的值,否则您将丢弃数据包(=无连接)或碎片数据包(=性能问题)。
RFC2784中指定的 GRE(通用路由封装)也可用于传输以太网帧(透明以太网桥接,Ethertype 0x6558),但防火墙可能不喜欢直接在 IP 上运行的 GRE,而更喜欢在 UDP 上运行的 VXLAN。然而,GRE 是一个几乎被一致使用的行业标准,因此来自知名供应商的大多数优质防火墙应该提供允许 GRE 流量的可能性。
MTU/分段问题同样适用于在 IP 或 UDP 之上运行的所有协议,中间没有 TCP。
现在,TCP 作为以太网数据包的传输方式呢?您通过以太网链路传输的流量可能已经在使用 TCP 的一个级别,因此您将在 TCP 上运行 TCP。这是非常不鼓励的,因为您有两个级别会发生重新传输,这意味着如果出现数据包丢失,系统的性能可能会灾难性地降低。TCP 会消除 MTU 问题,但是因为 TCP over TCP 在丢包的情况下可能会产生灾难性的行为,所以我不推荐它。