1、收到一条BGP路由后,如果路由器发现自己的AS号出现在AS-Path里,将丢弃该路由。
2、从EBGP Peers处学来的路由转发给另外的EBGP Peers时,将不会把原来的MED属性通报给EBGP Peers,而会把MED属性设为“0”
3、当向IBGP Peers通告路由时,如学到此路由时就没有Loc-Pref,则DUT应把此属性设为“100”之后再发布给IBGP Peers;而当DUT把此路由通告给EBGP Peers时,则不论原来的值为多少,一概不把该Loc-Pref值加到自己发出的Update报文中去。
4、BGP同步:第一,当DUT没有得到IGP传来的相同的路由时,它是否会不把从IBGP Peers处学来的路由通告给EBGP Peers;第二,若用命令“no synchronization”关闭了同步,得到的结果是否与第一条相反;第三,如果DUT得到了从IGP传来的相同的路由,得到的结果是否也与第一条相反。
5、BGP只将Internal Update发给EBGP Peers而不发给IBGP Peers。
6、BGP会将External Update发给IBGP Peers和其它EBGP Peers。
7、由network命令注入的BGP路由,其origin属性应为IGP、而由redistribute命令注入的BGP路由其origin属性应为Incomplete。
8、BGP在发送Update报文时对AS-Path的修改遵从下列原则:
1)在向IBGP Peers通告路由时,不更改AS-Path属性;
2)在向EBGP Peers通告路由时,把自己的AS号加到原AS-Path的最前面再通报出去;
9、BGP在发送Update报文时对next hop的修改是否遵从下列原则:
1)在向IBGP Peers通告从EBGP学来的路由时,不更改next hop属性;
2)在向IBGP Peers通告始发的路由时,把next hop设为自己的出端口IP地址再通报出去;
3)在向EBGP Peers通告路由时,把next hop设为自己的出AS的端口IP地址再通报出去;
10、 EBGP-Multi-Hop(EBGP多中继)是指EBGP连接的两端不必有物理的直连,它们中间只要能够有一条逻辑的链路即可建立连接,但是EBGP的特性要有相应的改变。
11、BGP连接刚刚建好后,路由器应把自己的BGP路由表中的路由立即发送给相应的Peers,但在BGP路由更新时要有一定的时间间隔(缺省)。
12、network 命令是否加掩码?
13、当已经处在OpenSent状态的BGP路由器又收到了发自同一连接的对方的路由器发来的Open报文时,如果后到来的Open报文携带的BGP ID高于本路由器的BGP ID,则本路由器将中断自己已经处在了OpenConfirm的连接(同时发出Notification报文),重新与对方路由器建立连接;而如果后到来的Open报文携带的BGP ID低于本路由器的BGP ID,则本地路由器将关闭新建立的连接,继续使用旧连接。
14、当已经处在Established状态的BGP路由器又收到了发自同一连接的对方的路由器发来的Open报文时,则本路由器将中断连接(同时发出Notification报文)。
15、当已经处在OpenSent状态的BGP路由器之间的TCP连接突然中断时,BGP状态机应转变为Active状态。
16、当已经处在OpenSent状态的BGP路由器如果在Hold Timer时间内一直未收到相邻体发来的KeepAlive报文,会发出Notification报文并中断BGP连接,BGP状态机也应转变为Idle状态。
17、当处在OpenSent状态的BGP路由器当收到各种各样错误的Open报文时,会发出Notification报文并中断连接。
18、当已经处在OpenConfirm状态的BGP路由器如果超过了Hold Timer的时间限制仍未收到对端发来的KeepAlive报文,会中断BGP连接同时发出一个Notification报文。
19、当已经处在OpenConfirm状态的BGP路由器如果收到了一个Notification报文,会中断BGP连接并回到Idle状态。
20、当已经处在OpenConfirm状态的BGP路由器如果与对端的连接中断,会中断BGP连接同时发出一个Notification报文。
21、当已经处在OpenConfirm状态的BGP路由器如果收到了对端发来的KeepAlive报文,进入Established状态。
22、当已经处在Established状态的BGP路由器如果收到了对端发来的Notification报文,是否进入Idle状态。
23、当已经处在Established状态的BGP路由器如果与对端的连接被断开,进入Idle状态
24、当已经处在Established状态的BGP路由器如果收到格式错误的Update报文,会中断BGP连接、发出Notification报文并进入Idle状态。
25、IBGP Peer传来的的UPDATE报文中缺少local-preference 属性时,会报错(发Notification报文)并中断连接
26、BGP UPDATE报文中同种属性不能出现超过一次
27、接收到的UPDATE报文中通告的路由的Next Hop属性指定为自己与这个邻居发送BGP的SOURCE端口IP地址时,会丢弃此条路由
28、接收到EBGP的UPDATE报文中通告的路由的指定的Next Hop与接收端口不在同一网段上时,会丢弃此条路由同时保持BGP连接->所以在EBGP中如果使用了update-source LoopBack0命令,必须同时使用ebgp-multi-hop命令,该命令就是让路由器就不会判断下一跳是否与自己在同一网段上
29、BGP选路规则:
首先丢弃下一跳(next hop)不可达的路由;
优选最大衡重(weight)的路由;(Cisco所独有)
优选最大本地优先级(local-preference)的路由;
优选本路由器始发的路由;(network、redistribute)
优选经过AS(AS-Path)最少的路由;bgp bestpath as-path ignore的命令的功能是在选路的时候不考虑as-path
优选起点类型(origin)最低的路由;
优选MED值最低的路由;MED值只在来自同一AS内的路由之间进行比较,bgp always-compare-med命令把来自不同AS的路径的MED属性进行统一比较;。
优选从EBGP学来的路由;
优选AS内部最短的路径可以到达的路由;?
优选BGP ID最低的路由器发布的路由。
30、aggregate-address 命令发布聚合路由,
advertise-map 通告聚合路由和advertise-map中指定的部分具体路由
as-set 把被聚合路由的AS-Path中不同的部分加到AS-Set里面去
attribute-map 向其相邻体通告路由时,按照map的要求设置聚合路由的属性
summary-only 只通告聚合后的路由
suppress-map 通告聚合路由,同时还通告suppress-map中不匹配的部分具体路由(作用与advertise-map正相反)
<cr> 又通告所有具体的
至少路由表中有一条属于上述网段之内的路由的时候,BGP才会发布该聚合路由。
此处的路由表是指BGP路由表
聚合后的路由(一定会)?会生成ATOMIC_AGGREGATE
、Aggregator(生成者的ROUTER ID)
被聚合的路由会按照Incomplete--->EGP--->IGP的顺序更改聚合后路由的Origin属性
如果被聚合的路由的AS-Path属性相同,则聚合路由的AS-Path属性也和被聚合路由相同
AS_SEQUENCE属性中的路由必须是原始路由中都有的(type?);AS_SET属性中的路由至少在原始路由中出现过一次;如果AS_SEQUENCE中X在Y的前面出现,则在原始路由中,X都在Y之前出现;聚合后的AS_PATH属性中不能够有属性值出现两次以上。
带有原子聚合属性的路由在被其它BGP路由器转发时,会保持原子聚合属性而不会被丢弃;当BGP路由器收到带有原子聚合属性的路由之后,将不可以再发比之更具体的路由。
其他的属性?
31、团体
1、必须用neighbor ... send-community 命令传播团体属性
2、当聚合路由没有Atomic-aggregate属性时,聚合路由应当具有被聚合路由所有的团体属性。
如果有?
Quidway(config-route-map)#set community ?
aa:nn community number
additive Add to the existing community
local-as Do not send outside local AS (well-known community)
no-advertise Do not advertise to any peer (well-known community)收到后不被通告给任何BGP相邻体
no-export Do not export to next AS (well-known community)收到后不被通告给EBGP相邻体
none No community attribute 清除以前的团体属性。
ip community-list ... 命令来进行基于团体属性的路由过滤
32、BGP反射
当路由是由非客户机通告的,DUT将把此路由反射给所有客户机;
当路由是由某客户机通告的,DUT将把此路由反射给所有非客户机和客户机(除通告此路由的客户机外)
当路由是由EBGP处得来的,DUT将把此路由发送给所有客户机和非客户机
当反射器收到的路由没有Originator-ID属性时,反射器将把路由通告者的Router-ID作为Originator-ID向外通告;
当反射器收到的路由带有Originator-ID属性时,反射器在向外转发时不会修改该属性,同时也将不会把此路由发向以Originator-ID为Router-ID的路由器;
当反射器收到的路由带有的Originator-ID属性恰好为自己的Router-ID时,反射器应丢弃掉此条路由。
当反射器要发送给客户机/非客户机的路由没有Cluster-List属性时,反射器将把自己的Cluster ID作为Cluster-List再通告出去;
当反射器要发送给客户机/非客户机的路由有Cluster-List属性,反射器将把自己的Cluster ID加到原有Cluster-List的前面作为新的Cluster-List属性后再通告出去;
当反射器要发送给客户机/非客户机的路由有Cluster-List属性而且与反射器自己的Cluster ID相同,则反射器将丢弃此条路由;
可以在一个Cluster内配置两个或多个反射器,它们实现相同的功能(但要注意它们的Cluster ID必须相同)。