Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

通过 IPv4 网络的基于过滤器的隧道组件

通过 IPv4 网络的基于过滤器的隧道拓扑结构

注:

仅当网络服务设置为enhanced-mode时,才会在 PTX 系列路由器上支持基于筛选器的通用路由封装(GRE)隧道。有关更多详细信息,请参阅enhanced-mode

图 1显示来自客户网络 C1 的 passenger 协议数据包的路径,因为它们通过服务提供商的 IPv4 网络传输到客户网络 C2。

图 1: 跨 IPv4 网络的单向基于过滤器的通道跨 IPv4 网络的单向基于过滤器的通道

在此示例拓扑中,C1 和 C2 是不相交的网络,它们之间缺少本机路由路径。IPv4 传输网络使用防火墙过滤器和无需通道接口的单向通用路由封装(GRE)通道配置为 PE1 到 PE2。从 PE1 到 PE2 的 GRE 通道在 IPv4 传输网络中提供了从 C1 到 C2 的逻辑路径。

在通道中路由 GRE 数据包

如果 PE2 从 PE1 路由,则流量流经通道。从 PE1 到 PE2 的路由路径可由手动添加到路由表或静态或动态路由共享协议的静态路由提供。

从 PE2 到 C2 的 Passenger 协议数据包路由

默认情况下,PE2 转发基于从主路由表中导入的接口路由(直接路由)的数据包。作为选项,反封装过滤器可以指定数据包转发引擎使用备用路由表将有效载荷数据包转发至目标客户网络。在随路由安装到 C2 中的路由实例中指定备用路由表,然后使用路由信息库(筋)组定义与备用路由共享主要路由。RIB 组指定路由信息的共享(包括从对等方获知的路由、通过将协议策略应用到获知路由的本地路由,以及通告给对等方的路由(对等)路由表。

网络层协议级别的术语

在通过 IPv4 网络的基于过滤器的隧道中,网络层协议在以下术语中说明:

passenger 协议

由 GRE 通道连接的网络使用的协议类型(IPv4、IPv6 或 MPLS)。在传输网络中封装和路由的数据包都是有效载荷数据包

封装协议

网络层协议(GRE)的类型,用于封装 passenger 协议数据包,以便生成的 GRE 数据包可作为数据包有效负载通过传输协议网络传送。

传输协议

通过 GRE 通道路由 passenger 协议数据包的网络所使用的协议类型。传输协议也称为传递协议

入口 PE 路由器上的术语

在通过 IPv4 网络的基于过滤器的隧道中,将在以下术语中描述出口 PE 路由器:

encapsulator

从 passenger 协议源网络接收数据包的 PE 路由器,将一个封装协议(GRE)标头和一个传输协议(IPv4)标头添加到此负载中,然后将结果 GRE 数据包转发至 GRE 隧道。此入口节点又称为隧道源

封装接口

在 encapsulator 上,在 MIC 或 MPC 上托管的面向客户的接口上配置的以太网逻辑接口或聚合以太网接口。封装接口接收来自 CE 路由器的 passenger 协议数据包。有关详细信息,请参阅支持跨 IPv4 网络的基于过滤器的隧道的接口

封装过滤器

Encapsulator 上的防火墙过滤器,适用于封装接口的输入。封装式过滤器操作会导致数据包转发引擎使用指定的通道模板中的信息封装匹配的数据包并转发生成的 GRE 数据包。

通道源接口

在 encapsulator 上,一个或多个面向核心的向通道出口接口。

通道模板

Encapsulator 上的命名 CLI 构造,用于定义隧道的特征:

  • 传输协议系列(IPv4)。

  • Encapsulator 上面向通道的出口接口的 IP 地址或地址范围。

  • Encapsulator (出口 PE 路由器)上面向通道的入口接口的 IP 地址或地址范围。

  • 封装协议(GRE)。

出口 PE 路由器术语

在 IPv4 网络的基于过滤器的隧道中,将在以下术语中描述出口 PE 路由器:

消除 encapsulator

接收通过基于过滤器的 GRE 通道路由的 GRE 数据包的 PE 路由器将删除传输协议标头和 GRE 标头,然后将生成的负载协议数据包转发至目标网络 CE 路由器。Encapsulator 节点也称为反压缩隧道端点通道目标

反压缩接口

在 encapsulator 上,在任何可从 GRE 通道接收 GRE 数据包的面向核心的入口接口上配置的任何以太网逻辑接口或聚合以太网接口。底层物理接口必须驻留在 MIC 或 MPC 上。有关详细信息,请参阅支持跨 IPv4 网络的基于过滤器的隧道的接口

反封装过滤器

Encapsulator 上的防火墙过滤器会导致数据包转发引擎反封装匹配的 GRE 数据包,然后将原始 passenger 协议数据包转发至目标网络 CE 路由器。

通过单个 GRE 通道传输的 GRE 数据包可到达任意多个入口接口上的 encapsulator 节点,具体取决于路由的配置方式。因此,您必须将反封装防火墙过滤器应用于每个面向核心的接口的输入,作为 encapsulator 的通告地址。

IPv4 网络基于过滤器的隧道的 GRE 协议格式

在 IPv4 网络的基于过滤器的隧道中,封装接口是符合 RFC 1701 标准的发射器,而解封装接口是 符合 RFC 1701标准的接收器。在此功能中实施的数据包封装结构使用符合信息 RFC 1701、通用路由封装 (GRE)(1994 年 10 月)和标准系列 RFC 2784(通用路由封装 (GRE))(2000 年 3 月)的 GRE 标头格式。

数据包封装结构

基于过滤器的隧道将原始 passenger 协议数据包封装在一个外部外壳中。对于跨 IPv4 网络的基于过滤器的隧道,shell 会增加 24 字节或 28 字节的开销,包括 20 字节的 IPv4 标头。 图 2 显示了附加了 GRE 标头和 IPv4 报头的协议数据包(GRE 有效负载)的结构。

图 2: 通过 IPv4 网络的基于过滤器的隧道的封装结构通过 IPv4 网络的基于过滤器的隧道的封装结构

如 RFC 1701 中指定,五个 GRE 标志位指示特定 GRE 报头是否包含任何可选字段(校验和、偏差、密钥、序列号和路由)。在五个可选字段中,基于筛选器的 GRE IPv4 隧道仅使用密钥字段。

GRE 标头格式

图 3 显示了用于跨 IPv4 网络的基于过滤器的隧道的可变大小 GRE 标头的格式,其中位 0 最明显,位 15 最不明显。

图 3: 在 IPv4 网络中基于过滤器的隧道的 GRE 标头格式在 IPv4 网络中基于过滤器的隧道的 GRE 标头格式

前两个八位字节编码 GRE 标志,详见表 1

2-八进制协议类型字段包含值0x0800,用于为 IPv4 协议指定 EtherType 值。

只有将 Key Present 位设置为 1 时,才能包含 4 位位密钥字段。键字段带有在封装器上定义的隧道的键值。如果 GRE 隧道定义指定了密钥,则数据包转发引擎端点的密钥将设置 Key Present 位,并将密钥添加到 GRE 标头中。

表 1: 在 IPv4 网络中基于过滤器的隧道的 GRE 标志值

位偏移和字段名称

基于过滤器的 GRE 通道的传输值

0

C= 校验和存在

0

未使用校验和字段。

1

R= 存在路由

0

不使用偏移和路由字段。

2

K= 存在密钥

0 或者 1

以无 0 密钥隧道或加密 1 隧道为传输方式传输。

3

S= 序列号存在

0

未使用序列号字段。

4

s= 严格源路由

0

并非所有路由信息都是严格的源路由。

5 - 7

Recur= 递归控制信息

000

不允许额外的封装。

8 - 12

Flags= 标志位

00000

留待.

13 - 15

Ver= 版本号

000

留待.

当数据包转发引擎对键控 GRE IPv4 通道执行封装时,该进程会将 GRE 标头的前两个八位字节构造为0x0000。当数据包转发引擎对非键控 GRE IPv4 通道执行封装时,该进程会将 GRE 报头的前两个八位字节构造为0x2000。