• HCIP第十三天笔记(BGP的路由过滤、BGP的社团属性、MPLS)


    一、BGP的路由过滤

    1、通过路由策略来进行过滤

    在这里插入图片描述

      1、抓取流量-----抓取172.16.1.0/24网段的流量
       [r1]ip ip-prefix aa permit 172.16.1.0 24
      2、配置路由策略    
     [r1]route-policy aa deny node 10
     [r1-route-policy]if-match ip-prefix aa
      3、空列表放通所有流量
     [r1]route-policy aa permit node 20
      4、在BGP进程中调用-----出方向上调用
    [r1-bgp]peer 12.0.0.2 route-policy aa  export
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2、通过前缀列表进行过滤

    1、配置前缀列表      
       [r1]ip ip-prefix bb deny 172.16.2.0 24
       [r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32
    2、在BGP进程中调用
        [r1-bgp]peer 12.0.0.2 ip-prefix bb export  
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3、通过filter-policy进行过滤

    1、配置acl列表-----在BGP中调用策略时,它只能调用ACL列表,所以,我们必须使用ACL列表抓取流量
         [r2]acl 2000
         [r2-acl-basic-2000]rule deny source 172.16.3.0 0  -----抓取3.0网段的流量,因为过滤策略本身没有拒绝动作,所以动作必须选择拒绝。0锁定了3.0网段
         [r2-acl-basic-2000]rule permit source any -----允许所有
         [r2-acl-basic-2000]
    2、在BGP进程中调用
         [r2-bgp]peer 12.0.0.1 filter-policy 2000 import   
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    二、BGP的社团属性

     ![在这里插入图片描述](https://img-blog.csdnimg.cn/930c580bdd9b4470aa988a9c8e5c74e0.png)
    
    • 1

        BGP的社团属性类似于路由的一个标记,本质上由32位二进制构成:

    1、直接使用十进制来标志;
    2、十六位二进制:十六位二进制
    3、一条BGP路由当中不一定只打一个社团属性,可以打多个

        BGP当中定义了4个公有社团属性

     1、0X00000000-----Internet-----默认情况下所有的BGP缺省属于社团当中,即抓取社团属性为0的路由将会抓取所有的BGP路由。
     2、0XFFFFFF02----no-advertise----如果将某条BGP路由打上这个社团属性,这这条路由将不会被通告给自己的任何BGP对等体。
     3、0XFFFFFF01----no-export-----如果将某条BGP路由打上这个社团属性,这这条路由将不会被通告给自己的任何EBGP对等体。(这个不通告不包括联邦的EBGP对等体)
     4、0XFFFFFF03----no-export-subconfed-----如果将某条BGP路由打上这个社团属性,这这条路由将不会被通告给自己的任何EBGP对等体。(这个不通告包括联邦的EBGP对等体)
    
    • 1
    • 2
    • 3
    • 4

    配置社团属性的策略:

    1、配置社团属性

    [r1]route-policy com permit node 10
    [r1-route-policy]apply community ?	
      INTEGER<0-4294967295>  Specify community number
      STRING<3-11>           Specify aa<0-65535>:nn<0-65535>
      internet               Internet(well-known community attributes)
      no-advertise           Do not advertise to any peer (well-known community     
                             attributes)
      no-export              Do not export to external peers(well-known community   
                             attributes)
      no-export-subconfed    Do not send outside a sub-confederation(well-known     
                             community attributes)
      none                   No community attribute
    
    [r1-route-policy]apply community no-advertise------选择不通告
    
    
    2、在BGP进程中调用
    [r1-bgp]peer 12.0.0.1 route-policy com  export 
    
    3、在进程中开启社团属性的传递性,华为默认关闭了其传递
    [r1-bgp]peer 12.0.0.2 advertise-community        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2、自定义社团属性:

    1、做路由策略
    [r1]route-policy com permit node 10
    [r1-route-policy]apply community ?	
      INTEGER<0-4294967295>  Specify community number
      STRING<3-11>           Specify aa<0-65535>:nn<0-65535>
      internet               Internet(well-known community attributes)
      no-advertise           Do not advertise to any peer (well-known community     
                             attributes)
      no-export              Do not export to external peers(well-known community   
                             attributes)
      no-export-subconfed    Do not send outside a sub-confederation(well-known     
                             community attributes)
      none                   No community attribute
    
     [r1-route-policy]apply community 1:11  ----针对生产网段打上1:11 
    
    
    [r1]route-policy com2 permit node 10
    [r1-route-policy]apply community 1:22  ----针对办公网段打上1:22 
    
    2、发布路由时调用路由策略
    生产流量
    [r1-bgp]network 172.16.1.0 24 route-policy com1
    [r1-bgp]network 172.16.2.0 24 route-policy com1
    
    办公流量
    [r1-bgp]network 172.16.3.0 24 route-policy com2
    [r1-bgp]network 172.16.4.0 24 route-policy com2
    
    
    3、根据社团属性抓取流量
             使用社团属性过滤器来抓取----- community-filter
    [r1]ip community-filter 1 permit  1:11----抓取1:11的流量
    [r1]ip community-filter 2 permit  1:22----抓取1:22的流量
    
    4、根据抓取到的流量配置策略
    [r1]route-policy aaa deny node 10
    [r1-route-policy]if-match community-filter 1
    [r1-route-policy]
    
    [r1]route-policy aaa permit node 10
    [r1-route-policy]if-match community-filter 2
    [r1-route-policy]apply community no-export additive------在原有社团属性的基础上增加社团属性
    
    [r1]route-policy aaa permit node 30-----放通所有
    
    5、在BGP进程中调用路由策略
     [r1-bgp]peer 12.0.0.2 route-policy  aaa  export
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    三、MPLS(标签交换和包交换共同发展的产物)—多协议标签交换技术

        包交换-----数据组成数据包,之后,在各个网络节点中不断传递,最终到达目标。(三层转发技术)

        包交换转发效率不高的问题所在:

    1、在整个包交换过程中,需要先查询路由表之后在查看ARP缓存表两张表来完成转发过程,导致效率较低;
    2、路由表的匹配原则------最长匹配原则导致路由查询效率不会太高
    3、路由表存在递归查找的过程
    4、IP头部是可变长头部,导致我们对IP头部进行读取时需要使用软件来进行处理,无法基于硬件进行快速的查找

        标签交换:
        标签交换在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后维护一张记录对应关系及转发接口的表,携带标签的数据来到设备上,先看标签,之后基于维护的标签表进行转发,而不再需要查看三层的内容,因为标签本身短小且定长,所以,其转发效率将高于包交换。

        但是标签交换需要先给数据包中打上标签,之后在到达目标之前还需要将标签弹出,因此,标签交换只是在转发过程中提高了效率,整体上相交包交换提升并不明显。

        包交换的变更历史

        1、进程交换---------process switching-----最早期的包交换------每一个数据包都需要先查看路由表,之后再看ARP缓存表来确定二层封装内容。
        2、快速包交换(fast switching)-----基于流的包交换----一次路由,多次交换------当一组数据流来到设备上,我们只针对第一个数据包执行路由的过程,将路由的结果和数据包特征(五元组)记录在缓存当中,之后,数据流中的其他来到设备将直接对比缓存中的五元组,相同,则直接按照转发方式进行转发而不在进行路由过程。
        3、思科的特快交换技术--------Cisco express forwading -----简称CEF技术,主要是将路由表和ARP缓存表中的内容进行预读取(就是将该递归的进行递归运算,该查ARP缓存表的提前查好),之后将结果记录在CEF表中,而CEF表是支持硬件转发的,所以,可以极大的提升路由的转发效率。

    虽然CFE是思科的私有技术,但是各大厂商也基于其思路设计了属于自己的特快交换技术。华为设备进行路由转发时基于FIB(转发信息表),这个表是支持硬件转发的。

        1、MPLS使用领域:

    1、用于解决BGP路由黑洞
    2、MPLS VPN
    3、MPLS TE----流量过程----控制流量转发的路径

    在这里插入图片描述

        所有标签交换的路由器组成的转发网络,可以看作是一个MPLS网络,我们也称之为MPLS域

        运行MPLS设备称为LSP----标签交换路由器

        基于标签交换前提首先要有标签,标签是每台LSR基于本地路由表中的路由条目来生成的,我们将所有具有相同特征(所有匹配到同一条路由条目的数据包)的数据包称为FEC-----等价转发类。同一个FEC需要配置同一个标签。

        每台LSR将自己的标签信息和FEC映射信息记录在本地的一张表中,这种表被称为-----LIB(标签信息表),之后,将和FIB进行结合,生成LFIB表-------标签转发信息表。

        在整个过程中,LSR设备除了分配标签以外还需要知道其他LSR设备针对同一个FEC分配的标签,所以,标签交换和包交换一样也分为两个层面---------控制层面,数据层面

        2、包交换

    控制层面----路由协议的数据流方向,目的是为了获取未知网段路由信息,生成路由表。
    数据层面----设备基于已经完善的路由表(FIB)来转发具体的数据信息,其方向正好和控制层流量相反。

        3、标签交换

    控制层面----基于FEC分配标签,并获取其他LSR对同一个EFC分配的标签,之后,记录生成LIB
    表,之后结合FIB生成LFIB表。-----这个过程可以基于静态协议,也可以基于动态协议。-----LDP协议-----标签分发协议
    数据层面-----设备基于LFIB表,根据标签进行转发

        4、MPLS的入站、中转、出站

        入站LSR-----(ingress)MPLS域的边界,当没有标签的数据包来到入站LSR上,他需要在数据包中压入标签。
        中转LSR----(transit)完成标签置换动作的LSR设备
        出站LSR—(egress)也是MPLS域的边界,完成标签的弹出动作。

    整个过程中,数据层流量流动的路径为 R1->R2->R3->R4,该路径称为标签交换路径。

    注意:LSP是单向的,若想让数据双向来回,则需要构建一条R4->R3->R2->R1的路径。

        5、标签:

    在这里插入图片描述

    Label:

    20位-----0 -2的20次方----我们将标签号的取值范围称为标签空间,每台LSR设备的标签空间都是独立的。
       其中:
        0-15 -----特殊标签值-----分配的时候不能直接分配,因为每个特殊标签都有其特殊含义
        16-1023-----一般应用于静态LSP搭建
        1024-2的20次方----应用于LDP等动态标签交换协议来分配使用
    
    • 1
    • 2
    • 3
    • 4
    • 5

    EXP

    占3位-----做策略使用的----一般是000,可以理解为优先级,优先级高可以优先转发。
    
    • 1

    S

    占1位---栈底位----标签不止可以打一个,也可以打多个,我们将多个标签的有序集合称为标签栈。
    若存在多个标签,则需要使用标记位标识,如果是最后一个标签---置1,如果不是就置0
    
    • 1
    • 2

    TTL

    生存时间----和三层的TTL值一样,主要目的为了防止数据包在环路中无限循环下去。
    
    • 1

    TTL工作过程:

    数据来到入站LSR时,将把三层的TTL值复制到标签中,在MPLS域中每经过一次转发,TTL减1,之后,在出站LSR上弹出标签,再将标签中的TTL值复制到三层包头中。

        6、MPLS配置方法(R1->R2->R3->R4):

    在这里插入图片描述
    构建静态LSP
    steps:

    1、保证路由条件-----静态只需要边界设备拥有来回路由信息即可
    2、配置LSR
               入站LSR
                    1、给LSR配置LSR-ID-----------32位二进制构成,都是按照IP地址格式来写,但是只能手工配置。------[r1]mpls lsr-id 1.1.1.1 -----LSR-ID建议使用环回接口的IP地址
                     2、激活MPLS
                              1、全局激活MPLS-----[r1]mpls 
                               2、接口激活MPLS,所有需要参与MPLS数据收发的接口都需要激活------[r1-GigabitEthernet0/0/0]mpls 
                  3、构建静态的LSP
    [r1]static-lsp ingress aa destination 4.4.4.0 24 nexthop 12.0.0.2 out-label 1000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意:

    1、下一跳----必须和路由表中的下一跳相同
    2、out-label----出站标签—下一跳设备接受后需要根据这个标签判断数据到达那个网段

    3、配置中转LSR

    [r2]mpls 
    [r2]int g 0/0/1
    [r2-GigabitEthernet0/0/1]mpls 
    [r2-GigabitEthernet0/0/1]int g 0/0/0	
    [r2-GigabitEthernet0/0/0]mpls 
    
    [r2]static-lsp transit aa incoming-interface GigabitEthernet 0/0/0 in-label 1000
    Nexthop 23.0.0.2 out-label 1001
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意:in-label----入站标签—入站标签必须和上一跳配置的出站标签相同

    [r3]mpls 
    [r3]int g 0/0/1
    [r3-GigabitEthernet0/0/1]mpls 
    [r3-GigabitEthernet0/0/1]int g 0/0/0	
    [r3-GigabitEthernet0/0/0]mpls 
    
    [r3]static-lsp transit aa incoming-interface GigabitEthernet 0/0/0 in-label 1001
    Nexthop 34.0.0.2 out-label 1002
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4、配置出站LSR

    [r4]mpls 
    [r4-GigabitEthernet0/0/1]int g 0/0/0	
    [r4-GigabitEthernet0/0/0]mpls 
    
    [r4]static-lsp egress aa incoming-interface GigabitEthernet 0/0/0  in-label 1002
    
    
    [r1]display mpls static-lsp ------查看静态LSP
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    国产5G手机20天销量不及苹果一天,被iPhone15按在地上摩擦
    贝锐蒲公英路由器X4C如何远程访问NAS?
    HBase (二) --------- HBase 安装
    【附源码】计算机毕业设计SSM社区便捷管理系统
    [附源码]java毕业设计在线视频网站
    前端一面经典react面试题(边面边更)
    使用 OpenTelemetry 构建 .NET 应用可观测性(3):.NET SDK 概览
    100天精通Python——第47天:selenium自动化操作浏览器
    如何更好的选择服务器硬盘?
    一、PHP环境搭建[phpstorm]
  • 原文地址:https://blog.csdn.net/qq_50589028/article/details/125999653