• 【HCIE】11.EVPN路由


    TYPE 1路由携带ESI标签用于实现水平分割

    TYPE 2路由携带单播标签指导单播流量转发

    TYPE 3路由携带BUM标签指导BUM流量转发,但TYPE3路由未携带ES相关信息

    TYPE 4路由携带ESI用于DF选举,但TYPE 4路由未携带任何标签信息

    1. 第一层由IGP把路由打通
    2. 第二层全网部署MPLS
    3. 设备之间配置EVPN的源,BGP EVPN地址族,构建控制面的创建
    4. 构建PE后面的实例,两两之间就会传递BUM流量标签,用于对BUM流量的标识,用3类路由进行传递
    5. 绑定ESI,产生4类路由,向所有人通告自己连接到了哪个ESI,与自己在一个ESI的设备进行记录,进行选举DF
    6. 传递1类路由,主要是针对ESI这张表进行补充,补充一个标签,还会告诉其他设备用作别名,此时VPN构建完成
    7. PE侧对源地址进行学习,将学习到的MAC地址变成一个路由发给所有邻居

    TYPE1 Ethernet A-D Route

    别名

    MAC地址批量撤销

    多活指示

    通告ESI标签

    环路避免

    快速收敛

    负载分担

    TYPE2 MAC/IP Advertisement Route

    MAC地址学习通告

    MAC/IP绑定

    MAC地址移动性

    基于每个MAC的策略

    ARP抑制

    主机迁移

    TYPE3 Inclusive Multicast Route

    组播隧道端点自动发现

    支持BUM流量转发

    TYPE4 Ethernet Segment Route

    ES成员自动发现

    DF选举

    多活,单活支持

    Ethernet A-D路由

    • 以太自动发现路由两种类型
      • Ethernet A-D per ES route:主要用于快速收敛,冗余模式和水平分割(有扩展标签)EthTagID全1

      • Ethernet A-D per EVI route:主要用于别名(没有扩展标签)EthTagID为0

    NLRI格式

    字段说明

    RD

    Ethernet Segment Identifier(ESI)

    PCE与某一CE的连接的唯一标识

    Ethernet Tag ID

    该字段为Ethernet Tag标识,RFC建议最后20bit可以为VLAN ID

    MPLS Label

    ES路由该字段为全0,EVI路由上该字段为VPN单播流量负载分担转发时使用的MPLS 标签

    扩展团体属性

    Ethernet A-D per ES route(有扩展标签)

    快速收敛

    • 当PE检测到连接的CE故障,PE撤销对应的MAC地址表,并发送Ethernet A-D per ES route,知会其他PE撤销对于的MAC地址表。
    • ESI Label扩展团体必须被 Ethernet A-D per ES route 携带

    PE1检测到链路故障,向PE3通过A-D ES路由发送我到CE1断了,此时PE3就会把所有从PE1进入的路由一下全部删除

    水平分割

    在CE多归接入到PE场景下,如果CE的链路为ALL-Active模式,CE发送一个PE的BUM报文可能被另一个PE环回,所以需要水平分割解决这个问题。

    水平分割由所有PE通告携带ESI Label扩展团体属性的Ethernet A-D per ES route实现。

    Ethernet A-D per EVI route(无扩展标签)

    别名

    • CE多归多活场景时,可能存在多归的PE中有PE没有学习到CE的MAC地址的情况,导致远端PE只能接收到一个PE的MAC/IP通告,从而无法时间PE节点之间路径的负载均衡。别名通过Ethernet A-D per EVI rotue解决这个问题。
    • 如下图,假设PE1学习到site1的地址而PE2没有学到,则PE1将通告MAC/IP路由包含具体的信息,PE2通过 Ethernet A-D per EVI route路由通告可达性。因此PE3认为Site1 PE和PE2均可达。

    如图,PE1通过MAC/IP route路由将自己连接了CE1告知CE2,如此CE2就会按照通告的路由将下一跳指向PE1设备,这样就无法实现负载均衡。现在PE2因为也连接了CE1,他会使用A-D EVI路由告知PE3,本设备也连接了CE1,此时PE3就会认知到PE1与PE2都连接了CE1,这样转发的时候,PE3就可以分析形成负载均衡

    MAC/IP路由

    主要用于MAC和IP地址通告

    注意,携带了ESI,用于与TYPE1联合完成别名功能

    MAC迁移扩展团体属性

    永远只关心序列号最大的设备

    Inclusive Multicast路由

    集成多播路由,用于处理BUM报文。

    当PE之间的BGP邻居关系建立成功之后,PE之间会传递集成多播路由,集成多播路由可以携带本端PE上EVPN实例的RD和RT值,以及sourece ip和PMSI信息。PMSI和RT值承载在路由的属性信息中,RD和Source IP承载在路由的NLRI信息中。

    NLRI格式

    字段说明

    RD

    该字段为EVPN实例下设置的RD值

    Ethernet Tag ID

    该字段为当前设备上的VLAN ID

    IP Address Length

    PE上配置的源地址长度

    Orginating Router's IP Address

    PE上配置的源地址

    PMSI属性

    PMSI用于携带多播报文传输所使用的的隧道类型和隧道标签信息

    当一台PE设备收到多播流量后,会将多播流量以点到多点的形式转发给其他PE设备。PE设备之间通过集成多播路由可以建立传送流量的隧道。

    Ethernet Segment Route

    以太网段路由:主要用于DF选举

    以太网段路由可以携带本端PE的ESI值,Source IP地址和RD值,用来实现连接到相同CE的PE设备之间互相自动发现

    ES-Import Route Target

    用于标识是单归场景还是多归场景(双归场景一般会绑定Eth-trunk形成负载)

    EVPN定义的被Type4路由所携带的扩展团体属性

    在EVPN多归场景下,BGP EVPN通过ES路由时候必须同时携带ES-Import RT,用于实现ES路由过滤

    ES路由过滤:ES-Import RT只允许连接相同站点的PE引入TYPE 4路由。RT被用于在所有连接相同站点PE上引入Ethernet Segment路由

    EVPN接入原理

    PE与CE的绑定

    Port Based模式

    把一个物理接口直接绑定到EVPN中

    VLAN Based模式

    建立二层子接口

    VLAN Bundle模式

    VLAN-Aware Bundle模式

    根据数据帧自动感知应该属于哪一个BD

    第5类路由,IP Prefix Route

    现网中不会单独实现EVPN技术,因为这个EVPN还是需要使用MPSL技术的支持,底层需要配置IGP和MPLS LDP,在一个大型网络中,有可能全网不会开MPLS,如果几千台设备都开启MPLS这是不合适的,大部分VPN会用到数据中心,数据中心是不开MPLS的,单独使用MPLS的场景并不多。

    EVPN可以传递MAC,IP,ARP,一个EVPN既可以搞二层也可以搞三层,因为EVPN是TLV架构的,还可以增加TYPE 5路由,直接用一个EVPN地址族增加5类,6类路由的,现在EVPN也可以用来传递IPSEC的IKE秘钥。EVPN不挑上层协议。可以传的内层标记也不仅仅是一个标签。

    现在是草案,IP前缀路由,用于在网络上中传播从接入侧网络收到的主机IP地址信息或主机IP所在网段信息

    1. evpn source-address 1.1.1.1
    2. bgp 123
    3. peer 3.3.3.3 as-number 123
    4. peer 3.3.3.3 connect-interface loopback 0
    5. l2vpn-family evpn
    6. peer 3.3.3.3 enable
    7. evpn vpn-instance vpn1
    8. route-distinguisher 1:1
    9. vpn 1:1 export-extcommunity
    10. vpn 1:1 import-extcommunity
    1. EVPN邻居已经建好
    2. ip vpn-instance vpn2
    3. ipv4-family
    4. route-distinguisher 2:2
    5. vpn-target 2:2 export-extcommunity evpn
    6. vpn-target 2:2 import-extcommunity evpn
    7. evpn mpls routing-enable //用evpn的方式去做传递,传递的是mpls标签路由(正常使用VPNV4传递)
    8. int l1
    9. ip binding vpn-instance vpn2
    10. ip address 10.1.1.1 255.255.255.255
    11. int l1
    12. ip binding vpn-instance vpn2
    13. ip address 10.2.2.2 255.255.255.255
    14. bgp 123
    15. ipv4-family vpn-instance vpn2
    16. import-route direct
    17. advertise l2vpn evpn //以二层VPN EVPN方式通告

  • 相关阅读:
    C++提高篇:深入理解纯虚函数和抽象类
    Chrome开发者工具课程
    Nginx平滑升级的详细操作方法
    PHP 中文匹配
    信息学奥赛一本通:1164:digit函数
    Javascript的form表单校验输入框
    【python】爬虫异步网络请求探索async+request与async+aiohttp
    Vue的入门学习
    127. 单词接龙
    2022下半年软件设计师上午真题题目+答案 (新鲜出炉、持续更新)
  • 原文地址:https://blog.csdn.net/weixin_45988710/article/details/133798260