深入讲解VPN配置实例中关于虚拟站点属性,向大家介绍VPN配置实例的方法,可能好多人还不了解VPN配置实例是如何的,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
控制路由分发
在这一部分,我们讨论控制VPN-IPv4路由分发的方法。
目标VPN配置实例属性
每个站点转发表都与一个或多个“目标VPN”属性相关。当一个PE路由器产生一个VPN-IPv4路由时,该路由就与一个或多个“目标VPN配置实例”属性相关。这些信息作为路由属性由BGP携带。任何与目标VPN配置实例 T有关的路由都必须分发到每一个存有与目标VPN配置实例有关的转发表的PE路由器上。
当一个PE路由器收到这样一个路由时,应当将其安装到每个与目标VPN配置实例有关的站点转发表中(实际是否安装取决于BGP决定处理的结果)。一般来说,目标VPN配置实例属性代表一系列站点。因为路由与某一目标VPN配置实例属性相关,路由可置于站点转发表中,为来自相应站点的业务流寻路。
PE路由器用一个目标VPN配置实例属性集合表明来自站点S的路由,用另一个目标VPN配置实例属性集合来决定是否将一个从其它PE路由器接收到的路由信息加入到与站点S有关的转发表中。这两个集合是不一样的,也无需相同。目标VPN属性的功能类似于BGP群体属性。
不过,因为后者只有两字节的编号空间,格式不够多。扩展BGP群体属性以提供一个更大的编号空间相当简单,也是可能的,类似于我们对RD的描述(见4.1节),因此类别域定义了管理者域的长度,属性的其余部分是一个从指定管理者的编号空间得到的编号。
当一个BGP传播者收到对同一VPN-IPv4地址前缀的两条路由时,它根据BGP关于路由优先级的规则选择其中的一个。注意一个路由只能有一个RD,但它可以有多个目标VPN配置实例。在BGP中,如果单一路由有多个属性,可扩展性就得到了提高。
可以通过产生更多路由(用更多的RD)的方法去掉目标VPN配置实例,但扩展性就差了。PE如何确定哪个目标VPN属性与一路由相关呢?有许多可能的方法。PE可以配置通向某一站点的所有路由都与某一目标VPN属性相关,也可以配置通向某一站点的部分路由与一目标VPN属性相关,其余的与另一目标VPN属性相关。
还可以由CE路由器在向PE分发路由时(见第6节),为每一路由指定一个或多个目标VPN属性。后一方法把VPN策略执行机制的控制权从SP转移到了客户方。即使使用这种方法,也希望PE能根据自身的配置减少目标VPN配置实例。
或者/并且强制性地添加一些目标VPN属性。更确切地说,应该称这种属性为“路由目标”属性而不是“VPN目标”属性。它只确定一些能使用该路由的站点,而并不关心这些站点是否组成了一个VPN配置实例。
用BGP在PE中分发路由
如果一个VPN的两个站点所连接的PE在同一自治系统中,PE可以通过它们之间的IBGP连接分发VPN-IPv4路由。或者,它们可以分别与一个路由反射器RR有一个IBGP连接。如果VPN的两个站点在不同的自治系统中(例如他们连接到不同的SP)。
那么一个PE路由器要使用IBGP把VPN-IPv4路由重新分发到一个自治系统边界路由器ASBR或是以一ASBR为客户的路由反射器RR上。ASBR使用EBGP把路由重新分发到另一自治系统的ASBR上。这样,就可以连接到不同SP的不同VPN站点。
不过,作为SP间互相信任协议的一部分,VPN-IPv4路由只能被专用对等点间的EBGP连接所接受。VPN-IPv4路由不能在公共Internet上分发或被公共Internet接受。如果许多VPN配置实例的站点连接在不同的自治系统中,不同自治系统间并不需要有一个存有所有VPN路由的ASBR,可以有多个ASBR,每个ASBR只保存VPN的部分路由。
当一个PE路由器用BGP分发一个VPN-IPv4路由时,它使用自己的地址作为“BGP下一跳”地址,并指定和分发一个MPLS标签(事实上,PE路由器分发的并不是VPN-IPv4路由,而是带标签的VPN-IPv4路由,参见[8])。
当PE接收到一个标签栈顶是MPLS标签的包时,PE会弹出该标签,直接把该包发送到路由指定的站点。这意味着它只把包发送到它学习路由的那个CE路由器。标签也可以决定数据链路的封装。一般,接收带标签的包的PE并不在转发表中查找包的目的地址,而是利用另一PE指定的标签把包直接发送到CE。
当然PE指定的标签也可能隐含地指定了某转发表。这种情况下,PE接收到这个包后,会根据标签到该转发表中查找包的目的地址。在某些情况下这种方法很有用,但我们在本文中不做详述。注意,这种方法分发的MPLS标签只在安装该路由的路由器和该路由的BGP下一跳之间存在标签交换路径LSP时才有用。
我们不对标签交换路径LSP的建立过程做任何假定,LSP可能是预先建立,或是在需要时才建立。它可能是个“尽力而为”路由,也可能是个经过流量工程的路由。在某路由的一个PE路由器和它的BGP下一跳之间可能有一个或多个具有不同QoS特性的LSP。
与VPN配置实例体系结构有关的是路由器及其BGP下一跳之间的一些LSP。使用路由反射器一般是为了提高可扩展性,如利用路由反射器的层次结构。使用时并不需要某个路由反射器掌握由主干网所支持的所有VPN的全部VPN-IPv4路由,可以使用若干分离的彼此间无通信的路由反射器,每个都只支持部分VPN。
如果一个PE路由器不连接到一路由的任何一个目标VPN,它就不必接收那个路由。发送该路由给它的PE或路由反射器应该采取出口过滤措施以免继续发送给它无用的路由。当然,如果一个PE路由器通过BGP接收了一个路由,但它并不连接到该路由的任何一个目标VPN,PE也应该对该路由采取入口过滤措施,不安装也不进行重新分发。
一个不连接到任何VPN配置实例的路由器,如一个P路由器,无需安装任何VPN-IPv4路由。这样的分发规则确保了没有一个设备需要掌握主干网所支持的所有VPN-IPv4路由。因此,主干网支持的VPN-IPv4路由总数不受任何一个设备容量所限,也就可以不受限地增加。