基于 IPSec GRE 的 DSCP 信任

网络工程 服务质量 ipsec 格雷
2022-02-24 08:46:10

我有 2 个分支机构通过 Metro-e 连接在一起,并且我在 2 个站点之间运行 ipsec gre 隧道。

路由器A=分支1 路由器B=分支2

WAN--------routerA------------|metroe|------------routerB----设备

该设备标记为 AF41,并通过 WAN 连接出去。服务策略只存在于routerA。我想要实现的是 dscp 信任 routerA 和 routerB 之间的链接。

我不确定如何执行此操作,是否应该在隧道接口下或加密映射下设置 qos-preclassify 命令,它的行为方式与 mls qos trust dscp 相同,或者最简单的方法是什么?

问候

1个回答

我只是偶然发现了这个旧的,显示为相关,并想回答,因为不止一次处于这种情况。

无需在 ISR G1 (18xx/28xx/38xx)、G2 (19xx/29xx/39xx) 或 ISR 4000 系列等思科路由器上进行信任配置 - 也可能是较旧的路由器。

只要没有对数据包进行分类和(重新)标记的入站 QoS 策略,它们就会单独留下 ToS 字节。

通常,待封装数据包的ToS Byte(包括DSCP)被复制到封装头中。

另请参阅https://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/WAN_and_MAN/QoS_SRND/QoS-SRND-Book/IPSecQoS.pdf

“ToS 字节保存”一章(第 6-12 页):

为了克服这一困境,IPSec 协议标准本身提供了通过将原始 IP 报头的 ToS 字节信息复制到隧道和加密过程添加的 IP 报头来保存原始 IP 报头的能力。

那里也解释了QoS 预分类。简而言之:使用 QoS 预分类,每个要加密的数据包都会在路由器内存中获得一个伴随数据结构,该结构保存来自原始数据包的信息。然后,出口 QoS 策略根据来自伴随数据的数据而不是封装/加密(因此不可访问)的原始数据包,正确地对加密数据包进行排队/调度。

如果我正确理解您的情况,默认活动 ToS 字节保留和隧道接口上的出口策略应该可以很好地工作,确保数据包按照您想要的顺序离开路由器。

但是,城域以太网或 WAN 服务提供商可能不信任最外层 IP 标头中的 dscp 标记并可能使它们无效。出于两个原因,这可能是次要的问题:

  • 数据包在排队/调度后按照您希望的顺序离开路由器。如果您的出口策略包括正确调整到刚好低于 SP 的阈值,则 SP 的设备将不需要排队/重新安排。
  • 远程隧道端点将开始解封装传入的数据包。第一步是丢弃最外层的 IP 标头以及可能无效的 ToS 字节。没有伤害,下一个 IP 标头仍将具有带有 DSCP 字段的原始 ToS 字节。