Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

跨 IPv4 网络的基于过滤器的隧道的组成部分

跨 IPv4 网络的基于过滤器的隧道拓扑

注:

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

图 1 显示了从客户网络 C1 传输到客户网络 C2 时的乘客协议数据包的路径。

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

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

通过隧道路由 GRE 数据包

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

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

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

网络层协议级别的术语

在跨 IPv4 网络的基于过滤器的隧道中,网络层协议用以下术语描述:

passenger protocol

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

encapsulation protocol

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

transport protocol

通过 GRE 隧道路由乘客协议数据包的网络使用的协议类型 (IPv4)。传输协议也称为 传递协议。

入口 PE 路由器术语

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

encapsulator

PE 路由器接收来自乘客协议源网络的数据包,将封装协议 (GRE) 报头和传输协议 (IPv4) 报头添加到此有效负载,并将生成的 GRE 报头转发到 GRE 隧道。此入口节点也称为 隧道源。

encapsulating interface

在封装器上,在 MIC 或 MPC 上托管的面向客户的接口上配置的以太网逻辑接口或聚合以太网 接口 。封装接口从客户边缘路由器接收乘客协议数据包。有关更多信息,请参阅 支持跨 IPv4 网络的基于过滤器的隧道的接口。支持跨 IPv4 网络建立基于过滤器的隧道的接口

encapsulation filter

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

tunnel source interface

在封装器上,一个或多个面向核心的出口连接到隧道。

tunnel template

在封装器上,定义隧道特征的命名 CLI 构造:

  • 传输协议系列 (IPv4)。

  • 封装器上面向隧道的 出口 接口的 IP 地址或地址范围。

  • 解封装器(出口 PE 路由器)上面向隧道的 入口接口的 IP 地址或地址范围。

  • 封装协议 (GRE)。

出口 PE 路由器术语

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

de-encapsulator

一种 PE 路由器,用于接收通过基于过滤器的 GRE 隧道路由的 GRE 数据包,移除传输协议标头和 GRE 标头,并将生成的有效负载协议数据包转发到目标网络客户边缘路由器。解封装器节点也称为 解封装隧道端点 或 隧道目标。

de-encapsulating interfaces

在解封装器上,这指的是在可从 GRE 隧道接收 GRE 数据包的任何面向核心的入口接口上配置的任何以太网逻辑接口或聚合以太网接口。底层物理接口必须托管在 MIC 或 MPC 上。有关更多信息,请参阅 支持跨 IPv4 网络的基于过滤器的隧道的接口。支持跨 IPv4 网络建立基于过滤器的隧道的接口

de-encapsulation filter

解封装器上的防火墙过滤器,它使数据包转发引擎解封装匹配的 GRE 数据包,然后将原始乘客协议数据包转发到目标网络客户边缘路由器。

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

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

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

数据包封装结构

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

图 2: 用于在 IPv4 网络中建立基于过滤器的隧道的封装结构用于在 IPv4 网络中建立基于过滤器的隧道的封装结构

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

GRE 标头格式

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

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

前两个八位位组对 GRE 标志进行编码,如中所述 。表 1

2 个八位字节协议类型字段包含用于指定 IPv4 协议的 EtherType 值的值0x0800。

仅当密钥存在位设置为 1 时,才会包含 4 个八位字节密钥字段。Key 字段包含封装器上定义的隧道的键值。如果 GRE 隧道定义指定了密钥,则封装端点的数据包转发引擎将设置密钥存在位,并将密钥添加到 GRE 标头。

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

位偏移和字段名称

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

0

C= 存在校验和

0

不使用校验和字段。

1

R= 路由存在

0

不使用偏移和布线字段。

2

K= 密钥存在

0 (也称为数字签名 1

与无密钥隧道或密钥隧道一样传输。01

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。