BGP
距离矢量协议,基于TCP,端口号179,应用层,属于EGP
AS
自治系统(Autonomous Systems)
运行同一种选路策略
取值:1-65535
Peer:对等体
EBGP:位于AS之间
IBGP:只需能彼此到达对方,完成TCP握手即可
AD值:IBGP 200 EBGP 20
实验
首先234运行OSPF(IGP),将他们放进区域0,让区域内的他们互通
要注意的是,12网段是不属于AS234的,并不需要运行IGP
一个路由器只能有一个BGP进程
建立邻居:
R1与R2建立BGP邻居,因为处于不同的AS,所以为EBGP邻居
R2与R4建立IBGP邻居,因为同处AS234(R3身上会有路由黑洞)
R4与R5建立EBGP邻居
查看邻居:sh ip bgp sum
路由通告:
network x.x.x.x mask x.x.x.x
只有最优路由才会放进路由表里面&传递给自己的邻居 (”>”最优路由)
条件:1.IGP路由表里必须要有该路由 2.精确匹配
邻居建立
idle 空闲:查找是否有去邻居的路由
connect 连接:发送TCP握手包
active 活动:TCP三次握手成功
open sent 发送open报文
open confirm 协商取得一致
established 建立
一般来说,如果停在idle状态,在本路由排错,停在active状态,去邻居路由排错。
如果需要使用回环接口建立邻居
1.需使用静态路由
2.使回环接口成为updata-source
3.EBGP修改multhop,增大其跳数
传递路由
1.BGP路由器不应该使用或向EBGP邻居通告从IBGP邻居那里学习到的BGP路由信息
对于R4来说,从IBGP R2学习到的路由不会使用,也不会传递给EBGP R5
同步规则:要求BGP库与IGP库同步,避免路由黑洞
2.next-hop 下一跳
如果next-hop到达不了,那么它就不是一最优路由
比如在R2身上,因为next hop 45.1.1.5到达不了,所以不是最优路由(>)
解决:
R4
nei 2.2.2.2 next-hop-self(路由传给R2的时候,下一跳改为R4我自己,当你改为4.4.4.4的时候,因为你原版就可以到达我,那么就会变成最优路由)
IBGP水平分割原则:从IBGP邻居学到的路由,不会再发送给其他IBGP邻居,用于防止IBGP环路(路由反射可打破该原则)
属性
公认强制属性
--AS路径(AS-path)
--下一跳(next-hop)
--起源(origin)
公认自由的
--本地优先级(local preferent)
可选传递的
--团体属性(community)
可选非传递属性
--MED