BGP路由协议
AS自治系统
AS内部使用IGP来计算和发现路由,例如OSPF,RIP,ISIS等等
AS之间使用BGP来传递和控制路由
BGP基础知识
工作在大网之中
AS有16位空间,可以拓展到32位空间
BGP工作在AS之间,承载大量路由,同时提供丰富的选路策略(在AS之间传递路由信息)
BGP:我们不产生路由,我们只是路由的搬运工
BGP可以跨越多跳路由建立邻居关系
BGP特性
BGP是外部路由协议,用来在AS之间传递路由信息
BGP是一种增强型的距离矢量协议—不用交互LSDB和SPF计算
可靠的路由更新机制 --TCP单播建立 TCP179(一台设备上只能有一个BGP进程)动态路由协议
丰富的度量路由属性----选路的维度多(开销)
防环机制----IBGP防环 EBGP防环 RR环境下的防环 联盟防环 MPLS VPN的防环机制
BGP建立邻居关系

直连建立EBGP邻居关系
采用环回口建立BGP邻居关系
[AR2]dis bgp peerBGP local router ID : 10.1.12.2Local AS number : 200Total number of peers : 1 Peers in established state : 1Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv(收到的路由条目数量)10.1.12.1 4 100 3 3 0 00:01:53 Established 0
BGP的五种报文
open —协商参数
Keepalive—保持TCP连接的有效性
update—交互路由信息
notification—断开TCP连接
router fresh—策略改变发送邻居请求邻居刷新
BGP状态机

产生IDLE状态的原因:底层不通/禁用端口/EBGP没有修改最大跳数/地址族没有激活/管理性的挂起
BGP产生路由的方式
network宣告(这个设备上存在这样一条路由以其他形式,以BGP形式产生路由)一定不要把建立邻居的地址宣告进BGP,否则路由不是最优 ,导致路由无法被学习到
引入 ----起源属性 import
聚合产生的(汇总路由) ----IGP
BGP通告原则
BGP向邻居通告最优的路由(*>)
从EBGP邻居获得的路由无条件的通告给所有的EBGP邻居和IBGP邻居 (除了发给我路由的这个EBGP邻居之外)
IBGP的水平分割,从IBGP邻居收到的路由不再通告给其他的IBGP邻居
BGP与IGP同步
BGP的Update报文
Update消息主要用来公布可用路由和撤销路由,Update中包含以下信息:
网络层可达信息(NLRI):用来公布IP前缀和前缀长度。
路径属性:为BGP提供环路检测,控制路由优选。
撤销路由:用来描述无法到达且从业务中撤销的路由前缀和前缀长度。
BGP聚合
路由汇总:
三种方式:
手动聚合>自动聚合
自动聚合------华为设备上只有RIP和BGP支持 ----距离矢量协议 只能聚合引入路由,不能聚合宣告的路由
手动聚合—静态聚合
BGP特有的聚合方式aggregate
反射和联盟
反射规则
反射Router reflector—解决大型BGP站点的问题(运营商)
RR更改了水平分割
客户机之间不需要全互联,只需要和RR建立IBGP
非客户机之间需要全互联,需要和RR建立IBGP
规则:
从非客户机学到的路由, 发布给所有的客户机
从客户机学到的路由,发布给所有非客户机和客户机(发起此路由的客户机除外)
从EBGP对等体学到的路由,发布给所有的非客户机和客户机
联盟
第一步:删除原有的BGP进程
第二步:confederation id —联盟ID—大的AS confederation peer-as
反射和联盟比较

BGP属性

公认必遵:所有的bgp路由器都需要识别和支持的属性(需要存在于update)
公认任意:不需要必须存在于update,可以根据需求自己选择决定是否携带 所有的都认识
可选过渡:可以认识也可以不认识,不认识的可以帮助转发。//默认不传递
可选非过渡:可以认识也可以不认识,不认识的不可以转发。
Internet—默认携带。作用:通过给所有BGP对等体
Next-hop 公认必遵属性—下一跳可达
注:ibgp下一跳为更新源,ebgp向ibgp通告下一跳不变,ebgp向ebgp通告下一跳修改为自己的接口地址
团体属性
团队属性:

默认不更新团体属性,需要命令开启传递// peer 1.1.1.1 advertise-community
origin属性
起源属性 origin :I—IGP(network宣告+汇聚:前提条件是所有的明细路由都是I) E—EGP(几乎没有) ?(引入)
优先级顺序:i>e>?
AS-path属性
As-path用于as之间防环,as内部防环水平分割,as-path优选最短的路径
不想让as-path影响选路 // bestroute as-path-ignore不建议使用
Local_Preference
default local-preference //经过我这台设备的路由本地优先级全部改变
本地优先级在联盟的EBGP之间也是可以更新的
协议首选值(pref-val) //华为私有
只在本地有效,不会更新给任何邻居,只影响本地选路,默认为0 数值越大越优先
任何出现在BGP路由表中的路由都会被分配本地首选权值—影响选路
MED–BGP的开销值
默认情况下MED的比较只会比较相同的AS,来自不同的AS的路由没有可比性。
compare-different-as-med强制比较来自不同的AS的路由的med
Community
作用:
限定路由的传播范围
打标记,便于对符合相同条件的路由进行统一处理
BGP选路原则
13条选路原则,前8条选路原则一样,认为是负载分担
前提条件:下一跳可达----才可以向下面比较

正则表达式

^$匹配本地始发的路由
.*匹配所有路由
_10_必须匹配经过10的
其他知识大汇总
AS号相同时IBDG邻居关系,AS号不同时EBGP邻居关系
AS之间一定不要跑IGP协议—会有问题
dis bgp peer verbose 查看BGP邻居详细信息
EBGP默认的TTL值为1,默认一跳。通过命令peer 2.2.2.2 ebgp-max-hop 10-----修改跳数为10
GTSM—TTL安全机制
IBGP邻居关系建立–可以跨越设备
BGP工作原理:1.TCP连接建立 2.数据库的更新
refresh bgp all export—刷新出方向路由
refresh bgp all import —刷新bgp进方向路由
peer 2.2.2.2 ignore—断开邻居关系,挂起邻居关系—(用于割接的时候)
如果路由不是最优,首先检查下一跳地址是否可达。
IBGP通告他从EBGP邻居那里获得的路由不更改下一跳
Next-hop-invariable //下一跳不变,用于优化转发路径的,防止次优路径
修改下一跳为本身是最优的
其他方式实现下一跳可达:静态路由 IGP中引入外部路由 内部依次做下一跳为本身
EBGP对等体之间通告路由的时候会自动修改下一跳为本身
不用做下一跳为本身------MA网络 自动优化
Undo synchronization//关闭BGP同步
BGP的路由黑洞,默认情况下只能引入EBGP路由
下一跳属性在哪里做的???针对于AS内部IBGP对等体做下一跳本身起作用
经过RR反射的路由下一跳不更改。
IGP产生路由,bgp控制路由
华为默认不开启负载分担,可以开启路由等价条数maximum load-balancing ebgp 8
如果超出设置的等价路由器最大数则继续比较







