最近在看***,在思考***的本质
***就是把私网报文封装起来,通过公网传递的技术。
×××雏形:
1、最简单的overlay×××,只使用一个简单的GRE或者IPSEC隧道实现。
|<- - - gre隧道 - - -> |
CE – PE – P – PE - CE
GRE隧道直接建立在CE和CE之间,不同的私网通讯,就需要再次再次建立新的隧道即可,这样从这个隧道出来的报文,一定属于某个特定的私网。缺点是每个***都需要建立隧道。此时ce和pe之间是公网。
|<- gre隧道 -> |
CE -– PE –- P -– PE -- CE
隧道也可以建立在了PE上,怎么区分不同的***呢,靠Acl或者接口区分,比如从某个接口上来的报文,就认为是属于某个***的。 通过ACL帮忙完成,当然仍然需要为每个私网配置一个隧道。
2、Peer-To-Peer ×××
由于overlay×××的静态特性,不适合于大规模应用。比如新增加一个***,除了新增配置,现网其他设备也需要跟着更改(跟本×××新建隧道对接,否则无法实现互通)。
Peer-To-Peer指的是CE到PE之间,使用动态路由协议。去掉静态***的缺点,怎么发布路由呢,这时候将整个私网路由发布到整个公网内,对端PE根据策略决定是否接收该路由。
可以有如下两种方式:
(1)共享PE方式
CE
\
CE -– PE –- P -– PE – CE
(2)专用PE方式
CE1—PE1
\
CE2 – PE2 –- P -– PE – CE
×××路由如何发布和接收,可以考虑使用BGP的community属性。在PE之间建立的BGP连接,接收端配置import,接收自己需要的路由,如此实现私网互通。也就是完全用路由区分不同的私网。
MPLS BGP ×××形成:
上述Peer-To-Peer×××,仍然有缺点。
首先,不同***的地址空间不可相同;
其次,私网路由完全泄露出去,有被***的危险;
最后,由于配置了路由过滤,只接收需要的路由,不能再配置默认路由,因此无法访问internet。
MPBGP
目前需要有一个技术,可以解决地址空间问题,这就是***的诞生技术,MPBGP实现。至少需要解决三个问题:
本地地址存储,如何区分不同×××,以及避免地址冲突;
×××路由在网络上的传输,如何区分不同×××,以及避免地址冲突;
报文在转发时候,如何区分不同×××,以及避免地址冲突
首先本地存储问题,提出了VRF的概念,把不同***的路由按照对应的vrf实例存储,相当于一个路由器的实例。
针对第二个问题。考虑到可以对BGP的community属性扩展,这就是RouteTarget,用于区分不同的×××,可以配置export和import。
第三个问题,其实完全还可以继续使用RT,但是有一点。BGP在发送撤销路由的时候,不带任何属性,所以必须使用一个其他标示,也就是RD诞生了。
×××配置方法
1、配置MPLS
略
2、配置PE之间的MPEBGP邻居。
正常配置BGP邻居,然后在address-family ***v4视图下,peer x.x.x.x enable。
3、配置×××,接口加入私网。
配置***,配置rd和rt,其中RD只是本地标示,RT必须跟对端相匹配。
然后将接口加入***中。如果没有CE,可以通过将接口地址发布给对端PE。发布方式是在address-family ***-instance xxx视图下,network进行发布。
转载于:https://blog.51cto.com/fengdream/1132314