PE Provider Edge 服务提供商边缘设备
CE Customer Edge 用户网络边缘设备
FRR Fast ReRoute 快速重路由技术
TE Traffic Engineered Tunnel 在部署重路由(Reroute)或需要将流量通过多条路径传输时,可能需要用到多条LSP 隧道。在TE 中,这样的一组LSP 隧道称为TE 隧道(Traffic Engineered Tunnel)
BGP/MPLS IP ×××模型由三部分组成:CE、PE和P。
CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商SP(Service Provider)网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到×××的存在,也不需要支持MPLS。
PE(Provider Edge):服务提供商边缘设备,是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对×××的所有处理都发生在PE上。
P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护×××信息。
Site:指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过服务提供商网络实现。site通过CE连接到服务提供商网络,一个site可以包含多个CE,但一个CE只属于一个site。
CE双归:CE双归属是提高网络可靠性的常见网络结构。把一个CE与属于同一个×××的两个PE相连,就将其视为CE双归。此时CE是通过两条链路接入骨干网。这两条链路既可用作负载分担,也可作为主备链路
RD:路由标识(Route Distinguisher)是一个地址修饰符,仅用于一单个因特网服务提供商的多协议标签交换(MPLS)网络内。它被用于区分明显的虚拟专用网络(×××)路由连接到提供商的单独的客户。这个路由标识对客户因特网协议地址(IPv4)是一个8位域前缀。结果的12位域是一个独特的"×××-IPv4"地址。在一单个提供商网络,一个连接到一个客户的路由器叫做提供商边缘(PE)路由器,和连接到被叫做用户边缘 (CE) 路由器的用户路由器。
×××实例也称为×××路由转发表VRF,×××实例用于将×××私网路由与公网路由隔离,不同×××实例的路由之间也是相互隔离的,在所有BGP/MPLS IP ×××组网方案中,都需要配置×××实例。
配置BGP/MPLS vpn:
一:
- 执行命令system-view,进入系统视图。
- 执行命令ip vpn-instance vpn-instance-name,创建×××实例,并进入×××实例视图。
说明:
×××实例的名字区分大小写。例如,“vpn1”和“×××1”将被认为是不同的×××实例。
PE上没有缺省的×××实例,一个PE上可以创建多个×××实例,最多可创建的×××实例数量与具体产品有关。
- 执行命令route-distinguisher route-distinguisher,配置×××实例的RD。
×××实例只有配置了RD后才生效。同一PE上的不同×××实例的RD不能相同。
在配置RD之前,除了描述信息外,不能配置其他任何参数。
- (可选)执行命令description description-information,配置×××实例的描述信息。
描述信息的作用类似于主机名和接口描述信息,可用来记录×××实例与某个×××的关系等信息,建议用户选择合适的描述信息进行配置。
二:
配置接口与×××实例关联 背景信息在每个接入CE的PE上进行如下配置。
操作步骤- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入要关联×××实例的接口视图。
- 执行命令ip binding vpn-instance vpn-instance-name,将当前接口与×××实例关联。
说明:
执行ip binding vpn-instance命令将删除接口上已经配置的IP地址、路由协议等三层特性,如果需要应重新配置。
三:
配置PE和PE间路由交互 背景信息在每个接入CE的PE上进行如下配置。
- 执行system-view,进入系统视图。
- 执行bgp as-number,进入BGP视图。
- 执行peer peer-address as-number as-number,将对端PE配置为对等体。
- 执行peer peer-address connect-interface loopback interface-number,指定建立TCP连接的接口。
说明:
PE之间必须使用32位掩码的Loopback接口地址来建立MP-IBGP对等体关系,以便能够迭代到隧道。到Loopback接口的路由通过MPLS骨干网上的IGP发布给对端PE。
- 执行ipv4-family vpnv4,进入BGP-×××v4子地址族视图。
- 执行peer peer-address enable,使能对等体交换×××v4路由信息的能力。
四:
配置PE和CE间路由交互 背景信息根据实际情况,选择如下配置之一:
- 配置PE和CE间使用EBGP
- 配置PE和CE间使用IBGP
- 配置PE和CE间使用静态路由
- 配置PE和CE间使用RIP
- 配置PE和CE间使用OSPF
- 配置PE和CE间使用IS-IS
- 配置PE和CE间使用EBGP
在PE上执行如下配置:
- 在PE上,执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name,进入BGP-×××实例视图。
- 执行命令peer peer-address as-number number,将CE配置为×××私网对等体。
- (可选)执行命令peer { ipv4-address | group-name } ebgp-max-hop [ number ],配置EBGP连接的最大跳数。
通常情况下,EBGP对等体之间必须具有直连的物理链路,如果不满足这一要求,则必须使用peer ebgp-max-hop命令允许它们之间经过多跳建立TCP连接。
- (可选)当需要将到本地CE的直连路由引入×××路由表中,以发布给对端PE时,可选择如下配置之一:
-
执行命令import-route direct [ med value | route-policy policy-name ]*,引入到本地CE的直连路由。
-
执行命令network ip-address mask,发布到本地CE的直连路由。
说明:
PE会自动学习到本地CE直连路由,该路由优于本地CE通过EBGP发布过来的直连路由,因此如果不配置步骤6,PE不会将该直连路由通过MP-BGP发布给对端PE。
-
- (可选)执行命令peer ip-address allow-as-loop [ number ],允许路由环路。
此步骤用于Hub&Spoke组网方案。
通常情况下,BGP通过AS号检测路由环路。但在Hub&Spoke组网方式下,如果在Hub节点的PE和CE之间运行EBGP,当Hub-PE将路由信息通告给Hub-CE时带上本自治系统的AS号。再从Hub-CE接收路由更新时,路由更新消息中会带有本自治系统的AS号,这样,Hub-PE就不能接收这条路由更新信息。为保证Hub&Spoke组网方式中路由能够正确传递,从Hub-CE发布私网路由到Spoke-CE途中经过的相关BGP对等体需要配置允许AS重复1次的路由通过。
- (可选)执行命令peer ip-address substitute-as,使能BGP的AS号替换功能。
用于物理分散的CE复用相同AS号的组网方案,在PE上配置。
说明:
在CE多归属的情况下,使能BGP AS号替换功能可能引起路由环路。
说明:
与普通BGP视图相比,BGP-×××实例视图不支持以下配置命令:
- BGP联盟:confederation
- BGP Graceful Restart:graceful-restart
- BGP的Router ID:router-id
- BGP与IGP同步:synchronization
- BGP定时器:timer
在CE上执行如下配置:
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令peer peer-address as-number as-number,将PE配置为对等体。
- (可选)执行命令peer { ipv4-address | group-name } ebgp-max-hop [ number ],配置EBGP连接的最大跳数。
通常情况下,EBGP对等体之间必须具有直连的物理链路,如果不满足这一要求,则必须使用peer ebgp-max-hop命令允许EBGP对等体之间经过多跳建立TCP连接。
- 执行命令import-route { direct | static | rip [ process-id ] | ospf process-id | isis process-id } [ med value | route-policy policy-name ]*,引入本站点的路由。
CE将自己的×××网段地址发布给接入的PE,通过PE发布给对端CE。根据实际组网情况,该步骤中需要引入的路由类型有所不同。
- 配置PE和CE间使用IBGP
在PE上执行如下配置:
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name,进入BGP-×××实例视图。
- 执行命令peer peer-address as-number number,将CE配置为×××私网对等体。
- (可选)当需要将到本端CE的直连路由引入×××路由表中,以发布给对端PE时,可选择如下配置之一:
-
执行命令import-route direct [ med value | route-policy policy-name ]*,引入到本地CE的直连路由。
-
执行命令network ip-address mask,发布到本地CE的直连路由。
说明:
PE会自动学习到本地CE直连路由,该路由优于本地CE通过IBGP发布过来的直连路由,因此如果不配置步骤5,PE不会将该直连路由通过MP-BGP发布给对端PE。
-
在CE上进行如下配置:
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令peer peer-address as-number as-number,将PE配置为IBGP对等体。
- 执行命令import-route { direct | static | rip [ process-id ] | ospf process-id | isis process-id } [ med value | route-policy policy-name ]*,引入本站点的路由。
CE将自己的×××网段地址发布给接入的PE,通过PE发布给对端CE。根据实际组网情况,该步骤中需要引入的路由类型有所不同。
- 配置PE和CE间使用静态路由
在PE上进行如下配置。CE上的配置方法与普通静态路由相同,此处不再详述。
说明:
有关静态路由的详细配置,请参见《Quidway NetEngine80E/40E 路由器 配置指南 IP路由》的“静态路由配置”。
- 执行命令system-view,进入系统视图。
- 执行命令ip route-static vpn-instance vpn-instance-name dest-ip-address { mask | mask-length } { interface-type interface-number | vpn-instance vpn-destination-name nexthop-address | nexthop-address [ public ] } [ preference preference ] [ tag tag ] [ description text ],为指定×××实例配置静态路由。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name,进入BGP-×××实例视图。
- 执行命令import-route static [ med value ] [ route-policy policy-name ],将配置的静态路由引入BGP-×××实例路由表。
- 配置PE和CE间使用RIP
在PE上进行如下配置。CE上配置普通RIPv1或RIPv2协议,此处不再详述。
说明:
有关RIP的详细配置,请参见《Quidway NetEngine80E/40E 路由器 配置指南 IP路由》。
- 执行命令system-view,进入系统视图。
- 执行命令rip process-id vpn-instance vpn-instance-name,创建PE和CE间的RIP实例,并进入RIP视图。
一个RIP进程只能属于一个×××实例。如果在启动RIP进程时不绑定到×××实例,则该进程属于公网进程。属于公网的RIP进程不能再绑定到×××实例。
- 执行命令network network-address,在×××实例绑定的接口所在网段运行RIP。
- 执行命令import-route bgp [ cost value ] [ route-policy policy-name],引入BGP路由。
在RIP视图下执行import-route bgp命令后,PE把从对端PE学到的×××v4路由引入到RIP中,进而发布给自己的CE。
- 执行命令quit,退回系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name,进入BGP-×××实例视图。
- 执行命令import-route rip process-id [ med value ] [ route-policy policy-name ],将RIP路由引入BGP-×××实例路由表。
在BGP-×××实例视图下执行import-route rip命令后,PE把从自己的CE学到的×××路由引入BGP中,形成×××-IPv4路由发布给对端PE。
说明:
删除×××实例后,所有相关的RIP进程也全部被删除。
- 配置PE和CE间使用OSPF
在PE上进行如下配置,CE上配置普通OSPF即可,此处不再详述。
说明:
有关OSPF的详细配置,请参见《Quidway NetEngine80E/40E 路由器 配置指南 IP路由》。
- 执行命令system-view,进入系统视图。
- 执行命令ospf process-id [ router-id router-id ] vpn-instance vpn-instance-name,创建PE-CE间的OSPF实例,并进入OSPF视图。
一个OSPF进程只能属于一个×××实例。如果在启动OSPF进程时不绑定到×××实例,则该进程属于公网进程。属于公网的OSPF进程不能再绑定到×××实例。
绑定到×××实例的OSPF进程不使用系统视图下配置的公网Router ID,用户需要在启动进程时指定Router ID。如果不指定Router ID,则OSPF会根据Router ID选取规则在所有绑定了该×××实例的接口IP地址中选取一个作为Router ID。
- (可选)执行命令domain-id domain-id [ secondary ],配置域ID。
域ID可以用整数表示,也可以用点分十进制表示。
每个OSPF进程可以配置两个域ID,不同进程的域ID相互没有影响。不同×××的PE的OSPF进程域ID配置没有限制。但同一×××的所有OSPF进程应配置相同的域ID,以保证路由发布的正确性。
OSPF进程的域ID包含在此进程生成的路由中,在将OSPF路由引入BGP中时,域ID被附加到BGP ×××路由上,作为BGP的扩展团体属性传递。
缺省情况下,域ID为0。
- (可选)执行命令route-tag tag-value,配置××× route tag。
缺省情况下,OSPF根据算法自动分配一个Tag。
-
如果本地设备没有启用BGP进程,则缺省情况下,Tag值为0。
-
如果本地设备启用了BGP进程,则缺省情况下,Tag值的前面两个字节为固定的0xD000,后面的两个字节为本端BGP的AS号,即Tag值 = 3489660928 + BGP的AS号。
-
- 执行命令import-route bgp [ cost value ] [ type { 1 | 2 } ] [ tag value ] [ route-policy policy-name ],引入BGP路由。
配置该命令时,如果没有指定IS-IS的Level,BGP被引入到Level-2的路由表中。
- 执行命令area area-id,进入OSPF区域视图。
- 执行命令network ip-address wildcard-mask,在×××实例绑定的接口所在网段运行OSPF。
一个网段只能属于一个区域,或者说每个运行OSPF协议的接口必须指明属于某一个特定的区域。
满足下面两个条件,接口上才能正常运行OSPF协议:
-
接口的IP地址掩码长度≥network命令中的掩码长度。
-
接口的主IP地址必须在network命令指定的网段范围内。
对于Loopback接口,缺省情况下OSPF以32位主机路由的方式对外发布其IP地址,与接口上配置的掩码长度无关。
-
- 执行命令quit,退回OSPF视图。
- 执行命令quit,退回系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name,进入BGP-×××实例视图。
- 执行命令import-route ospf process-id [ med med ] [ route-policy policy-name ],将OSPF路由引入BGP-×××实例路由表。
说明:
删除×××实例后,相关的所有OSPF进程也将全部被删除。
- 配置PE和CE间使用IS-IS
在PE上进行如下配置,CE上配置普通IS-IS即可,此处不再详述。
说明:
有关IS-IS的详细配置,请参见《Quidway NetEngine80E/40E 路由器 配置指南 IP路由》。
- 执行命令system-view,进入系统视图。
- 执行命令isis process-id vpn-instance vpn-instance-name,创建PE-CE间的IS-IS实例,并进入IS-IS视图。
一个IS-IS进程只能属于一个×××实例。如果在启动IS-IS进程时不绑定到×××实例,则该进程属于公网进程。属于公网的IS-IS进程不能再绑定到×××实例。
- 执行命令network-entity net,设置网络实体名称。
网络实体名称NET(Network Entity Title)同时定义了当前IS-IS的区域地址和路由器的系统ID。在一台路由器的一个进程中最多可以配置3个NET。
- (可选)执行命令is-level { level-1 | level-1-2 | level-2 },设置路由器的Level级别。
缺省情况下,路由器的Level级别为level-1-2。
- 执行命令import-route bgp [ cost value ] [ cost-type { external | internal } ] [ level-1 | level-1-2 | level-2 ] [ route-policy policy-name ] [ tag tag-value ],引入BGP路由。
配置该命令时,如果没有指定IS-IS的Level,BGP路由被引入到Level-2的路由表中。
- 执行命令quit,退回系统视图。
- 执行命令interface interface-type interface-number,进入绑定×××实例的接口视图。
- 执行命令isis enable [ process-id ],在该接口上运行IS-IS。
- 执行命令quit,退回系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令ipv4-family vpn-instance vpn-instance-name,进入BGP-×××实例视图。
- 执行命令import-route isis process-id [ med med ] [ route-policy policy-name ],将IS-IS路由引入BGP-×××实例路由表。
说明:
删除×××实例后,相关的所有IS-IS进程也将全部被删除。