• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

07-MPLS配置指导

目录

13-MPLS SR配置

本章节下载 13-MPLS SR配置  (319.92 KB)

13-MPLS SR配置


1 MPLS SR

1.1  MPLS SR简介

SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。MPLS SR(Segment Routing with MPLS,MPLS段路由)是指在MPLS网络中使用SR、将标签作为SID对报文进行转发。

1.1.1  MPLS SR的特点

MPLS SR具有以下优点:

·     直接应用现有的MPLS框架进行转发,无需对网络进行改造。MPLS网络架构的详细介绍,请参见“MPLS配置指导”中的“MPLS基础”。

·     能够更加简单地实现MPLS TE等网络功能,解决了现有网络为实现上述功能而带来的部署路由协议过多、部署过程复杂等问题。

1.1.2  MPLS SR基本概念

SR主要涉及如下概念:

·     SR节点:开启MPLS SR功能的设备通常被称为SR节点。其中,负责为进入MPLS SR网络的报文添加标签的入口节点称为源节点;负责剥离报文中标签、并将报文转发给目的网络的出口节点称为尾节点。

·     段:用来指明节点对入报文所执行的操作。

·     SID:段标识,在MPLS SR中为MPLS标签。

·     分段类型:根据SID分配形式不同,SR的分段类型有如下两种:

¡     Prefix Segment:前缀类型的段,按目的IP地址前缀为网络的节点分配SID并建立转发表项。

¡     Adjacency Segment:邻接类型的段,为节点的不同邻接链路分别分配SID。

·     SRLSP(Segment Routing Label Switched Path,基于段路由的LSP):以标签作为SID对报文进行段路由转发,报文所经过的路径称为SRLSP。

1.1.3  MPLS SR运行机制

要想通过SRLSP转发报文,需要完成以下工作:

(1)     进行标签分配,为报文转发路径中的每个节点和链路规划标签信息。

(2)     建立标签转发表项,运行MPLS SR的设备组成的分段路由域内的设备根据分配的标签信息形成本地的标签转发表项。

(3)     建立SRLSP。

完成上述步骤后,SRLSP即可用来转发流量。当源节点接收到用户网络的报文后,会为报文封装所经过路径上的标签信息,并通过SRLSP将报文转发给尾节点;尾节点从SRLSP接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。

如果将SRLSP与上层应用关联,如MPLS TE,则可以实现通过SRLSP来转发MPLS TE流量。

1.1.4  静态配置Segment

静态配置Segment的方式为:

·     Prefix Segment:在每台SR节点上为目的IP地址前缀手工指定入标签、出标签和下一跳。

·     Adjacency Segment:在每台SR节点上为与邻接设备相连的链路手工指定入标签和下一跳对应关系。

1.1.5  建立SRLSP

根据转发路径需要,在隧道头节点上指定报文转发时携带的标签栈。标签栈中的每个标签对应一个Prefix SID或Adjacency SID,根据Prefix SID或Adjacency SID可以找到报文的出标签、下一跳等信息。

1.1.6  MPLS SR报文转发过程

根据SID分配方式的不同,MPLS SR报文转发过程主要分为以下几种:

·     Prefix方式:在源节点将为尾节点分配的Prefix SID封装到报文中,各中间节点查找标签转发表项进行转发。

·     Adjacency方式:在源节点将所有经过节点为邻接链路分配的Adjacency SID组成的标签栈封装到报文中,各中间节点根据标签栈最外层标签查找下一跳邻居,并在转发报文时删除标签栈最外层标签。

·     Prefix/Adjacency方式:采用Prefix和Adjacency组合方式进行报文转发。

1. Prefix方式同一AS内报文转发过程

图1-1所示,Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签为21201。Prefix方式报文转发过程如下:

(1)     在源节点Device A根据21201查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为20201,Device A为报文封装标签20201,发送给中间节点Device B。

(2)     中间节点Device B的入标签为20201,出标签为19201,将20201替换为19201,发送给下一个中间节点Device C继续转发。

(3)     中间节点Device C及Device D的转发过程和Device B类似。

(4)     报文到达尾节点Device E后,Device E删除报文中的标签17201,按IP继续转发即可。

图1-1 Prefix方式报文转发过程示意图

 

2. Adjacency方式报文转发过程

图1-2所示,Device A、Device B、Device C、Deivce D为链路分配的Adjacency SID分别为200、201、202、203。Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签栈为(200,201,202,203)。Adjacency方式报文转发过程如下:

(1)     在源节点Device A根据栈顶标签200查找标签转发表项,判断该标签对应的下一跳为Device B。Device A为报文封装标签栈(201,202,203)后,将该报文转发给Device B。

(2)     中间节点Device B接收到报文后,根据入标签201查找标签转发表项,判断该标签对应的下一跳为Device C。Device B删除标签栈最外层标签201后,发送给下一个中间节点Device C继续转发。

(3)     中间节点Device C接收到报文后,根据入标签202查找标签转发表项,判断该标签对应的下一跳为Device D。Device C删除标签栈最外层标签202后,发送给下一个中间节点Device D继续转发。

(4)     中间节点Device D接收到报文后,根据入标签203查找标签转发表项,判断该标签对应的下一跳为Device E。Device D删除标签栈最外层标签203后,发送给Device E继续转发。

(5)     Device E收到是一个IP报文,按IP转发即可。

图1-2 Adjacency方式报文转发过程示意图

 

3. Prefix/Adjacency组合方式报文转发过程

图1-3所示,Device C为本节点分配的Prefix SID索引值为1,Device A、Device B、Device C上对应的Prefix SID分别为18001、17001、16001,Device C、Device D为邻接链路分配的Adjacency SID分别为16、17,Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签栈为(18001,16,17)。

Adjacency/Prefix组合方式报文转发过程如下:

(1)     在源节点Device A根据18001查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为17001,Device A为报文封装标签栈(17001,16,17),发送给中间节点Device B。

(2)     中间节点Device B前缀路径入标签为17001,出标签为16001,将17001替换为16001,发送给下一个中间节点Device C继续转发。

(3)     中间节点DeviceC前缀路径入标签16001,邻接路径入标签为16,删除标签栈最外层标签(16001,16)后,根据邻接路径将报文发送给下一个中间节点Device D继续转发。

(4)     中间节点Device D删除标签栈最外层标签17后,将报文发送给尾节点Device E,Device E收到是一个IP报文,按IP转发即可。

图1-3 Adjacency/Prefix组合方式报文转发过程示意图

 

1.2  协议规范

与MPLS SR相关的协议规范有:

·     draft-ietf-spring-segment-routing-mpls-00

·     draft-ietf-spring-segment-routing-02

1.3  MPLS SR配置限制和指导

如果设备上已经配置了MPLS功能,请勿再配置FCoE功能,否则可能导致FCoE功能不可用。

1.4  MPLS SR配置任务简介

1.4.1  SRLSP转发IP流量配置任务简介

SRLSP转发IP流量配置任务如下:

静态配置Segment

1.4.2  MPLS TE隧道采用静态SRLSP转发流量配置任务简介

MPLS TE隧道采用静态SRLSP转发流量配置任务如下:

(1)     配置Segment

静态配置Segment

(2)     配置MPLS TE隧道采用静态SRLSP

1.5  静态配置Segment

1.5.1  配置准备

在静态配置Segment之前,需完成以下任务:

·     确定静态SRLSP的头节点、中间节点和尾节点。

·     规划每个节点到下一跳的邻接路径的入标签值,规划每个节点的前缀路径标签值。需要注意的是,静态SRLSP与静态LSP、静态CRLSP使用相同的标签空间,在同一台设备上静态SRLSP、静态CRLSP和静态LSP的入标签不能相同。关于CRLSP的介绍请参见“MPLS配置指导”中的“MPLS TE”。

·     在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。

1.5.2  配置静态Adjacency Segment

1. 配置限制和指导

如果指定下一跳IP地址,设备上必须存在到达该地址的路由且路由出接口上必须使能MPLS能力;如果指定出接口,该出接口必须处于UP状态并且能够接收到直连路由,且必须使能MPLS能力。

如果所指定的入标签与已经存在的静态LSP/静态PW/静态CRLSP的入标签相同,则会导致标签冲突,所配置的邻接路径不可用。即使修改静态LSP/静态PW/静态CRLSP的入标签,该邻接路径仍不可用,需要手工删除该邻接路径并重新配置。

本命令需要在静态SRLSP的所有节点上执行。

如果多条静态SRLSP存在公共路径,公共路径节点的邻接路径信息一致,不需要进行多次配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置静态Adjacency Segment

static-sr-mpls adjacency adjacency-path-name in-label label-value { nexthop ip-address | outgoing-interface interface-type interface-number }

指定的下一跳地址不能是本地设备上的公网IP地址。

1.5.3  配置静态Prefix Segment

1. 配置限制和指导

指定的下一跳或出接口必须与路由表中最优路由的下一跳或出接口保持一致,同一台设备上,如果最优路由有多个下一跳或者出接口,那么就能配置多个到该目的地址的前缀路径用于负载分担,但是需要注意的是到达同一目的地址前缀路径的名称、入标签值需要保持一致。

本命令需要在静态SRLSP的所有节点上执行。

如果多条静态SRLSP的目的地址相同,公共路径节点的前缀路径信息一致,不需要进行多次配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置静态Prefix Segment。

static-sr-mpls prefix prefix-path-name destination ip-address { mask-length | mask } in-label in-label-value [ { nexthop ip-address | outgoing-interface interface-type interface-number } out-label out-label-value ]

指定的下一跳地址不能是本地设备上的公网IP地址。

1.6  配置MPLS TE隧道采用静态SRLSP

1.6.1  MPLS TE隧道采用静态SRLSP配置任务简介

(1)     开启MPLS TE能力

在MPLS TE隧道经过的所有节点上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。

(2)     配置用于MPLS TE的静态SRLSP

在MPLS TE隧道的头节点上执行本配置。

1.6.2  配置用于MPLS TE的静态SRLSP

(1)     进入系统视图。

system-view

(2)     配置用于MPLS TE隧道的静态SRLSP。

static-sr-mpls lsp lsp-name out-label out-label-value&<1-n>

1.7  MPLS SR显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置MPLS SR后的运行情况,用户可以通过查看显示信息验证配置的效果。

表1-1 MPLS SR显示和维护

操作

命令

显示静态SRLSP信息或静态配置的邻接段信息

display mpls static-sr-mpls { lsp [ lsp-name ] | adjacency [ adjacency-path-name ] }

显示静态配置的前缀段信息

display mpls static-sr-mpls prefix [ path lsp-name | destination ip-address [ mask | mask-length ] ]

 

1.8  MPLS SR典型配置举例

1.8.1  静态配置Segment配置举例

1. 组网需求

·     设备Switch A、Switch B、Switch C、Switch D和Switch E运行IS-IS。

·     使用静态SRLSP建立一条Switch A到Switch D的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量。静态SRLSP经过三个段,#1段:Switch A到Switch B的邻接段,#2段:Switch B到Switch C的邻接段,#3段:Switch C到Switch D的邻接段。

·     使用静态SRLSP建立另外一条Switch A到Switch E的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量。静态SRLSP经过三个段,#1段:Switch A到Switch B的邻接段,#2段:Switch B到Switch C的前缀段,#3段:Switch C到Switch E的邻接段。

2. 组网图

图1-4 静态配置Segment配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

Switch A

Loop0

1.1.1.9/32

Switch B

Loop0

2.2.2.9/32

 

Vlan-int10

100.1.1.1/24

 

Vlan-int10

10.1.1.2/24

 

Vlan-int20

10.1.1.1/24

 

Vlan-int20

20.1.1.1/24

 

 

 

 

Vlan-int30

60.1.1.1/24

Switch C

Loop0

3.3.3.9/32

Switch D

Loop0

4.4.4.9/32

 

Vlan-int10

30.1.1.1/24

 

Vlan-int10

100.1.2.1/24

 

Vlan-int20

20.1.1.2/24

 

Vlan-int20

30.1.1.2/24

 

Vlan-int30

50.1.1.1/24

 

 

 

 

Vlan-int40

60.1.1.2/24

 

 

 

Switch E

Loop0

5.5.5.9/32

 

 

 

 

Vlan-int10

200.1.2.1/24

 

 

 

 

Vlan-int20

50.1.1.2/24

 

 

 

 

3. 配置步骤

(1)     配置各接口的IP地址

按照图1-4配置各接口的IP地址和掩码,具体配置过程略。

(2)     配置IS-IS协议发布接口所在网段的路由,包括Loopback接口,具体配置过程略。

配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由,包括Loopback接口对应的主机路由。

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

# 配置Switch A。

<SwitchA> system-view

[SwitchA] mpls lsr-id 1.1.1.9

[SwitchA] mpls te

[SwitchA-te] quit

[SwitchA] interface vlan-interface 20

[SwitchA-Vlan-interface20] mpls enable

[SwitchA-Vlan-interface20] quit

# 配置Switch B。

<SwitchB> system-view

[SwitchB] mpls lsr-id 2.2.2.9

[SwitchB] mpls te

[SwitchB-te] quit

[SwitchB] interface vlan-interface 10

[SwitchB-Vlan-interface10] mpls enable

[SwitchB-Vlan-interface10] quit

[SwitchB] interface vlan-interface 20

[SwitchB-Vlan-interface20] mpls enable

[SwitchB-Vlan-interface20] quit

[SwitchB] interface vlan-interface 30

[SwitchB-Vlan-interface30] mpls enable

[SwitchB-Vlan-interface30] quit

# 配置Switch C。

<SwitchC> system-view

[SwitchC] mpls lsr-id 3.3.3.9

[SwitchC] mpls te

[SwitchC-te] quit

[SwitchC] interface vlan-interface 10

[SwitchC-Vlan-interface10] mpls enable

[SwitchC-Vlan-interface10] quit

[SwitchC] interface vlan-interface 20

[SwitchC-Vlan-interface20] mpls enable

[SwitchC-Vlan-interface20] quit

[SwitchC] interface vlan-interface 30

[SwitchC-Vlan-interface30] mpls enable

[SwitchC-Vlan-interface30] quit

[SwitchC] interface vlan-interface 40

[SwitchC-Vlan-interface40] mpls enable

[SwitchC-Vlan-interface40] quit

# 配置Switch D。

<SwitchD> system-view

[SwitchD] mpls lsr-id 4.4.4.9

[SwitchD] mpls te

[SwitchD-te] quit

[SwitchD] interface vlan-interface 20

[SwitchD-Vlan-interface20] mpls enable

[SwitchD-Vlan-interface20] quit

# 配置Switch E。

<SwitchE> system-view

[SwitchE] mpls lsr-id 5.5.5.9

[SwitchE] mpls te

[SwitchE-te] quit

[SwitchE] interface vlan-interface 20

[SwitchE-Vlan-interface20] mpls enable

[SwitchE-Vlan-interface20] quit

(4)     配置节点的邻接路径标签和前缀路径标签

# 配置Switch A的邻接标签,为下一跳地址10.1.1.2绑定标签16。

[SwitchA] static-sr-mpls adjacency adjacency-1 in-label 16 nexthop 10.1.1.2

# 配置Switch B的邻接标签,为下一跳地址20.1.1.2绑定标签21。

[SwitchB] static-sr-mpls adjacency adjacency-2 in-label 21 nexthop 60.1.1.2

# 配置Switch B的前缀标签,为下一跳地址20.1.1.2、60.1.1.2绑定相同的前缀路径名称、入标签16000、出标签16001,在Switch B和Switch C之间形成负载分担。

[SwitchB] static-sr-mpls prefix prefix-1 destination 5.5.5.9 32 in-label 16000 nexthop 20.1.1.2 out-label 16001

[SwitchB] static-sr-mpls prefix prefix-1 destination 5.5.5.9 32 in-label 16000 nexthop 60.1.1.2 out-label 16001

# 配置Switch C的邻接标签,为下一跳地址30.1.1.2、50.1.1.2分别绑定标签30、31。

[SwitchC] static-sr-mpls adjacency adjacency-1 in-label 30 nexthop 30.1.1.2

[SwitchC] static-sr-mpls adjacency adjacency-2 in-label 31 nexthop 50.1.1.2

# 配置Switch C的前缀标签,为目的地址5.5.5.9绑定标签16001。

[SwitchC] static-sr-mpls prefix prefix-1 destination 5.5.5.9 32 in-label 16001

(5)     创建静态SRLSP

# 配置Switch A为静态SRLSP的头节点,static-sr-lsp-1出标签栈为[16,21,30],建立到Switch D的静态SRLSP。

[SwitchA] static-sr-mpls lsp static-sr-lsp-1 out-label 16 21 30

# 配置Switch A为静态SRLSP的头节点,static-sr-lsp-2出标签栈为[16,16000,31],建立到Switch E的静态SRLSP。

[SwitchA] static-sr-mpls lsp static-sr-lsp-2 out-label 16 16000 31

(6)     配置MPLS TE隧道

# 在Switch A上配置到Switch D的MPLS TE隧道Tunnel1:目的地址为Switch D的LSR ID(4.4.4.9);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为static-sr-lsp-1。

[SwitchA] interface tunnel 1 mode mpls-te

[SwitchA-Tunnel1 ip address 6.1.1.1 255.255.255.0

[SwitchA-Tunnel1] destination 4.4.4.9

[SwitchA-Tunnel1] mpls te signaling static

[SwitchA-Tunnel1] mpls te static-sr-mpls static-sr-lsp-1

[SwitchA-Tunnel1] quit

# 在Switch A上配置到Switch E的MPLS TE隧道Tunnel2:目的地址为Switch E的LSR ID(5.5.5.9);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为static-sr-lsp-2。

[SwitchA] interface tunnel 2 mode mpls-te

[SwitchA-Tunnel2] ip address 7.1.1.1 255.255.255.0

[SwitchA-Tunnel2] destination 5.5.5.9

[SwitchA-Tunnel2] mpls te signaling static

[SwitchA-Tunnel2] mpls te static-sr-mpls static-sr-lsp-2

[SwitchA-Tunnel2] quit

(7)     配置静态路由使流量沿MPLS TE隧道转发

# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发,到达网络200.1.2.0/24的流量通过MPLS TE隧道接口Tunnel2转发。

[SwitchA] ip route-static 100.1.2.0 24 tunnel 1 preference 1

[SwitchA] ip route-static 200.1.2.0 24 tunnel 2 preference 1

4. 验证配置

# 在Switch A上执行display mpls te tunnel-interface命令,可以看到MPLS TE隧道的建立情况。

[SwitchA] display mpls te tunnel-interface

Tunnel Name            : Tunnel 1

Tunnel State           : Up (Main CRLSP up)

Tunnel Attributes      :

  LSP ID               : 1               Tunnel ID            : 0

  Admin State          : Normal

  Ingress LSR ID       : 1.1.1.9         Egress LSR ID        : 4.4.4.9

  Signaling            : Static          Static CRLSP Name    : -

  Static SRLSP Name    : static-sr-lsp-1/-

  Resv Style           : -

  Tunnel mode          : -

  Reverse-LSP name     : -

  Reverse-LSP LSR ID   : -               Reverse-LSP Tunnel ID: -

  Class Type           : -               Tunnel Bandwidth     : -

  Reserved Bandwidth   : -

  Setup Priority       : 0               Holding Priority     : 0

  Affinity Attr/Mask   : -/-

  Explicit Path        : -

  Backup Explicit Path : -

  Metric Type          : TE

  Record Route         : -               Record Label         : -

  FRR Flag             : -               Backup Bandwidth Flag: -

  Backup Bandwidth Flag: -               Backup Bandwidth Type: -

  Backup Bandwidth     : -

  Bypass Tunnel        : -               Auto Created         : -

  Route Pinning        : -

  Retry Limit          : 3               Retry Interval       : 2 sec

  Reoptimization       : -               Reoptimization Freq  : -

  Backup Type          : -               Backup LSP ID        : -

  Auto Bandwidth       : -               Auto Bandwidth Freq  : -

  Min Bandwidth        : -               Max Bandwidth        : -

  Collected Bandwidth  : -

 

Tunnel Name            : Tunnel 2

Tunnel State           : Up (Main CRLSP up)

Tunnel Attributes      :

  LSP ID               : 1               Tunnel ID            : 1

  Admin State          : Normal

  Ingress LSR ID       : 1.1.1.9         Egress LSR ID        : 5.5.5.9

  Signaling            : Static          Static CRLSP Name    : -

  Static SRLSP Name    : static-sr-lsp-2/-

  Resv Style           : -

  Tunnel mode          : -

  Reverse-LSP name     : -

  Reverse-LSP LSR ID   : -               Reverse-LSP Tunnel ID: -

  Class Type           : -               Tunnel Bandwidth     : -

  Reserved Bandwidth   : -

  Setup Priority       : 0               Holding Priority     : 0

  Affinity Attr/Mask   : -/-

  Explicit Path        : -

  Backup Explicit Path : -

  Metric Type          : TE

  Record Route         : -               Record Label         : -

  FRR Flag             : -               Bandwidth Protection : -

  Backup Bandwidth Flag: -               Backup Bandwidth Type: -

  Backup Bandwidth     : -

  Bypass Tunnel        : -               Auto Created         : -

  Route Pinning        : -

  Retry Limit          : 3               Retry Interval       : 2 sec

  Reoptimization       : -               Reoptimization Freq  : -

  Backup Type          : -               Backup LSP ID        : -

  Auto Bandwidth       : -               Auto Bandwidth Freq  : -

  Min Bandwidth        : -               Max Bandwidth        : -

  Collected Bandwidth  : -

# 在各设备上执行display mpls lspdisplay mpls static-sr-lsp命令,可以看到静态SRLSP的建立情况。

[SwitchA] display mpls lsp

FEC                         Proto       In/Out Label    Out Inter/NHLFE/LSINDEX

1.1.1.9/0/46565             StaticCR    -/21            Vlan20

                                        30  

1.1.1.9/1/46565             StaticCR    -/16000         Vlan20

                                        31

-                           StaticCR    16/-            Vlan20

10.1.1.2                    Local       -/-             Vlan20

Tunnel0                     Local       -/-             NHLFE1

Tunnel1                     Local       -/-             NHLFE2

[SwitchB] display mpls lsp

FEC                         Proto       In/Out Label    Out Inter/NHLFE/LSINDEX

5.5.5.9/32                  StaticCR    16000/16001     Vlan20

5.5.5.9/32                  StaticCR    16000/16001     Vlan30

-                           StaticCR    21/-            Vlan20

20.1.1.2                    Local       -/-             Vlan20

60.1.1.2                    Local       -/-             Vlan30

[SwitchC] display mpls lsp

FEC                         Proto       In/Out Label    Out Inter/NHLFE/LSINDEX

5.5.5.9/32                  StaticCR    16001/-         -

-                           StaticCR    30/-            Vlan10

-                           StaticCR    31/-            Vlan30

30.1.1.2                    Local       -/-             Vlan10

50.1.1.2                    Local       -/-             Vlan30

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们