|

付业茂:那么RD功能,我简单说一下,就是PE之间传递的时候,我们加上RD,传递给对方,实际上就是BGP需要解决的问题。我们来看传递过程,就是PE从CE接收路由,放如相应的VRF里面,发送方PE将VRF中的IPv4路由添加VRF中配置的RT,RD等参数变为VPNv4路由,然后通过MP-IBGP邻居传递给远端PE.那么发出去了,远端PE接收到VPNv4路由以后,会比较本地VRF中的虚拟RT和接收到的RT,如果发现至少一个匹配项,则将VPNv4路由还原成IPv4路路由导入到对应的VRF.然后最后我把还原出来的PE传递给CE.然后看一下VPN路由传递。这是来自于路由1的放在VRF1里面,这是来自于路由2的放在VRF2里面,RT是100,其他的参数你随便的设置。然后我把制造好的路由传递给远端的PE2,然后远端的PE2上也有两个VRF,接到VRF1里面,它有一个输入的策略,就是你的路由来了,带有100的标识,我就把它放在VRF1里面的,如果你过来是200,我就导入到VRF2里面去,这是相当简单的动作了。如果我们知道RD的话,两条信息完全是一样的,然后走同一条路由,为了必须筛选的惨剧发生,所以我们不这样去做。路由传递搞定了以后,大家说还有什么问题需要解决?
网友:如果用户特别多的话,需要很多的VRF,是不是IP就特别多了?
付业茂:VRF对IP的是有要求的,如果把我把PE的功能分成两块、三块,然后让信息更强的VRF运行,就可以解决这个问题。
现在控制层面已经没有问题了,VPN路由传递也解决了,那我们还有什么问题需要解决?就是转化层面的问题。大家看,我们在转化层面还有没有一些工作要做?如果说到现在VPN工作就结束了,我们有没有提MPLS?没有提MPLS,有没有注意到?跟MPLS一点关系都没有。我换一个做法,就是VPN传递完成以后,还需不需要做其他的动作?我先把这个问题放在这儿。我再提几个问题,第一个问题就是VPN数据到达P路由器P怎么处理?我路由过程是R2和R3完成的,而且我们知道他们在哪儿。现在是说R4和R5传递的问题,这个问题我们靠什么解决?靠一个隧道解决,就是ASP.那么还有什么问题呢?大家看第二个问题,如果说带有相同目标地址的数据包到达远端PE后,PE怎么办?就是两个数据的地址完全是一样的,这个时候我怎么办?传输的时候可以加标记,是不是?那么这个也可以加标记,是不是这样可以解决?
我们看数据转发平面解决方案,对于第一个问题,MPLSLSP只需要在两个PE之间通过LDP建立一条LSP即可。对于第二个问题,就是PE在向远端PE发送数据时,能加上一个可以对VPN进行区分的标签,VPN标签由谁来分配呢,就是在路由传递时通过MP-iBGP分配,并携带在VPNv4路由中。现在的问题是不是完成解决了?
好,我们看下一步,VPN数据转发过程。这个我们不惜讲,假设IP方已经发到PE2,是10.10.10.1,由于它在VRF里查的时候,发现里面是10.10.10.8,然后上面有一个标签是100,也就是它要去10.10.10.1,但是在经过PE2的时候,必须要再给它一个标签,比如说是300,这就是我们前面讲的,MPLS的标签可以多层,是不是?100是VPN的标识,300是MPLS的标签。然后它会把数据转发给P,P路由器是不知道PE2存在的,就知道这个路由的标签是300,然后把它POP上,这个时候看到100这个标签对应的是PE1分发出去的,如果带着100的标签,就可以在VRF1里面去查找,一查找,它说你把这个数据转发给CE1就可以了。这就是整个数据转换的过程。这些是我们一个最基本的路由传递和数据转换的过程。
我们再往下看,实际上我们还只是理论的问题,真正商用还有很多问题需要解决,第一个就是MPLS VPN复杂拓扑实现,第二个就是跨越VPN解决方案是什么,第二个就是我VPN如何访问因特耐特。还有就是MPLS其他的应用,一个是MPLS二层VPN,我们讲到的是实际是用户三层VPN,如果用户说我不希望控制三层的VPN,怎么办?现在三层的VPN在国外适用很广泛,但是在中国只有要二层,我们用MPLS技术就可以解决。第二个应用就是MPLSTE,第三个应用,MPLSQos. |