最近在看***,在思考***的本质

***就是把私网报文封装起来,通过公网传递的技术。

×××雏形:

1、最简单的overlay×××,只使用一个简单的GRE或者IPSEC隧道实现。

 

|<- - - gre隧道 - - -> |

CE – PE – P – PE - CE

 

GRE隧道直接建立在CECE之间,不同的私网通讯,就需要再次再次建立新的隧道即可,这样从这个隧道出来的报文,一定属于某个特定的私网。缺点是每个***都需要建立隧道。此时cepe之间是公网。

 

|<- gre隧道 -> |

CE -– PE –- P -– PE -- CE

隧道也可以建立在了PE上,怎么区分不同的***呢,靠Acl或者接口区分,比如从某个接口上来的报文,就认为是属于某个***的。 通过ACL帮忙完成,当然仍然需要为每个私网配置一个隧道。

 

2Peer-To-Peer ×××

由于overlay×××的静态特性,不适合于大规模应用。比如新增加一个***,除了新增配置,现网其他设备也需要跟着更改(跟本×××新建隧道对接,否则无法实现互通)。

Peer-To-Peer指的是CEPE之间,使用动态路由协议。去掉静态***的缺点,怎么发布路由呢,这时候将整个私网路由发布到整个公网内,对端PE根据策略决定是否接收该路由。

 

可以有如下两种方式:

1)共享PE方式

      CE

         \

CE -– PE –- P -– PE – CE

               

2)专用PE方式

CE1—PE1

                 \

CE2 – PE2 –- P -– PE – CE

 

×××路由如何发布和接收,可以考虑使用BGPcommunity属性。在PE之间建立的BGP连接,接收端配置import,接收自己需要的路由,如此实现私网互通。也就是完全用路由区分不同的私网。

 

MPLS BGP ×××形成:

上述Peer-To-Peer×××,仍然有缺点。

首先,不同***的地址空间不可相同;

其次,私网路由完全泄露出去,有被***的危险;

最后,由于配置了路由过滤,只接收需要的路由,不能再配置默认路由,因此无法访问internet

 

MPBGP

目前需要有一个技术,可以解决地址空间问题,这就是***的诞生技术,MPBGP实现。至少需要解决三个问题:

本地地址存储,如何区分不同×××,以及避免地址冲突;

×××路由在网络上的传输,如何区分不同×××,以及避免地址冲突;

报文在转发时候,如何区分不同×××,以及避免地址冲突

 

首先本地存储问题,提出了VRF的概念,把不同***的路由按照对应的vrf实例存储,相当于一个路由器的实例。

针对第二个问题。考虑到可以对BGPcommunity属性扩展,这就是RouteTarget,用于区分不同的×××,可以配置exportimport

第三个问题,其实完全还可以继续使用RT,但是有一点。BGP在发送撤销路由的时候,不带任何属性,所以必须使用一个其他标示,也就是RD诞生了。

 

×××配置方法

 

1、配置MPLS

   

2、配置PE之间的MPEBGP邻居。

正常配置BGP邻居,然后在address-family ***v4视图下,peer x.x.x.x enable

3、配置×××,接口加入私网。

    配置***,配置rdrt,其中RD只是本地标示,RT必须跟对端相匹配。

    然后将接口加入***中。如果没有CE,可以通过将接口地址发布给对端PE。发布方式是在address-family ***-instance xxx视图下,network进行发布。