SRv6网络编程标准中,SRv6节点(Endpoint)通过本地定义的行为(Behavior)处理SRv6报文。SRv6定义了多种Endpoint Behavior,每个节点需要实例化它们和分配SID,并通过路由协议公布,以便外部了解节点所能提供的Behavior。
常用的Endpoint Behavior有END、END.X、END.DT4、END.DT6等,实现Underlay选路、Overlay业务承载等功能。
为何SRv6中会主推SRv6 Policy呢?
SRv6 Policy由
Candidate Path由
Preference,标识CP的优先级,用于抉择同一SRv6 Policy下的不同CP,优先级最高的成为Active CP;
B-SID,标识CP或SRv6 Policy(Active CP)行为的SID,其他节点通过B-SID引用SRv6 Policy的功能;
Segment-List,标识CP的Segment列表,由Weight和多个顺序排列的Segment子属性组成,一个CP可以有多个Segment-List,根据Weight分担流量。
原因如下:
1.组网能力,TE Tunnel本质上是一种重量级的传统接口,会消耗设备的接口资源,无法支持太大规模的组网;SRv6 Policy本质上是一种轻量级的对象,数据结构非常简单,不占用设备的接口资源,能够支持超大规模的组网;
2.引流能力,TE Tunnel采用粗放的DSCP引流方式,难以直观准确的反映用户意图;SRv6 Policy采用精细的Color引流方式,能够如实反映和满足用户诉求;
3.开放能力,TE Tunnel只能为节点自己所用,而SRv6 Policy通过对外暴露B-SID,可以在隐藏内部实现的前提下,为其他节点或机构提供选路、服务链等能力;
4.业务能力,TE Tunnel本身没有直接的业务描述能力,需要组合应用多个TE Tunnel和其他的技术才能满足业务需求;SRv6 Policy是完全自洽和业务特征相关的,本身集成了多路径、SLA标签、行为处理等能力,单个SRv6 Policy就可以满足业务的网络需求。
由此可见,在SRv6 Policy各方面都完胜TE Tunnel,就是一种为Segment Routing量身定制的网络技术,可以说SRv6的强大能力大部分是通过SRv6 Policy输出的。