MPLS隧道

您所在的位置:网站首页 邻居关系图片 MPLS隧道

MPLS隧道

2023-11-05 03:20| 来源: 网络整理| 查看: 265

目录

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博客



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3