MPLS-VPN跨域OptionC-1解决方案实验(无RR场景)

1、网络拓扑

2、实验需求:

(1)SiteA两个站点跨域能正常通信(PC1 ping 通 PC3)

(2)SiteB两个站点跨域能正常通信(PC2 ping 通 PC4)

  (3) 不同站点不能互相通信

(4)数据转发使用MPLS标签进行转发

3、实验解析:

(1)各站点路由器按要求配置路由协议,使站点路由能通过路由协议告知PE(SiteA-1运行   OSPF,SiteB-1运行IS-IS,SiteA-2运行BGP 100,SiteB-2运行BGP 200)

(2)各AS内配置IGP协议使内部互通,配置MPLS/MPLS LDP使能标签转发

   (3) PE-1与PE-2建立MP-EBGP对等体,交换VPNv4路由

(4)PE-1与ASBR-1、PE-2与ASBR-2建立IBGP对等体关系,使能BGP对等体发布带标签路由能 力

 (5)2台ASBR建立EBGP对等体关系,引入各自到PE的路由到BGP中,并使能BGP对等体发布带标签路由能力

    (6) 两个PE设置的RT需要相匹配,才能正确识别同一站点的路由

核心思想:PE与PE之间建立多跳MP-EBGP邻居关系,互相交换VPNv4路由,但是PE与PE之间没有可达地址,所以需要通过ASBR来通告PE的可达路由

4、配置步骤:(AS 123内)

4.1 SiteA-1配置

#
interface GigabitEthernet0/0/0
 ip address 192.168.100.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 172.16.1.254 255.255.255.0 
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
  network 172.16.1.254 0.0.0.0 
  network 192.168.100.1 0.0.0.0 
#

4.2 SiteB-1配置

#
isis 1                                    
 network-entity 49.0001.0002.0002.0002.00
#
interface GigabitEthernet0/0/1
 ip address 192.168.100.1 255.255.255.0 
 isis enable 1
#
interface GigabitEthernet0/0/2
 ip address 192.168.1.254 255.255.255.0 
 isis enable 1
#

4.3 PE-1配置

#
interface LoopBack0
 ip address 10.1.1.1 255.255.255.255 
#
ip vpn-instance SiteA //创建VPN实例SiteA,实例名称本地有效,本地唯一即可,用于与SiteA站点对接
 ipv4-family
  route-distinguisher 1:1 //配置RD值,RD:IP 形成VPNv4地址,用于解决不同用户的地址冲突问题,建议全局唯一
  vpn-target 100:1 export-extcommunity //配置RT值,路由通告时,出方向携带该属性,用于匹配同站点路由
  vpn-target 100:1 import-extcommunity
#
ip vpn-instance SiteB //创建VPN实例SiteB,用于与SiteB站点对接
 ipv4-family
  route-distinguisher 1:2
  vpn-target 100:2 export-extcommunity    
  vpn-target 100:2 import-extcommunity
#
mpls lsr-id 10.1.1.1 //配置lsr id,唯一标识一台LSR路由器,建立LDP会话时,LDP协商的Transport地址默认为该地址,建议使用某Loopback接口地址,且该地址AS内可达
#
mpls //全局使能MPLS
#
mpls ldp //全局使能LDP
#
interface GigabitEthernet0/0/0     //接口绑定VPN实例SiteA       
 ip binding vpn-instance SiteA
 ip address 192.168.100.2 255.255.255.0 
#
ospf 100 router-id 10.1.1.1   //创建OSPF进程绑定VPN实例,与SiteA-1对接,接收站点路由
 area 0.0.0.0                             
  network 10.0.12.1 0.0.0.0 
  network 10.1.1.1 0.0.0.0 
#
isis 1 vpn-instance SiteB //创建IS-IS进程绑定VPN实例,与SitEB-1对接,接收站点路由
 network-entity 49.0001.0010.0001.0001.00
#
interface GigabitEthernet0/0/1   //接口绑定VPN实例SiteB
 ip binding vpn-instance SiteB
 ip address 192.168.100.2 255.255.255.0 
 isis enable 1 //接口激活IS-IS进程
#
interface GigabitEthernet0/0/2 //AS互联接口
 ip address 10.0.12.1 255.255.255.0 
 mpls //使能MPLS
 mpls ldp //使能LDP
#
ospf 100 router-id 10.1.1.1  //OSPF进程,为AS内路由器互通
 area 0.0.0.0                             
  network 10.0.12.1 0.0.0.0 //通告接口
  network 10.1.1.1 0.0.0.0  //通告LoopBack接口
#

4.4 P-1配置

#
interface LoopBack0
 ip address 10.2.2.2 255.255.255.255      
#
mpls lsr-id 10.2.2.2
#
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.0.23.2 255.255.255.0 
 mpls
 mpls ldp
#

interface GigabitEthernet0/0/2
 ip address 10.0.12.2 255.255.255.0 
 mpls
 mpls ldp
#
ospf 100 router-id 10.2.2.2  //OSPF进程,AS内路由器互联
 area 0.0.0.0 
  network 10.0.12.2 0.0.0.0 
  network 10.0.23.2 0.0.0.0 
  network 10.2.2.2 0.0.0.0 
#

4.5 ASBR-1配置

#
interface LoopBack0
 ip address 10.3.3.3 255.255.255.255 
# 
mpls lsr-id 10.3.3.3
#
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.0.23.3 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.10.10.1 255.255.255.0 
 mpls
#
ospf 100 router-id 10.3.3.3 
 area 0.0.0.0 
  network 10.0.23.3 0.0.0.0 
  network 10.3.3.3 0.0.0.0 
#

4.6 PE-1与ASBR-1建立IBGP对等体

4.6.1 PE-1上配置:

#
bgp 123
 router-id 10.1.1.1 //RID
 peer 10.3.3.3 as-number 123  //IBGP对等体
 peer 10.3.3.3 connect-interface LoopBack0 //使用loopback接口作为连接源

 peer 10.3.3.3 label-route-capability //使能对等体标签路由能力(BGP发布IPv4路由给对等体时,同时携带BGP为该路由分配的标签)
 #
 ipv4-family vpn-instance SiteA //VPN实例地址族
  import-route ospf 1 //引入ospf路由
 #
 ipv4-family vpn-instance SiteB 
  import-route isis 1 //引入isis路由
#
ospf 1 router-id 10.1.1.1 vpn-instance SiteA
 import-route bgp //将BGP路由引入到OSPF

#
isis 1 vpn-instance SiteB

 import-route bgp 
#

4.6.2 ASBR-1上配置:

#
bgp 123
 router-id 10.3.3.3
 peer 10.1.1.1 as-number 123 
 peer 10.1.1.1 connect-interface LoopBack0
 peer 10.1.1.1 label-route-capability  //使能对等体发送标签路由能力
#

4.6.3 查看对等体是否建立

PE-1上查看

5、配置步骤:(AS 456内)

5.1 SiteA-2配置:

#
interface GigabitEthernet0/0/0
 ip address 192.168.200.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 172.16.2.254 255.255.255.0 
#
bgp 100   //使用BGP 100与PE-2对接
 router-id 3.3.3.3
 peer 192.168.200.2 as-number 456 
 peer 192.168.200.2 connect-interface GigabitEthernet0/0/0

 network 172.16.2.0 24
 network 192.168.200.0 24

#

5.2 SiteB-2配置:

#
interface GigabitEthernet0/0/1
 ip address 192.168.2.254 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 192.168.200.1 255.255.255.0 
#
bgp 200 //使用BGP 200与PE-2对接
 router-id 4.4.4.4
 peer 192.168.200.2 as-number 456 
 peer 192.168.200.2 connect-interface GigabitEthernet0/0/2

 network 192.168.2.0 
 network 192.168.200.0 

#

5.3 PE-2配置:

#
interface LoopBack0
 ip address 20.1.1.1 255.255.255.255 
#
mpls lsr-id 20.1.1.1 //配置lsr id ,用于唯一标识一台LSR路由器,LDP会话建立时的transport地址默认使用该地址建立,建议使用某loopback接口,且AS内互通
#                    //执行命令mpls ldp transport-address { interface-type interface-number | interface },配置LDP传输地址为指定接口的IP地址
mpls //全局使能MPLS
#
mpls ldp //全局使能LDP
#
ip vpn-instance SiteA //创建VPN实例SiteA,实例名称本地有效,本地唯一即可
 ipv4-family
  route-distinguisher 2:1  //配置RD值,与IP前缀结合使用形成 RD:IP 格式的VPNv4地址,用于区分不同站点的路由,建议全局唯一
  vpn-target 100:1 export-extcommunity //配置RT值,通告VPNv4路由时携带该属性,以BGP团体属性标识
  vpn-target 100:1 import-extcommunity //配置RD值,收到的VPNv4路由与该RT值匹配,一致的认为属于同一个站点
#
ip vpn-instance SiteB //创建VPN实例SiteB
 ipv4-family
  route-distinguisher 2:2
  vpn-target 100:2 export-extcommunity    
  vpn-target 100:2 import-extcommunity
#
interface GigabitEthernet0/0/0  //接口绑定VPN实例SiteA
 ip binding vpn-instance SiteA
 ip address 192.168.200.1 255.255.255.0 
#                                         
interface GigabitEthernet0/0/1
 ip address 10.1.12.1 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/2  //接口绑定VPN实例SiteB
 ip binding vpn-instance SiteB
 ip address 192.168.200.2 255.255.255.0 
#
ospf 100 router-id 20.1.1.1  //OSPF 100,用于AS内互联
 area 0.0.0.0 
  network 10.1.12.1 0.0.0.0  //接口地址
  network 20.1.1.1 0.0.0.0   //loopback地址
#
bgp 456   //BGP
 router-id 20.1.1.1
 #
 ipv4-family unicast
  undo synchronization
 #
 ipv4-family vpn-instance SiteA  //VPN实例SiteA地址族,与SiteA-2对接,接收来自SiteA的路由
  peer 192.168.200.1 as-number 100 
  peer 192.168.200.1 connect-interface GigabitEthernet0/0/0
 #                                        
 ipv4-family vpn-instance SiteB  //VPN实例SiteB地址族,与SiteB-2对接,接收来自SiteB的路由
  peer 192.168.200.1 as-number 200 
  peer 192.168.200.1 connect-interface GigabitEthernet0/0/2
#

5.4 P-2配置:

#
interface LoopBack0
 ip address 20.2.2.2 255.255.255.255      
#
interface GigabitEthernet0/0/0
 ip address 10.1.23.2 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.1.12.2 255.255.255.0 
 mpls
 mpls ldp
#
ospf 100 router-id 20.2.2.2 
 area 0.0.0.0 
  network 10.1.12.2 0.0.0.0 
  network 10.1.23.2 0.0.0.0 
  network 20.2.2.2 0.0.0.0
#

5.5 ASBR-2配置:

#
interface LoopBack0
 ip address 20.3.3.3 255.255.255.255 
#
mpls lsr-id 20.3.3.3
#
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.23.3 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1  //与其它AS直连的接口启用mpls即可
 ip address 10.10.10.2 255.255.255.0 
 mpls
#
ospf 100 router-id 20.3.3.3 
 area 0.0.0.0 
  network 10.1.23.3 0.0.0.0 
  network 20.3.3.3 0.0.0.0 
#

5.6 PE-2与ASBR-2建立IBGP对等体

5.6.1 PE-2上配置:

#
bgp 456
 peer 20.3.3.3 as-number 456 
 peer 20.3.3.3 connect-interface LoopBack0
 peer 20.3.3.3 label-route-capability //使能对等体发送标签路由能力
#

5.6.2 ASBR-2上配置:

#
bgp 456
 router-id 20.3.3.3
 peer 20.1.1.1 as-number 456  
 peer 20.1.1.1 connect-interface LoopBack0
 peer 20.1.1.1 label-route-capability  //使能对等体发送标签路由能力
#

5.6.3 查看对等体是否建立:

PE-2上查看

7、验证OSPF邻居、MPLS LDP会话、MPLS LSP是否正常

7.1 P-1上验证:

7.2 P-2上验证:

8、PE-1与PE-2建立多跳MP-EBGP对等体

PE-1与PE-2之间建立MP-EBGP关系,目的是为了直接交换VPNv4路由, 且不需要经过其它路由器传递VPNv4路路由

8.1 PE-1上配置:

#
bgp 123

 peer 20.1.1.1 as-number 456  
 peer 20.1.1.1 connect-interface LoopBack0
 peer 20.1.1.1 ebgp-max-hop //建立多跳EBGP邻居(默认EBGP对等体为1跳)

 # 
 ipv4-family vpnv4 //VPNv4地址族
  policy vpn-target
  peer 20.1.1.1 enable  //使能对等体VPNv4能力

# 

8.2 PE-2上配置:

bgp 456
 peer 10.1.1.1 as-number 123  
 peer 10.1.1.1 connect-interface LoopBack0 
 peer 10.1.1.1 ebgp-max-hop //建立多跳EBGP邻居(默认EBGP对等体为1跳)

 # 
 ipv4-family vpnv4
  peer 10.1.1.1 enable
 #

此时,由于PE-1和PE-2都没有到达对方的路由,所以EBGP邻居关系是建立不起来的

9、ASBR-1与ASBR-2建立EBGP邻居关系

ASBR-1与ASBR-2建立EBGP邻居关系,目的是将到达本PE设备的路由传递给对端,再由ASBR通过IBGP传递给PE;

这样,双方的PE设备都学习到了对方PE的路由,PE之间的多跳EBGP对等体就能建立起来了

9.1 ASBR-1上配置:

#
bgp 123

 peer 10.10.10.2 as-number 456 //建立EBGP邻居关系,因为是直连,所以不需要配置多跳
 peer 10.10.10.2 connect-interface GigabitEthernet0/0/1
 peer 10.10.10.2 label-route-capability //使能对端标签路由的能力(为数据转发时路由器使用标签转发)
 network 10.1.1.1 32 //以network 方式将到达PE-1的路由引入BGP,使ASBR-2能知晓到达PE-1的路由下一跳为ASBR-1
#

9.2 ASBR-2上配置:

#
bgp 456                                   

 peer 20.1.1.1 as-number 456 
 peer 20.1.1.1 connect-interface LoopBack0
 peer 10.10.10.1 label-route-capability
 network 20.1.1.1 32  //以network 方式将到达PE-2的路由引入BGP,使ASBR-1能知晓到达PE-2的路由下一跳为ASBR-2
#

9.3 验证ASBR是否学习到PE路由

ASBR-1上查看:

ASBR-1已经学习到PE-2的路由

此时收到的BGP路由更新并没有分配标签,只是普通的BGP路由

ASBR-2上查看:

ASBR-2已经学习到PE-1的路由

此时收到的BGP路由更新并没有分配标签

问题(1):

根据BGP路由传递规则,从EBGP对等体学习到的路由更新给IBGP时,下一跳不变

所以,PE-1和PE-2虽然收到ASBR更新的路由,但下一跳不可达,路由无效

问题(2):

在ASBR上修改下一跳属性:peer 10.1.1.1 next-hop-local ,是否能解决问题?

答:不能

因为ASBR修改下一跳为自身连接源地址后,PE-1去往对端PE的路径将是:PE-1--->P-1---->ASBR-1--->ASBR-2...,是以纯IPv4路由进行,

但是P-1路由器并没有到达对端PE路由,所以数据在P-1时被丢弃

解决方法:ASBR为PE路由分配标签,全程进行标签转发

9.4 ASBR上配置为IPv4路由分配标签

9.4.1 ASBR-1上配置:

#
route-policy ForPE permit node 10    //定义路由策略,名称ForPE
 if-match mpls-label                 //定义匹配条件:如果路由是携带了mpls标签              
 apply mpls-label                    //定义执行语句:分配mpls标签
#
route-policy ForASBR permit node 10     //定义路由策略,名称ForASBR  
 apply mpls-label                       //没有定义匹配条件,直接定义执行语句:分配mpls标签
#
bgp 123
  peer 10.1.1.1 route-policy ForPE export    //对10.1.1.1 对等体发布路由时执行路由策略ForPE
  peer 10.10.10.2 route-policy ForASBR export //对10.10.10.2 对等体发布路由时执行路由策略ForASBR

#

9.4.2 ASBR-2上配置:

#
route-policy ForPE permit node 10 
 if-match mpls-label                      
 apply mpls-label
#
route-policy ForASBR permit node 10 
 apply mpls-label
#
bgp 456
  peer 10.10.10.1 route-policy ForASBR export
  peer 20.1.1.1 route-policy ForPE export

9.4.3 配置完成后抓包查看:

9.4.3.1 ASBR-1向ASBR-2发布PE-1的路由:

9.4.3.2 ASBR-2向PE-2发布PE-1的路由:

9.4.3.2 在ASBR-2查看验证关于10.1.1.1/32路由,接收到的标签为1028,分配的标签为1028

9.4.3.3 同理,在ASBR-1上查看关于20.1.1.1/32的路由:

9.5 路由传递示意图(控制层面):

解析:

1和2:SiteA-1和SiteB-1将路由通过OSPF、IS-IS协议通告给PE-1

3:ASBR-1以Network 方式将PE-1的路由通过EBGP协议通告给ASBR-2,路由传递的同时携带了分配的标签(对等体使能标签路由能力并部署路由策略)

4:ASBR-2收到ASBR-1发送的路由后,将收到的路由通过IBGP协议通告给PE-2,路由传递的同时携带了分配的标签(对等体使能标签路由能力并部署路由策略),此时PE-2有了到达PE-1的路由

(同理,PE-1以同样的方式获取到达PE-2的路由)

5:PE-1和PE-2建立多跳MP-EBGP,相互传递VPNv4路由(SiteA和SiteB站点的路由)

6:PE-2经过RT值匹配,将属于SiteA站点的路由传递给SiteA-2(同理,PE-1将属于SiteA的路由传递给SiteA-1)

7:PE-2经过RT值匹配,将属于SiteB站点的路由传递给SiteB-2(同理,PE-1将属于SiteB的路由传递给SiteB-1)

至此,VPN路由传递完成

10、验证全网:

10.1 验证PE之间的多跳EBGP对等体:

10.1.1 在PE-1上查看:

10.1.2 在PE-1上查看路由:

10.1.3 在PE-2上查看路由:

10.2 在SiteA-1上查看路由:

已学习到SiteA-2的路由:

10.3 在SiteA-2上查看路由:

已学习到SiteA-1的路由:

10.4 Ping 测试

10.4.1 PC1 ping PC3 (同站点SiteA互ping)

10.4.2 PC2 ping PC4(同站点SiteB互ping)

11、PC1 ping PC3数据层面分析全程:

11.1 SiteA-1接收到PC1发出的ICMP报文,SiteA-1解析目的地址为172.16.2.1,查找转发表:

匹配到转发表项中目的地址172.16.2.0/24,下一跳192.168.100.2,出接口G0/0/0,SiteA-1将数据发往PE-1

11.2 PE-1收到SiteA-1发送的ICMP报文,解析目的地址为172.16.2.1,查找转发表:

由于是从绑定了VPN实例的接口收到报文,路由器查找VPN实例路由表:

匹配到转发表项中目的地址172.16.2.0/24,下一跳10.3.3.3,出接口G0/0/2,Tunnel ID:0x8(不为0,表示数据需要隧道转发或MPLS转发)

PE-1路由器根据Tunnel ID,查看NHLFE(下一跳标签转发表项),根据表项数据需要进行LSP隧道转发,且去往172.16.2.1的数据需要到20.1.1.1

下一跳为10.3.3.3,出标签1029(此时的出标签是LDP协议为20.1.1.1分配的)

PE-1根据出标签1029,查看ILM(入标签映射表),1029标签动作为push,Outing token这个参数是MPLS报文最终需要转发的接口ID(重要参数)

PE-1由于10.3.3.3并不是直连路由,需要继续查找路由转发表:

匹配到10.3.3.3的路由,出接口G0/0/2,Tunnel ID为0x3(不为0需要隧道转发或mpls转发)

根据Tunel ID,查找NHLFE,ILM:

查找的NHLFE

查找的IML,此时PE-1得知,到达10.3.3.3,出标签1025,标签动作:push,出接口G0/0/2,下一跳10.0.12.2(直连路由)

目的地址172.16.2.1匹配SiteA这个VPN实例中路由,故PE-1还需要添加BGP为VPN分配的标签

PE-1总结上边的查询结果:

PE-1根据数据规则:

最内层为VPN标签(1028),用于区分数据属于哪个VPN实例

中间为到达20.1.1.1(对端PE-2)标签(1029)

外层为到达10.3.3.3(本AS的ASBR)标签(1025)

封装为MPLS数据,从接口G0/0/2发出

11.3 P-1收到3层标签的MPLS数据,只解析最外层标签

外层标签为1025,P-1路由器查找ILM,根据表项可知,出标签为3(隐式空标签)

根据PHP特性,P-1路由器弹出外层1025标签,将剩余2层标签的MPLS数据从G0/0/0

11.4 ASBR-1收到2层标签的MPLS数据,根据外层标签查找IML

根据外层标签1029,ASBR-1得知入标签为1029,出标签为1029,动作为SWAPPUSH,隧道类型为BGP协议构建的隧道

构建的隧道协议为BGP,查看BGP为IPv4路由分配的标签,下一跳为10.10.10.2(直连路由),故数据从G0/0/1发出

ASBR-1将1029标签替换成1029后,将数据从G00/0/1接口发出

11.5 ASBR-2收到2层MPLS标签数据

根据外层标签1029,查找IML

根据表项,出标签NULL,目标地址20.1.1.1,标签动作:POPGO(弹出,并将报文转发至另一条隧道),此时报文先弹出外层标签

(下表是从H3C官方文档找到的,华为没有.....)

查看MPLS LSP隧道,匹配20.1.1.1,得出出标签为1024,出接口G0/0/0。(路由器应该是直接根据Outing Token值匹配隧道)

根据Outing Token(数据最终转发接口ID),也可以知道出标签、出接口

根据出标签1024,查找ILM,标签动作为PUSH

ASBR-2路由器添加外层标签1024,从G0/0/0口发出

11.6 P-2收到2层标签MPLS数据:

根除外层标签查看ILM,出标签为3(隐式空标签),出接口G0/0/1

P-2路由器根据PHP特性,弹出外层标签,将仅剩一层标签的MPLS数据从G0/0/1口发出

11.7 PE-2收到1层MPLS数据

PE-2根据标签1028查看ILM,由下表可知接收到的数据属于VPN实例SiteA,标签动作POP

PE-2路由器弹出标签,查看数据目的地址为172.16.2.1,查找SiteA的转发表:

匹配到路由条目,下一跳192.168.200.1,出接口G0/0/0,PE-2将IPv4报文从接口转发出去

11.8 SiteA-2接收到数据报文,根据目的地址查找转发表:

匹配到路由条目,将数据从G0/0/1口发出,数据到达PC3

11.9 回程过程同理

总结:

1、在OPtionC-1解决方案中,PE与PE之间直接交换VPNv4路由,但PE与PE可能跨越了多个AS域,需要在ASBR上通告各自AS的PE路由,并使能标签路由功能,以便数据转发时全程标签转发(包括PE与PE建立MP-EBGP对等体关系时发送的TCP连接)

2、ASBR收到其它AS更新的PE路由后,需要进行标签转换动作,即将BGP分配的标签替换为LDP分配的标签,再发给本AS的PE

3、ASBR收到去往本AS的PE的MPLS数据时,查看外层标签查找对应标签项,标签动作为POPGO,需要将外层标签(BGP分配)替换为LDP分配的标签

(下图为PE与PE建立MP-EBGP的数据抓包,都是封装在MPLS标签中)

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值