08   BGP路由协议

AS号

公有:0-64511

私有:64512-65535

电信:4134   网通:9929

BGP的使用

1、穿越不同AS,管理的问题

2、OSPF 支持1W+条路由

ISIS 支持2W+条路由

3、策略可控性高

4、扩展性强

免费公共公网路由表route-server.ip.att.net

reviews

不使用BGP:

1、没有学习完NP课程,对BGP不熟悉

2、只有一个接口连接到AS

3、路由器的性能不够

BGP使用TCP的179端口

只通过触发更新更新路由表

通过open报文确立邻居关系

通过keepalive报文保持邻居关系

建立EBGP邻接关系,必须满足下列条件

1、自治系统号不同

2、定义邻居

3、可达

建立IBGP邻接关系,必须满足下列条件

1、自治系统号相同

2、定义邻居

3、可达

BGP的邻接关系状态:

1、IDLE

2、Connect

3、Active 该邻接关系状态为问题状态

4、Open Confirm

5、Open Sent

6、Established

一条路由条目如果打R和>则代表该路由条目是最优的,但是由于管理距离的问题无法加入路由表,但是该路由可以被传递给其他BGP对等体

EBGP  20    IBGP 200

Neighbor table

BGP table 默认不做负载均衡

IP routing table

BGP Message Types

Open Message

Router ID选举与OSPF相同

Keepalive Message

Update Message (传输BGP路由)

Notification Message(当错误发生时通告错误消息报文)

BGP建立邻居不一定需要直连,只有能达到邻居的路由就行

解决路由数据层面黑洞:

1、物理线路FULL MESH

运行BGP的路由器全部用直连线路互连

2、BGP邻居的 FULL MESH

让BGP之间的路由器运行BGP

3、BGP->IGP (LAB)

重分发,让未运行BGP的路由器获悉路由

4、在AS内部的边缘路由器之间建立Tunnel

5、MPLS

EBGP的水平分割

不接受含有本AS号的BGP路由

一条BGP会话者收到一条EBGP路由,只要该EBGP路由neu包含的接收者所在的AS号,则路由会被立即丢弃

BGP路由的传递原则

1、对于一条BGP路由,如果一条路由器是该路由始发路由器,该路由器会将该路由传递给其他所有IBGP对等体以及所有EBGP对等体

2、对于一条BGP路由,如果一台路由器不是该路由的始发路由器,如果对于该路由器而言该路由条目是一条EBGP路由,则该路由器会将该路由条目转发给所有IBGP对等体以及所有其他的EBGP对等体

如果对于该路由器而言路由条目是一条IBGP路由,则该路由器会将该路由条目转发给所有EBGP对等体,而不会转发给任何IBGP对等体。

BGP邻接关系建立完毕,路由器之间不会传递路由

想让BGP路由器彼此传递BGP路由,需要在BGP进程中要么使用Network语句进行BGP路由通告,要么使用Redistribute进行路由重分发

导致BGP路由不优的原因

1、BGP路由的下一跳的可达性

2、同步原则

当一台路由器通过一个IBGP对等体收到了一条IBGP路由,该路由条目不能被放入路由表也不能被传递给任何的其他邻居,除非该路由器同时通过某种IGP获悉了该路由条目

ICMP Redirect

当一条路由器通过一个借口接收到一个报文,该路由器查表发现转发这个报文需要将其通过接收接口再次转发出去

当一条BGP Speaker将一条BGP路由传递给同MA网段的下一跳EBGP邻居时,该路由器如果发现该路由条目的上一条邻居传递该路由的接口IP和下一跳邻居接收该路由接口的接口IP地址在同一子网段,此时该路由器会将该路由条目的下一跳地址改写为上一条邻居的发送路由器接口的IP地址

关于BGP路由条目的下一跳地址

1、如果一台路由器将本地路由通告进BGP进程,则对于这些被通告路由,该路由器本地BGP表中关于条目的下一跳都为0.0.0.0 C S

2、如果一条路由器将通过IGP获悉的路由通告进BGP进程,则这些路由在该路由器的BGP表中下一跳会继承相应的IGP路由的下一跳地址

3、如果一台路由器将其本地通告的本地路由传递给其任何BGP对等体,则会将该路由条目的下一跳改为本地对于这些邻居的更新源

4、如果一台路由器通过EBGP学校到了一条路由条目,则该路由器在传递给IBGP对等体时,默认情况下一跳不变(除非做Next-Hop-Self)

5、如果一台路由器将任何BGP路由通告给其他EBGP对等体,则路由的下一跳会变成该路由器对于该邻居的BGP更新源地址

IBGP的水平分割

network:

1、hello邻居    Neighbor

2、通告路由     network

IGP 接口  BGP路由

BGP表中没有标示>:   (不优的路由)

1、不会放进路由表

2、不会给其他BGP邻居传

BGP路由优化的条件:

1、同步(从IGP学习到/no syn)

2、下一跳

BGP Auto-summary

在早期的IOS版本中默认情况一台路由器的BGP进程的Auto-Summary是开启的,在后期新版本的IOS中Auto-Summary是自动关闭的

作用:

无论在路由器上是否开启Atuo-Summary都不会影响BGP精确通告的BGP路由

该特性只有两个作用

1、当在路由器上使用汇总通告的时候,如果该路由器表中拥有汇总路由条目内的明细路由的时候,并且该路由器开启了自动汇总,则该路由器会将明细路由抑制并且将其在其主类网络边界汇总后发生给邻居

2、当路由器的BGP进程中重分发外部路由时,如果开启了Atuo-Summary,那么该路由器会将这些路由以主类的形式发生给邻居。还会将重分发进入的路由的下一跳地址写为0.0.0.0,即便这些路由本身携带Metric,在BGP表中也不会继承。发生接口的IP地址和路由器的前缀不在同一个主类地址段中

BGP的手工汇总、手工聚合

1、在本地创建指向Null0接口的汇聚路由,并且在该路由器的BGP进程中使用Network语句通告该聚合路由,而不需要通告任何一条明细路由

2、BGP路由聚合原则,只要聚合命令配置了,该路由器如果在BGP表中拥有该聚合内的明细路由,则会直接在本地BGP表中生成该聚合路由,并且再通告给其他邻居

len< ge-value <= le-value

ip prefix-list 10 permit x.x.x.x/X GE Y LE Z

解决IBGP的水平分割:

1、路由反射器

2、联邦

路由反射器

RR收到一条EBGP路由,会将其转发给所有其他EBPG对等体以及所有IBGP对等体(包含Client以及Non-Client)

RR收到一条IBGP路由(该路由是Client传递的),RR会将其转发给所有其他的RR以及所有IBGP的Non-Client以及所有的EBGP对等体

RR收到了一条IBGP路由(该路由是Non-Client传递的),RR会将其转发给所有Client以及所有EBGP对等体,但是不会传递给任何其他的Non-Client

1、RP从EBGP收到的路由

既会反射给客户端也会反射给服务器端

2、RR从客户端

既会反射给客户端也会反射给邻居

3、RR从非客户端

只会反射给客户端和反射给EBGP邻居

联邦 Confederation

1、router bgp 小AS号(私有AS号)

2、声明所在的大AS号

社团熟悉:Community

“可选”:路由器有肯不识别此熟悉。(default)

neighbor x.x.x.x send -community

“传递”:社团熟悉只在nei的邻居有效

neighbor x.x.x.x send -community

no-advertise:携带此属性的路由不会通知给任何BGP邻居

no-export:携带此熟悉的路由不会传出大AS

local-AS:携带此熟悉的路由不会传出小AS

1、随意联邦路由器启用BGP进程的AS号都是子AS号,联邦件邻居指的是对方的子AS号,外部路由值联邦内BGP邻居指的是主AS号

2、所有联邦内路由器都要宣称自己属于主AS

3、联邦内路由器要建立联邦内EBGP连接时需要指定本地和什么子AS邻接

Community属性(团体属性)公认自由不可传递

1、Standard

No-Advertise:当路由器收到了带有该团体属性的BGP路由的时候,路由无法传递给任何其他的BGP对等体

No-Export:当路由器收到了带有团体属性的BGP路由的时候,路由无法传递给其他的AS,只能在AS内传递,如果该AS起了联邦,则该路由还可以在联邦内子AS之间传递

Local-AS:当路由器收到了带有该团体属性的BGP路由的时候,路由只能在接收者所在的AS内传递,无论该AS是一个主AS还是一个联邦内子AS

1.Extended MPLS VPN

ip community-list standard Deny permit 3276850

route-map com deny 10

match community Deny

route-map com permit 20

router bgp 65001

neighbor 1.1.1.1 route-map com in

BPG 的13选路属性

AS path *

Next-hop *

Origin *

Local preference

MED

Others

BGP属性

1、公认属性:

BGP 更新报文必须包含的,且必须被所有BGP 厂商实现所能识别的属性包括ORIGIN,AS_PATH 和Next_Hop

① ORIGIN(起源);这个属性说明起源路由是怎样放到CD 表中的.有3 个可能的源---IGP,EGP 以及INCOMPLETE 路由器在多个路由选者的处理中使用这个信息.路由器选者具有最低ORIN 类型的路径.OPIGIN;类型从低处到高的顺序为;JGP<EGP<INCOMPLETE.

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

③ NEXT_HOP (下一跳);生命路由器所获得的BGP 路由的下一跳.对EBGP 会话来说,下一跳就是通过该路由的邻居路由器的源地址.对于IBGP 会话,有良种情况,一是起源AS 内部的路由的下一眺就是通告该路由器的源地址;二是由EBGP 注入AS 的路由,它的下一跳会不变的带入IBGP 中.

2、公认自决(Well-Known Discretionary)

该属性指必须被所有BGP 实现所识别,但是在BGP 更新报文中可以发送,也可以不发送的属性,包括LOCAL_PREF 和ATOMIC_AGGREGATE。

①LOCAL_PREF(本地优先级):本地优先级属性是用于告诉自治系统内的路由器在有多条路径的时候,怎么离开自治系统。本地优先级越高,路由优先级越高。该属性仅仅在IBGP 邻居之间传递。

②ATOMIC_AGGREGATE(原字聚合):原子聚合属性指出已被丢失了的信息。当路由聚合时将会导致信息的丢失,因为聚合来自具有不同属性的不同源。如果一个路由器发送了导致信息丢失的聚合,路由器被要求将原子聚合属性附加到该路由上。

3、可选过渡(Optional Transitive)

可选过渡属性并不要求所有的BGP 实现都支持。如果该属性不能被BGP 进程识别,它就会去看过渡标志。如果过渡标志被设置,BGP 进程会接受这个属性并将它不加改变的传送,包括AGGREGATOR 和COMMUNITY。

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

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

4、可选非过渡(Optional Nontransitive)

可选非度过属性并不要求所有的BGP 实现都支持。如果这些属性被发送到不能对其实别的路由器,这些属性将会被丢弃,不能传送给BGP 邻居,包括MED,ORIGNATOR_ID 和CLUSTER_LIST。

①MED(多出口区分):该属性通知AS 以外的路由器采用哪一条路经到达AS,它也被认为是路由的外部度量,低MED 值表示高的优先级。MED 属性在自治系统间交换,但MED 属性不能传递到第三方AS.

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

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

BGP 路由判定

BGP 使用了描述路由特性的很多属性,这些属性和每一个路由一起在BGP 更新报文中被发送,路由器使用这些属性去选择到目的地的最佳路由。理解BGP 路由判定的过程很重要的,下面按优先顺序给出了路由器在BGP 路径选择中的判定过程:

①如果下一跳不可达,则不考虑该路由;

②优先选取工具有最大权重(Weight)值得路径,权重是Cisco 专有属性;

③如果权重值相同,优先选取具有最高本地优先级的路由;

④如果本地优先级相同,优先选区源自于本路由器(即县一跳为 “0.0.0.0”)上BGP 的路由;

⑤如果本地优先级相同,并且没有源自于本路由器的路由,优先选取具有最短AS 路径的路由;

⑥如果有相同的AS 路径长度,优先选取具有最低起源代码(IGP<EGP<INCOMPLETE)的路由;

⑦如果起源代码相同,优先选取具有最低MED 值得路径;

⑧如果MED 都相同,在EBGP 路由和联盟EBGP 路由中,首选EBGP 路由,在联盟EBGP 路由和IBGP 路由中,首选联盟EBGP路由;

⑨如果前面所有属性都相同,优先选取离IGP 邻居最近的路径;

⑩如果内部路径也相同,优先选取具有最低BGP 路由器ID 的路径。

Weight(权重属性)

1、传递范围该属性只能在路由器本地有意义,路由器发送任何BGP路由的时候不会携带该属性

2、缺省值对于一条下一跳地址为0.0.0.0的BGP路由,在路由器本地BGP表中该路由器的却是Weight值是32768

如果该路由器是邻居通告的,无论IBGP或EBGP都是缺省值0,如果该路由是本地通告但是来源于IGP,则该路由权重值也是0

取值范围0~65535

3、比较方式Weight属性值越大,该路由条目越优,

通过Weight修改路径

1、ip prefix-list s seq 5 permint 2.2.2.0/24

2、route-map W permit 10

match ip adderss prefix-list2

set weight 3

route map W      permit 20

3、router bgp 1

neighbor 1.1.1.1 route-map W in

Local  Preference(本地优先级)

传递范围只能在一个AS内传递(只能在传递IBGP路由的时候修改)

缺省值只要BGP路由无论是否本地产生无论是IBGP/EBGP,缺省值都为100

比较原则越大越好

BGP default local preference 101

BGP ORF Outbound Route Filtering出站路由过滤(优化特性)

实现原理,当路由器通过其他对等体接收路由时如果该路由器使用前缀列表过滤接收的路由,默认情况该邻居不会知道路由传递被拒绝,该路由当拓扑变更或软清进程的时候依旧会给本路由发送这些被过滤路由从而浪费了邻居的CPU资源。为了优化需要在路由器双方启用该特性,路由过滤方会通告PRF报文发送给路由传递方告知其路由过滤情况,而路由发送方得知情况后无聊何时都不会再将被过滤路由发送给过滤方

1、启用address-family ipv4

2、在该地址族中激活邻居Activate

3、在路由过滤方定义前缀列表指定路由发送方入向过滤路由

4、在过滤方指定发送方做ORF,并指定Send

5、在路由发送方指定过滤方做ORF,并指定Receive

注意事项,如果在部署ORF之前邻接关系已经建立,则一定要硬重置邻接关系

BGP基本验证命令:

Show ip  bgp summary  查看BGP邻居表

Show ip  bgp          查看BGP路由表

Show ip  bgp AS XX     查看某个网络的拓扑数据库

Show ip  bgp neighbors adver  查看邻居转发表

Show ip  bgp rib-failure 显示没有加入路由信息库的路由以及,没有加入的原因

Clear ip bgp *        清除BGP邻居,重新学习路由表

Clear ip bgp * soft    不清除BGP邻居,只更新路由表

时间: 2024-10-20 18:20:33

08   BGP路由协议的相关文章

BGP路由协议详解(完整篇)

原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但因最近的工作和授课很忙,所以没有时间进行完善.为了实现这个承诺,我在去外地出差期间对BGP协议详解博文进行一些修改,其中内容包括了一些实验,以及一些内容的补充和深入阐述,更宜于网友们学习BGP路由协议.因为这个文档出来的很晚,也希望网友们见谅! 此BGP协议的内容也不算太难,一些关于BGP的高级应用

BGP路由协议

一.BGP(Border Gateway Protocol)边界网关协议 1.BGP特点: 可靠性:1.利用tcp建立可靠的连接 2.精确的路由选择信息(防环) 稳定性:1.通过计时器来防止接口的flapping,在cisco的ios中,外部bgp路由为30秒. 2.可以跟踪指定的路由,根据他的震荡的历史,对其进行路由的衰减(惩罚). 可扩展性:1.对等体(peer)[邻居]的数量,数百个会话:2.路由的数量,40万条以上的路由条目 灵活性:1.丰富的路由属性:2.多种策略的广利(出.入两个方向

CCNP路由实验之七 动态路由之BGP

?? 动态路由协议可以自动的发现远程网络,只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径.根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP).这里的自治域指一个具有统一管理机构.统一路由策略的网络.自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP.EIGRP.OSPF.IS-IS:外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP和BGP-4.在一个路由器

bgp 学习笔记

a**************************************************************************************************** 为什么需要BGP BGP的特性 运行在tcp之上(端口179) 单播建邻居 触发增量更新 丰富的选路属性 IBGP与EBGP BGP邻居建立过程解析 *************************************************************************

BGP/MPLS VPN之总结

一 MPLS技术基础 1.MPLS利用已有的路由信息建立虚连接---基于标签的转发路径,提高了转发效率,在面向无连接的IP网络增加了连接的属性,为IP网络提供了一定Qos保证,满足不同类型服务队Qos的要求. 2.(1)MPLS网络路由器分为两种角色,分别是LSR(标签交换路由器),LER(标签交换边缘路由器) (2)FEC(转发等价类):一组具备某些共同特征的数据流被MPLS网络看做同一类报文,进入MPLS网络时,被LER执行相同的标签映射,从而在整个MPLS网络中被看做是同一种报文,并以等价

IBGP路由重分发到IGP路由协议的问题

在下图的网络中,R1和R2运行BGP路由协议,而且是IBGP,R2和R3运行OSPF,本拓扑主要目的测试IBGP和OSPF之间的路由重分发问题. 在完成基础IP地址配置.ospf和bgp路由协议配置后,在R2上执行ibgp和ospf的单点双向重分发,完成重分发配置后,发现R1上可以学习到R3上的路由,但是R3上无法学习到R1的路由,检查重分发配置无误. 一番思考之后,在普通的企业应用中,将ibgp重分发到igp路由协议中,确实不多见,ibgp一般用于在AS内传递外部bgp路由信息,而AS内部路由

RIP、OSPF、BGP、动态路由选路协议、自治域AS

相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc1388.txt http://www.rfc-editor.org/rfc/rfc1247.txt http://www.rfc-editor.org/rfc/rfc1267.txt http://www.rfc-editor.org/rfc/rfc1268.txt http://www.cnpa

Azure VPN支持BGP的实现

Azure上有IPSec VPN Gateway的服务,VPN是在公有云服务中客户最常使用的网络服务之一. Azure的IPSec VPN Gateway可以支持IKEv1和IKEv2两种,之前的文章中已经做了一些介绍.同时,Azure IPSec VPN还可以和专线的ER Gateway共存.这个话题之前也讨论过多次.感兴趣的话,可以看以前的文章. 但Azure之前的IPSec VPN的服务中,所有的模式都是静态的方式,不支持动态路由.目前Azure China的IPSec VPN Gatew

BGP理论 &nbsp; 自己总结与借鉴

BGP(border  gateway  protocol)边界网关路由协议   巨型网关协议 一.什么是AS? AS(autonomous  system)自治系统:一组被统一管理的路由器. 二.BGP? Bgp:边界网关路由协议,主要运行在不同的AS之间,用来在不同的AS之间传递路由. BGP是凌驾于IGP之上的. 三.BGP的AS号? As号的范围:1-65535,AS号分为公有AS号和私有AS号. 公有AS号范围:1---64511,私有AS号范围:64512---65535 四.BGP