BGP基础

Ⅰ.EGP和IGP的区别:

  IGP(interior Gateway Protocols)内部网关协议,RIP,OSPF和ISIS都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。

  BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。

   一台路由器仅能创建一个BGP实例,而IGP更加灵活,每个接口都可以创建一个实例。

  IGP协议设计的重点在于发现和计算路由,而BGP重点在于控制路由的传播和选择最好的路由。

  BGP的拓扑图更加大局观,没有每个AS域内的拓扑结构,而IGP只能看到该AS域内的拓扑结构。IGP和BGP是分层的关系,即IGP负责在AS内部选择花费最小的路由,BGP负责选择AS间花费最小的路由。

Ⅱ.BGP:

  AS号分类:公有:1~64511(全球唯一,不可重复),私有:64512~65535(1024个,可重复,不能进互联网,用于企业网络)

  BGP通过TCP(端口179)。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为60秒,hold time,是keepalive time的3倍关系)

Ⅲ.BGP消息类型:

  ①Open:发现邻居,包含hold time以及BGP router ID,是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。

  ②Keepalive:维持连接,BGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。

  ③Update:发送如何到达目的的网络的路由更新,包含路径属性以及网络;用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息

   ④Notification:检测到错误, BGP连接关闭消息的发送;当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。

                                                   

Ⅲ.BGP表中的路由通告规则:

  ①多条路径时,BGP只选最优的使用,把最优传给邻居(负载均衡和FRR除外)

  ②从EBGP获得的,直接向自己所有BGP相邻体通告(包括EBGP和IBGP)

  ③从IBGP获得的,不向自己的IBGP相邻体通告(反射器除外);是否通告给自己的EBGP相邻体要根据IGP和BGP同步的情况来决定:只有优化时才传给EBGP邻居。

Ⅳ.BGP的三张表:

  ①邻居表(adjancy table)

  ② BGP表(forwarding database):BGP默认不做负载均衡,会选出一条最优的,放入路由表

  ③路由表(routing table)

Ⅴ.BGP常见属性:

(1)公认必遵

  ①ORIGIN(起源):描述源路由是怎样放到BGP表中的。有三个可能的源IGP,EGP,以及INCOMPLETE.路由器选择具有最低ORIGIN类型的路径。

  ②AS_PATH(AS路径):指出包含在UPDATE报文中的路由信息所经过的自治系统的序列。

  ③Next_HOP(下一跳)声明路由器所获得的BGP路由的下一跳,对EBGP会话来说,下一跳就是通告该路由的邻居路由器的源地址。

(2)公认自决

  ①LOCAL_PREF(本地优先级):用于告诉自治系统内的路由器在有多条路径的时候,怎样离开自治系统。本地优先级越高,路由优先级越高。

  ②ATOMIC_AGGREGATE(原子聚合):原子聚合属性指出已被丢失了的信息。

(3)可选过渡

  ①AGGREGATOR(聚合者):此属性标明了实施路由聚合的BGP路由器ID和聚合路由的路由器的AS号。

  ②COMMUNITY(团体):此属性指共享一个公共属性的一组路由器。

(4)可选非过渡

  ①MED(多出口区分):该属性通知AS以外的路由器采用哪一条路径到达AS,它也被认为是路由的外部度量,低MED值表示高的优先级。

  ②ORIGINATOR_ID(起源ID):路由反射器会附加到这个属性上,它携带本AS路由器的路由器ID,用以防止环路。

  ③CLUSTER_LIST(簇列表):此属性显示了采用的反射路径。

Origin:

记录路由如何进入路由表,如果到达同一目的IP有多条路径,且BGP学到这些路由通过不同的方式,则Origin属性是决定最优路径的一个因素,用于标明路由的起源:

  ①network 宣告本地路由表中的任意路由→ i

  ②import 将本地通过其他协议学习的路由重发布到BGP协议中→ ?

  ③ egp 早期的ebg协议学习的路由重发布到BGP协议中→ e

as-path:

路由条目在一个AS内部传递时,不会添加该AS的编号,在传递给其他EBGP邻居时,自动添加该参数,优选经过的AS数量少的路径。

  ①可以通过添加AS来干涉选路,添加后可干涉EBGP邻居关系和IGBP邻居关系选路,但只能在EBGP邻居修改该参数。

  ②防止环路,如果收到BGP路由包含自己的AS号,则丢弃。

next-hop(下一跳):

bgp中,IBGP不更新(原因:没有相应的算法),EBGP更新下一跳(区别:IGP每过一个路由器就会更新。)

  ①不管从什么邻居学习到的路由传递给我的EBGP邻居时,下一跳改变为自己。

  ②从EBGP邻居学习到的路由传递给我的IBGP邻居时,下一跳不变,还是EBGP邻居,需要使用next-hop-self改变。

  ③从IBGP邻居学习到的路由不会再传递给我的IBGP邻居(水平分割)

local-preference(本地优先级):

只在本地IBGP邻居间有效,不会通告给其他AS;

  ①用来选路,通过改变bgp路由流入本台路由器的优先级来达到控制数据怎么流出AS的目的。

  注:local-preference值越大,即优先级越高(默认100)如果优先级一样,优选router ID小的 

MED(相当于度量值metric):

越小越优,AS间传,只能跨一个AS,比较时也只能是同一个AS。默认不支持不同AS间比较MED值,但可取消默认。

  ①用于流量进入AS的最佳路径,典型的用在AS间的链路上,以区分到达相同的邻居AS的多个出口点。

  ②干涉EBGP/IBGP选路,最常用于干涉EBGP选路

  ③常常用于AS1干涉AS2对AS1的选路;在本路由器干涉别人对我的选路。

Ⅵ.BGP十三条选路原则:

1. 思科私有属性,权重(weight)属性,该属性仅本地有效,不可传递,越大越优,默认为0

2. local preference,本地优先级属性,越大越优,默认为100,针对于EBGP仅本地有效,不可传递,IBGP可传递

3. local next-hop,本地下一跳属性,优选起源于本地的路由,即下一跳是0.0.0.0(在BGP表中,本路由器通告的路由的下一跳为0.0.0.0)

4. AS-path,路径属性,该属性代表一条路由从始发路由器传递到目标路由器经过的AS数量,每经过一个AS就会记录下该AS的编号,该属性规定,经过的AS越少,代表路由更优(IBGP不适用,因为IBGP发送路由更新时不携带AS)

5. origin,起源属性(IGP>EGP>重分布),该属性指定路由的始发源,路由来源包括三种,第一种是通过IGP协议学习到的,以小字母" i "表示;第二种是通过EGP协议学到的,以小字母“ e ”表示;第三种是通过外部重分布/重分发进来的,这一种代表未知的路由来源,以" ? "表示(注:这所指的IGP和EGP协议为内部网关协议和外部网关协议,也就是说,路由始发源是IGP(eigrp ospf rip isis等)或是EGP(External Gateway Protocol-外部网关协议,包含BGP)

6. MED属性(也叫做metric属性),越小越优,默认是0;针对IBGP生效,针对EBGP默认不生效,如果要生效,需要使用命令bgp always-compare-med让它总是比较metric

7. EBGP的路由优先于IBGP的路由

8. 基于以上条件如果无法进行比较(都是IBGP或者都是EBGP),比较IGP协议的metric,metric通常代表两个方向的带宽情况,越小越优,优先走带宽大的(注,如果使用直连建立EBGP邻居是无法进行比较的)

9. 如果配置了maximum-path [Ibgp] +number,BGP默认是没有开启负载均衡的,如果在BGP路由器上开启了负载均衡,证明此条匹配成功,停止往下匹配(注:BGP最大支持16条线路实现负载均衡,也支持非等价的负载均衡)

10.      选择最老的路径(从更老的EBGP邻居学习到的路由),只针对于EBGP。

11.      基于以上情况,默认对于IBGP是无法进行比较的,那么就需要比较邻居的Router-id,优先选择RID最小的IBGP邻居的路由(注,可以使用命令bgp bestpath compare-routerid强制比较router-id)

12.      优选于cluster-list最短的(routing reflector路由反射器),每经过一个Router,cluster-list列表里面就会添加上这个BGP路由器的RID,经过的RR越少越优

13.      如果没有RID,比较邻居的ip地址,越小的BGP邻居路由器传过来的路由越优,如果有环回口,则比较环回口的ip地址大小,(这一条一定是可以比较出来的,因为当在BGP进程下指邻居的时候邻居不能相同)

Ⅶ.BGP防环机制(水平分割):

  ①EBGP:不接收包含自己AS号的BGP路由。

  ②IBGP:从IBGP学到的路由不会通告到其他IBGP邻居,所以IBGP邻居需要全部互联(路由映射、联邦)

Ⅷ.思科路由协议优先级:

                                  

 

posted @ 2022-10-13 10:35  sxPan  阅读(371)  评论(0编辑  收藏  举报