甲型流感是怎么回事(一文读懂什么是VRF)

本文介绍的VRF特性是MPLS VPN中经常使用的技术,中文含义为虚拟路由转发。鉴于VRF与MPLS VPN密切相关,下面首先对MPLS VPN作简要介绍。

下图是一个典型的MPLS L3VPN的组网图,运营商通过自己的IP/MPLS核心网络为粉色和绿色两个客户提供VPN服务。SITE1和SITE11分别为VPN 粉色的两个站点,SITE2和SITE22分别为VPN 绿色的两个站点。VPN 粉色两个站点内的主机可以互访,但不能访问VPN 绿色内的主机。同样,VPN 绿色两个站点内的主机可以互访,但不能访问VPN 粉色内的主机。从而实现了两个VPN间的逻辑划分和安全隔离。

CE设备的作用是把用户网络大流量卡连接到PE,与PE交互VPN用户路由信息:向PE发布本地路由并从PE学习远端站点路由。

PE作用是向直连的CE学习路由,然后通过IBGP与其他PE交换所学的VPN路由。PE设备负责VPN业务的接入。

P设备是运营商网络中不与CE直接相连的设备,只要支持MPLS转发,并不能感知到VPN的存在。

注意:实际现网中,ISP(运营商)的网络并不是只有一台PE、一条链路。而是每个VPN站点有两台PE提供业务支撑,每台CE双归属到每台PE,且PE之间也是多条链路备份呈口字型组网形成负载分担。)

上面组网中VPN的设计思想是很巧妙的,但存在如下几个问题:

1、 本地路由冲突问题,即:在粉色和绿色两个VPN中可能会使大流量卡用相同的IP地址段,比如Site1和Site2中的两个客户同时使用10.1.1.0/24,在传统的IP网络中,有可能存在IP地址冲突的可能,那么在MPLS网络中PE上如何区分这个地址段的路由是属于哪个VPN的。

2、 路由在网络中的传播问题,上述问题会在整个网络中存在。

3、 PE向CE的报文转发问题,当PE接收到一个目的地址在10.1.1.0/24网段内的IP报文时,他如何判断该发给哪个VPN?

针对上述3个问题,分别有以下解决方案:

1、 为了解决本地路由冲突问题,我们引入了VRF的概念:把每台PE路由器在逻辑上划分为多台虚拟路由器,即多个VPN路由转发实例VRF,每个VRF对应一个VPN,有自己大流量卡独立的路由表、转发表和相应的接口。这就相当于将一台各VPN共享的PE模拟成多台专用PE。这样PE与CE交互的路由信息只是该VPN的路由,从而实现了VPN路由的隔离。由于不同VPN的路由存放在不同的VRF中,所以VPN路由重叠的问题也解决了。

2、 VPN重叠路由在网络中的传播问题,可以在路由传递的过程中为这条路由再添加一个标识,用以区别不同的VPN。正常的BGPv4协议只能传递IPv4的路由,由于不同VPN用户具有地址空间重叠的问题,必须修改BGP协议。BGP最大的优点是扩展性好,可以在原来的基础上再定义新的属性,通过对BGP修改,把BGPv4扩展成多协议的BGP协议MP-BGP。在MP-IBG大流量卡P邻居间传递VPN用户路由时打上RD标记等VPN信息,这样CE传来的VPN用户的IPv4路由被PE转换为VPNv4或者VPN-IPv4路由,这样就能保证对端PE能够区分开属于不同VPN用户的地址重叠的路由。

3、 PE向CE的报文转发问题,由于IP报文的格式不可更改,没有什么文章可以做,但可以在IP头之外加上一些信息(标签),由始发的VPN打上标记,这样PE在接收报文时可以根据这个标记进行转发。

每一个VRF可以看作一台虚拟的路由器,好像是一台专用的PE设备。该虚拟路由器包括如下元素:

一张独立的路由表/转发表,当然也包括了独立的地址空间。

一组归属于这个VRF的接口集合。

一组只用于本VRF的路由协议大流量卡

对于每个PE,可以维护一个或多个VRF,同时维护一个公网的路由表(也叫全局路由表或者说普通路由表),多个VRF实例相互分离独立。实现VRF并不困难,关键在于如何在PE上使用特定的策略规则来协调各VRF和全局路由表之间的关系。

在VRF中定义的和VPN业务有关的两个重要参数是RT和RD,RT和RD长度都是64bit。

RT是Route Target的缩写,RT的本质是每个VRF表达自己的路由取舍及喜好的方式,主要用于控制VPN路由的发布和安装策略。分为import和export两种属性,前者表示了我对那些路由感兴趣,而后者表示了我发出的路由的属性。当PE发布路由时,将使用路由所属VRF的RT ex大流量卡port规则,直接发送给其他的PE设备。对端PE接收路由时,首先接收所有的路由,并根据每个VRF配置的RT的import规则进行检查,如果与路由中的RT属性match,则将该路由加入到相应的VRF中。以下图为例:

SITE-1:我发的路由是粉色的,我也只接收粉色的路由。

SITE-2:我发的路由是绿色的,我也只接收绿色的路由。

SITE-11:我发的路由是粉色的,我也只接收粉色的路由。

SITE-22:我发的路由是绿色的,我也只接收绿色的路由。

这样,SITE-1与SITE-11中就只有自己和对方的路由,两者实现了互访。同理SITE-2与SITE-22也一样。这时我们就可以把SITE-1与SITE11称大流量卡为VPN 粉色,而把SITE-2与SITE-22称为VPN 绿色。

RD是Route Distinguisher的缩写,是说明路由属于哪个VPN的标志。理论上可以为每个VRF配置一个RD,通常建议为每个VPN的VRF都配置相同的RD,并且要保证这个RD全局唯一。如果两个VRF中存在相同的地址,但是由于RD不同,这两个路由在PE间发布过程中也不会混淆,因为MP-BGP把RD和路由一起发送,对端PE可以根据RD确定路由所属的VPN,从而把路由传递到正确的VRF中。

RD并不会影响不同VRF之间的路由选择以及VPN的形成,这些事情由RT搞定。

PE从CE接收的标准的路由是IPv4路由,如果需要发布给其他的大流量卡PE路由器,此时需要为这条路由附加一个RD。在IPv4地址加上RD之后,就变成VPN-IPv4地址族了。VPN-IPv4地址仅用于服务供应商网络内部。在PE发布路由时添加,在PE接收路由后放在本地路由表中,用来与后来接收到的路由进行比较。CE不知道使用的是VPN-IPv4地址。

顺便给大家安利一款非常奈斯的工具,得此工具者,可得天下~

方案自动生成工具:


友情提醒: 请添加客服微信进行免费领取流量卡!
QQ交流群:226333560 站长微信:qgzmt2

原创文章,作者:sunyaqun,如若转载,请注明出处:https://www.dallk.cn/19456.html

(0)
sunyaqunsunyaqun
上一篇 2024年1月20日
下一篇 2024年1月20日

相关推荐

发表回复

登录后才能评论