MPLS VPN中RD与RT的区别

2020-10-26 16:02:11 云杰通信 112

  MPLS VPN中RD与RT的区别

  BGP发言者只能安装一条路由并将其分配到指定的地址前缀,这在携带来自私有和重叠地址空间时会出现问题。解决方案是通过RD的标识字符串与IP前缀进行连接来使私有地址唯一,从而创建一个新的地址族(VPN-IPv4)。BGP多协议功能允许BGP携带多个地址族的前缀[RFC2858]。这就是为什么有时将BGP称为MP-BGP。用于编码VPN-IPv4地址族的AFI和SAFI分别为1和128。

  需要注意的事是,仅需要知道VPN-IP地址的那些路由器才知道VPN-IP地址。客户不知道VPN-IP的存在。在通过BGP通告客户VPN路由之前,PE将附加适当VPN站点的RD,从而将其转换为VPN-IP路由。PE收到VPN-IP路由后,通过移除RD将路由转换为普通IP。

  由于RD的任务是使VPN前缀唯一,因此RD本身唯一是很重要的。RD的结构是由服务提供商分配唯一RD而不需要协调的要求所驱动的。RD是一个8字节,由三个字段组成:两字节类型,管理员和分配的编号字段。类型确定如何解释其它字段。RD有两个选项:2字节AS号和4字节本地编号,以及4字节IP和2字节本地编号。如果多个提供商正在合作提供VPN服务,则AS编号和IP地址都必须确保生成的编号具有唯一性。RD本身不包含所连接前缀的任何信息。它不会传达有关前缀所属的VPN或前缀所源自站点的信息。由于RD没有意义,因此RD与路由的关联受到两个因素的约束:

  (a)唯一性

  (b)RD的配置,管理和跟踪的简便性。

  作为实现唯一性和在网络中使用少量RD之间的折衷,最常用的方法是每个PE每个VPN使用一个RD或每个VPN使用一个RD。如果以某种方式选择RD来明确标识源自路由通告的PE,则为每个PE的每个VPN使用单独的RD可使故障排除更加容易。它还使处理重叠VPN的场景变得容易。总之,无论如何分配RD,它们的目的始终是相同的:使VPN路由唯一。这是必需的,

  The route target (RT)

  回到最初的问题:如何限制PE间VPN路由的分发。实际上,客户需要的是一种灵活的方法来定义确定不同站点间的连接性策略。因此,需要的是一种进行路由过滤的方法。对于BGP / MPLS VPN,这是使用BGP扩展团体属性来完成的。

  通过将一个或多个团体属性附加到路由上来标记路由[RFC1997]。允许通告的接收者过滤其希望接受的路由。目标之一是允许服务提供者分配在本地具有重要意义的值,而无需外部协调。BGP团体属性是一个32位的字符串,前16位代表分配给提供商的AS,后16位代表本地分配的编号。由于AS编号分配是唯一的,因此每个提供商都可以管理自己的编号空间并定义多达216个不同的值。这意味,如果提供商使用团体属性在VPN中进行路由筛选,则最多只能有216个客户。此外,提供商必须确保用于VPN的值和用于其它策略功能的值不冲突。为了克服此限制,引入扩展团体属性[RFC4360]。扩展社区使用32位作为本地分配的部分,从而允许定义232个不同的值。它提供了结构化的数字空间,所以扩展的不会与网络中其它策略功能的团体属性发生冲突。称为路由目标(RT)。

  这是RT的重要属性:

  1.一个或多个RT可连接到同一路由。

  2.可使用任意粒度将RT附加到路由:可将同一RT附加到指定站点中的所有路由,也可将不同的RT附加到每条路由。

  3.每个AS最多可使用232个RT。

  与RT不匹配的路由会发生什么?有两种选择:丢弃或保留它们。一方面,保持所有通告是不切实际的,PE存在扩展限制。另一方面,如果这些路由被丢弃,则在需要时重新路由它们会出现问题。解决方案是丢弃与RT不匹配的路由,在需要时再次请求它们。通过[RFC2918]的BGP路由刷新来实现。允许BGP发言者请求对等方重新发送先前通告给它的所有路由。总而言之,基于每个VRF的导入和导出策略驱动。可以在导出时将多个RT附加到同一路由,并可以使用不同的RT标记不同的路由。

  有了导入和导出RT,就可以使用RT来实现一些常见的VPN连接模型。Full mesh、Hub and spoke、外联型VPN、管理型VPN等,此处不再一一介绍。