VRF实例说明

Wesley13
• 阅读 471

Virtual Routing Forwarding

    VPN 路由 转发表,也称VPN-instance(VPN实例),是PE为直接相连的site建立并维护的一个专门实体,每个site在PE上都有自己的VPN-instance,每个VPN-instance包含到一个或多个与该PE直接相连的CE的路由和转发表,另外如果要实现同一VPN各个Site间的互通,该VPN-instance还就应该包含连接在其他PE上的发出该VPN的Site的路由信息。

MPLS VPN网络主要由CE、PE和P等3部分组成:CE(Customer Edge Router,用户网络边缘 路由器)设备直接与服务提供商网络(图1中的MPLS骨干网络)相连,它“感知”不到VPN的存在;PE(Provider Edge Router,骨干网边缘路由器)设备与用户的CE直接相连,负责VPN业务接入,处理VPN-IPv4路由,是MPLS三层VPN的主要实现者:P(Provider Router,骨干网 核心路由器)负责快速转发数据,不与CE直接相连。在整个MPLS VPN中,P、PE设备需要支持MPLS的基本功能,CE设备不必支持MPLS。

PE是MPLS VPN网络的 关键设备,根据PE路由器是否参与客户的路由,MPLS VPN分成Layer3 MPLS VPN和Layer2 MPLS VPN。其中Layer3 MPLS VPN遵循RFC2547bis标准,使用MBGP在PE 路由器之间分发路由信息,使用MPLS技术在VPN站点之间传送数据,因而又称为 BGP/MPLS VPN。本文主要阐述的是Layer3 MPLS VPN。

在MPLS VPN网络中,对VPN的所有处理都发生在PE路由器上,为此,PE路由器上起用了VPNv4地址族,引入了RD(Route Distinguisher)和RT(Route Target)等属性。RD具有全局唯一性,通过将8byte的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址转化为唯一的VPNv4地址。VPNv4地址对客户端设备来说是不可见的,它只用于骨干网络上路由信息的分发。PE对等体之间需要发布基于VPNv4地址族的 路由,这通常是通过 MBGP实现的。正常的BGP4能只传递IPv4的路由, MP-BGP在BGP的基础上定义了新的属性。MP-iBGP在邻居间传递VPN用户路由时会将 IPv4地址打上RD前缀,这样VPN用户传来的IPv4路由就转变为VPNv4路由,从而保证VPN用户的路由到了对端的PE上以后,即使存在 地址空间重叠,对端PE也能够区分开分属不同VPN的用户路由。RT使用了BGP中扩展团体属性,用于路由信息的分发,具有全局唯一性,同一个RT只能被一个 VPN使用,它分成Import RT和Export RT,分别用于路由信息的导入和导出策略。在PE 路由器上针对每个site都创建了一个虚拟路由转发表VRF(VPN Routing & Forwarding),VRF为每个site维护逻辑上分离的路由表,每个VRF都有Import RT和Export RT属性。当PE从VRF表中导出VPN 路由时,要用Export RT对VPN路由进行标记;当PE收到VPNv4路由信息时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中,而不是全网所有VPN的路由,从而形成不同的VPN,实现VPN的互访与隔离。通过对Import RT和Export RT的合理配置,运营商可以构建不同拓扑类型的VPN,如重叠式VPN和Hub-and-spoke VPN。

    整个MPLS VPN 体系结构可以分成控制面和数据面,控制面定义了LSP的建立和VPN路由信息的分发过程,数据面则定义了VPN数据的转发过程。

在控制层面,P 路由器并不参与VPN路由信息的交互,客户路由器是通过CE和PE路由器之间、PE路由器之间的路由交互知道属于某个VPN的 网络拓扑信息。CE-PE路由器之间通过采用静态/默认路由或采用IGP(RIPv2、OSPF)等 动态路由协议。PE-PE之间通过采用MP-iBGP进行路由信息的交互,PE路由器通过维持iBGP网状连接或使用 路由反射器来确保路由信息分发给所有的PE路由器。除了路由协议外,在控制层面工作的还有 LDP,它在整个MPLS网络中进行标签的分发,形成数据转发的逻辑通道LSP。

在数据转发层面,MPLS VPN网络中传输的VPN业务数据采用外标签(又称隧道标签)和内标签(又称VPN标签)两层标签栈结构。当一个VPN业务分组由CE 路由器发给入口PE 路由器后,PE路由器查找该子接

介绍

VPN Routing and Forwarding (VRF) is a technology used in computer networks that allows multiple instances of a routing table to co-exist within the same router at the same time. Because the routing instances are independent,the same or overlapping IP addresses can be used without conflicting with each other.

VRF---VPN 路由转发实例(VPN Routing & Forwarding Instance)

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

一张独立的路由表,当然也包括了独立的地址空间;

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

一组只用于本VRF的 路由协议

对于每个PE,可以维护一个或多个VRF,同时维护一个公网的路由表(也叫全局路由表),多个VRF实例相互分离独立。

部署和配置

公网路由表:包含全部PE和P 路由器之间的路由,由骨干网IGP 产生。

私网路由表:包含本VPN 用户可达信息的路由和转发表。

⒊1 配置RD

理论上可以为每个VRF配置一个RD。

通常建议为每个VPN都配置相同的RD,不同的VPN配置不同的RD。

但是实际上只要保证存在相同地址的两个VRF的RD不同即可,不同的VPN可以配置相同的RD,相同的VPN也可以配置不同的RD。

VPN RD的关系比较松散,只需要保证存在地址相同的两个VRF的RD不同即可。只要能区分不同vrf的系统 路由就可以了。

PE1(config-vrf)#rd

ASN:nn or IP-address:nn VPN Route Distinguisher

一般采用:ASN:nn

⒊2 配置RT

PE1(config-vrf)#route-target import

ASN:nn or IP-address:nn Target VPN Extended Community

PE1(config-vrf)#route-target export

ASN:nn or IP-address:nn Target VPN Extended Community

⒊3 为VRF 指派接口

一旦你创建VRF的工作结束,你就可以开始分配特定的接口并且开始把客户分开。如果你在确定VRF中的接口之前分配IP地址,这个IP地址将被删除,你必须重新为接口分配IP地址。

PE1(config)#interface s1/0

PE1(config-if)#ip vrf forwarding vpn-a

PE1(config-if)#

PE1(config-if)#do show ip vrf

Name Default RD Interfaces

vpn-a 65001:1 Se1/0

可解决问题

⒉1 实现类似专用PE的功能,用路由隔离不同的vpn用户。

⒉2 解决地址重叠的问题

即同时支持使用 公有地址的客户端设备和 私有地址的客户端设备,或者多个VPN使用同一个 地址空间

也可以支持创建重叠VPN,所谓重叠VPN是指同一个站点同时属于多个VPN的情况。

引入RT的概念

在PE 中,存在全局路由表、vrf 等,从全局路由表选择路由到vrf 称为export导出;从vrf 中选择路由到全局路由表称为import。RT 用于 路由信息的分发,它分成Import RT和Export RT,分别用于路由信息的导入、导出策略。当从全局路由表中导出路由到vrf 时,要用Export RT对VPN路由进行标记;在往全局路由导入VPNv4 路由时,只有所带RT 标记与VRF 表中任意一个Import RT相符的路由才会被导入到全局路由表中。RT使得PE 路由器只包含和其直接相连的VPN的路由,而不是全网所有ipvpnv4 的路由,从而节省了PE路由器的资 源,提高了网络拓展性。在一个VRF中,在发布 路由时使用RT 的export 规则。直接发送给其他的PE设备。在接收端的PE上,接收所有的路由,并根据每个VRF 配置的RT 的import 规则进行检查,如果与路由中的RT属性match,则将该路由加入到相应的VRF中。

Export Target: 我这个VRF 发出的路由打上什么标记;

Import Target:我这个VRF 接受什么标记的路由。

引入RD的概念

ISP 网络需要把来自CE 用户的路由,通过公用网络传递到用户的其他CE 路由器。但是来自不同用户的路由可能相同(重叠)。假设A 用户有个路由条目是10.180.0.0/16,B 用户有个路由也是10.180.0.0/16。这样在ISP 内部将不能区分10.180.0.0/16 到底是那个用户的。为了解决这个问题映入RD (64bit)概念,将ipv4 地址扩展为ipvpn4 地址(RD:ipv4), 在ISP 内部传播路由时为每个来自CE 的路由加一个区别标识,这样对端ISP,PE收到不同vrf的相同路由,就能准确区分。假设A 用户的RD 是65001:1,B 用户的RD为65002:1, 这样A 的10.180.0.0/16 就扩充为65001:1:10.180.0.0/16,B 扩充为65002:1:10.180.0.0/16 ,这种扩充后的路由成为ipvpn4 route。只要RD 全局唯一, 将不唯一的IPv4地址转化为唯一的IPVPNv4 地址,但是IPVPNv4 地址对客户端设备来说是不可见的。

点赞
收藏
评论区
推荐文章
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序selectfromtable_nameorderiddesc;2.按照指定(多个)字段排序selectfromtable_nameorderiddesc,statusdesc;3.按照指定字段和规则排序selec
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
天翼云高可用虚拟IP(HAVIP)实践
(一)产品概述天翼云高可用虚拟IP(HighAvailabilityVirtualIPAddress,简称HAVIP)是一种可用独立创建和删除的私有网络IP地址资源。通过在VIPCIDR中申请一个私有网络IP地址,然后与高可用软件(如高可用软件Keepalived)配合使用,可用在VPC中搭建高可用的主备集群服务,提高VPC中服务的可用性。限制和说明
一个关于SDWAN单臂部署方案验证的实验
假设有这样一张网络,其中RTA和PCA表示某公司的A分支,通过中国电信CT路由器接入互联网ISP;RTB和PCB表示某公司的B分支,通过中国联通CU路由器接入互联网ISP。DNS(8.8.8.8)表示某互联网应用。为实现A分支私网192.168.2.0/24和B分支私网192.168.3.0/24的互通,现计划使用某厂商的SDWAN方案进打通两个内网,像下图
高性能API网关Kong介绍
本文关键词:高性能、API网关、Kong、微服务1.Introduction是随着微服务(Microservice)概念兴起的一种架构模式。原本一个庞大的单体应用(Allinone)业务系统被拆分成许多微服务(Microservice)系统进行独立的维护和部署,服务拆分带来的变化是API的规模成倍增长,API的管理难度也在日益增加,使用API网关发布和管
SPDK对接Ceph性能优化
关键词:SPDK、NVMeOF、Ceph、CPU负载均衡SPDK是intel公司主导开发的一套存储高性能开发套件,提供了一组工具和库,用于编写高性能、可扩展和用户态存储应用。它通过使用一些关键技术实现了高性能:1.将所有必需的驱动程序移到用户空间,以避免系统调用并且支持零拷贝访问2.IO的完成通过轮询硬件而不是依赖中断,以降低时延3.使用消息传递,以避免IO
3A网络 3A网络
5个月前
理解 virt、res、shr 之间的关系(linux 系统篇)
理解virt、res、shr之间的关系(linux系统篇)前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过t
3A网络 3A网络
5个月前
开发一个不需要重写成 Hive QL 的大数据 SQL 引擎
开发一个不需要重写成HiveQL的大数据SQL引擎学习大数据技术的核心原理,掌握一些高效的思考和思维方式,构建自己的技术知识体系。明白了原理,有时甚至不需要学习,顺着原理就可以推导出各种实现细节。各种知识表象看杂乱无章,若只是学习
初识DevOps
基本概念和延伸的思考DevOps,是Development(开发)和Operations(运维)组成的复合词,一般译为“开发运维一体化”。看到这个概念,首先会产生几个问题:开发是什么,哪些环节是开发?运维是什么,哪些环节是运维?开发人员写好代码在本地调试,环境出问题了自己来调整,这是开发工作还是运维工作?系统故障后,运维人员发现是配置文件内容出错了就改成了正
SPDK QOS机制解析
本文关键词:intelspdkbdevqos序:intelspdk软件在存储领域应用广泛。因其可以高效管理linux系统的nvmessd盘,又支持vhostuser协议可以对接qemu虚拟机,在云计算领域通常被用来做本地盘云主机的存储管理软件。如此优秀的一款软件,有必要仔细分析其内部的实现机制,本篇文章主要介绍spdkqos机制。spdk