2、配置节点的邻接路径标签和前缀路径标签
配置VSR1的邻接标签,为下一跳地址12.1.1.2绑定标签16。
# static-sr-mpls adjacency adj1 in-label 16 nexthop 12.1.1.2
配置VSR2的邻接标签,为下一跳地址32.1.1.3绑定标签21。
# static-sr-mpls adjacency adj2 in-label 21 nexthop 32.1.1.3
配置VSR2的前缀标签,为下一跳地址32.1.1.3、35.1.1.3绑定相同的前缀路径名称、入标签16000、出标签16001,在VSR2和VSR3之间形成负载分担。
# static-sr-mpls prefix pre1 destination 5.5.5.5 32 in-label 16000 nexthop 32.1.1.3 out-label 16001 static-sr-mpls prefix pre1 destination 5.5.5.5 32 in-label 16000 nexthop 35.1.1.3 out-label 16001
配置VSR3的邻接标签,为下一跳地址192.168.14.1、192.168.15.1分别绑定标签30、31。
# static-sr-mpls adjacency adj1 in-label 30 nexthop 192.168.14.1 static-sr-mpls adjacency adj2 in-label 31 nexthop 192.168.15.1
配置VSR3的前缀标签,为目的地址5.5.5.5绑定标签16001。
# static-sr-mpls prefix pre1 destination 5.5.5.5 32 in-label 16001
3、创建静态SRLSP
配置VSR1为静态SRLSP的头节点,srlsp1出标签栈为[16,21,30],建立到VSR4的静态SRLSP。
# static-sr-mpls lsp srlsp1 out-label 16 21 30
配置VSR1为静态SRLSP的头节点,srlsp2的出标签栈为[16,16000,31],建立到VSR5的静态SRLSP。
# static-sr-mpls lsp srlsp2 out-label 16 16000 31
4、配置MPLS TE隧道
在VSR1上配置到VSR4的MPLS TE隧道Tunnel14:目的地址为VSR4的LSR ID(4.4.4.4);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为srlsp1。
# interface Tunnel14 mode mpls-te ip address 14.1.1.1 255.255.255.0 mpls te signaling static mpls te static-sr-mpls srlsp1 destination 4.4.4.4 在VSR1上配置到VSR5的MPLS TE隧道Tunnel15:目的地址为VSR5的LSR ID(5.5.5.5);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为srlsp2。 # interface Tunnel15 mode mpls-te ip address 15.1.1.1 255.255.255.0 mpls te signaling static mpls te static-sr-mpls srlsp2 destination 5.5.5.5
5、配置静态路由使流量沿MPLS TE隧道转发
在VSR1上配置静态路由,使得到达网络34.1.2.0/24的流量通过MPLS TE隧道接口Tunnel14转发,到达网络35.1.2.0/24的流量通过MPLS TE隧道接口Tunnel15转发。
# ip route-static 34.1.1.0 24 Tunnel14 preference 1 ip route-static 35.1.1.0 24 Tunnel15 preference 1
验证配置
以VSR1为例,查看路由器MPLS TE隧道的建立情况。
display mpls te tunnel-interface
在VSR1查看静态SRLSP的建立情况
display mpls lsp
dis mpls static-sr-mpls lsp
在VSR2查看静态SRLSP的建立情况
在VSR3查看静态SRLSP的建立情况
查看系统路由表。
在VSR1上带源地址192.168.11.1访问VSR4的192.168.14.1等地址验证连通性。
TTL跳数这里和正常转发是一样的,跟之前的隧道好像不太一样。在VSR1和VSR2互联链路上抓个包看一下。
再从VSR2和VSR3互联链路上抓个包看一下。
报文结构一点没变,看来是控制转发的,traceroute看一下。
还是可以看到第二跳是不一样的,说明确实可以控制报文转发路径。
总结
1、邻接段的入标签值,手册写的取值范围为16~10240,但是设备上可配置的是16~1023,有点出入;前缀段的入标签值,手册写的和设备上可配置的取值范围都是16000~24000,是一样的;
2、mpls-te类型的隧道不做报文的隧道封装,从配置上我们也可以看到,这个隧道仅在源端进行了配置,未在目的端进行配置,所以作用只是指导报文转发,不改变报文结构;
3、添加静态路由时,要注意IS-IS的优先级是15,设置的静态路由优先级要小于15,否则不生效;
4、当采用邻接段方式,静态配置标签转发表项时,设备为与邻接设备相连的链路静态分配入标签。该标签值只在本地有效,不同设备上的Adjacency SID可以相同;当采用前缀段方式,静态配置标签转发表项时,设备根据手工指定的入标签、出标签以及下一跳的对应关系形成本地的标签转发表项。结合配置也可以发现,邻接段方式表项有入标签和下一跳,而前缀段方式有入标签、下一跳和出标签,出标签一般配置为下一跳的SRGB基值+Index,如16001=16000+1。
5、正常来讲,当源节点接收到业务报文后,会为报文封装所经过路径上的标签信息,并通过SRLSP将报文转发给尾节点;尾节点从SRLSP接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。这就说明了为什么尾节点VSR4和VSR5不用配置,而源节点VSR1配置的不是出标签、而是入标签了。