1.可靠性–不能周期更新,增量更新;-TCP
直接用tcp来传递路由信息(端口号:179),保证了可靠性,但是丧失邻居自动发现。- - - 可以非直连建邻
2.可控性–该协议的真正意义,在于AS间共享路由条目时更加方便快捷的干涉选路
每种网络层协议都用一个address family去配置(除了ipv4 mulicast)
一、BGP特点
1)无类别路径矢量 -----距离矢量的升级版—AS-BY–AS |
---|
2)使用单播更新来发送所有信息;基于TCP 179端口工作 |
3)增量更新–仅触发无周期 |
4)具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议 |
5)可以在进项和出项对流量实施强大的策略–可控性 |
6)默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径 |
7)BGP支持认证和聚合(汇总) |
二、BGP peer的四种包
三、BGP 状态机
四、BGP的工作过程
注:所有BGP协议的数据包均基于TCP的会话传递;TCP会保证这些数据包的可靠性-确认、重传、排序、流控(窗口机制
结构突变:
五、BGP中的名词解释
对等体(peer)----邻居–BGP协议可以非直连建邻
IBGP —同一个AS内设备间的BGP邻居关系 --管理距离为200
EBGP --不同AS间设备建立的BGP邻居关系 --管理距离为20
六、BGP路由黑洞问题
BGP可以非直连建邻,非直连传递路由信息;导致所有运行了BGP协议的路由器均学习到路由条目;但是数据层面流量在传输时所需要经过没有运行BGP协议的路由器时,将出现不可达现象
路由黑洞问题总结描述:A为一个AS、B C D E为一个AS F为一个AS
AB之间为EBGP邻居关系,EF之间为EBGP邻居关系
BCDE这个AS内BE为边界,跑BGP,中间设备不跑BGP,BE之间非直连建邻
重点!!
A路由器有一个A网段的路由,控制层面经过B 传给 E 再传给F
但是当F访问A网段的时候,F首先到E、E查表发现走B到A网段,所以递归查找E如何到B,结果查到经过D C可以到达,但是D C没有到达A网段的路由,故路由丢去,造成路由黑洞
七、BGP参数属性
一共10种属性(cisco11种)分为4类
1. well-known mandatory- - -公认必尊
2. well-known discretionary- - -公认可尊
3. optional transitive- - -可选传递
4. optional nontransitive- - -可选非传递
1. 公认必尊
所有BGP路由器必须识别遵守的原则有origin,as_path ,next_hop
2. 公认可尊
所有路由器都能识别但是不一定要遵守,local_pref,atomic_aggregate
3. 可选传递
不是所有BGP路由器都能识别,但是所有BGP都能传递,aggregator和community
4. 可选非传递
不是所有路由器都被识别,不能识别的BGP路由器就丢弃它,MED,originator_id和cluster_id,weight
11 条属性:weight ,origin ,as_path ,next_hop ,local_pref ,atomic_aggregate ,
Aggregator ,community ,MED,originator_id ,cluster_list
Weihgt
cisco私有属性,对于离开AS的路由在路由器选择那一条最优,本台路由器产生为32768,学习的为0.不能传递,适用于一台路由去 往别的AS有多个出口。
Origin
起源,0表示宣告(i),1表示EGP学到(E),3表示其他手段得到(重发布?),越低越好
AS path
一条路由在传输过程中经历了那些AS(不算自己),可用来放环。越短越好
Nei X.X.X.X allowas-in 允许和具有自己相同的AS的路由进入本AS
Nei x.x.x.x as-override 把具有和其他AS相同AS号的路由放入这个AS
Next_hop
到达路由的下一跳路由器IP地址
通告路由器和接受路由器不在一个AS,next_hop为通告路由器的更新地址
通告路由器和接受路由器在一个AS内,next_hop为通告邻居的更新地址
通告路由器和接受路由器在一个AS内且为邻居关系更新地址为不同AS,则为外部更新地址
Local_pref
不能传输到其他AS,值越高越优,用于本AS选择离开AS的出口路由器默认为100
MED
用于选择流入AS的入口路由器,可以在俩个AS之间传递,越低越好默认0
Atomic_aggregate
用来警告下游路由器路由聚合后产生的路由路径丢失。
BGP支持向BGP邻居传递重叠路由可以选择多种方式
1.明细和粗略的都公布
2.只公布明细
3.只公布没有重叠的
4.聚合后公布聚合后的路由
5.明细和粗略都不公布
Aggregator
用来通告汇总路由的汇聚路由器 BGP_ID(cisco)
Community
1.internet 默认属性,可以给任何bgp发送
2.no_export 只能在一个AS内传递,可以在联盟内传递。
3.no_advertise 不在IBGP邻居间传递
4.local-as 不向任何EBGP邻居发送包括联盟的EBGP邻居
标准和扩展community
标准是普通路由可以设置的团体公有和私有
扩展是mpls中的vrf路由传递定义的
Originator_id
路由反射使用,是路由发起者产生的一个32比特的值,该值是本地路由发起者的RID,如果路由发起者从属性上看到 自己的RID,说明有环路就忽略
Cluster_list
路由反射器使用,是路由进过反射器簇ID的一个序号。如果反射器在属性里看到自己的簇ID就说明有环路,忽略