QPPB
QPPB(QoS Policy Propagation on BGP)是一种特殊的复杂流分类方法。
产生背景
在复杂组网环境中,如图5-11,假设AS400是个高优先级网络,所有往/返AS400的报文都需要重新设置报文的IP Precedence,以保证其报文的优先转发。为了满足此需求,需要在AS100中的边缘节点(Node-A、Node-B和Node-C)向其他AS转发往/返AS400的报文时,重新设置报文的IP Precedence。对于Node-C,只需要针对接口(连接AS400的接口)收发的流量进行重标记即可;但对于Node-A或Node-B,则需要执行针对目的地址为AS400内IP地址的流分类,如果AS400内有大量的IP地址/地址段,则需要大量的流分类。如果网络结构不稳定,需经常变化网络结构,则需要进行大量的配置修改。
如果可以按照AS信息对报文分类,将使上述Node-A或Node-B的配置变得简单。为此,产生了QPPB,一种可以针对AS、团体属性等聚类信息对报文进行流分类的技术。
QPPB技术顾名思义是指通过BGP传播QoS策略。应用QPPB技术可以由BGP路由发送者通过设置BGP属性预先对路由进行分类,BGP路由接收者只需要配置合适的接收路由策略,匹配BGP路由属性后为BGP路由设置QoS参数,从而在转发数据时执行相应的QoS动作。在网络发生变化后,BGP路由接收者可以不更改本地的配置,只是通过BGP路由发送者对发送的BGP路由属性做相关改动即可。
实现原理
本文以图5-12为例介绍QPPB的实现原理。图中Node-A和Node-C是AS100的IBGP邻居,Node-A需要对所有往/返AS400的报文重新设置报文的IP Precedence,则QPPB的实现过程如下:
- BGP路由发送者(Node-C)在发送BGP路由时为BGP路由设置特定的属性(包括AS_PATH,团体属性,扩展团体属性等)。
- BGP路由在通告过程中可以携带路由属性,这些特定的属性作为BGP路由分类的标识。
- BGP路由接收者(Node-A)预先在路由策略中设置路由属性匹配项,且对匹配上路由属性的路由设置关联的流动作。在收到BGP路由信息后,对匹配上路由属性的路由,在对应的FIB中设置Behavior ID,不同的流动作设置了不同的Behavior ID。
- 在数据转发过程中,Node-A可以针对发送到目的网络的数据包,从FIB中获取对应的Behavior ID,执行Behavior ID所对应的流动作。
从以上过程可以看出,QPPB技术实际并没有在BGP路由信息中发送QoS策略,只是在路由发送方通过对通告的路由设置路由属性,在路由接收方根据目的网段的路由属性设置QoS策略。
典型应用一:AS域间流量分类
如图5-13的组网,使用QPPB可以方便地在AS100的边缘设备对AS域间的流量进行流分类。例如要在Node-C上对AS200和AS400之间的流量进行限速,则:
- 对于AS200--->AS400方向的流量,在Node-C上的AS100域内所有接口使能针对源地址的QPPB。
- 对于AS400--->AS200方向的流量,在Node-C上与AS400相连的接口使能针对目的地址的QPPB。
典型应用二:L3VPN流量分类
如图5-14所示是QPPB技术在BGP/MPLS L3VPN组网环境中的应用。当PE连接多个VPN时,可以对某个VPN-instance在路由发布时设置Community等属性后,再将路由通告出去;远端PE接收到路由信息后将路由及QoS等参数设置到FIB表项中,使得从CE来的流量在转发时能执行相应的QoS动作,这样,不同的VPN可获得不同的服务质量。
典型应用三——用户->ISP的流量计费
如图5-15所示是QPPB技术应用于用户到ISP的流量计费场景。配置方案如下:
- 通过BGP协议,发布路由时携带团体属性。
- 引入BGP路由时,匹配团体属性,在路由表中设置Behavior ID。
- 配置qppb-policy,匹配qos-local-id,配置统计/CAR/Remark等动作。
- 在流量入口方向使能基于目的地址的QPPB。
- 在用户侧接口的inbound方向应用qppb-policy。
- 报文在转发时,根据接口的QPPB使能配置,根据目的IP查路由表,获取路由表中的Behavior ID(即qos-local-id),再根据接口qppb-policy配置进行qos-local-id匹配,匹配上就进行统计/CAR/Remark等动作处理。
典型应用四——ISP->用户的流量计费
如图5-16所示是QPPB技术应用于ISP到用户的流量计费场景。配置方案如下:
- 通过BGP协议,发布路由时携带团体属性。
- 引入BGP路由时,匹配团体属性,在路由表中设置Behavior ID。
- 配置qppb-policy,匹配qos-local-id,配置统计/CAR/Remark等动作。
- 在流量入接口方向使能基于源地址的QPBB。
- 在用户侧接口的outbound方向应用qppb-policy。
- 报文在转发时,根据接口的QPPB使能配置,根据源IP查路由表,获取路由表中的Behavior ID(即qos-local-id),qos-local-id经过内部交换传递到流量出接口,再根据出接口的qppb-policy配置进行qos-local-id匹配,匹配上就进行统计/CAR/Remark等动作处理。