HCIE成长之路——BGP学习

一、BGP概述及基本概念

1.1 前言

1.动态路由协议可以按照工作范围分为IGP和EGP。IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换;而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种。
2.BGP是Border Gateway Protocol的简称。
3.BGP是一种增强的路径矢量路由协议,同时BGP是拥有丰富的策略控制技术的外部网关协议。
4.BGP多运行于AS于AS之间。

1.2 概述

1.2.1 外部网关协议

BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议不同,其着眼点不在于自动发现网络拓扑,而在于在AS之间选择最佳路由和控制路由的传播。

1.2.2 使用TCP作为其传输层协议

rip:路由信息通过UDP传递
ospf 路由信息通过IP层传递
可通过telnet 到 route-server.ip.att.net 这台外网的路由器查看bgp的路由条目数
BGP使用TCP作为其传输层协议(监听端口号为179),提高了协议的高可靠性,且不需要专门的机制来确保连接的可控性。
BGP进行域间的路由选择,对协议的稳定性要求非常高,因此用TCP协议的高可靠性来保证BGP协议的稳定性。
BGP的对等体之间必须在逻辑上连通,并进行TCP连接。目的端口为179,本地端口号任意。

1.2.3 增量更新

路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,使用于在Internet上传播大量的路由信息。

1.2.4 增强型的路径矢量路由协议

BGP通过携带AS路径信息来标记途径的AS

1.2.5 无环路

AS之间:BGP通过携带AS路径信息来标记途径的AS,带有本地AS号的路由将被丢弃,从而避免了域间发生环路。
AS内部:BGP在AS内学到的路由将不再通告给AS内的BGP邻居,避免了AS内产生环路。

  • 路由策略丰富
    BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择
  • 可防止路由振荡
    BGP提供了防止路由振荡的机制(路由衰减)。有效提高了Internet网络的稳定性
  • 易于扩展
    BGP易于扩展,能够适应网络新的发展,主要是通过TLV进行扩展
    未扩展前:只支持ipv4 单播路由
    扩展后:新增支持ipv4组播、 v4 、 v6路由

1.3 BGP基本概念

1.3.1 自治系统AS

1.由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合
2.每个自治系统都有唯一的自治系统编号,这个编号是由IANA分配的。
3.自治系统的编号范围是由1到65535(2字节-4字节),其中1到84511是注册的因特网编号,64512到65535是私有网络编号(BGP网络中AS号码标识)

HCIE成长之路——BGP学习_第1张图片

1.3.2 EBGP和IBGP

IBGP: BGP运行于同一AS内部
EBGP: BGP运行于不同AS之间
基本前提:因为要建立TCP连接,所以两端的路由器必须知道对方的IP地址,可以通过直连端口,静态路由或者IGP学习。(IBGP一般推荐使用路由器环回口loopback地址,EBGP用端口直连地址)

使用loopback地址时候要注意开启EBGP多跳功能,默认EBGP的TTL值为1
HCIE成长之路——BGP学习_第2张图片

二、BGP工作原理

2.1 报文类型

HCIE成长之路——BGP学习_第3张图片

2.1 BGP协议中消息应用

HCIE成长之路——BGP学习_第4张图片

2.3 状态机

HCIE成长之路——BGP学习_第5张图片

2.4 BGP路由通告原则

  1. 连接一建立,BGP Speaker 将把自己产生的所有BGP路由通告给对等体,多条路径时,BGP speaker只选最优的给自己使用

  2. BGP speaker 从EBGP获得的路由将会向它所有BGP对等体通告(包括EBGP和IBGP)
    HCIE成长之路——BGP学习_第6张图片

  3. 保证IBGP下一跳可达
    HCIE成长之路——BGP学习_第7张图片
    AR1把BGP路由信息通告给AR2,默认情况下AR2再把同样的路由信息通告给AR3的时候,路由的下一跳地址仍旧是AR1的接口地址,这时候需要修改配置,让AR2向AR3通告AR1传过来的路由信息时候,把下一跳地址改成AR2的接口地址(在AR2和AR3同属于一个AS内的情况下)
    peer x.x.x.x next-hop-local

  4. BGP speaker从IBGP获得的路由不会通告给它的IBGP邻居(水平分割)
    HCIE成长之路——BGP学习_第8张图片

2.5 BGP发布路由的方式

HCIE成长之路——BGP学习_第9张图片
HCIE成长之路——BGP学习_第10张图片

三、BGP属性

3.1 BGP属性特点

HCIE成长之路——BGP学习_第11张图片
HCIE成长之路——BGP学习_第12张图片

3.2 BGP属性特点-Origin

HCIE成长之路——BGP学习_第13张图片

3.3 BGP属性特点-AS_path

当该路由条目传出AS时候,才会在路由条目上打上AS号码
HCIE成长之路——BGP学习_第14张图片

3.4 BGP属性特点-Next_Hop

HCIE成长之路——BGP学习_第15张图片

3.5 BGP属性特点-Local_Pref

HCIE成长之路——BGP学习_第16张图片

3.6 BGP属性特点-MED

MED值越小优先级越高
HCIE成长之路——BGP学习_第17张图片

3.7 BGP属性特点-团体属性

如要传递community属性,需要手动配置如下指令
peer x.x.x.x advertise-community
否则会剥离团体属性后传递给对等体
HCIE成长之路——BGP学习_第18张图片
HCIE成长之路——BGP学习_第19张图片
HCIE成长之路——BGP学习_第20张图片

四、BGP选路规则

HCIE成长之路——BGP学习_第21张图片

4.1 BGP选路规则2-Preferred Value

可结合route-policy 进行手动的路径负载分担,值越大优先级越高,默认从BGP邻居通告过来的都是0,只是在路由器本地有效
HCIE成长之路——BGP学习_第22张图片

4.2 BGP选路规则3-Local-Preferrence

在本AS内有效,值越大越优,默认值为100
default local-preference xxxx 只会在传递过来的路由信息中local-preferrence为空的时候才会修改成设定的值,如果不为空,就不修改,直接传递给下一个BGP邻居。
使用策略路由配置的指令为:apppy local-preferrence 200
HCIE成长之路——BGP学习_第23张图片
HCIE成长之路——BGP学习_第24张图片

4.3 BGP选路规则4-优选本地生成(下一跳为0.0.0.0)

HCIE成长之路——BGP学习_第25张图片

4.4 BGP选路规则5-AS path

AS path长度越短越优先
策略路由配合指令:apply as path 200 additive ,实现手工为某条路由前缀增加一个AS 号
指令bestroute as-path-ignore可以让BGP协议忽略AS path这个选路规则
HCIE成长之路——BGP学习_第26张图片

4.5 BGP选路规则6-Origin

HCIE成长之路——BGP学习_第27张图片

4.6 BGP选路规则7-MED

值越小越优先
手动设med值:apply cost 100
BGP在使用import 引入ospf路由时候,ospf的cost值会转化为 BGP 的med值
HCIE成长之路——BGP学习_第28张图片

HCIE成长之路——BGP学习_第29张图片

HCIE成长之路——BGP学习_第30张图片

4.7 BGP选路规则8-EBGP路由优先于IBGP

HCIE成长之路——BGP学习_第31张图片

4.8 BGP选路规则9-BGP下一跳IGP metric(开销)较小的路由

HCIE成长之路——BGP学习_第32张图片

4.9 BGP选路规则10-当以上全部相同,则为等价

当以上全部相同时,可以在路由器上开启bgp等价路由模式
maximum load-balancing 2 ,最大为8条负载均衡路径。
HCIE成长之路——BGP学习_第33张图片

4.10 BGP选路规则11-12 —和RR相关

HCIE成长之路——BGP学习_第34张图片

4.11 BGP选路规则13-对等体IP地址小的

HCIE成长之路——BGP学习_第35张图片

五、BGP扩展特性

5.1 安全特性

  • MD5: 认证
  • GTSM:TTL
  • 限制从对等体接收的路由数量
  • AS_path长度保护

5.1.1 MD5认证

HCIE成长之路——BGP学习_第36张图片

5.1.2 GTSM

在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210218101225154.pngHCIE成长之路——BGP学习_第37张图片
HCIE成长之路——BGP学习_第38张图片

5.1.3 限制路由数量

5.1.4 AS_path长度保护

5.1.4 路由衰减


HCIE成长之路——BGP学习_第39张图片

六 、BGP配置命令

6.1 配置BGP的基本功能

HCIE成长之路——BGP学习_第40张图片

6.2 配置BGP Local_Pref属性


6.3 配置BGP MED属性


6.4 配置BGP 团体属性


6.5 配置BGP AS_PATH属性


6.6 配置BGP 负载分担


6.7 优化BGP网络

HCIE成长之路——BGP学习_第41张图片

6.8 配置BGP对等体组

HCIE成长之路——BGP学习_第42张图片
HCIE成长之路——BGP学习_第43张图片

6.9 配置BGP路由反射器

通过配置 undo reflect between-clients 使客户机之间的路由不再需要通过RR来传递,但是非客户机的路由信息RR仍会传递给各个客户机
HCIE成长之路——BGP学习_第44张图片
HCIE成长之路——BGP学习_第45张图片

6.10 配置BGP过滤器

配置过滤的三种方法:
ACL:peer x.x.x.x filter-policy xxx
ip-prefix: peer x.x.x.x ip-prefix xxx
route-policy : peer x.x.x.x route-policy

HCIE成长之路——BGP学习_第46张图片
HCIE成长之路——BGP学习_第47张图片

6.11 配置BGP自动聚合和缺省路由

HCIE成长之路——BGP学习_第48张图片
HCIE成长之路——BGP学习_第49张图片

6.12 配置BGP手动聚合

HCIE成长之路——BGP学习_第50张图片

HCIE成长之路——BGP学习_第51张图片

6.12 优化BGP网络

HCIE成长之路——BGP学习_第52张图片
HCIE成长之路——BGP学习_第53张图片

七、BGP故障诊断

HCIE成长之路——BGP学习_第54张图片
HCIE成长之路——BGP学习_第55张图片
HCIE成长之路——BGP学习_第56张图片
HCIE成长之路——BGP学习_第57张图片

八、BGP RR与联盟

8.1 IBGP扩展性的问题

HCIE成长之路——BGP学习_第58张图片
HCIE成长之路——BGP学习_第59张图片

8.2 IBGP扩展问题解决方案

HCIE成长之路——BGP学习_第60张图片

8.3 路由反射器

HCIE成长之路——BGP学习_第61张图片

8.3.1 对等体之间的关系

HCIE成长之路——BGP学习_第62张图片

8.3.2 路由反射器——反射规则

HCIE成长之路——BGP学习_第63张图片

从那里收 发布给
EBGP对等体 RR的客户机与非客户机
非客户机 RR的所有客户机
客户机 RR的所有客户机和非客户机(自身的客户机除外)

8.3.3 路由反射器–防环机制

HCIE成长之路——BGP学习_第64张图片

8.3.3.1 路由反射防环机制–originator_ID

HCIE成长之路——BGP学习_第65张图片

8.3.3.2 路由反射簇 (Cluster)

在这里插入图片描述

8.3.3.2.1 什么是簇

HCIE成长之路——BGP学习_第66张图片

HCIE成长之路——BGP学习_第67张图片
默认情况下,如果不特别指定,RR会自动选取路由器本身的router id作为cluster_ID
可手动在BGP进程里通过reflector cluster-id x.x.x.x修改
HCIE成长之路——BGP学习_第68张图片

九、BGP路由聚合

HCIE成长之路——BGP学习_第69张图片
聚合原则:越精细越好

9.1 自动聚合

默认情况下没有开启,可手动开启,需要在路由引入的始发路由器开启才有用 summary automatic
开启后明细路由会被抑制,一般不推荐
HCIE成长之路——BGP学习_第70张图片

9.2 手动汇总

HCIE成长之路——BGP学习_第71张图片
1、手动聚合指令:aggregate x.x.x.x x(netmask)
2、开启明细路由抑制:aggregate x.x.x.x x(netmask) detail-suppressed ,不过此方法会造成明细路由所携带的community属性聚合后丢失的问题,且看不到路由传递的as_path
3、完整的开启明细路由抑制指令:aggregate x.x.x.x x(netmask) detail-suppressed as-set
聚合路由里的as_path会把所有明细路由的as_path包含进去
4、给聚合后的路由重新添加community属性,aggregate x.x.x.x x(netmask) detail-suppressed as-set attribute-policy abc
abc为自己定义的路由策略
5、origin-policy:只有包含策略里指定的路由明细条目才会生成聚合路由并抑制该明细路由
6、suppress-policy :指定抑制相应的明细路由

HCIE成长之路——BGP学习_第72张图片

十、BGP增强特性

10.1 BGP ORF

HCIE成长之路——BGP学习_第73张图片

10.1.1 BGP ORF 配置

HCIE成长之路——BGP学习_第74张图片
peer x.x.x.x capability-advertise orf ip-prefix : 发送和接受route-fresh信息的bgp 对等体都要配置该命令,开启orf使能
peer x.x.x.x ip-prefix xxxx import :只在发送route-fresh的路由器上配置

10.2 Active-Route-advertise

HCIE成长之路——BGP学习_第75张图片
bgp-rib-only : BGP路由不会下发至本地路由器,但会通告给邻居路由器

HCIE成长之路——BGP学习_第76张图片

10.3 BGP按组打包

HCIE成长之路——BGP学习_第77张图片
HCIE成长之路——BGP学习_第78张图片

10.4 四字节AS号概念

HCIE成长之路——BGP学习_第79张图片
HCIE成长之路——BGP学习_第80张图片

十一、BGP优化(Internet设计理念)

HCIE成长之路——BGP学习_第81张图片

11.1 Internet设计理念–优化BGP能力

HCIE成长之路——BGP学习_第82张图片

11.2 Internet设计理念–提高BGP可用性

HCIE成长之路——BGP学习_第83张图片

11.3 Internet设计理念–控制AS内部路由

HCIE成长之路——BGP学习_第84张图片

11.4 Internet设计理念–控制大型AS

HCIE成长之路——BGP学习_第85张图片

11.5 Internet设计理念–设计稳定的Internet

在这里插入图片描述

十二、案例分析

HCIE成长之路——BGP学习_第86张图片
HCIE成长之路——BGP学习_第87张图片
HCIE成长之路——BGP学习_第88张图片
HCIE成长之路——BGP学习_第89张图片
HCIE成长之路——BGP学习_第90张图片
HCIE成长之路——BGP学习_第91张图片
HCIE成长之路——BGP学习_第92张图片
HCIE成长之路——BGP学习_第93张图片

HCIE成长之路——BGP学习_第94张图片
HCIE成长之路——BGP学习_第95张图片
HCIE成长之路——BGP学习_第96张图片
HCIE成长之路——BGP学习_第97张图片
HCIE成长之路——BGP学习_第98张图片

你可能感兴趣的:(网络,网络,bgp)