Feb 12, 2008

VRF vs RD vs RT

  1. VRF

  BGP/MPLS VPN的安全举措之一就是路由隔离和信息隔离,它是通过VPN路由转发(VPN Routing && Forwarding:VRF)表和MPLS中的LSP来实现的。在PE路由器上,存在有多个VRF表,这些VRF表是和PE路由器上的一个或多个子接口相对应的,用于存放这些子接口所属VPN的路由信息。通常情况下,VRF表中只包含一个VPN的路由信息,但是当子接口属于多个VPN时,其所对应的VRF表中就包含了子接口所属的所有VPN的路由信息。

  对于每一个VRF表,都具有路由区分符(Route Distinguisher:RD)和路由目标(Route Target:RT)两大属性。

  2. RD

  VPN中IP地址的规划是由客户自行制订的,因而有可能会出现客户选择在RFC1918中定义的私有地址作为他们的站点地址或者不同的VPN使用相同的地址域,也就是所谓的地址重叠现象。地址重叠的后果之一就是BGP无法区分来自不同VPN的重叠路由,从而导致某个站点不可达。

  为了解决这个问题,BGP/MPLS VPN除了采用在PE路由器上使用多个VRF表的方法,还引入了RD的概念。RD具有全局唯一性,通过将8个字节的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址转化为唯一的VPN-IPv4地址。VPN-IPv4地址对客户端设备来说是不可见的,它只用于骨干网络上路由信息的分发。

  RD和VRF表之间建立了一一对应的关系。通常情况下,对于不同PE路由器上属于同一个VPN的子接口,为其所对应的VRF表分配相同的RD,换句话说,就是为每一个VPN分配一个唯一的RD。但是对于重叠VPN,即某个站点属于多个VPN的情况,由于PE路由器上的某个子接口属于多个VPN,此时,该子接口所对应的VRF表只能被分配一个RD,从而多个VPN共享一个RD。

  3. RT

  RT的作用类似于BGP中扩展团体属性,用于路由信息的分发。它分成Import RT和Export RT,分别用于路由信息的导入、导出策略。当从VRF表中导出VPN路由时,要用Export RT对VPN路由进行标记;在往VRF表中导入VPN路由时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中。RT使得PE路由器只包含和其直接相连的VPN的路由,而不是全网所有VPN的路由,从而节省了PE路由器的资源,提高了网络拓展性。

  RT具有全局唯一性,并且只能被一个VPN使用。通过对Import RT和Export RT的合理配置,运营商可以构建不同拓扑类型的VPN,如重叠式VPN和Hub-and-spoke VPN。
Post a Comment