BGP原理与配置

路径属性

作用类似metric,用于度量BGP的路由优劣(选路用的)

分类

  • 公认必须遵守属性:所有BGP的update消息都要包含该属性

    (所有BGP设备的update报文都要携带且能够识别的)

    AS路径(AS-path)

    下一跳(net-hop)

    起源(origin)

  • 公认自绝属性:可选可不选,但所有BGP进程都能识别

    (所有BGP设备的update报文可携带也可不携带,但都能识别)

    本地优先级(local preferent)

  • 可选传递属性:即使BGP进程不能识别该属性,也可以继续传递下去

    (BGP设备不能识别,但能继续转发的)

    团体属性(community)

  • 可选非传递属性:如果BGP进程不能识别该属性,可以忽略这条update,并且不传递下去

    (BGP设备不能识别,也不能转发,也就是丢弃)

    MED

BGP选路原则

  1. 如果此路由的下一跳不可达,忽略此路由
  2. Preferred-value值致值越高越优先,华为私有属性,仅本地有意义
  3. Local-Preference值最高的路由优先
  4. 聚合路由优先于非聚合路由
  5. 本地手动聚合路由的优先级高于本地自动聚合的路由
  6. 本地通过Network命令引入的路由的优先级高于本地通过import-route命令引入的路由
  7. As-path的长度最短的路径优先
  8. 比较origin属性,IGP优于EGP,EGP优于Incomplete
  9. 选择MED较小的路由
  10. EBGP路由优于IBGP路由
  11. BGP优先选择到BGP下一跳的IGP度量值最低的路径

当以上全部相同,则为等价路由,可以负载分担

  1. 比较Cluster_list长度,短者优先
  2. 比较Originatorr_ID(如果没有Originatorr_ID则用Router_ID比较),选择数值较小的路径
  3. 比较对等体的IP地址,选择IP地址数值最小的路径。

BGP属性选路配置(共12种)

1.根据local-prefernce控制选路(越大越优)

  • 为公认自决属性,用于告诉As中的路由器,哪条路径是离开As的首选路径
  • Local_Preference属性只能在IBGP对等体间传递(除非做了策略否则Local_Preference值在TEcP对等体间传递过程中不会丢失),而不能在EosP对等体间传递,如果在EBGP对等体间收到的路由的路径属性中携带了Local_Preference,则会触发Notifacation报文,造成会话中断;
  • 但是可以在As边界路由器上使用Import方向的策略来修改Local_Preference属性值。也就是在收到路由之后,在本地为路由赋予Local_Preference。
  1. 使用AS-PATH属性控制选路(越少越优)

    • 为公认必遵属性,是前往目标网络的路由经过的AS号列表

    • 作用:确保路由在EBGP对等体之间传递无环:另外也作为路由优选的衡量标准之一

    • 路由在被通告给EBGP对等体时,路由器会在该路由的AS_path中追加上本地的AS号:路由被通告给IBGP对等体时,AS-path不会发生改变

    • 使用route-policy修改BGP路由的AS-path

      apply as-path xxx additive 在已有AS-path基础上追加xxx

      apply as-path xxx overwrite 将已有AS-path值替换(覆盖)成xxx

      apply as-path xxx overwrite 清空路由的AS-path属性

      • 使用route-policy修改BGP路由的AS-path时,可以在EBGP对等体之间改变EBGP路由的AS-path属性,从而影响BGP路由的优选。在华为路由。无论何种场景,改变BGP路由的AS-path都必须十分谨慎,建议跟上一个经过的AS号保持一致。
  • Bestroute as-path-ignore命令用来配置BGP在选最优路由时忽略AS路径属性。而配置命令后,BGP将不比较As路径的长度。缺省情况下,长度更小者优。
  1. 通过MED属性控制选路(越小越优)
  • 为可选非传递属性、是一种度量值
  • 一般情况下,EGP设备只比较来自同一As(不同对等体)的路由的MED属性值。可以通过配置命令米允许BGP比较来自不同As的路由的ia属性值。执行coumpare-different-as-med命令后,系统将比较来自不同As中的对等体的路由的MED值。

实验

例图
R1

sys
[R1]int LoopBack 0               ##进入loop back 0接口
[R1-LoopBack0]ip add 1.1.1.1 32  # ##接口配置IP地址
[R1-LoopBack0]quit        ##保存并退出
[R1]int g0/0/0            ## #进入接口
[R1-GigabitEthernet0/0/0]ip add 10.0.12.1 24   ###接口配置IP地址
[R1-GigabitEthernet0/0/0]quit      ###保存并退出
[R1]int g0/0/1        # #进入接口
[R1-GigabitEthernet0/0/1]ip add 10.0.13.1 24    ##接口配置IP地址
[R1-GigabitEthernet0/0/1]quit        ##保存并退出
[R1]display ip int b       ##查看接口状态信息
[R1]bgp 100    ###创建bgp编号为100
[R1-bgp]router-id 1.1.1.1       ##指定router-id
[R1-bgp]peer 10.0.12.2 as-number 200    ##和邻居网络建立邻接关系
[R1-bgp]peer 10.0.13.2 as-number 200     ##和邻居网络建立邻接关系
[R1-bgp]network 1.1.1.1 32      ##宣告虚拟接口网络
[R1-bgp]quit     ###保存退出
[R1]bgp 100        #进入bgp100
[R1-bgp]peer 4.4.4.4 as-number 200     #4.4.4.4要可达,即有路由条目
[R1-bgp]peer 4.4.4.4 ebgp-max-hop 2    #R1到达4.4.4.4建立邻居关系需要经过2个路由

R2

sys
[R2]int loopback 0        ##进入loop back 0接口
[R2-LoopBack0]ip add 2.2.2.2 32      ##接口配置IP地址
[R2-LoopBack0]quit      #保存并退出
[R2]int g0/0/0              ##进入接口
[R2-GigabitEthernet0/0/0]ip add 10.0.12.2 24      ##接口配置IP地址
[R2-GigabitEthernet0/0/0]quit       ##保存退出
[R2]int g0/0/1           ##进入接口
[R2-GigabitEthernet0/0/1]ip add 10.0.24.1 24     ##接口配置IP地址
[R2-GigabitEthernet0/0/1]quit      ##保存退出
[R2]display ip int b       ##查看接口状态信息
[R2]ospf 1       ##进入OSPF1进程
[R2-ospf-1]area 0     ##进入area 0 (骨干区域)
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255   ###宣告直连网络
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0          ###宣告虚拟接口网络
[R2]bgp 200       ###创建bgp编号200 (AS200)
[R2-bgp]router-id 2.2.2.2    ###指定router-id
[R2-bgp]peer 10.0.24.2 as-number 200     ###和邻居网络建立邻接关系
[R2-bgp]peer 10.0.12.1 as-number 100    ###和邻居网络建立邻接关系
[R2-bgp]peer 10.0.24.2 next-hop-local  ####要将BGP路由发送给10.0.24.2这个邻居时,
将路由的下一跳设置成自己的地址,这个地址是与10.0.24.2建立邻居所使用的源地址
[R2-bgp]quit         ###保存退出
[R2]route-policy med permit node 10     ####创建名为med的路由策略
Info: New Sequence of this List.
[R2-route-policy]apply cost + 500     ####设置路由开销为500
[R2-route-policy]quit      ###保存退出
[R2]bgp 200     ####进入bgp200
[R2-bgp]peer 10.0.12.1 route-policy med export  ####应用策略
[R2-bgp]quit     ####保存退出

R3

sys
[R3]int LoopBack 0        ##进入loop back 0接口
[R3-LoopBack0]ip add 3.3.3.3 32     ##接口配置IP地址
[R3-LoopBack0]quit      ##保存退出
[R3]int g0/0/1        ##进入接口
[R3-GigabitEthernet0/0/1]ip add 10.0.34.2 24    ##接口配置IP地址
[R3-GigabitEthernet0/0/1]quit     ##保存退出
[R3]int g0/0/0        ##进入接口
[R3-GigabitEthernet0/0/0]ip add 10.0.13.2 24    ##接口配置IP地址
[R3-GigabitEthernet0/0/0]quit     ##保存退出
[R3]display ip int b       ##查看接口状态信息
[R3]ospf 1         ##进入OSPF1进程
[R3-ospf-1]area 0      ##进入area 0(骨干区域)
[R3-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255    ##宣告直连网络
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0         ##宣告虚拟接口网络
[R3]bgp 200     ##创建bgp编号200 (AS200)
[R3-bgp]router-id 3.3.3.3     ##指定router-id
[R3-bgp]peer 10.0.34.1 as-number 200    ##和邻居网络建立邻接关系
[R3-bgp]peer 10.0.13.1 as-number 100    ##和邻居网络建立邻接关系
[R3-bgp]peer 10.0.34.1 next-hop-local    ###要将BGP路由发送给10.0.34.1这个邻居时,
将路由的下一跳设置成自己的地址,这个地址是与10.0.34.1建立邻居所使用的源地址
[R3-bgp]quit      ###保存退出

R4

[R4]int LoopBack 0         ##3进入loop back 0接口
[R4-LoopBack0]ip add 4.4.4.4 32    ###接口配置IP地址
[R4-LoopBack0]quit    ###保存退出
[R4]int g0/0/0           ###进入接口
[R4-GigabitEthernet0/0/0]ip add 10.0.24.2 24     ###接口配置IP地址
[R4-GigabitEthernet0/0/0]quit        ###保存退出
[R4]int g0/0/1          ##3进入接口
[R4-GigabitEthernet0/0/1]ip add 10.0.34.1 24     ###接口配置IP地址
[R4-GigabitEthernet0/0/1]quit        ##3保存退出
[R4]display ip int b       ##3查看接口状态信息
[R4]ospf 1        #3#进入OSPF1进程
[R4-ospf-1]area 0      #33进入area 0 (骨干区域)
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255   ###宣告直连网络
[R4-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255   ###宣告直连网络
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0       ###宣告虚拟接口网络
[R4]bgp 200     ###创建bgp编号200 (AS200)
[R4-bgp]router-id 4.4.4.4   ###指定router-id
[R4-bgp]peer 10.0.24.1 as-number 200    #33和邻居网络建立邻接关系
[R4-bgp]peer 10.0.34.2 as-number 200    ###和邻居网络建立邻接关系
[R4-bgp]network 4.4.4.4 32    ####宣告虚拟接口网络
[R4-bgp]quit     ####保存退出
[R4]bgp 200        ###进入bgp200
[R4-bgp]peer 1.1.1.1 as-number 100    ###1.1.1.1要可达,即有路由条目
[R4-bgp]peer 1.1.1.1 ebgp-max-hop 2   ###R4到达1.1.1.1建立邻居关系需要经过2个路由

おすすめ

転載: blog.csdn.net/Yusheng9527/article/details/121032103
おすすめ