BGP MPLS IP V匹N基本概念
BGP/MPLS IP VPN基本概念
Site
在介绍VPN时经常会提到“Site”,Site(站点)的含义可以从下述几个方面理解:
· Site是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过运营商网络实现。
如图2-2所示,左半边的网络中,A市X公司总部网络是一个Site,B市X公司分支机构网络是另一个Site。这两个网络各自内部的任何IP设备之间不需要通过运营商网络就可以互通。
图2-2 Site示意图
· Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻。地理位置隔离的两组IP系统,如果它们使用专线互联,不需要通过运营商网络就可以互通,这两组IP系统也组成一个Site。
如图2-2所示,右半边网络,B市的分支机构网络不通过运营商网络,而是通过专线直接与A市的总部相连,则A市的总部网络与B市的分支机构网络构成了一个Site。
· 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN。
如图2-3所示,X公司位于A市的决策部网络(Site A)允许与位于B市的研发部网络(Site B)和位于C市的财务部网络(Site C)互通。但是不允许Site B与Site C互通。这种情况下,可以构建两个VPN(VPN1和VPN2),Site A和Site B属于VPN1,Site A和Site C属于VPN2。这样,Site A就属于多个VPN。
图2-3 一个Site属于多个VPN
· Site通过CE连接到运营商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
根据Site的情况,建议CE设备选择方案如下:
如果Site只是一台主机,则这台主机就作为CE设备;
如果Site是单个子网,则使用交换机作为CE设备;
如果Site是多个子网,则使用路由器作为CE设备。
对于多个连接到同一运营商网络的Site,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Site之间才能通过运营商网络互访,这种集合就是VPN。
地址空间重叠
VPN是一种私有网络,不同的VPN独立管理自己的地址范围,也称为地址空间(address space)。不同VPN的地址空间可能会在一定范围内重合,例如,VPN1和VPN2都使用10.110.10.0/24网段地址,这就发生了地址空间的重叠(address spaces overlapping)。
以下两种情况允许VPN使用重叠的地址空间:
· 两个VPN没有共同的Site
· 两个VPN有共同的Site,但此Site中的设备不与两个VPN中使用重叠地址空间的设备互访
VPN实例
在BGP/MPLS IP VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。
PE为每个直接相连的Site建立并维护专门的VPN实例,VPN实例中包含对应Site的VPN成员关系和路由规则。具体来说,VPN实例中的信息包括:IP路由表、标签转发表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表等。
VPN、Site、VPN实例之间的关系如下:
· VPN是多个Site的组合。一个Site可以属于多个VPN。
· 每一个Site在PE上都关联一个VPN实例。VPN实例综合了它所关联的Site的VPN成员关系和路由规则。多个Site根据VPN实例的规则组合成一个VPN。
· VPN实例与VPN不是一一对应的关系,VPN实例与Site之间存在一一对应的关系。
VPN实例也称为VPN路由转发表VRF(VPN Routing and Forwarding table)。PE上存在多个路由转发表,包括一个公网路由转发表,以及一个或多个VPN路由转发表。如图2-4所示。
图2-4 VPN实例示意图
公网路由转发表与VPN实例存在以下不同:
· 公网路由表包括所有PE和P设备的IPv4路由,由骨干网的路由协议或静态路由产生。
· VPN路由表包括属于该VPN实例的所有Site的路由,通过CE与PE之间或者两个PE之间的VPN路由信息交互获得。
· 公网转发表是根据路由管理策略从公网路由表提取出来的转发信息;而VPN转发表是根据路由管理策略从对应的VPN路由表提取出来的转发信息。
可以看出,PE上的各VPN实例之间相互独立,并与公网路由转发表相互独立。
可以将每个VPN实例看作一台虚拟的设备,维护独立的地址空间并有连接到私网的接口。
RD和VPN-IPv4地址
传统BGP无法正确处理地址空间重叠的VPN的路由。假设VPN1和VPN2都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由。虽然本端PE通过不同的VPN实例可以区分地址空间重叠的VPN的路由,但是这些路由发往对端PE后,由于不同VPN的路由之间不进行负载分担,因此对端PE将根据BGP选路规则只选择其中一条VPN路由,从而导致去往另一个VPN的路由丢失。
PE之间使用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)来发布VPN路由,并使用VPN-IPv4地址来解决上述问题。
VPN-IPv4地址共有12个字节,包括8字节的路由标识符RD(Route Distinguisher)和4字节的IPv4地址前缀,如图2-5所示。
图2-5 VPN-IPv4地址结构
RD用于区分使用相同地址空间的IPv4前缀,增加了RD的IPv4地址称为VPN-IPv4地址(即VPNv4地址)。PE从CE接收到IPv4路由后,转换为全局唯一的VPN-IPv4路由,并在公网上发布。
RD的结构使得每个服务供应商可以独立地分配RD,但为了在CE双归属的情况下保证路由正常,必须保证PE上的RD全局唯一。如图2-6所示,CE以双归属方式接入到PE1和PE2。PE1同时作为路由反射器RR(Route Reflector)。
图2-6 CE双归属组网示意图
该组网中,PE1作为骨干网边界设备发布一条IPv4前缀为10.1.1.1/8的VPN-IPv4路由给PE3。同时又作为RR反射PE2发布的IPv4前缀为10.1.1.1/8的VPN-IPv4路由给PE3。
· 如果该VPN在PE1和PE2上的RD一样,由于目的地址相同,PE3只保留一条到10.1.1.1/8的VPN-IPv4路由,其路径为:PE3—>PE1->CE。
· 当PE1与CE之间的直连链路出现故障时,PE3删除到10.1.1.1/8的VPN-IPv4路由,无法正确转发到该目的地址的VPN数据。而实际上PE3应该有一条到10.1.1.1/8的路由,其路径为:PE3—>PE1—>PE2->CE。
· 如果该VPN在PE1和PE2上的RD不同,则PE3从PE1接收的到10.1.1.1/8两条VPN-IPv4路由的目的地址不同,因此PE3上保留两条到10.1.1.1/8的VPN-IPv4路由。当PE1与CE之间的任何一条链路出现故障时,PE3将删除其中对应的一条,仍保留另一条,使得到10.1.1.1/8的数据能正确转发。
VPN Target
BGP/MPLS IP VPN使用BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布。
每个VPN实例关联一个或多个VPN Target属性。有两类VPN Target属性:
· Export Target:本地PE从直接相连Site学到IPv4路由后,转换为VPN-IPv4路由,并为这些路由设置Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。
· Import Target:PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例中。
在BGP/MPLS IP VPN网络中,通过VPN Target属性来控制VPN路由信息在各Site之间的发布和接收。VPN Export Target和Import Target的设置相互独立,并且都可以设置多个值,能够实现灵活的VPN访问控制,从而实现多种VPN组网方案。
例如:某VPN实例的Import Target包含100:1,200:1和300:1,当收到的路由信息的Export Target为100:1、200:1、300:1中的任意值时,都可以被注入到该VPN实例中
BGP MPLS IP V匹N基本概念的更多相关文章
- 虚拟机vmware的连接方式以及IP端口,协议等概念
1.NAT虚拟机相当于小弟,宿主机相当于大哥,宿主机虚拟出一个网段供虚拟机上网用 2.Bridge桥接,虚拟机和宿主机相当于局域网中的两台机器 3.Host-Only虚拟机只和宿主机通信,无法上网 3 ...
- MPLS
Multiprotocol Label Switching From Wikipedia, the free encyclopedia "MPLS" redirects here. ...
- [转]OpenContrail 体系架构文档
OpenContrail 体系架构文档 英文原文:http://opencontrail.org/opencontrail-architecture-documentation/ 翻译者:@KkBLu ...
- OpenContrail 体系
OpenContrail 体系架构文档 1 概述1.1 使用案例1.2 OpenContrail控制器和vRouter1.3 虚拟网络1.4 Overlay Networking1.5 ...
- BGP多线单IP技术实现形式以及其他双线对比
自从电信与网通分离之后,北方网通与南方电信网络的互联瓶颈问题一直没有得到很好的解决,这个问题也严重困扰广大的ICP服务商.ICP也只能根据自己网站主流用户群是在南方还是在北方,服务重点是在南方还是北方 ...
- 网络地址转换NAT的两种模式(概念浅析)& IP溯源
由于全球IPv4地址越来越少.越来越贵,因此大到一个组织,小到一个家庭一个人都很难获得公网IP地址,所以只能使用内网地址,从而和别人共享一个公网IP地址.在这种情况下,NAT技术诞生. 翻译 NAT( ...
- CCNP路由实验之十二 MPLS
个.第3个数据包„„同样的操作.包含查询路由表.重写MAC地址,CRC校验等. 系列路由器.或者12000系列路由器. Netflow switching 通过一种标准的交换机制,处理了流的第一 ...
- MPLS与LDP从入门到了解
多协议标签交换(MPLS)是一种用于快速转发数据包的技术,它的出现就是为了提高转发效率.因为IP转发大多靠软件进行,在转发的每一跳都要进行至少一次最长匹配查找,操作复杂导致转发速度比较慢.有些厂商借鉴 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
随机推荐
- Python学习日记(三十六) Mysql数据库篇 四
MySQL作业分析 五张表的增删改查: 完成所有表的关系创建 创建教师表(tid为这张表教师ID,tname为这张表教师的姓名) create table teacherTable( tid int ...
- prometheus学习系列十一: Prometheus exporter详解
exporter详解 前面的系列中,我们在主机上面安装了node_exporter程序,该程序对外暴露一个用于获取当前监控样本数据的http的访问地址, 这个的一个程序成为exporter,Expor ...
- excel 大文件解析原理实现
问题 目前的excel 不像之前的excel了可以支持的数据量更大,可以支持支持1048576行,16384列. 之前使用poi读取,直接报错,使用excel 事件的方式读取,还有不少的bug,关键是 ...
- 提高用git下载代码时的成功率
在用git clone下载一些比较大的仓库时,经常会遇到由于仓库体积过大,网络也不稳定,导致下了半截就中断了,可以参考如下的下载方法. 先用创建一个空目录,然后用git init初始化,然后用git ...
- CentOS7 编译安装MySQL5.6.38(一)
一.下载MySQL5.6.38安装包 下载地址:https://www.mysql.com/downloads/ 打开网站之后选择Archives 然后再选择开源版本 选择我们要下载的版本: htt ...
- saas系统多租户数据隔离的实现(一)数据隔离方案
0. 前言 前几天跟朋友聚会的时候,朋友说他们公司准备自己搞一套saas系统,以实现多个第三方平台的业务接入需求.聊完以后,实在手痒难耐,于是花了两天时间自己实现了两个saas系统多租户数据隔离实现方 ...
- PyCharm专业版激活(2018年Windows版)
友情提示: 本教程仅供学习交流使用,如需商业用途,强烈建议使用官方正式版.(官网正式链接为:https://www.jetbrains.com/pycharm/) 当然网上有很多其他激活教程,我看到的 ...
- GStreamer: your gstreamer installation is missing a required plugin in funct
# yum install gstreamer-plugins-* //问题依旧 别人回答: 编解码不对应? 我印象中GStreamer解码器分什么good,bad 取决你要读什么媒体,需要装些插件的 ...
- NameNode的HA
HDFS中的NameNode的HA怎么实现?(一言以蔽之) 在Hadoop集群中配置并启动两个NameNode进程,一个作为Active节点对外提供服务,另一个作为Standby的节点,两个NameN ...
- python - 将天数转换成日期
# 如果是 0 则为今天 def getdate(day): today = datetime.datetime.now() deviation = datetime.timedelta(days=- ...