• 使用静态CRLSP配置MPLS TE隧道


    23475bcb4ae7a1570fc9e24560d96f6b.gif

    正文共:1591 字 13 图,预估阅读时间:4 分钟

    静态CRLSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)是指在报文经过的每一跳设备上(包括Ingress、Transit和Egress)分别手工指定入标签、出标签、流量所需的带宽等信息,建立标签转发表项和资源预留,从而建立的CRLSP。

    与静态LSP不同的是,静态CRLSP需要在每一跳设备上为流量预留一定的带宽资源,如果设备上的带宽资源不满足流量需求,则无法建立静态CRLSP。

    建立静态CRLSP消耗的资源比较少,但静态建立的CRLSP不能根据网络拓扑变化动态调整。因此,静态CRLSP适用于拓扑结构简单并且稳定的小型网络。

    ab81e61314e1a01f94418f27e746eb70.png

    组网需求

    5e4f85f648040764c0a685ef0bc9264b.png

    RT1-3均支持MPLS,在RT1到RT3之间使用静态CRLSP建立一条MPLS TE隧道,使11.1.1.0/24和33.1.1.0/24这两个网段中互访的报文能够通过MPLS进行传输,并且配置隧道最大带宽为20000kbps,隧道沿途链路的最大带宽为80000kbps,最大预留保证带宽为40000kbps。

    dfeeb821bc315cb61e143156df6246c1.png

    组网图

    9edca307a79e2cb594c85b5faa0724f4.png

    静态CRLSP配置组网图

    fbbe8a98417c5c2aa0d0b94685cc24b5.png

    3998837a5f6314943769375818eb65d4.png

    实验环境

    VMWare ESXi 6.7.0(ProLiant DL360 Gen9,48核心,128G内存)

    H3C VSR1000(Version 7.1.064, Release 0621P18,4核心,8G内存)

    CentOS Linux release 7.9.2009 (Core,4核心,4G内存)

    b6eae48c2586eb4ceeb5b2ca9d350d99.png

    配置步骤

    b2549b6016903a69870a5e365b5d0d4c.png

    首先按照组网图所示配置各接口的IP地址和掩码,设备间配置IS-IS协议发布接口所在网段的路由,包括Loopback接口

    IS-IS的配置主要包括配置路由器的Level级别和网络实体名称,并在指定接口(所有接口)上配置使能IS-IS功能,掌握了这两个基本操作,来直接上配置。

    47bb10424c4e0708fe9aa624ac3b456c.png

    VSR1

    1. #
    2. isis 1
    3. is-level level-1
    4. network-entity 10.0000.0000.0001.00
    5. #
    6. interface LoopBack0
    7. ip address 1.1.1.1 255.255.255.255
    8. isis enable 1
    9. #
    10. interface GigabitEthernet2/0
    11. ip address 11.1.1.1 255.255.255.0
    12. isis enable 1
    13. #
    14. interface GigabitEthernet3/0
    15. ip address 12.1.1.1 255.255.255.0
    16. isis enable 1

    b97f114ed5319196999a2e9fc8543eb7.png

    VSR2

    1. #
    2. isis 1
    3. is-level level-1
    4. network-entity 10.0000.0000.0002.00
    5. #
    6. interface LoopBack0
    7. ip address 2.2.2.2 255.255.255.255
    8. isis enable 1
    9. #
    10. interface GigabitEthernet2/0
    11. ip address 12.1.1.2 255.255.255.0
    12. isis enable 1
    13. #
    14. interface GigabitEthernet3/0
    15. ip address 23.1.1.2 255.255.255.0
    16. isis enable 1

    a395cf5f783d3cb51da99714cd6f5998.png

    VSR3

    1. #
    2. isis 1
    3. is-level level-1
    4. network-entity 10.0000.0000.0003.00
    5. #
    6. interface LoopBack0
    7. ip address 3.3.3.3 255.255.255.255
    8. isis enable 1
    9. #
    10. interface GigabitEthernet2/0
    11. ip address 23.1.1.3 255.255.255.0
    12. isis enable 1
    13. #
    14. interface GigabitEthernet3/0
    15. ip address 33.1.1.3 255.255.255.0
    16. isis enable 1

    配置完成之后,检查VSR3的路由学习情况。

    2bdce13fc04549437e971662d9e93b2d.png

    这里和官网有点不一样,因为官网配置中并没有讲连接业务网络的接口需要开启ISIS,但如果不开启就缺少路由了。

    接下来配置MPLS及静态CRLSP。

    4873e92d07f3a0e5357d173a93b0ff35.png

    VSR1

    配置LSR ID、开启MPLS能力和MPLS TE能力

    1. #
    2. mpls lsr-id 1.1.1.1
    3. #
    4. mpls te
    5. #
    6. interface GigabitEthernet3/0
    7. mpls enable
    8. mpls te enable

    配置TE链路的最大带宽和最大可预留带宽。

    1. #
    2. interface GigabitEthernet3/0
    3. mpls te max-link-bandwidth 80000
    4. mpls te max-reservable-bandwidth 40000

    配置VSR1为静态CRLSP的Ingress节点,下一跳地址为12.1.1.2,出标签为120,隧道所需的带宽为20000kbps。

    1. #
    2. static-cr-lsp ingress 13 nexthop 12.1.1.2 out-label 120 bandwidth ct0 20000

    配置MPLS TE隧道Tunnel13:目的地址为VSR3的LSR ID(3.3.3.3);采用静态CRLSP建立MPLS TE隧道。配置隧道Tunnel13引用名称为static-cr-lsp-1的静态CRLSP。

    1. #
    2. interface Tunnel13 mode mpls-te
    3. ip address 13.1.1.1 255.255.255.0
    4. mpls te signaling static
    5. mpls te static-cr-lsp 13
    6. destination 3.3.3.3

    此时我们可以看到,VSR1上去往PCB的路由是从ISIS学到的,优先级是15。

    b10a6e2d64beea40667ef1ff7def0d7a.png

    所以需要配置优先级更高的静态路由,使得到达网络33.1.1.0/24的流量通过MPLS TE隧道接口Tunnel13转发。

    1. #
    2. ip route-static 33.1.1.0 24 Tunnel13 preference 1

    5f063d2d7d65d6de6f774323e8918838.png

    89ddc12247fa8a8d89ed48a990321a21.png

    VSR2

    配置LSR ID、开启MPLS能力和MPLS TE能力,并配置TE链路的最大带宽和最大可预留带宽。

    1. #
    2. mpls lsr-id 2.2.2.2
    3. #
    4. mpls te
    5. #
    6. interface GigabitEthernet2/0
    7. mpls enable
    8. mpls te enable
    9. mpls te max-link-bandwidth 80000
    10. mpls te max-reservable-bandwidth 40000
    11. #
    12. interface GigabitEthernet3/0
    13. mpls enable
    14. mpls te enable
    15. mpls te max-link-bandwidth 80000
    16. mpls te max-reservable-bandwidth 40000

    配置VSR2为静态CRLSP的Transit节点,入标签为120,下一跳地址为23.2.1.3,出标签为230,隧道所需的带宽为20000kbps。

    1. #
    2. static-cr-lsp transit 13 in-label 120 nexthop 23.1.1.3 out-label 230 bandwidth ct0 20000

    9a3e04b8c996bb4c9d4474cca4b00990.png

    VSR3

    配置LSR ID、开启MPLS能力和MPLS TE能力,并配置TE链路的最大带宽和最大可预留带宽。

    1. #
    2. mpls lsr-id 3.3.3.3
    3. #
    4. mpls te
    5. #
    6. interface GigabitEthernet2/0
    7. mpls enable
    8. mpls te enable
    9. mpls te max-link-bandwidth 80000
    10. mpls te max-reservable-bandwidth 40000

    配置VSR3为静态CRLSP的Egress节点,入标签为230。

    1. #
    2. static-cr-lsp egress 13 in-label 230

    34750c18558687d2317407b136a3382e.png

    验证配置

    6ce0ec74273ab52dc36e78dea7d23a67.png

    如配置过程中所讲,我先后两次测试了从PCA到PCB的带宽情况,第一次是没有配置访问流量通过MPLS TE隧道接口转发的打流,第二次是配置之后的结果。

    1107508a86a1dc839427db464af2f55e.png

    可以看到,不经隧道转发时,带宽为4.59 Gbps,经隧道转发时,带宽为20.0 Mbps,与配置的20000kbps大体相符。

    使用display interface tunnel命令,查看Tunnel接口的状态。

    b0ba146ac65961d5b59fa5c6e708c512.png

    可以看到,隧道的接口状态为UP,协议为CR_LSP,但是接口的收发包统计为0,估计和隧道源接口未知有关。

    使用display mpls te tunnel-interface命令,查看MPLS TE隧道的建立情况。

    114fea75aa91446e5611c6de57bf7f3f.png

    好像跟LSP不太一样,这里显示了隧道的Ingress LSR和Egress LSR信息,一般来讲Egress LSR是看不到的。

    在VSR1上执行display mpls lsp和display mpls static-cr-lsp命令,查看静态CRLSP的建立情况

    a765017b295f1a2683f6236e519028d8.png

    bandwidth指定静态CRLSP流量所属的服务类型和所需的带宽。官网介绍:如果配置时不指定bandwidth,则静态CRLSP流量所需的带宽为0。Class Type是指静态CRLSP流量所属的服务类型,取值包括CT0、CT1、CT2和CT3,如果指定了bandwidth,但没有指定任何CT,则缺省为CT0。

    通过配置我们发现,bandwidth只能在Ingress节点和Transit节点配置,那如果我们在Transit节点不配置带宽会怎么样呢?

    725ea1a26e34d83dedba704d4228cde2.png

    注意,调整时需要先删除之前的配置,再配置新的。

    fbb0d44226d58999bfea94fcc13a755d.png

    可以看到Transit节点不配置带宽,带宽以Ingress节点配置为准,那我们把Ingress节点的带宽配置也移除掉。

    18862031ca70471dd32a6006a608fda7.png

    带宽为3.68Gbps,看来官网说的静态CRLSP流量所需的带宽为0实际上就是不限速了。

    现在在Ingress节点上不配置带宽,恢复配置Transit节点带宽为20000kbps试一下。

    18d3be68cf14863be4c3580829d8b60b.png

    说明带宽以沿途经过的LSR上配置的小的为限制,如果未配置,则没有限制。而且配置的链路最大带宽竟然没有生效,我们在VSR1上把它设置为10000kbps试一下。

    1. #
    2. interface GigabitEthernet3/0
    3. ip address 12.1.1.1 255.255.255.0
    4. isis enable 1
    5. mpls enable
    6. mpls te enable
    7. mpls te max-link-bandwidth 10000
    8. mpls te max-reservable-bandwidth 1000

    336b6962c611323a8edd7a5142973049.png

    官网介绍该命令用来配置用于转发MPLS TE流量的链路最大带宽,设备在发布的IGP路由中携带本命令配置的链路最大带宽值,以便隧道的Ingress节点获取到该信息,并根据该信息进行CSPF计算,选择符合隧道带宽要求的路径。

    看来好像用处不大啊!

    ad89a448951e3c03c0f2688fb50cc6e8.gif

    长按二维码
    关注我们吧

    62620f29a0a76a1878d4fb66c2b51e62.jpeg

    91dee782858744c1a69e6461b20b14e2.png

    在 MPLS 隧道上执行标签交换路径 Ping (LSP Ping) 的机制

    IP内的IP封装

    Windows 11 可能影响工作效率的几个问题

    你晓得不,VPN实例间路由还能通过路由协议动态引入呢

    震惊!VRF路由泄露了!

    有没有开源的虚拟路由器?有,VPP了解一下

  • 相关阅读:
    【Mycat2实战】五、Mycat实现分库分表【实践篇】
    git实现服务器自动push拉取代码--webhooks
    PHP MYSQLi OOP式准备好语句
    【C语言】青蛙跳台阶 —— 详解
    Bug战场:C++篇
    Spring Cloud Eureka:服务注册与发现
    Java实现List,Map,Set 遍历的多种方式
    docker 部署mysql
    Django【执行查询】(二)
    Shiro安全框架登录验证实例解析
  • 原文地址:https://blog.csdn.net/gtj0617/article/details/136181022