传统上,Junos OS 中的数据包标记(即设置重写规则)使用通过行为聚合 (BA) 分类器或多域分类器确定的转发类和丢失优先级。转发类和丢失优先级也用于决定排队行为。此方法不允许直接为每个客户分配重写规则,因为转发类和丢失优先级组合数量有限。添加新客户时,使用此方法设置重写规则需要更改核心接口上的配置,因为一个错误会影响来自所有客户的流量,因此必须避免这种情况。
从 Junos OS 14.2R3 版开始的替代数据包标记方案(称为 策略映射)允许您为每个客户定义重写规则(即针对每个客户)。通过策略映射,可以使用任何数据包字段来识别给定流并为该流指定重写值。
要配置和应用策略图,您必须具备以下条件:
包含 MPC 的 MX 系列路由器
Junos OS 14.2R3 或更高版本
- 配置策略映射。
[edit class-of-service policy-map policy-map-name]
user@host# set inet-precedence proto-ip code-point [alias | bits];
user@host# set inet-precedence proto-mpls code-point [alias | bits]
user@host# set dscp proto-ip code-point [alias | bits]
user@host# set dscp proto-mpls code-point [alias | bits]
user@host# set dscp-ipv6 proto-ip code-point [alias | bits]
user@host# set dscp-ipv6 proto-mpls code-point [alias | bits]
user@host# set exp all-label code-point [alias | bits]
user@host# set exp outer-label code-point [alias | bits]
user@host# set ieee-802.1 outer code-point [alias | bits]
user@host# set ieee-802.1 outer-and-inner code-point [alias | bits]
user@host# set ieee-802.1ad outer code-point [alias | bits]
user@host# set ieee-802.1ad outer-and-inner code-point [alias | bits]
注意:
策略图具有以下配置限制:
在配置 、 或 dscp-ipv6
两个proto-mpls
proto-ip
选项inet-precedence
时,dscp
必须同时使用相同的代码点或代码点别名来配置这两个选项。
您不能 inet-precedence
配置和 dscp
在同一策略图中。
您不能 ieee-802.1
配置和 ieee-802.1ad
在同一策略图中。
您不能在同一outer
outer-and-inner
策略图中同时配置以及为ieee-802.1
点配置选项和ieee-802.1ad
代码点。
对于 MPLS POP 操作 EXP 重写,如果内部标头也是 MPLS,则只有exp
选项all-label
中给出mpls
的值才会生效。
例如:
[edit class-of-service]
user@host# set policy-map pm1 dscp proto-ip code-point 111000
user@host# set policy-map pm1 ieee-802.1 outer code-point 001
- 应用策略映射。
应用策略映射入口或出口防火墙过滤器。
[edit firewall family protocol-family-name filter filter-name]
user@host# set term term-name from match-conditions
user@host# set term term-name then policy-map policy-map-name
例如:
[edit firewall family inet filter f1]
user@host# set term t1 from address 10.2.2.0/24
user@host# set term t1 then policy-map pm1
注意:
在此示例中,从 IP 地址 10.2.2.2.0/24 收到的每个 IPv4 数据包都会被分配一个 DSCP 值 111000
。
或者,将策略映射应用于路由实例。
[edit class-of-service]
user@host# set routing-instances routing-instance-name policy-map policy-map-name
例如:
[edit class-of-service]
user@host# set routing-instances r1 policy-map p1
注意:
在此示例中,为路由实例 r1
中的每个 IPv4 数据包分配一个 DSCP 值 111000
。
或者,将策略映射直接应用于 入口 接口。
[edit class-of-service]
user@host# set interfaces interface-name unit logical-unit-number policy-map policy-map-name
例如:
[edit class-of-service]
user@host# set interfaces xe-4/0/0 unit 0 policy-map p1