BGP的工作原理看书就行了,主要是了解BGP选路的11个规则,学好11个规则,BGP也算差不多了
1, 忽略下一跳不可达的路由
2, 忽略不同步的IBGP路由
3, 首选具有最大权重优先,思科私有。(local to router)
4, 首选具有最大本地优先级优先。(global within AS)
5, 首选具有始发本地的路由的路由器优先,(next hop=0.0.0.0)
6, 首选具有最短AS-PATH的路由。
7, 首选具有最小的源码的路由,IGP〈EBP〈incomplete
8, 当所有路由的AS号都相同的时候,首选MED最低的路由,在所有AS号码相同的时候比较MED
9, 首选具有EBGP〉联盟EBGP>IBGP
10,首选具有最近的IGP邻居路由器优先,metric
11 首选具有最老的路由优先(注意:现在这条基本不用)
12,首选具有最低ROUTER-ID的路由。(2个BGP地址不能建邻)
13,首选具有最低的neighbor的IP地址
这个你自己干嘛不去看书呢?
bgp是用tcp的唯一的路由协议。然后使用179端口。
它有4个包:
1.open
2.keepalive
3.update
4.notification
open包用于建立邻居,keepalive用于检测邻居是否存活的包
update包用于发送路由更新
最后一个包是用于出错的时候发送的。
bgp是路径矢量协议,采用属性来选择路径。
上面的说法有误的我指出来,开始时发送所有更新的,但是后来只是触发更新。
它只有自己的bgp表,不参与维护路由表,只是将最好的路由插入路由表中。所以说IGP和BGP根本就不是一个层面的东西。
怎么保持少的路由更新呢?那是由于bgp有更新周期,即使有触发也要等到下一个更新才发。
bgp的知识点太多,这样的是学不到什么的。如果我讲课需要一个星期讲BGP
概念我就不说了,咱们说说原理及优点还有与IGP的差异,先说原理,BGP将网络组织成自助系统,其他internet路由器将数据发送到相对AS,数据流到达BGP边缘路由器后,通常由IGP(EIGRP或OSPF)来确定最佳的内部路径,既然是联系IGP的协议那么必须稳定,而且避免重新通告路由,此外支持vlsm,cidr,和汇总,其邻居的发现比较特殊,BGP的邻居称为对等体,对等体不是动态发现的,是预先指定的.BGP建立临接关系后会交换整个路由表,更新也如此,其维护3张表:邻居表,BGP表,IP路由表。BGP要求尽可能的减少cpu使用量,做到最佳汇总,同时保持尽量少的路由更新。