当前位置: 首页 > news >正文

wordpress网页移动端/常州seo第一人

wordpress网页移动端,常州seo第一人,做外包网站,长宁区网站建设开第八节 BGP基础 一、BGP产生背景 BGPBorder Gateway Protocol,边界网关协议)是一种用于自治系统间的动态路出协议,是一种外部网关协议。 自治系统AS:一组同一个管理机构进行管理,对外呈现统一选路策略的路由器的集合。 自治系统编号: …

第八节 BGP基础

一、BGP产生背景

        BGPBorder Gateway Protocol,边界网关协议)是一种用于自治系统间的动态路出协议,是一种外部网关协议。

        自治系统AS:一组同一个管理机构进行管理,对外呈现统一选路策略的路由器的集合。

        自治系统编号:
                2字节AS编号:取值范围0-65535,其中0和65535保留

                                        公有AS:1-64511

                                        私有AS:64512-65535

                4字节AS编号:2的32次方的编号数量

二、路由协议的分类

                IGP:RIP(100)、OSPF(150)、IS-IS(15)

                EGP:BGP---(255)(优先级)

三、BGP协议特性

1、BGP 只负责把路由从一个AS传到另一个AS;从其他AS传递过来的路由在本AS内部的扩散依靠IGP:

2、BGP是路径矢量协议,一跳是一个自治系统;

        当一条路由传入某个AS,该路由的下一跳会变为上个AS的出接口的IP地址;当一条路由在某个AS内部的路由器之间传递时,下一跳不变。

3、AS防环机制:路径矢量路由协议,从设计上避免了环路的发生(AS PATH防环机制)

        当一条路由每从一个AS传出,会把该AS的编号按照从右至左的顺序依次记录在AS_PATH属性中;

        一个路由器从其他AS收到一条路由通告,会检查本路由器的AS标号是否出现在该路由条目的AS PATH属性中,如果出现了则该条目不学习;

4、BGP基于TCP协议传输,端口号179:必须手动配置邻居

5、BGP第一次发送完整的路由表,后续只发送增量更新;

6、BGP有多种属性可以控制路由选择。(难点)
7、支持CIDR和路由聚合;
8、路由过滤和路由策略

四、BGP基本术语

1、

        BGP Speaker:运行BGP协议的路由器称为BGP发言者

        BGP Peer:相互之间存在TCP连接、相互交换路由信息的BGP发言者之间互称为BGP对等体

2、BGP对等体:BGP邻居可以直连,也可以非直连

(1)EBGP对等体:跨AS之间的邻居,一般情况下EBGP对等体是物理上直连的。

BGP发言者从EBGP对等体获得的路由会向它所有BGP对等体通告(包括EBGP和IBGP)

(2)IBGP对等体:同一个AS内部的邻居

(3)BGP邻居非直连的情况

思考:哪些路由器需要跑BGP?(R2\R3\R5\R6)

思考:(R2\R3\R5\R6)邻居关系怎么建立?

思考:R3-R4之间,R6-R7之间,路由怎么传?

五、BGP规划问题

(规划不当容易产生路由黑洞)

路由迭代

R2:peer 5.5.5.5 next-hop-local

R5:peer2.2.2.2 next-hop-local

目标IP:6.6.6.6/32 源IP:1.1.1.1/32+数据

路由黑洞产生原因:由于IBGP邻居之间没有运行BGP协议的路由器,无法获得BGP的路由;从而导致的数据包进入路由器被丢弃。

路由黑洞解决方法:

(1)BGP引入IGP

(2)在黑洞路由器上配置目的网段的静态路由

(3)IBGP全连接   -----IBGP防环机制:IBGP水平分割:从IBGP邻居学习到的路由不会传递给其他IBGP邻居

为啥有这种防环机制,看下图

IBGP全连接(full-fresh)

注:要是邻居太多,手工配置邻居,会导致工作量比较大

(4)BGP路由反射器(无视IBGP的防环机制,可以减少邻居关系的数量)

以R2作为反射器:

(5)BGP联盟(完美的避开了IBGP全连接的坑------IBGP水平分割限制)

六、BGP环路问题(水平分割)

1、EBGP水平分割(AS_PATH)

        通过AS_PATH属性防环,在学习到的路由中,若有本地AS号,则拒绝学习,防止环路

2、IBGP水平分割

        当路由器从一个IBGP对等体学习到某条BGP路由时,它将不能再把这条路由通告给任何IBGP对等体。

        造成问题:一些路由器无法学到去往其他AS的路由

        解决方法:路由反射器和联盟

七、BGP消息种类

(1)BGP头部信息:

  1. 标记(Marker):该字段被保留下来用于解决协议兼容性问题,没有其他含义
  2. 长度(length):指示BGP报文的长度(字节数)
  3. 类型(Type):该字段指示了BGP报文的类型,就是前面提到的BGP5种数据包类

(2)数据包种类

  1. open:用于建立BGP对等体之间的连接关系,正常收发一次即可;携带route-id;

        Hold time:保持时间,该字段表示路由器在收到Keepalive消息或者Update消息之前等待的最长时间,默认180s,如果邻居双方的保持时间不一致,将以较短的时间作为双方可接收的保持时间。

        可选参数长度:指示了BGP报文中可选参数的长度

        可选参数:Open包中包含多个可选参数,主要用于宣告及协商BGP对等体的某些能力特征。

  1. Keepalive:周期性的向BGP对等体发出Keepalive(周期保活)消息,用于保持连接的有效性,在默认情况下每60秒发送一条Keepalive消息,或者以已协商一致的保持时间的1/3为周期发送Keepalive消息。默认60s,超时180s。

  1. Update:携带的是路由更新(删减、增加)信息
  2. notfication:当BGP检测到错误状态时,就向对等体发出notfication消息,之后BGP连接会立即被关闭(邻居关系结束了)
  3. router-refresh:用于在改变路由策略后,要求对等体重新发送指定地址族的完整路由表信息;只有支持路由刷新能力的路由器才会响应router-refresh报文。

地址族:典例:BGP版本不同,进入的地址族不同

BGP-----普通BGP,跑IPV4

BGP4+----适用于跑IPV6

MP-BGP---用于MPLS VPN的一个扩展版的BGP

组播版本的BGP

注:不管啥版本,都在同一个BGP进程中做配置,只是建立的邻居关系的方式不同而已。     

八、BGGP状态机

        BGP(边界网关协议)是互联网中的核心路由协议,它用来在不同的自治系统(AS)之间交换路由信息。BGP 的状态机是其操作的关键部分,用于管理 BGP 会话的状态以及协议的不同阶段。BGP 的状态机包括以下几个主要状态:

1. Idle(空闲):
        在这个状态下,BGP 实例不与任何邻居建立连接。如果需要建立连接,BGP 实例会转到 `Connect` 状态。(空闲状态,停留30秒,初始化开始准备TCP连接并监视远程对等体,启动BGP时,同时建立邻居关系,此状态持续30秒)

2. Connect(连接):
        在 `Connect` 状态,BGP 实例等待与对等体建立 TCP 连接。如果连接成功,BGP 实例会进入 `Active` 状态。如果连接超时或失败,BGP 实例会返回到 `Idle` 状态。(TCP连接中状态,本端为TCP被动连接方,若连接建立失败则进入Active状态,反复尝试连接;)

3. Active(激活)(活跃状态):
          在 `Active` 状态,BGP 实例尝试重新建立与对等体的 TCP 连接。如果成功,BGP 实例会转到 `OpenSent` 状态;如果失败,BGP 实例会回到 `Idle` 状态。(活跃状态,本端为TCP主动连接方,TCP连接没建立成功,反复尝试连接;)

4. OpenSent(开放发送)(开始发送状态):
         在 `OpenSent` 状态,BGP 实例已发送 OPEN 消息并等待对等体的 OPEN 消息。如果收到有效的 OPEN 消息,BGP 实例会转到 `OpenConfirm` 状态;如果 OPEN 消息无效或超时,BGP 实例会返回到 `Idle` 状态。(开始发送状态,成功建立TCP连接,发出open报文,open报文中携带参数协商对等体的建立,正在等待接受对方open报文;)

5. OpenConfirm(开放确认)(开始确认状态):
          在 `OpenConfirm` 状态,BGP 实例已经接收到对等体的 OPEN 消息,并发送了 KEEPALIVE 消息。如果在规定时间内收到对等体的 KEEPALIVE 消息,BGP 实例会进入 `Established` 状态;如果没有收到 KEEPALIVE 消息,BGP 实例会返回到 `Idle` 状态。(开始确认状态,收到open报文,发出Keepalive报文,等待第一个)

6. Established(建立)(已连接状态):
         在 `Established` 状态,BGP 实例已经成功建立了会话,并且可以开始交换路由信息。在这个状态下,BGP 实例交换 UPDATE、KEEPALIVE 和 NOTIFICATION 消息。如果会话中出现问题,BGP 实例可能会回到 `Idle` 状态,重新开始会话建立过程。(已连接状态,收到Keepalive报文,最终成功建立邻居;)

        这些状态和状态转换确保了 BGP 会话的建立、维护和恢复,使得路由信息在自治系统之间能够稳定地传递。        

九、BGP邻居建立条件

IBGP:对方接口要有IP地址,

                TCP可达(需要具有到达对方IP地址的路由),

                建议使用环回口地址来指定IBGP邻居

                更新源地址必须和指定的邻居地址一致

                需要修改更新源为环回

            [R1-bgp]peer 2.2.2.2 connect-interface LoopBack 0

            IBGP邻居关系不需要直连;

建议:使用环回接口地址来指定IBGP邻居;

EBGP:对方接口要有IP地址,TCP可达,且需要直连;

             可通过修改EBGP最大跳数来使EBGP非直连;

             更新源地址必须和指定的邻居地址一致;

建议:使用直连接口地址(物理地址)来指定EBGP邻居;

注意: 默认IBGP邻居间数据包的TTL值为255,EBGP邻居间TTL为1;故一旦使用环回建立ebgp邻居关系,必须修改TTL值,否则无法建立TCP三次连接

                [r4-bgp]peer  5.5.5.5 ebgp-max-hop 2    //修改TTL值(最大跳数值)

没修改跳数前:

修改跳数后:

十、BGP基本配置

1、启动BGP并创建BGP连接

        [huawei]bgp 'as-number'     启动BGP

        [huawei-bgp]router-id 'router-id'   配置router-id;(可选配置)

        [huawei-bgp]peer 'ip-address' as-number 'as-unmber'  指定BGP对等体及AS号;

        [huawei-bgp] address-family ipv4  unicast   创建BGP地址族,并进入相应地址族视图。----华三

        [huawei-bgp-ipv4] peer ip-address enable   使能本地路由器与指定对等体交换路由信息的能力

2、优化BGP连接:

        [huawei-bgp]peer 'ip-address' connect-interface ‘interface’    指定建立TCP连接使用的源接口;

        [huawei-bgp]peer 'ip-address ebgp-max-hop 'hop-count'       指定EBGP对等体最大跳数;默认跳数是1,配置允许同非直接相连网络上的邻居建立EBGP连接

3、配置BGP生成路由

将本地路由发布到BGP路由表中:

      [Router-bgp] network ip-address [ mask | mask-length ] [route-policy route-policy-name ]

引入其它路由协议的路由:

        [Router-bgp] import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ]  ]

4、查看命令:

        [router]display bgp peer

        [router]display bgp routing-table

*-- 代表可用,可用路由会参与路由信息的优选

>--  代表优选

十一、BGP基础实验

实验结果查看博客“BGP基础实验”

第九节  BGP选路及属性

一、BGP路由选路原则(13条)

1、首先丢弃下一跳(NEXT HOP)不可达的路由,

2、优选Preferred-value值最大的路由;默认为0;
        Preferred-value:定义:首选项
        属性值:默认为0,取值范围是 0~65535,取值越大,优先级越高
        注意:H3C和华为的私有属性
3、优选本地优先级(LOCAL PREF)最高的路由;
4、依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;

5、优选AS路径(AS_PATH)最短的路由;
6、依次选择ORIGIN属性为IGP、EGP、Incomplete的路由;
7、优选MED值最低的路由;
8、依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;
9、优选下一跳度量值的路由,
        度量值:一般指通过IGP协议到达下一跳地址的度量值
10、优选CLUSTER LIST长度最短的路由;
11、优选ORIGINATOR_ID最小的路由;
12、优选RouterID最小的路由器发布的路由。
13、优选IP地址最小的对等体发布的路由

二、BGP负载分担时的选路

1、背景:BGP协议本身一定能选出唯- 一条到达目的网段的最优路由,通过手动配置路由策略可以允许BGP实现负载分担的功能.
2、BGP的负载分担与IGP的负载分担有所不同:
        IGP是通过协议白身定义的路由算法,对到达同一目的地址的不同路由,将度量值(metric)相等的路由进行负载分担

        BGP本身并没有路由计算的算法,但BGP有丰富的选路规则,可以在对路由进行一定的选择后,有条件地进行负载分担

三、BGP路由的发布策略

        只将最优路由发布给对等体。如果配置了active-route-advertise命令,则BGP发布IP路由表中的最优路由;否则,发布BGP路由表中的最优路由;

举例:
一个路由既通过BGP学到10.1.1.0/24:   
10.1.1.0/24 1.1.1.1优        BGP路由表优先
10.1.1.0/24 2.2.2.2

又通过OSPF也学到了10.1.1.0/24:

10.1.1.0/24 3.3.3.3        IP路由表优先

最终在我的IP路由表中,应选择哪一条?

比较优先级:OSPF 优先级:10和150 ,BGP优先级255。在整个IP路由表中,选择通过OSPF学到的路由

                BGP学到的网段路由优先级为255

                OSPF学到的网段路由优先级为150

                因此学到的为OSPF发布的

        

        只把自己使用的路由发布给对等体(自己选的最优路由);
        从EBGP获得的路由会向它所有BGP对等体发布;
        从IBGP获得的路由不向它的IBGP对等体发布:;(IBGP水平分割)
        从IBGP获得的路由发布给它的EBGP对等体;
        BGP连接一旦建立,BGP发言者将把满足上述条件的所有BGP路由发布给新对等体,之后,BGP发言者只在路由变化时,向对等体发布更新的路由。

四、BGP属性

        (属性越多,控制BGP路由选路的方法越多)…--实验演示

        属性:描述一个对象的特征的一些信息

1、公认属性:所有路由器都必须识别的属性

    公认必遵属性:BGP发布的路由必须携带,所有路由器必须识别的属性;AS_path、next-hop、origin
(1)AS_path
        定义:AS路径属性,记录路由传递过程中经过的AS编号

        作用:AS防环;
                路由优选:AS path短  (AS编号的数量)的优先;

注:AS_path属性增加AS编号是在路由从一个AS传出的时候;增加AS_path长度来控制选路时,建议增加真实经过的AS编号,防止AS防环机制导致路由无法学习;

实验演示:bgp选路属性(AS_path

(1)R1到达192.168.1.0的路径:R1-R3-R4

做法1:在R2上修改路由的AS_path(在R2到R1的出方向修改)

  1. 配置ACL,抓取192.168.1.0网段的路由

      acl  2000

      rule 5 permit source 192.168.1.0 0.0.0.255

  1. 配置路由策略,修改AS_path,增长其路径

      route-policy 1.0 permit node 10

      if-match  acl 2000

      apply as-path 300 400 additive

  1. 保持良好习惯,放空节点,允许其他网段通过

      route-policy 1.0 permit node 20

  1. 在出方向应用路由策略

       peer 100.1.1.1 route-policy 1.0 export

测试:修改AS_path成功

做法2:在R1上修改路由的AS_path(在R2到R1的进方向修改)

  1. 配置ACL,抓取192.168.1.0网段的路由

        [R1]acl 2000

        [R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

  1. 配置路由策略,修改AS_path,增长其路径

       [R1]route-policy 1.0 permit node 10

       [R1-route-policy]if-match acl 2000

       [R1-route-policy]apply as-path 500 600 additive

  1. 保持良好习惯,放空节点,允许其他网段通过

       [R1]route-policy 1.0 permit node 20

  1. 在进方向应用路由策略

       peer 100.1.1.2 route-policy 1.0 import

        additive:在原来的AS编号基础上,加入新增加的AS编号

        overwrite:覆盖原来的AS编号

        思考:假设一条路由的AS_path=(1,2,3),另外一条路由AS_path=(10000,20000),请问谁的路由更优?

        答案:不管AS编号多大多小,AS_PATH编号数量少的路径,永远优先。

(2)next-hop:下一跳

注意:如果一个路由器同时拥有EBGP和IBGP邻居:
        1)路由发布给EBGP邻居,下一跳变更为指定的EBGP邻居地址

        2)路由发布给IBGP邻居,下一跳不变,仍然保持为指定的上个AS的EBGP邻居地址;

        3)对IBGP邻居发布的路由通告命令更改下一跳为本机。

(3)origin:路由来源属性(描述一条BGP路由的来源)

属性值:

        1)IGP:来源于network宣告,聚合的路由,显示为1;

        2)EGP:来源于引入的EGP协议路由,显示为e(一般见不到了)

        3)incomplete :未完成,来源于引入IGP协议或静态路由,显示为?

        4)优选顺序:IGP>EGP>incomplete

在R1增加一个环回口:192.168.2.1,宣告进BGP,查看R4路由表,发现去往192.168.1.0网段的下一跳是R2。

现在我们可以通过更改OGN属性,让去往192.168.2.0网段的下一跳是R3。

方法1:在R4对42上改入方向

  1. 抓取流量

      [R4]acl 2000

      [R4-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

  1. 配置路由策略,修改origin 为incomplete

      [R4]route-policy 2.0 permit node 10

      [R4-route-policy]if-match acl 2000

      [R4-route-policy]apply origin incomplete

  1. 保持良好习惯,放空节点,允许其他网段通过

      [R4]route-policy 2.0 permit node 20

  1. 在进方向应用路由策略

      [R4-bgp]peer 2.2.2.2 route-policy 2.0 import

测试:查看R4路由表,发现去往192.168.1.0网段的下一跳已经是R3

公认可选:所有路由都识别,但不是必须携带的属性;local-perference、Atomic-aggregate

(1)local-perference:

        定义:本地优先级,同一个AS内也可以看到这个属性值,表明了BGP路由器的优先级

        注意:默认值100,值大的优先;

在R4上通过更改local-perference,让R4重新选择走R2的2.2.2.2

方法2:把到3.3.3.3的路由local-perference值改小于100

在R3上配:在R3的出方向或者R4的入方向都可以

出方向:

  1. 抓取流量

      [R3]acl 2000

      [R3-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

  1. 配置路由策略,修改local-perference为80

      [R3]route-policy lp permit node 10

      [R3-route-policy]if-match acl 2000

      [R3-route-policy]apply local-preference 80

  1. 保持良好习惯,放空节点,允许其他网段通过

      [R3]route-policy lp permit node 20

  1. 在出方向应用路由策略

     [R3-bgp-af-ipv4]peer 4.4.4.4 route-policy lp export

测试:查看R4路由表,发现去往192.168.2.0网段的下一跳已经是R2

(2)Atomic-aggregate:自动聚合

注:BGP可以自动聚合,也可以手动聚合

2、可选属性

1)可选传递属性

定义:路由器可以不识别该属性,但是会继续向下传递该属性

属性:aggregator:手动聚合

           community:团体属性

(2)可选非传递属性

定义:路由器可以不识别该属性,但是也不会继续向下传递该属性

属性:

  1. clustor_list:集群列表
  2. originator_id:起源ID
  3. MED:多出口鉴别器:当一个AS有多个入口点时,用于判断流量进入AS时的最优路径。

         属性值:network的路由,默认值为0;

                引入的路由,默认值为原IGP协议的cost;

                值小的优先;

实验演示:

​​​​​​​

演示1:在R4上通过路由策略对2.0网段路由改MED值,这样R4能将192.168.2.0的MED传给R5。

  1. 抓取流量

      [R4]acl 2000

      [R4-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

  1. 配置路由策略,修改MED为133

      [R4]route-policy med permit node 10

      [R4-route-policy]if-match acl 2000

      [R4-route-policy]apply cost 133

  1. 保持良好习惯,放空节点,允许其他网段通过

      [R4]route-policy med permit node 20

  1. 在出方向应用路由策略

      [R4]bgp 200

      [R4-bgp-af-ipv4]peer 100.5.5.5 route-policy med export

测试:查看R5路由表,发现R4能将192.168.2.0的MED传给R5

3、preferred-value

        Preferred-value值最大的路由;默认为0;

        Preferred-value:定义:首选项。

        属性值:默认为0,取值范围是 0~65535,取值越大,优先级越高。

注意:H3C和华为的私有属性,

通过修改preferred-value,使R1去往192.168.1.0/24走R2

在R1的进方向,对R2修改

        [R1]acl 2000

        [R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

        [R1]route-policy pv permit node 10

        [R1-route-policy]if-match acl 2000

        [R1-route-policy]apply preferred-value 30

        [R1]route-policy pv permit node 20

        [R1]bgp 100

        [R1-bgp]peer 100.1.1.2 route-policy pv import

五、属性控制的选择建议

1.如果希望影响下游所有路由器的路由选择,建议使用AS-PATH

2.如果只希望影响本AS内部的路由器选择,建议使用Local-preference

3.如果希望只影响下游某一个AS的路由器选择,建议使用MED

4.如果希望只影响某一台路由器的路由选择,建议使用preferred-value

六、属性控制方法

路由策略

七、BGP路由控制实验

第十节 BGP对等体组等 

        BGP对等体组、聚合、路由反射器、联盟、团体属性

一、大规模BGP网络所遇到的问题

        BGP 对等体众多,配置繁琐,维护管理难度大

        BGP 路由表庞大,对设备性能提出挑战

        IBGP 全连接,应用和管理 BGP难度增加,邻居数量过多

        路由变化频繁,导致路由更新频繁

二、解决大规模BGP网络所遇到的问题

1、BGP 对等体众多

        对等体组(Peer Group)

        BGP 团体(Community)
2、BGP 路由表庞大
        BGP 路由聚合
3、IBGP 全连接(邻居数量太多)

        BGP路由反射(Route Reflection)
        BGP联盟(Confederation)
4、路由变化频繁
        BGP 路由衰减(Route Dampening)

三、对等体组

        定义:BGP 对等体组(Peer Group)是一些具有某些相同属性的对等体的集合。通过对等体组可以简化配置

        特点:根据对等体所在的AS,对等体组可分为IBGP对等体组和EBGP对等体组。

建邻要求:

        EBGP :R1-R2

        IBGP:R2 分别于 R3/R4/R5

注意:配置EBGP对等体组--------一般不常用,因为只有同一个AS中的EBGP邻居才能加入一个对等体组,如果EBGP邻居分布在多个AS,则需要给每个AS的EBGP邻居,配置一个对等体组。比较麻烦

配置IBGP对等体组

        [R2-bgp]group in internal

        [R2-bgp]peer 3.3.3.3 group in

        [R2-bgp]peer 4.4.4.4 group in

        [R2-bgp]peer 5.5.5.5 group in

        [R2-bgp]peer in connect-interface l0

        [R2-bgp]peer in next-hop-local

        [R3-bgp]peer 2.2.2.2 as 200

        [R3-bgp]peer 2.2.2.2 connect-interface l0

R4和R5上做和R3相同的配置

配置EBGP对等体组

四、BGP路由聚合

作用:减小路由表规模

1、自动聚合:

        只能对引入的iGP 的路由进行聚合,

        只能将明细路由汇总到主类,这会造成路由黑洞,

        华为设备默认关闭自动聚合功能;

        只能在始发路由器上进行配置;

[r1-bgp]summary automatic 开启自动聚合

自动聚合后,会出现状态码Ssuppressed,代表被抑制的路由信息将不会再加表和传递了

实验演示1:只针对重发布的路由条目生效,不对自身宣告的路由生效

R3上加几个环回口172.16.0.1 24和172.16.1.1 24,并做BGP宣告

[R3-bgp]summary automatic  开启自动聚合

实验演示2:引入直连

[R3-bgp]import-route direct

[R3-bgp]summary automatic

2、手工聚合:

        可实现精确汇总:[R1-bgp]aggregate 172.16.0.0 16

        可以在任何路由器上对 BGP 路由进行聚合;

        出现问题:明细路由依然被通告,有形成环路的隐患

解决方法:[R1-bgp]aggregate 172.16.0.0 16 detail-suppressed  //抑制明细路由

        此命令不通过明细路由;

实验演示1:

        [R3-bgp]network 172.16.1.1 24

        [R3-bgp]network 172.16.0.1 24

        [R3-bgp]aggregate 172.16.0.0 23

测试:查看路由表,聚合成功,但明细路由也存在,并没有达到缩小路由表规模的情况

抑制明细路由。达到了缩小路由表的规模

常见汇总命令:

[R1-bgp]aggregate 172.16.0.0 16 detail-suppressed as-set  汇总的路由可继承明细路由的路径属性,其中AS_PATH属性最关键。

[R1-bgp]aggregate 172.16.0.0 16 suppress-policy 路由策略名字通告汇总路由,并有选择性的抑制明细路由

五、路由反射器

1、定义:

        BGP反射器能把从IBGP邻居学习的路由反射给其他IBGP邻居

2、作用:

        用于替代IBGP全连接,减少IBGP邻居数量;解决BGP路由黑洞问题;

3、角色:

RR(router  reflect):路由反射器

        反射器角色:

        client:RR 客户机

        非客户机

注:将一台BGP路由器指定为RR的同时,还需要指定其Client。至于Client本身,无需做任何配置,它并不知晓网络中存在RR

4、反射规则

        从非反射客户端接受的路由,仅反射给客户端;

        从客户端接受到的路由,反射给所有客户端和非客户端,路由始发者除外;

        从EBGP接收的路由,反射给所有的客户端和非客户端;

注:一个反射群里的所有反射客户端只需与反射器建立IBGP邻居关系

5、反射集群:

                        由反射器和客户端组成的网络范围;

                        如果存在多个反射器,配置相同的cluster_id

思考:当RR故障后,会发生啥?怎么解决?

思考:RR之间需要建立邻居关系?------当然需要

6、路由反射存在问题:

                                使得IBGP水平分割原则失效,会导致环路的产生

7、解决方法:

通过两个路径属性来避免环路

        (1cluster_list(集群列表):

        类似 AS PATH,每个 RR 都有一个 clusterid,默认为路由器的routerid,可手工修改;

        同一个 AS 内的 clusterid 必须相同,才能有防环作里。

        路由传递过程中,把经过的反射器的clusterid依次记录在 glustsrlisk中;

        clustsrlisk用于反射器防环,当反射器收到 BGP 路由时,如果本机的 clustsrid出现在clusterlist中,则丢弃该路由;

        Cluster-list用于路由优选,短的优先

特殊情况:不受Cluster-list防环机制的约束,依然形成环路

        (2originator_ID:起源ID

        由路由反射器反射一条路由时产生,会在反射出去的路由中增加 griginator.w,它就是此路由始发者的 router-id;

        即使这条反射路由经过多个 RR,当 BGP路由器收到一条携带 Qrgioatgr!Q~属性的IBGP 路由,并且 &rginatgr!p,属性值与自身的 Router ID 相同,则它会忽略关于该条路由的更新。

        originator_ID用于路由优选,短的优先

8、总结BGP的防环机制

(1)AS_PATH:解决AS之间的环路问题

(2)IBGP的水平分割:解决一个AS内部IBGP邻居之间环路问题

(3)路由反射器:当一个反射群中存在多个反射器时,通过Cluster-list防环,

(4)originator_ID在多个反射群之间,通过originator_ID防环

9、注意事项

反射路由无法使用策略去更改路由属性

        [R2]acl 2000

        [R2-acl-basic-2000]rule permit source 172.16.0.0 0.0.1.255

        [R2]route-policy aa permit node 10

        [R2-route-policy]if-match acl 2000

        [R2-route-policy]apply local-preference 90

        [R2]route-policy aa permit node 20

        [R2]bgp 200

        [R2-bgp]peer 5.5.5.5 route-policy aa export

10、实验配置

[R2-bgp]peer 3.3.3.3 reflect-client      //在反射器上配置其反射客户机

[R2-bgp]reflector cluster-id 2.2.2.2    //配置反射器的集群id

11、实验作业

BGP路由反射器实验

第十一节 VLAN技术

一、VLAN技术产生背景

路由器具有隔离广播域的功能,而交换机没有,为了解决广播域的问题,引入VLAN,通过逻辑上的划分,减小广播域范围

二、VLAN作用及特点

VLAN作用:将规模较大的广播域在逻辑上划分成若干个不同的、规模小的广播域

VLAN特点:同一VLAN内的主机可以通信,不同VLAN内的主机不能通过 二层交换机通信,只能借助三层设备通信

三、VLAN实现过程

(1)同一交换机VLAN内的通信

工作过程:

  1. pc发送数据帧进入交换机,会被打上VLAN tag;VLAN tag中的VLAN id就是收到数据帧的接口的所属VLAN;一旦数据帧被打上VLAN tag,就变成了802.1Q格式的帧;
  2. 交换机检查数据帧的目的MAC地址,进行判断;

      若目的Mac地址对应的接口允许tag中的VLAN id通过,则数据帧可以转发;否则,丢弃该帧

  1. 数据帧从接口发往pc前,会剥离VLAN tag,使之还原为标准的以太网帧格式

(2)跨交换机的同一vlan的通信

工作过程:

  1. 数据帧从主机出来后会进入到交换机,交换机收到后会给此数据帧打上一个vlan tag(tag中的vlan ID就是交换机收到数据帧接口的vlan ID),此时数据帧变成了一个802.1q格式的帧。
  2. 在发送端802.1Q格式的数据帧离开交换机时,检查该接口的vlan允许列表,若允许,则带标签发送,反之则丢弃。
  3. 接收端的交换机收到后,交换机检查目标MAC地址的主机接口所属的vlan ID,如果此vlan ID与802.1q帧格式中的vlan ID一致,则转发该数据帧,否则丢弃。

注意:数据从交换机发往主机前,需要剥离掉vlan TAG,使之还原为原始的以太网数据帧。

四、VLAN划分方式

   五种方式:

(1)基于接口划分:

VLAN的范围:0-4095,其中0和4095为系统保留,1-4094用户可用

PVID:缺省VLAN,默认VLAN 1

优点:划分方式简单,容易实现

缺点:主机移动,需要重新配置VLAN

(2)基于IP地址划分:

建立IP地址与VLANID的映射关系

优点:易于主机移动

(3)基于MAC地址划分:

建立MAC地址与VLANID的映射关系

缺点:配置易出错,主机不易移动

(4)基于协议划分:

建立协议簇类型和VLAN id的映射关系

(5)基于策略的划分:

多种方式的组合,需要管理员预先设置策略

注意:VLAN划分方式排序优先级:MAC>IP>协议>端口

五、交换机接口类型

1、access:

(1)定义:一般连接PC、服务器等终端设备,一个接口只能加入一个VLAN。
(2)特点:
        接收帧:
                收到untagged(不带标签)的数据帧,打上该接口PVID的标签,并接收;

                收到tagged(带标签)数据帧,与该接口PVID比较,相同则接受,不同则丢弃;
        发送帧:
                剥离标签发送

2.trunk :

(1)定义:一般用于交换机间互连、路由器、防火墙等设备的子接口;
可以允许多个VLAN的数据帧通过;

(2)特点:
        接收帧:

                untagged数据帧,打上该接口的PVID的标签,同时看下该接口的PVID和802.1Q2格式帧中的VLAN TAG是否在接口允许列表中,如果在就并接收,否则丢弃

                tagged数据帧,查看VID是否在该接口允许列表中,如果在则接收,反之则丢弃:
        发送帧:

                VID在允许列表中,且VID与PVID一致,则剥离标签发送;
                VID在允许列表中,但VID与PVID不一致,则直接带标签发送:

               不在允许列表中,则直接丢弃;

[SW1-GigabitEthernet0/0/1]port trunk pvid vlan 10        修改TRUNK接囗PVID

[SW1-GigabitEthernet0/0/1]undo port trunk allow-pass vlan 1

3、hybird:

(1)定义:

        既可连接pc或者路由器,能来连接交换机,可以允许多个VLAN的数据通过;

        可以手动配置hybrid端口发出的数据帧,哪个VLAN保留标签,哪个VLAN撕掉标签;

        hybrid收到未打tag的帧,会重新打上缺省VLAN的tag;

(2)特点:

        接收帧:
                untagged数据帧,打上PVID的标签,并接收;
                tagged数据帧,查看VID是否在允许列表中,如果在则接收,反之则丢弃,
        发送帧:
                Tag中的VLANID与pvid一致,则剥离tag并发送;Tag中的VLANID与pvid不一致:
                Tag中的VLAN ID出现在tagged表中,则保留tag发送;Tag中的VLANID出现在untagged表中,则剥离tag发送,反之,丢弃;:

(3)hybird应用(每个PC都能和服务器通信,但PC之间不互通)

[SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 10 100   配置untag的vlan列表

六、VLAN间通信

VLAN间通信背景

        同一VLAN内通信,可以通过二层交换机实现
        VLAN间的通信,只能依靠三层设备(路由器、三层交换机)

(1)使用路由器物理接口

        特点:在路由器上配接口IP,作为主机网关。但这需要路由器与每个VLAN建立一条物理连接,路由器接口很少,浪费路由器接口。

(2)使用路由器子接口(单臂路由)

        特点:一旦出故障,网络就瘫痪了。

配置命令

[r1]int g0/0/0.1         创建子接口

[r1-GigabitEthernet0/0/0.1]dot1g termination vid 2         封装802.1q格式

[r1-GigabitEthernet0/0/0.1]arp broadcast enable         开启arp广播播

(3)使用三层交换机的VLANIF接口

VLANIF转发流程(1)

        目标MAC:MAC2:源MAC:MAC1+vlan 10+ 目标IP:192.168.20.2 源IP:192.168.10.2/24+传输层+应用层+数据

        目标MAC:MAC3:源MAC:MAC2+vlan 20 +目标IP:192.168.20.2 源IP:192.168.10.2/24+传输层+应用层+数据

交换模块:

路由模块:

[sw1]int vlanif 2   进入VLAN 2的VLANif接口

[sw1-Vlanif2]ip add 192.168.1.254 24

七、二层接口与三层接口对比

1、二层接口不能配置IP,三层可以配置IP

2、二层接口只有转发功能,三层接口有转发和路由的功能

3、二层接口不能隔离广播域,但三层接口可以

相关文章:

HCIP重修总笔记(中)

第八节 BGP基础 一、BGP产生背景 BGPBorder Gateway Protocol,边界网关协议)是一种用于自治系统间的动态路出协议,是一种外部网关协议。 自治系统AS:一组同一个管理机构进行管理,对外呈现统一选路策略的路由器的集合。 自治系统编号: …...

图片搜索网站,有大量高清图片,避免版权纠纷

一、简介 1、一个图片搜索网站,所有图片均遵循CC0协议,用户可以免费用于商业用途而无需标注来源。网站上有大量高清图片,基本可以满足用户的各种需求,同时避免了法律风险。提供强大的筛选功能,用户可以按图片方向、尺寸…...

设计学习笔记8:在设计模式中,状态模式和策略模式有什么区别,它们各自适用于什么场景?

基本介绍 状态模式(State Pattern)和策略模式(Strategy Pattern)都是行为型设计模式,它们用于处理不同的情景和需求,以下是它们的主要区别和适用场景: 状态模式(State Pattern&…...

Android 10.0 系统默认蓝牙打开状态栏显示蓝牙图标功能实现

1.前言 在10.0的系统rom定制化开发过程中,在默认系统中,打开蓝牙开关的时候不会状态栏不会显示蓝牙图标,而只有 蓝牙连接成功后会显示蓝牙图标,客户开发需要要求在蓝牙打开的时候在状态栏就显示蓝牙图标,接下来分析下 相关的状态栏图标显示流程,然后实现相关功能 2.系统…...

在git中如何忽略.vscode目录?

在Git中,如果你想忽略某个特定的文件或目录(比如.vscode目录),你可以通过以下步骤来实现: 创建或编辑.gitignore文件 在项目的根目录下,如果还没有.gitignore文件,你需要创建一个。如果已经有了…...

分布式系统

分布式系统是一种由多个相互连接的计算机组成的系统,这些计算机通过网络互相通信并协调行动来完成共同的任务。在分布式系统中,没有单一的物理实体可以控制整个系统;相反,各个节点(即计算机)独立运行&#…...

【Material-UI】Autocomplete 组件中的事件处理(Events)详解

文章目录 一、事件处理概述二、自定义按键行为代码详解 三、其他常见事件1. onChange 事件2. onInputChange 事件3. onFocus 和 onBlur 事件 四、实用场景1. 自定义提交行为2. 实现快捷键功能3. 动态提示 五、总结 在 Web 开发中,事件处理是实现用户交互的重要一环。…...

【51单片机仿真】基于51单片机设计的钟表定时闹钟系统仿真源码设计文档演示视频——完整资料下载

演示视频 设计内容 (1)使用 DS1302 结合字符型 LCD12864 显示器设计一个简易的定时闹钟 LCD 时钟。程序执行后 LCD 显示“00:00:00” (2)K1—设置现在的时间,年闪烁,再按 K1 键月闪…...

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-7-元素基础定位方式-下篇 (详细教程)

软件测试微信群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 上一篇主要是讲解我们日常工作中在使用Playwright进行元素定位的一些比较常用的基础定位方式的理论基础知识以及在什么情况下推荐使用。今天这一篇讲解和分享一下剩下部分的基…...

[Day 44] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

生成对抗网络(Generative Adversarial Networks,GANs)是一种由Ian Goodfellow等人在2014年提出的深度学习模型,广泛用于图像生成、图像超分辨率、图像修复等领域。GAN由一个生成器(Generator)和一个判别器&…...

【Redis】 Redis 列表指令指南

这是我父亲 日记里的文字 这是他的生命 留下留下来的散文诗 几十年后 我看着泪流不止 可我的父亲已经 老得像一个影子 🎵 许飞《父亲写的散文诗》 Redis 是一个开源的内存数据库,支持多种数据结构,其中列表(…...

设计测试用例的具体方法

一.等价类 等价类分为: 1.有效等价类 [6~15] 2.无效等价类 :小于6位,大于15位(不在数据范围内) 组合规则: 有效等价类组合的时候,尽可能一条测试用例尽可能多的覆盖有效等价类 无效等价类组合的时候,一条测试点,之恶能覆盖一个无效等价类 二.边界值 1.上点,离点,内点 上…...

GPT-4o mini(假设模型)概览

开篇背景: 近年来,随着计算能力的提升和大数据的积累,大型语言模型(LLMs)如GPT系列取得了显著进展。这些模型不仅能够理解复杂的自然语言文本,还能生成流畅、连贯的回复,甚至展现出一定程度的创…...

抽象代数精解【9】

文章目录 置换密码密码体制加解密过程置换置换运算定义置换运算的例子集合与置换置换规则两行表示法轮换表示法置换运算的结果置换的性质注意事项 分组加解密 理论基础1. 准备工作2. 置换过程3. 置换密码的具体实现方式4. 安全性分析5. 置换密码的应用代换密码代换密码的工作原…...

熟悉简单测试面经

SQL语句中增、删、查、改的关键字 MySQL中SQL语句删除语句有哪些?区别是啥。 “”和equals的区别 “String s "1"”与“String s new String("1")”中的s一样吗? StringBuilder与StringBuffer的区别 洗牌问题 HTTP、HTTPS、U…...

IoTDB 入门教程 实战篇④——C#示例(开源)

文章目录 一、前文二、新建C#项目三、NuGet安装四、示例源码五、查询数据六、参考 一、前文 IoTDB入门教程——导读 本文详细阐述了如何通过一个C#项目成功连接到IoTDB时序数据库,进而展示了如何向该数据库高效地写入数据以及执行精确的数据查询操作。 此示例旨在为…...

STL-vector容器

目录 一、常见接口 1.1 构造函数 1.2 访问与遍历 1.3 容量操作 1.4 增删查改 二、模拟实现 2.1 迭代器失效 2.2 源代码 一、常见接口 vector数据结构实际上是顺序表 详细解释与使用请参见官方网站:vector - C Reference (cplusplus.com) 1.1 构造函数 函…...

python字符串与变量名互相转换,字典,list操作

locals是python的内置函数,他可以以字典的方式去访问局部和全局变量 vars()本函数是实现返回对象object的属性和属性值的字典对象 eval()将字符串str当成有效的表达式来求值并返回计算结果 #!/usr/bin/python3 #-*- coding uft-8 -*- guo 666 str1 "guo&qu…...

企业及园区电力能源管理系统方案

概述 面对中小型的用能集团、园区能耗监测分析等场景需求,拓扑未来公司推出标准化的企业及园区电力能源管理系统方案,力求高效高质地为目标客户提供高效部署、轻松运维的本地化能源管理解决方案。 本方案以软硬件一体的方式,集成了标准电力监…...

5.3 需求分析

需求分析 软件需求定义分类练习题 需求工程需求获取练习题 需求分析状态转化图数据流图DFD顶层数据流图0层数据流图1层数据流图 练习题 需求规约需求定义方法 需求验证需求管理版本控制需求跟踪变更控制练习题 考试大概3分 软件需求 定义 软件需求:是指用户对目标…...

【C++】list介绍以及模拟实现(超级详细)

欢迎来到我的Blog,点击关注哦💕 list的介绍和模拟实现 前言list介绍标准库容器 std::list 与 std::vector 的优缺点缺点 list的基本操作构造函数list iteratorlist capcacitylist modify list模拟实现存贮结构(双向带头循环)itera…...

从艺术创作到作物生长,农业AI迎来“GPT“时刻

(于景鑫 国家农业信息化工程技术研究中心)"GPT"一词早已不再神秘,其在文本、图像生成领域掀起的风暴正以摧枯拉朽之势席卷全球。人们惊叹于ChatGPT对话之智能、思维之敏捷,更对Stable Diffusion、Midjourney创作的艺术画作赞叹不已。而大语言模…...

前端使用 Konva 实现可视化设计器(19)- 连接线 - 直线、折线

本章响应小伙伴的反馈,除了算法自动画连接线(仍需优化完善),实现了可以手动绘制直线、折线连接线功能。 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 Issue 哟~ github源码 gitee…...

C#:通用方法总结—第15集

大家好&#xff0c;今天继续分享我们的通用方法系列。 下面是今天的通用方法&#xff1a; &#xff08;1&#xff09;这个通用方法为用文件流写数据 /// <summary> /// 用文件流写数据 /// </summary> /// <param name"data"></param> //…...

LoadRunner12 添加事务并添加检查点

1、先要添加事务开始函数lr_start_transaction("登陆事务");&#xff0c;在接口上方右击点击-插入-开始事务。输入事务名称&#xff1b; 2、在某个接口想法 右击点击-插入-结束事务&#xff0c;输入事务名称&#xff0c;与开始事务名称要保持一致&#xff0c;lr_end_…...

python中的文件

绝对路径和相对路径 一般情况下绝对路径就是从根目录开始描述的路径 相对路径就是相对于当前目录 . 没错,就是一个点,表示的是当前文件夹;.. 两个点表示的是上一层文件夹 os模块与os.path os 和 os.path 是两个非常重要的标准库模块,它们分别用于操作系统相关的功能操…...

Powerdesigner连接mysql数据库,逆向工程生成ER图 (保姆级教程:下载->连接->配置)看这一篇就够了

一、下载powerdesigner 下载的教程请看如下链接&#xff0c;我太懒了&#xff0c;直接借鉴&#xff01; 把别大佬的博客搬过来了嘿嘿~我真聪明&#xff01;ㄟ( ▔, ▔ )ㄏ 操作到完成汉化就好&#xff01;&#xff01;第5步不看了&#xff0c;别按那个走&#xff0c;因为新手…...

商家转账到零钱分销返佣申请方案及驳回处理办法

分销返佣场景是商家申请最多的场景&#xff0c;因而申请被驳回也是最多的&#xff0c;根据我们上万次成功开通商家转账到零钱的经验&#xff0c;当商家转账到零钱的分销返佣场景被驳回时&#xff0c;按照以下步骤&#xff0c;商家都可以快速过审&#xff1a; 一、分析驳回原因 …...

荟萃科技:国外问卷调查有没有实时更新的题库?

有的&#xff0c;口子查和渠道查都是。 口子查的题目都是国外的公司发放在网络上&#xff0c;都是实时发布&#xff0c;所以我们需要去国外的各大社交平台做题。 这些题目不是集中的&#xff0c;而是散布在网站里面&#xff0c;需要我们去找&#xff0c;都是老外上班实时发放…...

【课程总结】Day18:Seq2Seq的深入了解

前言 在上一章【课程总结】Day17&#xff08;下&#xff09;&#xff1a;初始Seq2Seq模型中&#xff0c;我们初步了解了Seq2Seq模型的基本情况及代码运行效果&#xff0c;本章内容将深入了解Seq2Seq模型的代码&#xff0c;梳理代码的框架图、各部分组成部分以及运行流程。 框…...