首页 > 其他分享 >十一、MPLS-VPN

十一、MPLS-VPN

时间:2024-06-17 19:29:17浏览次数:26  
标签:十一 5.5 MPLS PE2 实例 PE VPN 路由

目录

一、基本介绍

二、常见组网方案

2.1、Intranet组网

RD和RT

2.1.1、MPLS-VPN(控制层面)

2.1.2、MPLS-VPN(转发层面)

2.2、Hub&Spoke组网        


一、基本介绍

        MPLS:多协议标签交换,最初是为了提高路由器的转发速度而提出的,与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,节约了处理时间。

        VPN:虚拟专用网络,在一个公共网络中实现虚拟的专用网络,从而使得用户能够基于该专用网络实现通信的技术,作用是打通两个私网。

        MPLS-VPN:使用BGP在运营商骨干网(IP网络)上发布VPN路由,使用MPLS在运营商骨干网上转发VPN报文。BGP/MPLS IP VPN又被简称为MPLSVPN,是一种常见的L3VPN(Layer 3VPN)技术。

网络架构

        MPLS VPN网络架构由三部分组成:CE(Customer Edge)、PE(Provider Edge)和P(Provider),其中PE和P是运营商设备,CE是MPLS VPN用户设备。

        站在用户角度,CE又叫出口路由器。

        左侧PE设备是两个私网都需要经过的设备,所以需要利用VRF隔离,PE向上到达P设备后,同样为了隔离也需要用VRF,此时运营商骨干就会学习到大量的私网路由,这是运营商不想看到的,那么在P设备上就利用隧道技术来解决网络隔离,运用IGP+LDP技术就能在运营商骨干网的各PE之间建立隧道(公网隧道),让A去B的流量递归到该隧道中,那么中间P设备就不需要私网路由了,PE设备是MPLS中的标签边界路由器,P设备上中转设备。

        隧道的特点:只要打上了相同的标签进入到隧道,那么在隧道中的流量就按标签转发。

        MPLS VPN不是单一的一种VPN技术,是多种技术结合的综合解决方案,主要包含下列技术:

  • MP-BGP:多协议BGP,负责在PE与PE之间传递站点内的私网路由信息(VPNv4)。
  • LDP:负责PE与PE之间的隧道建立。
  • VRF:负责PE的VPN用户管理。
  • 静态路由、IGP、BGP:负责PE与CE之间的路由信息交换。

为什么选择MPLS VPN?

对VPN客户而言:
        “感知”不到VPN的存在,不需要部署和维护VPN,降低企业运维难度和成本。
        一般部署在运营商的MPLS VPN专网上,有一定的安全性保障。

对于运营商而言:
        MPLS在无连接的IP网络中增加了面向连接的控制平面,为IP网络增添了管理和运营的手段。
        支持地址空间重叠、支持重叠VPN、组网方式灵活、可扩展性好。
        能够方便地支持MPLS TE合理调控现有网络资源,最大限度的节省运营商成本。

二、常见组网方案

  • Intranet(内部组网):一个VPN中的所有用户形成闭合用户群,同一VPN站点之间可以互访,不同VPN站点间不能互访。
  • Extranet(跨部分用户组网):适用于一个VPN用户希望提供部分本VPN的站点资源给其他VPN的用户访问的场景。
  • Hub&Spoke(中心站点-分支站点组网):如果希望在VPN中设置中心访问控制设备,其它用户的互访都通过中心访问控制设备进行,可采用Hub&Spoke组网方案。

2.1、Intranet组网

        首先需要完成不同站点之间的路由交互。

        在基本MPLSVPN组网中,VPN路由信息的发布涉及CE和PE,P路由器只维护骨干网的路由,不需要了解任何VPN路由信息。VPN路由信息的发布过程包括三部分:

  • 本地CE到入口PE
  • 入口PE到出口PE
  • 出口PE到远端CE

RD和RT

        PE收到不同VPN的CE发来的IPv4地址前缀,本地根据VPN实例配置去区分这些地址前缀。但是VPN实例只是一个本地的概念,PE无法将VPN实例信息传递到对端PE,故有了RD。

        RD(Route Distinguisher,路由标识符),区分私网路由,PE从CE接收到IPv4路由后,在IPv4前缀前加上RD,转换为全局唯一的VPN-IPv4路由

        RD格式:m:n,只是在本地用来区分不同实例的私网路由,到达对端PE丢弃RD, 对对端PE来说,RD只是帮助区分是两条路由,所以这两个RD是多少对远端PE没有意义。

        VPNV4路由格式:RD+IPv4,1:1:192.168.1.1/24。

        将vpnv4路由放到BGP中,使用BGP从PE1传达到PE2

        本地PE在发布VPNv4路由前附上RT(route target)属性,对端RT在接到到VPNv4路由后根据RT将路由导入对应的VPN实例。

        RT格式:1:1,作为vpnv4路由的属性,为路由打上标记,决定路由该发到哪个实例的策略

                发送方给路由打上RT,称为ERT(export RT)

                接收方有RT,与RT值匹配的路由加入到对应的实例中转发,称为IRT(import RT)

                只要ERT和IRT一致,就能相互通信

2.1.1、MPLS-VPN(控制层面)

0、规划VRF RD RT
1、ISP配置
        1.1配IP测直连
        1.2配IGP,检查邻居关系,检查环回口路由,ping测试。
        1.3MPLS,检查LDP邻居,LDP会话,LSP。
        1.4MP-BGP,在PE和PE之间配置BGP邻居,用于将来传递vpnv4路由。

2、配置PE-CE (选用BGP)
        2.1 CE全局配置BGP
        2.2 PE创建VPN实例,配置RD,RT。
        2.3 PE的接口绑定实例
        2.4 PE配置BGP和CE建立邻居关系

3、发布路由

步骤1.4、MP-BGP

##PE2
bgp 200
    router-id 2.2.2.2
    peer 4.4.4.4 as-number 200
    ipv4-family unicast
        ##方法一:邻居之间传递vpnv4路由,不传递IPv4路由,所以不用建立ipv4地址族邻居关系
        undo peer 4.4.4.4 enable
    ##启用vpnv4地址族
    ipv4-family vpnv4
        ##自动建立vpnv4地址族的邻居关系(PE和PE之间)
        peer 4.4.4.4 enable
    peer 4.4.4.4 connect-interface LoopBack0


##PE4
bgp 200
    router-id 4.4.4.4
    ##方法二:邻居之间传递vpnv4路由,不传递IPv4路由,所以不用建立ipv4地址族邻居关系  
    undo default ipv4-unicast
    peer 2.2.2.2 as-number 200
    ipv4-family vpnv4
        ##自动建立vpnv4地址族的邻居关系
        peer 2.2.2.2 enable
    peer 2.2.2.2 connect-interface LoopBack0

disp bgp vpnv4 all peer

步骤2、配置PE-CE (选用BGP)

##CE1
bgp 100
    ##与PE起邻居
    router-id 1.1.1.1
    peer 2.2.2.2 as-number 200 

##PE2
ip vpn-instance 1
    ##RD
    route-distinguisher 1:1
    ##出方向RT
    vpn-target 1:5 export-extcommunity
    ##入方向RT
    vpn-target 5:1 import-extcommunity

interface GigabitEthernet0/0/0
    ip binding vpn-instance 1
    ip address 12.1. 1.2 255.255.255.0

bgp 200
    ##与CE起邻居
    ipv4-family vpn-instance 1
        peer 12.1.1.1 as-number 100

        PE2和PE4之间用全局的参数( peer 4.4.4.4 as-number 200,peer 4.4.4.4 connect-interface LoopBack0)建立vpnv4邻居,传递vpnv4路由,PE2和CE1之间用实例1的参数(peer 12.1.1.1 as-number 100)建立vpnv4邻居,传递BGP(IPv4)路由。(实例是一台独立的路由器,和本尊没关系)

##PE4
ip vpn-instance 5
    route-distinguisher 5:5
    vpn-target 5:1 export-extcommunity
    vpn-target 1:5 import-extcommunity

interface GigabitEthernet0/0/1
    ip binding vpn-instance 5
    ip address 45.1.1.4 255.255.255.0
bgp 200
    ipv4-family vpn-instance 5
        peer 45.1.1.5 as-number 300

##CE5
bgp 300
    router-id 5.5.5.5
    peer 45.1.1.4 as-number 200

CE1发布路由1.1.1.1/32

##CE1发布路由
bgp 100
    net 1.1.1.1 32

disp bgp routing-table

##CE1发布的ipv4路由到达PE2后进入实例路由表(因为CE2和PE1是实例邻居)
##PE2

disp ip routing-table vpn-instance 1

disp bgp vpnv4 all routing-table

       如下图 PE4收到vpnv4路由后,查询信息匹配RT值,根据RT值将路由放入到实例5中,同时丢弃RT值。

CE5发布路由5.5.5.5/32

##CE5发布路由
bgp 300
    net 5.5.5.5 32

2.1.2、MPLS-VPN(转发层面)

        首先,P3上没有1.1.1.1和5.5.5.5的路由,建立隧道之后在入站PE2上会有一条FEC是去往4.4.4.4的,到达PE4后出站。

        CE5把5.5.5.5的路由发给PE4,PE4上看到的5.5.5.5路由下一跳在CE5上,PE4把5.5.5.5路由给到PE2,PE2上看到的5.5.5.5路由下一跳在PE4上,PE4虽然可达但不是直连,因此需要递归到IGP路由(4.4.4.4路由下一跳为P3),因为P3上有路由黑洞5.5.5.5路由不可达,所以也需要把其递归到隧道中。

        在CE1上ping 5.5.5.5,查全局路由表转发至PE2,PE2的0口绑定了实例1,所以查实例路由表知道去往5.5.5.5的下一跳在PE4上,需要通过隧道转发,此时PE2发给P3的是标签包,P3发给PE4的为IP包(次末跳弹出),PE4收到后查全局表(没有去往5.5.5.5的路由),丢包。

        针对上述情况,设置私网标签(V标),如下:   

        PE2—P3—PE4

        通过IGP和LDP在PE2和PE4之间打通一条标签隧道(LSP:PE2上的FEC4.4.4.4出标签1024;P3上4.4.4.4入标签1024,出标签3;PE4上的FEC4.4.4.4入标签3),这些隧道标签叫T标(公网标签:穿越公网到达对端PE,解决路由黑洞)

        私网1—PE2—P3—PE4—私网5

        私网5的5.5.5.5路由要通过PE4传递给PE2,当路由到达PE4时在FEC中为路由5.5.5.5打上入标签1025(V标:PE设备区分查哪个路由表),然后将路由携带标签1025传递到上游设备PE2,PE2上5.5.5.5出标签为1025,当ping5.5.5.5的流量由私网1转发到PE2时,先给5.5.5.5路由压入V标:1025,通过递归路由后再在外层压入T标:1024,此时PE2发给P3的是标签包,中转设备P3查lsp(标签转发信息库),不会看FEC路由是去哪的,只看T入标签1024对应的出标签是3,出口是0/0/1,然后弹出外层标签3(T标,次末跳弹出)从0/0/1转发,所以P3发给PE4的还是标签包(V标还在),到达PE4后查询lsp,根据V标1025对应的实例,查询实例表转发至CE5。

注:V标签通过BGP协议放在vpn路有中传递(作为vpnv4路由的一个参数),T标签通过LDP协议传递。

2.2、Hub&Spoke组网        

        中心站点hub管理分支spoke站点,spoke之间互访需要通过hub通信。

     

        在靠近HUB的PE设备中设置两个实例(按照路由收发方向分为实例in和实例out),实例in的作用是接收spoke站点的路由(站点1\2.....的路由都发布至实例in,只有IRT),不发路由;实例in收到路由后发至HUB,HUB将路由发至实例out中,然后实例out发路由至站点1\2....,所以实例out中国只有ERT。

        此时在spoke1上ping 2.2.2.2,PE3收到数据包由实例1路由表转发至PE5的实例out中(因为站点的路由是由实例out发送过来的)。

标签:十一,5.5,MPLS,PE2,实例,PE,VPN,路由
From: https://blog.csdn.net/qq_33782021/article/details/138852221

相关文章

  • Docker搭建FRP+OPENVPN+Prometheus+Grafana 实现内网穿透以及流量监控
    Docker搭建FRP+OPENVPN+Prometheus+Grafana实现内网穿透以及流量监控文章目录Docker搭建FRP+OPENVPN+Prometheus+Grafana实现内网穿透以及流量监控一、搭建Docker基础环境二、配置FRP,实现端口映射2.1使用Docker部署FRPFrps服务端(拥有公网IP)Frpc客户端(内网IP)三、搭建......
  • MPLS VPN2
    [r2]interfaceGigabitEthernet0/0/0  进入链接CE端的接口[r2-GigabitEthernet0/0/0]ipbindingvpn-instancea   关联到vrf空间[r2-GigabitEthernet0/0/0]ipaddress192.168.2.224    配置私有ip地址注:在关联到vf空间前不能配置接口ip,否则该......
  • 基于ensp BGP VPN技术的研究与应用
    摘 要.............................................................................................................................2BGPVPN技术的研究与应用...............................................................................................3......
  • 第十一届蓝桥杯大赛软件类决赛 Java A 组
    文章目录发现宝藏【考生须知】发现宝藏前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。第十一届蓝桥杯大赛软件类决赛JavaA组【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码......
  • 第十一章:内部类
    一、理解1.内部类:定义在一个类内部的类2.内部类编译之后会生成独立的.class文件,命名规则为   外部类类名$内部类的类名.class3.内部类的分类:成员内部类、静态内部类、局部内部类、匿名内部类4.匿名内部类为例:(1)要求:继承一个父类......
  • 公司内部搭建OpenVPN服务(详细好用)
    OpenVPN构建应用OpenVPN是一个开源的应用程序,它允许您通过公共互联网创建一个安全的专用网络。OpenVPN实现一个虚拟专用网(VPN)来创建一个安全连接。OpenVPN使用OpenSSL库提供加密,它提供了几种身份验证机制,如基于证书的、预共享密钥和用户名/密码身份验证。在本教程中,我们将向......
  • JUC并发编程第十一章——Synchronized与锁升级机制
    1入门知识介绍synchronized锁,是不是默认实现了锁升级。代码中只需要直接使用synchronized,至于怎么从偏向锁升级为轻量锁再升级为重量级锁,这些底层jvm已经实现了。不需要程序员担心。是的,Java8中的synchronized关键字确实默认实现了锁升级的机制。当使用synchronized关键......
  • 二十一、Java工具类的创建
    什么是工具类?很好理解首先它是一个工具能完成某项功能。比如螺丝刀它是一个工具,能拧动螺丝。在Java中工具类就是能完成某项功能的类。比如定义一个数组工具类(ArrayTool),要求这个类无需创建对象就可以使用方法,且不可以创建对象,类包含的功能有,该类中没有主方法:1、数组的最......
  • MPLS工作过程
    控制层面:路由协议工作,生成RIB-FIB,流量的方向即为控制流量;数据层面:设备基于路由表访问目标,产生数据流量;与控制层面方向相反;控制层面:1)在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库);FIB是基于RIB生成;2)MPLS协议会启动TDP(cisco私有)或LDP(......
  • MPLS基础原理2
    多协议:可以基于多种不同的3层协议来生成2.5层的标签信息;包交换——包为网络层的PDU。故包交换是基于IP地址进行数据转发;就是路由器的路由行为;原始的包交换:数据包进入路由器后,路由器需要查询本地的路由表(RIB-路由信息数据库),再基于下一跳或者目标ip查询本地的ARP......