您的当前位置:首页正文

13 MPLS

来源:个人技术集锦
2MPLS VPN简介lBGP/MPLS IP VPN是一种L3VPN(Layer 3 Virtual Private Network)。它使用BGP(Border Gateway Protocol)在服务提供商骨干网上发布VPN路由,使用MPLS(Multiprotocol Label Switch)在服务提供商骨干网上转发VPN报文。这里的IP是指VPN承载的是IP报文。lBGP/MPLS IP VPN的基本模型由三部分组成:CE、PE和P。•CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商SP(Service Provider)网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。•PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。•P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。lPE和P设备仅由SP管理;CE设备仅由用户管理,除非用户把管理权委托给SP。l一台PE设备可以接入多台CE设备。一台CE设备也可以连接属于相同或不同服务提供商的多台PE设备。site站点lsite是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过服务提供商网络实现。lSite的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个site中的设备地理位置相邻。l一个site中的设备可以属于多个VPN,换言之,一个site可以属于多个VPN。在MPLS VPN中,不同VPN站点地址空间可以重叠。PE为每个直接相连的Site建立并维护专门的VPN实例,VPN实例中包含对应Site的VPN成员关系和路由规则。具体来说,VPN实例中的信息包括:IP路由表、标签转发表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD、路由过滤策略、成员接口列表等。公网路由转发表与VPN路由转发表存在以下不同:l公网路由表包括所有PE和P设备的IPv4路由,由骨干网的路由协议或静态路由产生。lVPN路由表包括属于该VPN实例的所有Site的路由,通过CE与PE之间或者两个PE之间的VPN路由信息交互获得。l公网转发表是根据路由管理策略从公网路由表提取出来的最小转发信息;而VPN转发表是根据路由管理策略从对应的VPN路由表提取出来的最小转发信息。可以看出,PE上的各VPN实例之间相互独立,并与公网路由转发表相互独立。可以将每个VPN实例看作一台虚拟的设备,维护独立的地址空间并有连接到该设备的接口。PE之间使用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)来发布VPN路由,并使用VPN-IPv4地址族来解决是BGP无法区分不同VPN中相同的IP地址前缀的问题。RD用于区分使用相同地址空间的IPv4前缀。RD的结构使得每个服务供应商可以独立地分配RD,但为了在CE双归属的情况下保证路由正常,必须保证RD全局唯一。BGP/MPLS IP VPN使用32位的BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布。每个VPN实例关联一个或多个VPN Target属性。有两类VPN Target属性:lExport Target:本地PE从直接相连site学到IPv4路由后,转换为VPN IPv4路由,并为这些路由设置Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。lImport Target:PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例的路由表。也就是说,VPN Target属性定义了一条VPN路由可以为哪些site所接收,以及PE可以接收哪些site发送来的路由。使用VPN Target而不直接用RD作为BGP扩展团体属性的原因在于:l一条VPN-IPv4路由只能有一个RD,但可以关联多个VPN Target属性;BGP如果携带多个扩展团体属性,可以提高网络的灵活性和可扩展性。lVPN Target用于控制同一PE上不同VPN之间的路由发布。即,同一PE上的不同VPN之间可以设置相同的VPN Target来实现路由的互相引入。传统的BGP-4(RFC1771)只能管理IPv4的路由信息,无法正确处理地址空间重叠的VPN的路由。为了正确处理VPN路由,VPN使用RFC2858(Multiprotocol Extensions for BGP-4)中规定的MP-BGP,即BGP-4的多协议扩展。MP-BGP实现了对多种网络层协议的支持,在Update报文中,将网络层协议信息反映到NLRI(Network Layer ReachabilityInformation)及Next Hop。MP-BGP采用地址族(Address Family)来区分不同的网络层协议,既可以支持传统的IPv4地址族,又可以支持其它地址族(比如VPN-IPv4地址族、IPv6地址族等)。关于地址族的一些取值可以参考RFC1700(Assigned Numbers)。PE和CE之间通过标准的BGP,OSPF,IS-IS,RIP或者静态路由交换路由信息。这个过程中,PE需要将CE传来的路由分别存储在不同的VRF,除此之外其他操作和普通的路由交换没有任何区别。静态路由、RIP、BGP都是标准的协议,所有的CE端都可以使用相同的路由协议,但是需要在PE的每个VRF运行不同的实例,相互之间没有干扰。PE从CE接收到IPv4路由后,对该路由加上相应VRF的RD(RD手动配置),使其成为一条VPNV4路由,然后在路由通告中更改下一跳属性为自己,通常是自己的Loopback地址,并为这条路由加上私网标签,该标签由MP-IBGP协议随机生成(无需配置),同时加上Export Route Target属性,然后发送给它所有的PE邻居。VRP5.3中,在PE1上需要启动MPLS,然后MP-BGP即可以为私网路由分配标签。PE之间便可以正确交互私网路由信息。SOO主要用于防止VPN某站点有多个CE接入不同的PE时,从CE发往PE的VPN路由可能经过骨干网又回到了该站点的路由环路。接收端PEB收到发送端PEA发布的路由后,将VPN-v4 路由变为IPV4路由,并且根据本地VRF的import RT属性加入到相应的VRF中,保留私网标签,留做转发时使用,然后通过PE和CE之间的路由协议将IPv4路由信息发布给相应的CE,下一跳为接收端PEB的接口地址。私网数据交换需要跨越MPLS骨干网络,在这个过程中需要进行标准的MPLS转发,公网标签即外层标签分配的过程如下:首先PE和P路由器通过骨干网IGP学习到BGP下一跳的地址。通过运行LDP协议分配公网标签,建立LSP通道。标签栈用于报文转发,外层标签用来指示如何到达BGP下一跳,内层标签表示报文的出接口或属于哪个VRF。MPLS节点转发是基于外层标签转发,而不管内层标签是多少。CE2发出一个IP报文,目的地址为CE1,PE2收到报文后,封装内层标签15362,再封装外层标签1024,转发给P,P收到后,根据外层标签转发,因为P是倒数第二跳,所以弹出外层标签,保留内层标签,发送给PE1 ,PE1收到后根据内层标签判断出该报文属于哪个VRF,即哪个Site,然后PE1去掉私网标签,将IP报文转发给CE1。案例描述l本案例中设备互联地址规则如下:•如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。命令含义lipbinding vpn-instance命令用来将当前AC(Attachment Circuit)接口与指定VPN实例进行绑定。lipv4-family命令用来进入各个BGP的IPv4地址族视图。注意事项l配置接口与VPN实例绑定后,或取消接口与VPN实例的绑定,都会清除该接口的IP地址、路由协议等三层特性,如果需要应重新配置。案例描述l本案例中设备互联地址规则如下:•如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。命令含义lipbinding vpn-instance命令用来将当前AC(Attachment Circuit)接口与指定VPN实例进行绑定。lipv4-family命令用来进入各个BGP的IPv4地址族视图。注意事项lPE上的RIP配置需要指定实例。案例描述l本案例中设备互联地址规则如下:•如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。命令含义lipbinding vpn-instance命令用来将当前AC(Attachment Circuit)接口与指定VPN实例进行绑定。lipv4-family命令用来进入各个BGP的IPv4地址族视图。注意事项lPE上的IS-IS配置需要指定实例。l删除VPN实例或者去使能VPN实例IPv4地址族后,相关的所有IS-IS进程也将全部被删除。案例描述l本案例中设备互联地址规则如下:•如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。命令含义lipbinding vpn-instance命令用来将当前AC(Attachment Circuit)接口与指定VPN实例进行绑定。lipv4-family命令用来进入各个BGP的IPv4地址族视图。注意事项lPE上的OSPF配置需要指定实例。l删除VPN实例或者去使能VPN实例IPv4地址族后,相关的所有OSPF进程也将全部被删除。案例描述l本案例中设备互联地址规则如下:•如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。命令含义lipbinding vpn-instance命令用来将当前AC(Attachment Circuit)接口与指定VPN实例进行绑定。lpeer substitute-as命令用来配置用本地AS号替换AS_Path属性中指定对等体的AS号。注意事项l当属于同一个AS的不同VPN站点通过BGP MPLS/IP VPN骨干网互通,或者使用相同私有AS号的不同VPN站点通过BGP MPLS/IP VPN骨干网实现互通时,如果本地CE与PE之间建立EBGP连接,那么由于其他VPN站点发来的VPN路由可能携带有本地AS号,所以此时本地CE会丢弃VPN路由,从而造成VPN站点之间不能互通。为了防止这种情况,需要在PE设备上执行peer substitute-as命令使能AS号替换功能。

因篇幅问题不能全部显示,请点此查看更多更全内容