0x16 HCNP-R&S BGP原理详解(一)

版权声明:本文为GJHe原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35428201/article/details/82868039

自治系统(AS):由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。

 

IGP

内部网关协议

运行于AS内部

着重于发现和计算路由

主要有:RIP、OSPF、ISIS

EGP

外部网关协议

运行于AS之间

着重于控制路由的传播和选择最优的路由

主要有:BGP

 

BGP边界网关协议   距离矢量算法  EGP

BGP是外部路由协议,用来在AS之间传递路由信息

是一种增强的距离矢量路由协议

可靠的路由更新机制

丰富的Metric度量方法

从设计上避免了环路的发生

为路由附带属性信息

支持CIDR(无类别域间选路)

丰富的路由过滤和路由策略

BGP可靠的路由更新,采用TCP179端口,无需周期性更新,路由更新只发送增量路由,周期性发送keepalive报文检测TCP的连通性

 

运行BGP协议的路由器称为BGP发言者  BGP speaker

相互之间存在TCP连接、相互交换路由信息的BGP发言者之间胡成为BGP对等体(BGP Peer)

 

BGP两种邻居关系

IBGP:两个BGP speak位于同一个AS内

EBGP:两个BGP speak位于不同一个AS内

 

BGP如何方式环路

1、AS内防止环路 从IBGP邻居获得的路由不会向其他IBGP邻居发送

2、AS间如何防止 通过AS_PATH属性

 

BGP基本作用:AS之间使用BGP来传递和控制路由。

运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(External BGP)邻居关系。

运行在相同AS的BGP路由器建立的邻居关系为IBGP(Internal BGP)邻居关系。

BGP路由生成方式

BGP路由生成方式--network

Network命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中。

BGP路由生成方式--import

Import命令是根据运行的路由协议(RIP,OSPF,ISIS等)将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由。

 

BGP通告原则:

1,BGP通告原则之一:仅将自己的最优的路由发布给邻居

2,BGP通告原则之二:通过EBGP获得最优路由发布给所有BGP邻居(包括IBGP邻居和EBGP邻居)

3,BGP通告原则之三:通过IBGP获得的最优路由不会发布给其他的IBGP邻居(防止环路)

在AS要求所有BGP路由器全互联

4、BGP通告原则之四:BGP与IGP同步

 

BGP五种报文类型:

Open:负责和对等体建立邻居关系

KeepAlive:该消息在对等体之间周期性地发送,用以维护连接

Update:该消息被用来在BGP对等体之间传递路由信息

Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体

Route-refresh:用来通知对等体自己支持的路由刷新能力

BGP属性

公认属性是所有BGP路由器都必须识别的属性

公认必遵(Well-known Mandatory)所有BGP路由器都可以识别,且必须存在于Update消息中。如果缺少这种属性,路由信息就会报错。

公认任意(Well-known Discretionary)所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来决定是否添加到Update消息中。

可选属性不需要都被BGP路由器所识别

可选过渡(Optional Transitive)BGP路由器可以选择是否在Update消息中携带这种属性。接受的路由器如果不识别这种属性,可以转发给邻居路由器,邻居路由器可能会识别并使用到这种属性。

可选非过渡(Optional Non-Transitive)BGP路由器可以选择是否在Update消息中携带这种属性。在整个路由发布的路径上,如果部分路由器不能识别这种属性,可能会导致该属性无法发挥效用。因此接收的路由器如果不识别这种属性,将丢弃这种属性,不必再转发给邻居路由器。

 

属性功能

起点

通过network命令注入BGP的路由

IGP

通过EGP(RFC904)学到的路由

EGP

通过import命令注入BGP的路由

Incomplete

 

AS路径(AS_PATH)属性

记录途径过之后的AS编号,对于含有自己AS编号的路由进行丢弃,防止环路

 

Next_hop下一跳属性

向内网BGP通告时,不会更改下一跳

 

 本地优先级属性 (Local-Preference)

用以出去进行选路  优先级来比较   默认是100   该值越大越优先

 

MED (Multi-Exit-DISC) 属性 

用以进入进行选路                                默认是0        该值越小越优先

 

Community团体属性

限定路由的传播范围,打标记,便于对符合相同条件的路由进行统一处理

 

Preference Value是BGP的私有属性(华为私有属性),Preference Value相当于选路规则中Weight值,仅在本地路由器生效。Preference Value值越大,越优先。

BGP路由优选原则

BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:

  • 该路由是到达目的地的唯一路由,直接优选。
  • 对到达同一目的地的多条路由,优选优先级最高的。
  • 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。

一般来说,BGP计算路由优先级的规则如下:

  • 丢弃下一跳不可达的路由。
  • 优选Preference_Value值最高的路由(私有属性,仅本地有效)。
  • 优选本地优先级(Local_Preference)最高的路由。
  • 优选手动聚合>自动聚合>network>import>从对等体学到的
  • 优选AS_Path短的路由。
  • 起源类型IGP>EGP>Incomplete。
  • 对于来自同一AS的路由,优选MED值小的。
  • 优选从EBGP学来的路由(EBGP>IBGP)。
  • 优选AS内部IGP的Metric最小的路由。
  • 优选Cluster_List最短的路由。
  • 优选Orginator_ID最小的路由。
  • 优选Router_ID最小的路由器发布的路由。
  • 优选具有较小IP地址的邻居学来的路由。

 

路由聚合:减少路由条目

RIP支持自动聚合和手动聚合

OSPF只支持手动聚合(必须是ABR或者ASBR)

BGP支持自动聚合和手工聚合

 

BGP路由聚合方法

1、静态

2、自动聚合

3、手动聚合

 

BGP路由聚合带来的问题--潜在的环路

解决方法:路由聚合带AS_SET(记录了被聚合路由所经过的AS)

 

猜你喜欢

转载自blog.csdn.net/qq_35428201/article/details/82868039