MPLS VPN 不是一个技术,是一堆技术的集合,是一种解决方案
什么是VPN?虚拟专用网络
能够解决公司之间互联的一种技术,在原始的报文上面再重新封装一个或者多个全新的头部,完成在公共网络上的传递
裸纤(每月每公里收费),专线(跑多家公司业务,运营商可以把这些业务区分开)
VPN分类
IP MPLS BGP VPN,MPLS-L3 VPN-P2MP类型中,在原始的报头增加的是MPLS头部。主要用于运营商或者中石油大型网络中使用,会先修建一个大型的骨干网络,可以让互联互通的节点实现互联互通,不想实现互联互通的地方可以进行隔离。
关注路由是怎么产生的,是怎么是先点到多点。
P设备是骨干网络的设备,PE是骨干网络的边界设备,CE是用户侧的设备
修建骨干网络:底层IP,底层IGP,底层MPLS
连接用户设备:CE把路由传递给PE(OSPF),PE把路由传递给对方的PE(BGP,使用ospf协议会导致中间的设备都会学习到各种路由);创建用户VRF(配置用户RD及RT值),绑定用户接口,配置IP,配置路由协议学习用户侧路由。
PE设备收到来自不同公司相同路由(VRF),会造成地址空间重叠,利用VRF虚拟路由转发技术创建实例来解决(一台路由器虚拟出多个路由器,分别有全局路由器与虚拟路由器,虚拟路由器是没有接口的,需要将物理接口绑定给虚拟路由器)
多个VRF的路由都需要进入BGP(使用MP-BGP传递VPN v4路由),使用BGP传递路由,需要先将路由变为BGP路由才可以传递,BGP只有一个进程,多个VRF的路由都需要进入BGP,使用VPN V4路由(由RD值+IPv4路由构成),VRF会给路由加上不同的RD值,这个时候进入BGP路由时,会变为VPN v4路由(格式1:1 1.1.1.1 32),不同的路由进入BGP就都可以保存, 路由保存在BGP VPN v4路由表,传递VPN v4路由需要用到MP-BGP路由进行传递。
对方PE设备收到路由之后如何将VPN v4路由放到对应的VRF的路由表中,使用RT值(标签),在每个VRF中配置出方向的RT值和入方向的RT值,1的出方向为100:1,如果2的哪个入方向和他相同,则在这个进入收到这个路由。
ip -instance 用户名称 //创建VRF
route-distinguisher 1:1 配置RD值
-target 100:1 export-extcommunity|import-excomuuunity 配置RT值
interface g0/0/1 进入接入用户的接口
ip binding -instance 1 //绑定VRF实例
PE设备查看用户侧的路由表
dis ip routing-table -instance 1
ospf 1 -instance 1 //ospf给实例用,不给全局
area 0
qu
int g0/0/1
ospf enable 1 area 0
运营商在PE之间交换用户路由:peer 3.3.3.3 as-number 100 这个命令是仅仅建立了连接,并没有可以让它传递路由,能够传递路由是因为自动打开了ipv4-family unicast(默认打开了ipv4的传递功能,如果不自动打开,是无法传递ipv4路由),手动打开 v4的功能,ipv4-family v4; peer 3.3.3.3 enable
配置PE间BGP VPNv4邻居
互相引入路由完成路由交互
bgp 100
peer 3.3.3.3 as-number 100
peer 3.3.3.3 conect-interface loopBack0
ipvr-family v4
peer 3.3.3.3 enable
ipv4-family -instace 1 //bgp只有一个进程,所以只能进入bgp里面去做实例的区分
import-route ospf 1
PE将路由引入到ospf中传递给CE设备
ospf 1
import-route bgp
VRF--实例 解决用户地址空间重叠问题(即地址网段相同问题)解决一个路由表不能存两个相同的路由
RD值--解决BGP路由表中IPv4地址重叠问题 RD+IPv4前缀 VPNv4路由 解决BGP不能传递两个相同的路由
RT值--解决用户是否对路由感兴趣的问题
BGP VPNv4邻居--VPNv4路由传递问题
隧道技术的特性,一台路由器里面有两个VRF,VRF1,2,R1和R3中间修建了隧道,R3会有一个隧道ID,R3的全局都可以看到这条隧道,这条隧道属于所有的VRF+全局,大家都能够共享这条隧道,这样,数据就可以加上标签直接进入了隧道。中间的设备没有参与BGP,所有会产生黑洞,因此在这个地方,MPLS起到了两个作用(迭代出来了下一跳,解决了黑洞问题),对于RT的检查叫做私网路由交叉,对于隧道的检查叫做公网隧道迭代。
dis tunnel-info all,查出来0x1隧道是去往1.1.1.1的
查看MPLS,查看去往1.1.1.1封装的MPLS标签