• MPLS隧道——跨域解决方案C1、C2讲解


    目录

    OptionC1

    PE1和PE2如何建立邻居关系

    第一步 先获取到对端的IP地址

    第二步 为路由手工分配标签

    此时PE2去往2.2.2.2的路由过程

    路由发布过程

    数据转发过程

    OptionC2

    PE1和PE2如何建立邻居关系

    第一步 先获取到对端的IP地址

    第二步 为路由手工分配标签

    路由发布过程

    数据转发过程

    Option C1和C2的优缺点


    OptionC中,ASBR不维护或发布Vpnv4路由,PE之间直接交换Vpnv4路由

    OptionC1

    两个AS之间的PE设备直接运行Vpnv4的邻居关系,中间设备不需要Vpnv4路由

    不过配置相对复杂,维护一条端到端的PE连接管理代价较大

    邻居关系

    PE1和PE2建立MP-EBGP邻居关系

    PE1-ASBR1建立IBGP邻居关系

    ASBR1-ASBR2建立EBGP邻居关系

    ASBR2-PE2建立IBGP邻居关系

    PE1和PE2如何建立邻居关系

    假设PE1和PE2通过环回口建立邻居关系

    第一步 先获取到对端的IP地址

    PE1将自己的地址宣告进BGP中,ASBR1通过IBGP学习到PE1的地址;然后ASBR1将PE1的地址通过EBGP邻居传递到ASBR2(如果ASBR1已经从IGP学到PE1的地址,则可以直接在ASBR1上宣告PE1的地址);ASBR2再通过IBGP传递到PE2

    PE2的地址传到PE1的过程类似

    第二步 为路由手工分配标签

    为什么要手工分配标签

    第一:使得PE之间建立邻居关系

    如果不为PE分配手工标签,则PE2去往PE1的报文就为IP报文,目的为2.2.2.2

    当报文发送到P2时,P2没有去往2.2.2.2的路由,造成路由丢弃,PE1和PE2邻居建立失败

    此时虽然获取到了对端的路由,可是无法建立邻居

    第二:传递CE之间的报文

    当PE1和PE2邻居建立成功后,CE2去访问CE1时,将数据包丢给PE2

    PE2发现去往CE1的下一跳为2.2.2.2(PE1),则打上PE1分配的私网标签发往2.2.2.2

    PE2查找2.2.2.2的路由,发现LDP也没有为2.2.2.2分配标签,则直接带上私网标签发给P2

    此时P2的标签转发表没有关于此私网标签的LSP,造成数据包丢失

    LDP为什么不给2.2.2.2分配标签

     因为LDP只为IGP和32位主机路由分配标签,不会为BGP分配标签(C2的解决方法就是通过LDP为BGP分配标签来解决,C1是通过手工配置标签来解决)

    怎样配置手工分配标签(以PE1的地址传到PE2的地址为例,PE2地址传到PE1的配置一样)

    • 2.2.2.2在AS100内通过LDP自动分配标签
    • 2.2.2.2在AS200区域通过手动配置分配标签
    • 2.2.2.2在ASBR之间传输也是通过手动配置分配标签

    在ASBR1和ASBR2上配置策略,手动为2.2.2.2这条路由打上标签并传给PE2

    华为设备配置

    ASBR1的配置如下(向ASBR2发送时打上标签)

    为匹配ACL2000的路由分配标签,也可以不配置匹配策略)

    route-policy name1 permit node 10

     if-match acl 2000

     apply mpls-label

    ASBR1的BGP视图下,在向对等体10.0.45.5传递路由时配置标签

    peer 10.0.45.5 route-policy name1 export

    ASBR1的BGP视图下,使能与对等体10.0.45.5交互标签的能力

    peer 10.0.45.5 label-route-capabilityi

    ASBR2的配置如下(将ASBR2的标签在发送时替换为新的标签)

    先配置策略(为有标签的路由重新分配标签)

    route-policy name2 permit node 10

     if-match mpls-label

     apply mpls-label

    ASBR2的BGP视图下,在向对等体7.7.7.7传递路由时替换标签

    peer 7.7.7.7 route-policy name2 export

    ASBR1的BGP视图下,使能与对等体7.7.7.7交互标签的能力

    peer 7.7.7.7 label-route-capability

    此时PE2去往2.2.2.2的路由过程

    PE去往2.2.2.2

    去往2.2.2.2,打上ASBR2分配的标签(暂且称此标签为公网标签2),下一跳为5.5.5.5

    去往5.5.5.5,打上LDP分分配的标签(称为LDP标签),发往P2

    此时封装了两层标签公网标签2(ASBR2分配)、LDP标签(P2分配)

    P2去往2.2.2.2

    根据LFIB表项,剥离外层LDP标签,(次末跳LDP标签弹出,不再封装LDP标签),下一跳发往ASBR2

    此时只有一个公网标签2(ASBR2分配的)

    ASBR2去往2.2.2.2

    根据LFIB表项,剥离外层公网标签2,替换为ASBR1分配的标签(公网标签1)发往ASBR1

    此时只有一个公网标签1(ASBR1分配的)

    ASBR1去往2.2.2.2

    根据LFIB表项,剥离外层公网标签1

    发现自身有LDP分配的2.2.2.2的标签,则打上LDP标签(P1分配的),发往P1

    此时只有一个LDP标签(P1分配的)

    P1去往2.2.2.2

    根据LFIB表项,剥离外层LDP标签,(次末跳LDP标签弹出,不再封装LDP标签),下一跳发往PE1

    此时无标签

    PE1收到PE2发来的2.2.2.2的路由(PE1去往PE2的过程类似,就这样建立起Vpnv4邻居)

    路由发布过程

    CE1将IPv4路由传递给PE1

    CE1将私网路由1.1.1.1 传递给PE1

    PE1从实例1收到CE1传递过来的路由后

    将1.1.1.1路由加入到实例1的IPv4路由表(1.1.1.1  下一跳为CE1)

    PE1将实例路由表中的路由引入到BGP Vpnv4中(1.1.1.1 1:1 下一跳0.0.0.0)

    然后将此Vpnv4路由通告给MP-BGP邻居PE2,携带ex RT值 200:1和MP-BGP产生的私网标签①,下一跳为2.2.2.2

    PE2收到PE1传递过来的Vpnv4路由后

    匹配vpnv4路由携带的ex RT值,将其放入BGP vpnv4路由表中(1.1.1.1 1:1,下一跳2.2.2.2)

    然后将vpnv4剥离RD值,加入到自身对应实例2的IPv4路由表中(1.1.1.1,N-Hop2.2.2.2)

    并将此路由携带的私网标签①存放在标签转发表项中,用于数据转发

    数据转发过程

    CE2发往PE2

    CE2 访问1.1.1.1产生ICMP包给PE2

    PE2发往P2

    PE2此时通过实例2的FIB表查到去往1.1.1.1的下一跳2.2.2.2和对应私网标签①

    此时检查去往2.2.2.2,Tunnel为非0,查看LFIB表,打上公网标签2

    此时检查去往2.2.2.2的下一跳为5.5.5.5,Tunnel为非0,查看LFIB表,打上LDP标签

    检查去往5.5.5.5下一跳为P2

    此时报文为(1.1.1.1 私网标签①  公网标签2  LDP标签)

    P2发往ASBR2

    P2收到后查看LFIB表,弹出标签给ASBR2(次末跳弹出,不封装LDP)

    此时报文为(1.1.1.1 私网标签①  公网标签2 )

    ASBR2发往ASBR1

    ASBR2收到后查看LFIB表,将公网标签2替换为交换公网标签1发给ASBR1

    此时报文为(1.1.1.1 私网标签①  公网标签1 )

    ASBR1发往P1

    ASBR1收到后查看LFIB表,发现公网标签1对应路由为2.2.2.2

    而此时ASBR1也从LDP分配到关于2.2.2.2的标签,下一跳为P1

    所以此时将公网标签1剥离,替换为LDP标签,发往P1

    此时报文为(1.1.1.1 私网标签①  LDP标签 )

    P1发往PE1

    P1收到后查看LFIB表,弹出标签给ASBR2(次末跳弹出,不封装LDP)

    此时报文为(1.1.1.1 私网标签① )

    PE1发往CE1

    PE1查找LFIB表,发现私网标签②是自己产生的,于是通过私网标签①找到对应的实例1,并剥离掉私网标签①

    查找实例1的FIB表项,发现去往1.1.1.1的下一跳为CE1

    此时报文为(1.1.1.1)

     注意C1的解决方案P设备是没有去对端PE的标签


    OptionC2

    OptionC2与C1的方案基本一致,不过PE和ASBR之间不需要建立IBGP,直接在ASBR上将路由引入到IGP中

    数据转发时,三层标签变为二层标签

    PE1和PE2如何建立邻居关系

    第一步 先获取到对端的IP地址

    此时将2.2.2.2的路由在ASBR1通过EBGP传递到ASBR2

    然后在ASBR2中将BGP引入到IGP中,此时PE2就学到2.2.2.2的路由

    第二步 为路由手工分配标签

    此时PE之间的邻居关系已经建立,并且CE之间也已经获取到对端的路由

    但是CE之间无法通信

    为什么要手工分配标签

    PE之间建立邻居关系不需要标签,直接通过IP层面就可以建立

    PE2去往PE1的报文就为IP报文,目的为2.2.2.2

    当报文发送到P2时,P2有去往2.2.2.2的路由,邻居建立成功

    C2方案配置标签是为了传递CE之间的报文

    当PE1和PE2邻居建立成功后,CE2去访问CE1时,将数据包丢给PE2

    PE2发现去往CE1的下一跳为2.2.2.2(PE1),则打上PE1分配的私网标签发往2.2.2.2

    PE2查找2.2.2.2的路由,发现LDP也没有为2.2.2.2分配标签,则直接带上私网标签发给P2

    此时P2的标签转发表没有关于此私网标签的LSP,造成数据包丢失

    怎样配置手工分配标签(以PE1的地址传到PE2的地址为例,PE2地址传到PE1的配置一样)

    • 2.2.2.2在AS100区域会由LDP自动分配
    • 在AS200区域通过配置实现由LDP自动分配标签
    • 此时只需在ASBR1上手动针对ASBR2为2.2.2.2分配标签(2.2.2.2在ASBR之间传输也是通过手动配置分配标签)

    即:

    C1方案ASBR与本端PE之间产生关于对端PE的LSP是通过手动产生的

    C2方案ASBR与本端PE之间产生关于对端PE的LSP是通过LDP产生的

    华为设备配置

    ASBR1的配置如下(向ASBR2发送时打上标签)

    先配置策略(为匹配ACL2000的路由分配标签,也可以不配置匹配策略)

    route-policy name1 permit node 10

     if-match acl 2000

     apply mpls-label

    ASBR1的BGP视图下,在向对等体10.0.45.5传递路由时配置标签

    peer 10.0.45.5 route-policy name1 export

    ASBR1的BGP视图下,使能与对等体10.0.45.5交互标签的能力

    peer 10.0.45.5 label-route-capability

    ASBR2的配置如下(为ASBR2发送过来的标签BGP路由建立LSP)

    ASBR2的MPLS视图下,为带标签的公网BGP路由建立LDP LSP

    lsp-trigger bgp-label-route 

    路由发布过程

    同OptionC1

    数据转发过程

    CE2发往PE2

    CE2 访问1.1.1.1产生ICMP包给PE2

    PE2发往P2

    PE2此时通过实例2的FIB表查到去往1.1.1.1的下一跳2.2.2.2和对应私网标签①

    此时检查去往2.2.2.2,Tunnel为非0,查看LFIB表,打上LDP标签,发往P2

    此时报文为(1.1.1.1 私网标签①  LDP标签)

    P2发往ASBR2

    P2收到后查看LFIB表,将标签转换

    此时报文为(1.1.1.1 私网标签①  LDP标签)

    ASBR2发往ASBR1

    ASBR2收到后查看LFIB表,将LDP标签替换为交换公网标签1发给ASBR1

    此时报文为(1.1.1.1 私网标签①  公网标签①)

    ASBR1发往P1

    ASBR1收到后查看LFIB表,发现公网标签1对应路由为2.2.2.2

    而此时ASBR1也从LDP分配到关于2.2.2.2的标签,下一跳为P1

    所以此时将公网标签1剥离,替换为LDP标签,发往P1

    此时报文为(1.1.1.1 私网标签①  LDP标签 )

    P1发往PE1

    P1收到后查看LFIB表,弹出标签给ASBR2(次末跳弹出,不封装LDP)

    此时报文为(1.1.1.1 私网标签① )

    PE1发往CE1

    PE1查找LFIB表,发现私网标签②是自己产生的,于是通过私网标签①找到对应的实例1,并剥离掉私网标签①

    查找实例1的FIB表项,发现去往1.1.1.1的下一跳为CE1

    此时报文为(1.1.1.1)

    注意C2方案P设备有去对端PE的标签


    Option C1和C2的优缺点

    MPLS C1    
        优点:ASBR不需要维护和分发Vpnv4路由
        缺点:对于每个业务都要手动配置两边的标签,配置复杂
    MPLS C2    
        优点:ASBR不需要维护和分发Vpnv4路由
        缺点:对于每个业务通过LDP动态分配标签,不过域内的设备都可以学到此标签

    华为MPLS跨域C1方案实验配置-CSDN博客

    华为MPLS跨域C2方案实验配置-CSDN博客

    锐捷MPLS跨域方案C1实验配置-CSDN博客

    锐捷MPLS跨域方案C2实验配置-CSDN博客

  • 相关阅读:
    java-net-php-python-jspm招警考试模拟题库计算机毕业设计程序
    第8章 - 异构系统的协同控制及最优控制 --> 协同控制
    在CentOS下安装MySQL
    react之useState详解
    Flutter启动页
    MyBatis基于XML的使用——动态sql
    【每日一题】同积元组
    C. Even Number Addicts
    Java项目如何实现限流?
    ubuntu18.04安装ros遇到的问题
  • 原文地址:https://blog.csdn.net/m0_49864110/article/details/127634890