hcnp-bgp

BGP

基本概念

AS:由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合。

IGP:RIP,ospf,IS-IS

EGP:BGP(BGP是目前应用最广的EGP协议)

BGP几乎是当前唯一被用于在不同AS之间实现路由交互的EGP协议。支持VLSM,CIDR,自动/手动路由汇总。使用TCP作为传输协议,端口号179。首先两台互为对等体的BGP路由器首先会建立TCP连接,随后协商各项参数并建立对等体关系。初始情况下,两者会同步双方的BGP路由表,在BGP路由表完成同步后,路由器不会周期性的发送BGP路由更新,而是只发送增量更新或者在需要时进行触发性更新。不会像IGP协议那样,周期性的交互路由信息。

  1. BGP对等体关系类型

与ospf不同,BGP的对等体关系并不要求设备必须直连,BGP采用TCP作为传输层协议,两路由器只要具备IP连通性,并且可以顺利基于TCP179端口建立连接,就可以建立BGP对等体关系,因此BGP对等体关系是可以跨设备的。

(1)     EBGP对等体关系

建立对等体关系的两台BGP路由器位于不同AS内。通常,EBGP对等体关系必须基于直连接口。这是因为缺省时,EBGP对等体之间发送的BGP协议报文的TTL值为1,使得这些协议报文只能被传送一跳。当然,我们可以通过修改EBGP对等体的跳数限制,使非直连的路由器之间建立EBGP对等体关系。

(2)     IBGP对等体关系

建立对等体关系的两台BGP路由器位于相同AS。

2 IBGP水平分割规则

AS_Path属性可以防止BGP路由在EBGP对等体之间传递时发生环路。但是当BGP路由在一个AS内传递时,是无法以来AS_Path提供放环能力。BGP规定,当路由器从一个IBGP对等体学习到某条BGP路由时,它将不能再把这条路由通告给任何IBGP对等体。这就是IBGP的水平分割规则。

3 路由黑洞问题以及BGP同步规则

为规避路由黑洞问题,BGP引入同步规则:当一台路由器从自己的IBGP对等体学习到一条BGP路由时,它将不能使用该条路由或者把该条路由通告给自己的EBGP对等体,除非他又从IGP协议学习到这条路有,也就是要求IBGP路由与IGP路由同步。缺省时,BGP同步规则是关闭的。

4 路由通告

BGP路由在对等体之间交互时,主要存在以下几个原则(前提是BGP路由的Next-hop属性所填充的下一跳可达):

(1)     当一台路由器发现多条可到达同一目的网段的BGP路由时,该路由器会通过一个路由选择进程在这些路由器中选择一条最优路由,通常,路由器只会将最优路由加载到路由表中,(激活负载分担功能除外),而且只会将最优路由通告给BGP对等体

(2)     当一台路由器从自己的EBGP对等体学习到BGP路由时,缺省时它会将这些路由通告给所有IBGP对等体以及所有EBGP对等体。

(3)     当一台路由器从自己的IBGP对等体学习到BGP路由时,他不会将这些路由通告给其他IBGP对等体,这是IBGP水平分割规则使然。

(4)     当一台路由器从自己的IBGP对等体学习到BGP路由时,如果BGP同步被激活,则路由器只有从IGP协议也学习到相应的路由时,才会将这些BGP路由通告给EBGP对等体;日过BGP同步被关闭,则即使没有从IGP协议学习到相应路由,他也会将这些BGP路由通告给EBGP对等体。

5 Router-ID

BGP Router-ID是网络设备的BGP协议标识符,长度32bit,与IPv4地址格式相同,可手动配置,也可自动获取。

6 报文类型以及格式

BGP主要有4种协议报文。所有的BGP报文都有一个相同格式的头部,该头部19byte。

标记(Maker):该字段被保留用于协议兼容

长度:BGP报文长度(字节数)

类型:BGP报文类型,报文类型与字段值对应关系如下,1.open报文,2.update报文,3.Notification报文,4.Keepalive报文。

(1)     open报文

在TCP连接建立后,双方便开始交互Open报文,该报文中包含设备所处的AS号,BGP版本号,Router-ID以及一些可选参数信息,如果路由器认可对方所发的Open报文,则立即回复一个Keepalive报文作为确认。

版本:BGP协议的版本

AS号:该BGP报文发送方所处AS的号码

保活时间(Hold Time):在多长时间内必须收到对方的keepalive或者update报文,否则将该对等体视为无效。两对等体协商参数时,保活时间可以不一致,但是双方最终只认可保活时间最小的。

可选参数长度:BGP报文中,可选参数的长度

可选参数:每个可选参数使用类型,长度,以及值得三元组格式来描述。

(2)     Update报文

BGP路由器使用Update报文向其对等体通告路由信息。BGP在一个Update报文中通告一条或者多条拥有相同路径属性的路由,拥有不同路径属性的BGP路由需要使用不同的Update报文来通告。Update报文还可用来撤销一条或者多条BGP路由

撤销路由的长度(Withdrawn Routes Length):Update报文中可包含0条或者多条准备撤销的BGP路由。该字段是一个无符号整数,指示了Update报文中所包含的“撤销的路由条目”字段的长度。

撤销的路由条目:用于存放需要被撤销的BGP路由前缀,如果有多条BGP路由需要使用这个Update报文来撤销,那么这个字段将包含一个BGP路由前缀列表。每条BGP路由前缀包含两元,分别是前缀长度以及路由前缀。

总路径属性长度:Update中路径属性的总长度

路径属性:BGP路由器使用Update报文向邻居通告BGP路由时,该报文中包含着路径属性。

网络层可达性:该字段用于存放被通告的BGP路由前缀。

(3) Keepalive报文

BGP协议依赖TCP实现协议的可靠性,但是他并不依赖TCP的保活机制,而是周期性的发送Keepalive报文来了解对等体的存活情况。BGP路由器会为对等体维护一个保活计时器,BGP发送Keepalive报文的时间间隔缺省为1/3的保活计时器时间

(4)Notification报文

当BGP检测到一个错误时,他可使用Notification报文来告知对等体。

7 查看BGP对等体

dis bgp peer,状态为Established,意味着完成了对等体关系的建立

8 BGP路由表

(1)     当设备从其他对等体接收BGP路由后,他可以针对这些路由作入方向的路由策略。

(2)     每条BGp路由都会被执行可用性检查,设备会计算每条BGP路由的Next_Hop的可达性,如果在全局路由表中查询到了去往Next_Hop的路由,则该BGP路由被视为可用(Valid),否则视为不可用(Invalid)。在BGP路由表中,可用的BGP路由前有星号。最优路由行首会有尖括号。

(3)     从IBGP对等体学习到的路由会标记i,如果是从EBGP学习到的则没有该标记

9 将路由发布到BGP

与IGP不同,BGP不会自动发现路由,而是需要手动将路由发布到BGP

(1)     使用network命令将路由发布到BGP

(2)     使用import-route命令将路由引入BGP。该命令与network相比,在发布路由时会导致Origin属性不一致。

(3)     使用aggregate向BGP发布汇总路由

二 路径属性

BGP路径属性分为两大类:公认和可选。公认属性是所有BGP路由器必须能够识别的路径属性;可选属性则不要求所有BGP路由器都必须可以识别。

公认属性里分两类:强制以及自由决定,强制属性指的是当BGP路由器使用Update报文通告路由更新时必须携带的路径属性,而自由决定属性则不要求Update报文必须携带。

可选属性分两类:传递和非传递。对于传递属性,如果路由器不能够识别该路径属性,也应该接受携带该路径属性的BGP路由更新,且当路由器将该路由通告给其他对等体时必须携带该路径属性。对于非可传递属性,如果BGP路由器不能够识别该属性,那么该路由器将会忽略携带该路径属性的BGP路由更新且不将该路由通告给其他BGP对等体。

(1)     公认强制:Origin,AS_Path,Next_Hop

(2)     公认自由属性:Local_Preference,Atomic_Aggregate

(3)     可选传递:Community,Aggregator

(4)     可选非传递:MED,Originator_ID,Cluster_List

1 Preferred_Value

华为私有路径属性,取值范围0-65535,该值越大路由的优先级越高。只在本地有效,不会传递给其他对等体(不会出现在Update报文中)。用法之一:结合路由策略,对路由器从对等体学习到的路由,进行优先级调节。

2 Local_Preference(本地优先级)

该属性是一个公认自由决定属性,只能在IBGP对等体之间传输,当路由被通告给EBGP对等体时,禁止携带该属性。故该属性只能在一个AS内部传递。改值越大路由越有可能被优选。用法之一:当BGP路由器从EBGP对等体学习到路由时,路由器会为EBGP路由关联一个Local_Preference属性值,缺省为100。而当他们将这条路由通告给IBGP对等体时,将携带该属性。这是可在路由器上配合路由策略,修改该条路由的Local_Preference属性值。

3 AS_Path

该属性为公认强制属性,它描述了一条BGP路由在传递过程中所经过的AS号码。AS_Path是一个有长度的AS号码列表,一台路由器在将路由通告给自己的EBGP对等体时,会将本地的AS号插入到该路由原有的AS_Path之前。AS_Path具有两个非常重要的作用:1)避免EBGP路由的环路;2)用于BGP路由的优选,AS_Path越短则该路由被视为越优,因为这条路径到达目的网络所经过的AS个数更少。

4 Origin

该属性是一个公认强制属性,用于描述BGP路由的来源,当一条路由被发布到BGP后,Origin属性便被发布该路由的路由器附加到这条路由上,并且在路由传递过程中,缺省时Origin属性值不变。Origin属性有3种类型:

1) IGP:如果路由是由始发的BGP路由器使用network命令发布到BGP的,那么该BGP路由的Origin属性为IGP

2) EGP:如果路由是通过EGP学习到的,那么该BGP路由的Origin属性为EGP(此处EGP指的是一个路由协议,现在已经不用了)

3) Incomplete:如果路由是通过其他方式学习到的,例如import-route,则属性为Incomplete

当到达同一个目的网段存在多条BGP路由时,如果其他条件相同,Origin属性为IGP的路由最优,其次是EGP,最后是Incomplete

5 MED

可选非传递属性,是一种度量值,MED属性值最小的BGP路由将被优选。当路由器将某条设置了MED属性的路由通告给EBGP对等体时,后者在其所在的AS内通告该BGP路由时,缺省会携带该MED属性值。但是当该路由被传出AS时该MED属性值不会被携带。

6 Next_Hop

该属性是公认强制属性,所有的BGP路由都会携带该属性。该属性描述了到达目的网段的下一跳地址。BGP路由携带的Next_Hop属性值将在路由器计算路由时用于确认到达该路由的目的网段的实际下一跳IP地址和出接口

(1)     Next_Hop属性的缺省操作

1) 当路由器将本地路由表中的直连路由,静态路由或通过IGP协议学习到的动态路由使用network或import-route命令发布到BGP时,在该路由器的BGP路由表中,这些路由的Next_Hop属性为0.0.0.0(该路由器是这些路由的始发者)

2) 当BGP路由器使用aggregate命令通告一条BGP路由汇总时,在该路由器的BGP路由表中,该汇总路由的Next_Hop属性值为127.0.0.1。

3) 当路由器将本地始发的BGP路由通告给自己的IBGP对等体时,路由的Next_Hop属性值将被设置为这台路由器的BGP更新源IP地址(Update Source IP);而当路由器将非本地始发的IBGP路由通告给自己的IBGP对等体时,缺省时该路由原有的Next_Hop属性不会被改变。

4) 当路由器将一条EBGP路由通告给自己的IBGP对等体时,缺省时该路由器不会改变该路由原有的Next_Hop属性

5) 当路由器将一条BGP路由通告给自己的EBGP对等体时,无论该路由是否为该路由器始发,路由的Next_Hop属性值都会被设置为这台路由器的更新源IP地址

BGP的更新源IP地址也即设备发送BGP协议报文时所使用的源IP地址,该地址可以是设备直连接口的IP地址,也可是设备的Loopback接口的IP地址

(2)     使用next-hop-local命令修改Next_Hop属性值

通常,AS内部运行这一个IGP协议用于实现AS内的路由互通。而R2,R3之间的互联链路,对于AS34而言是外部链路,该链路使用的网段信息不会通过AS内的IGp进行扩散。换句话说,R4也许不能通过IGP协议学习到去往10.1.23.2的路由,那么即使R4可以通过BGP学习到10.5.0.0/16路由,这条路由也无法被优选,更不会被R4使用。解决这个问题的方法,一是可以在IGP协议中发布R2,R3之间的互联网段的路由,二是使用BGP的next-hop-local特性。可以在R3上执行peer 10.1.34.4 next-hop-local命令,如此一来,当R3将EBGP路由通告给R4时,这些路由的Next_Hop属性值将被修改为R3的BGP更新源IP地址,对于R4而言这个地址是到达的。

7 Atomic_Aggregate及Aggregator

在一个BGP网络中部署路由汇总,可以有效地减少BGP路由器通告的路由条目数目,减少设备的路由表规模,并将拓扑变化产生的影响限制在一个相对更小的范围内。

BGP在手工路由汇总的命令中,设计了as-set关键字,执行路由汇总时使用该关键字,则产生的汇总路由将继承明细路由的路径属性,如此一来明细路由的AS_Path等属性将不会丢失。

此时AS_Path由两个片段组成,其一是300(AS_Sequence),其二是{100,200}(AS_Set)。

Atomic_Aggregate是一个公认自由决定属性,他只相当于一种预警属性,不承载任何信息。当路由器收到一条携带Atomic_Aggregate的BGP路由更新时,他便知道该路由可能出现了路径属性丢失,此时该路由器再把这条路由通告给其他对等体时,需保留该属性,且收到该路由更新的路由器不能将这条路由再度明细化。

Aggregator是一个可选传递属性,当路由汇总被执行时,执行路由汇总操作的路由器可以为该汇总路由添加Aggregator属性,并在该属性中记录本地AS号和自己的Router-ID,故该属性用于标记路由汇总行为发生在哪个AS以及哪个BGP路由器上。

8  Community

该属性是一个可选传递属性,它类似于路由的标记,可以针对特定的路由设置特定的Community属性值,下游路由器在执行路由策略是,可以通过匹配Community属性值来匹配目标路由。

9 复位BGP

reset bgp all:复位路由器的所有BGP连接

reset bgp as-number:复位路由器与特定AS的BGP连接

reset bgp peer-address:复位路由器与特定对等体的BGP连接

reset bgp internal:复位路由器的所有IBGP连接

reset bgp external:复位路由器的所有EBGP连接

执行reset bgp后,BGP对等体关系将会被复位,BGP连接需要被重建,路由重新收敛,从而影响网络。如果设备支持Route—refresh,那么可以使用refresh bgp进行BGP连接的软复位。所谓软复位,是指在不重建BGP连接的情况下,刷新BGP路由从而使路由策略立即生效的方法。

三 路由反射器

路由反射器弥补了水平分割的缺陷。

  1. 路由反射器基本概念

路由反射器是一种用于解决AS内部BGP路由传递问题的技术。路由反射器以及他的客户端所构成的系统称为路由反射簇,如图7-46所示网络中,路由反射器R3与其客户R2,R4,R5就构成了一个路由反射簇。路由反射器与所有的客户建立IBGP对等体关系,客户之间无需建立IBGP对等体关系。路由反射器的配置是在充当反射器的BGP路由器上完成的,客户设备上必须要作任何配置。

路由反射器只在以下几种场景才会进行路由反射:

1) 如果路由反射器从自己的非客户端对等体学习到一条IBGP路由,则它会将该路由反射给所有客户。

2) 如果路由反射器从自己的客户学习到一条IBGP路由,则它会将该路由反射给所有非客户,以及除了该客户之外的其他所有客户。(华为路由器支持关闭路由在客户之间的反射行为)

3) 当路由反射器执行路由反射时,它只将自己使用的,最优的BGP路由进行反射。

2 路由反射器环境下的路由防环

实际上,路由反射器对IBGP路由的操作是突破了水平分割规则的,而IBGP路由又依赖水平分割规则来实现无环化。BGP使用Originator_ID和Cluster_List这两个可选非传递属性来实现防环,这两个属性只在部署了路由反射器的环境中使用。

(1)     Originator_ID属性是一个可选非传递属性,长度为32bit,格式与IPv4地址一致。当一条BGP路由被路由反射器反射给其他路由器时,如果该路由已经携带了Originator_ID属性,则保留,否则路由反射器为这条路由添加Originator_ID属性,并将属性值设置为该路由在本地AS内的始发路由器的Router-ID。当路由器从BGP对等体收到一条IBGP路由,并且该路由所携带的Originator_ID属性值与自己的BGP Router-ID相同时,他意识到从自己这里始发的路由又被通告回来了,他将忽略这条路由的更新。

(2)     Cluster_List属性是一个可选非传递属性,该属性值是可变长的,他可以包含一个或者多个Cluster_List(路由反射簇标识符)。路由反射器与其客户构成了路由反射簇,在一个AS内可以有多个路由反射簇,每个路由反射簇都有自己的Cluster_ID。Cluster_ID是一个可配置的,32bit的数值,缺省时为路由发射器的BGP Router-ID。当一条BGP路由被路由反射器反射时,如果该路由中已经含有Cluster_List属性,那么路由反射器会将本地的Cluster_ID附加到路由的Cluster_List属性值之前;如果该路由不存在Cluster_List属性,则路由反射器为它创建Cluster_List属性并将本地的Cluster_ID插入Cluster_List属性值中。当一台路由反射器收到一条BGP路由后,若发现该路由携带Cluster_List属性,并且Cluster_List属性值中包含自己的Cluster-ID,则说明被自己反射出去的BGP路由又被通告回来了,此时它将忽略该路由的更新。

四 联邦

联邦也被称为联盟,大致思想是在一个大的AS内创建若干个小的AS,使得AS内部出现一种特殊的EBGP对等体关系,从而解决IBGP路由在AS内传递的问题。

1 概念

在AS3456内创建两个小AS,AS64512和AS64513。此时AS3456被称为联邦AS,AS64512和AS64513被称为成员AS。如此一来R4和R5之间的关系则变成EBGP对等体关系。当R4从IBGP对等体R3学习到BGP路由时,他可以将路由通告给联邦对等体R5,打破了水平分割规则。因此通过在AS3456内部署联邦,即可在AS内没有实现IBGP对等体全互联的情况下,解决路由传递问题。对于联邦AS外部的网络而言,他们并不知晓成员AS。

2 AS_Path属性在联邦AS中的处理

BGP设计了4种AS_Path片段类型:AS_Sequence,AS_Set,AS_Confed_Sequence,AS_Confed_Set。

关于AS_Sequence,AS_Set片段前面已经介绍过。联邦使用了AS_Confed_Sequence,AS_Confed_Set这两种片段,这两种片段与前面两种类似,只不过他们只被用于联邦。当路由在联邦EBGP对等体之间传递时,成员AS号被写入这些特殊的AS_Path片段中。而当路由被传出联邦时,成员的AS号应该被移除,此时这两种片段类型将被设备从AS_Path属性中移除。

五 BGP路由优选规则

当一台路由器学习到多条到达相同目的网段的BGP路由时,他将进行路由优选,选出最优的一条路由,并且只讲最优的路由加载到全局路由表作为数据转发依据(不考虑路由负载分担),也只会将最优的路由通告给其他对等体。BGP通过如下次序进行路由优选。

1) 优选Preferred_Value属性值最大的路由

2) 优选Local_Preference属性值最大的路由

3) 本地始发的路由由于从其他对等体学习到的路由。其中本地始发的路由类型按优先级从高到低排列为:手工汇总路由,自动汇总路由,network发布的路由,import-route发布的路由

4) 优选AS_Path属性值最短的路由

5) 优选Origin属性最优的路由。高低顺序:IGP,EGP,Incomplete

6) 优选MED属性值最小的路由

7) 优选从EBGP对等体学来的路由(EBGP路由的优先级高于IBGP)

8) 优选到Next_Hop的IGP度量值最小的路由

9) 优选Cluster_List最短的路由

10)   优选Router-ID最小的设备通告的路由

11)   优选具有最小IP地址(peer命令所指定的地址)的对等体通告的路由

BGP状态机

BGP有限状态机共有六种状态,分别是Idle、Connect、Active、OpenSent、OpenConfirm和Established。

  • Idle状态是BGP初始状态。在Idle状态下,BGP既不发送TCP连接请求,也拒绝邻居发送的TCP连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。

    • Start事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置BGP过程引起的。
    • 任何状态中收到Notification报文或TCP拆除链路通知等Error事件后,BGP都会转至Idle状态。
    • 在Connect状态下,BGP启动连接重传定时器(Connect Retry,缺省为32秒),等待TCP完成连接。
      • 如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态;
      • 如果TCP连接失败,那么BGP转至Active状态;
      • 如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态。
      • 如果发生其他事件(由系统或者操作人员启动的),则退回到Idle状态。
      • 在Active状态下,BGP总是在试图建立TCP连接。(实际上是被动的建TCP)
        • 如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态;
        • 如果TCP连接失败,那么BGP停留在Active状态;
        • 如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。
      • 在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。
        • 如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态;
        • 如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。
      • 在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。
      • 在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。
        • 如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。
        • 如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。
        • Route-refresh报文不会改变BGP状态。
        • 如果收到Notification报文,那么BGP转至Idle状态。
        • 如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。

在BGP协议中,一种报文叫做notification,当BGP邻居关系断开,会发送notification消息,里面会包含一些错误码,有关错误码的解释,从网上找了一些,一起分享下,有错误的地方,也希望可以指出:


NO


类型


错误码


中文(非必要)


1


报文头


0


 


2


1/1


连接未同步


3


1/2


错误消息长度


4


1/3


错误消息类型


5


open报文


2/1


不支持的版本号


6


2/2


错误的对端AS号


7


2/3


错误的BGP标识符


8


2/4


不支持的选项参数


9


2/5


认证失败


10


2/6


不支持的HOLDTIMER


11


2/7


不支持的能力类型


12


update报文


3/1


畸形属性列表


13


3/2


未识别的共认属性


14


3/3


缺少公认属性


15


3/4


属性标识错误(属性类型和属性标识比匹配)


16


3/5


属性长度错误


17


3/6


无效的origin属性(不认识的origin属性值)


18


3/7


AS路由环路


19


3/8


无效的next-hop属性


20


3/9


可选参数的错误


21


3/10


无效网络字段(无效IP地址)


22


3/11


畸形AS-PATH


23


4/0


4/0


Hold timer超时


24


5/0


5/0


FSM错误(状态机错误)


25


终止的子错误


6/1


路由达到最大路由数


26


6/2


人为shutdown


27


6/3


undo peer的时候


28


6/4


人为reset


29


6/5


连接拒绝


30


6/6


其他的配置改变


31


6/7


连接冲突解决


32


6/8


资源不足


33


6/9


BFD down导致BGP session down


34


6/0


其他所有情况

BGP报文交互中的角色

BGP报文交互中分为Speaker和Peer两种角色。

1、Speaker:

发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。

2、Peer:

相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。

Route-refresh(刷新)报文:

用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。

原文地址:https://www.cnblogs.com/guang-li/p/12128640.html

时间: 2024-10-11 05:03:14

hcnp-bgp的相关文章

HCNP学习笔记之BGP协义原理与配置1-基础知识

动态路由协议可以按照工作范围分为IGP以及EGP. IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换: AS:路由管理域的集合. 而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种. BGP协议经常用于ISP之间. 自治系统AS:的典型定义是指由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合. 每个自治系统都有唯一的自治系统编号,这个编号是由IANA分配的.1-65535(2个字节) 私有编号:64512-65535 现

HCNP学习笔记之BGP协议原理及配置2-BGP工作原理

1 基于TCP连接的邻居关系 BGP邻居关系建立在TCP连接的基础之上 可以通过IGP或静态路由来提供TCP连接的IP可达性 同OSPF.ISIS一样,在BGP中,路由学习的依然要首先建立邻居关系. 所不同的是: OSPF.ISIS的邻居关系是自动建立的,而BGP邻居的建立必须手动完成,从邻居的建立开始就体现出了BGP是基于策略进行路由的(物理上直接相连未必是邻居,反过来物理上没有直接相连可以建立邻居关系). BGP邻居关系是建立在TCP会话的基础之上的,而两个运行BGP的路由器要建立TCP的会

HCNP学习笔记之BGP协议原理及配置3-路由聚合

BGP协议可以使用命令,将具体路由聚合成一条聚合路由. 路由聚合原则采用最长相同掩码匹配的方法. 路由聚合可以减小路由表的大小 没有路由明细可以减少路由翻动,不会因为单条路由变化引起路由翻动 1 自动聚合(现网中不用,可控性差,只能聚合成主类网络) 配置自动聚合后,生成聚合后的自然网段路由,而原引入的子网路由被抑制,不会被优选和发布给BGP邻居. summary automatic  //用来使能对引入的路由进行自动聚合 undo summary automatic    //命令用来取消对引入

BGP路由过滤

本实验来源于HCNP路由实验指南 实验要求:1. AS200不能接收其它分支机构的路由 2. 分支机构2(AS300)不能将自己的路由信息通告给其它分支机构 3. 分支机构4(AS500)不能接收分支机构3(AS400)的路由 实验编址表 R1 GE0/0/0:10.0.12.1/ 24 GE0/0/1:10.0.13.1/ 24 GE0/0/2:10.0.14.1 /24 lo0:10.0.1.1 32 R2 GE0/0/0:10.0.12.2 /24 GE0/0/1:10.0.25.2/ 2

BGP中正则表达式的理解

今天不经意和网上一个朋友聊到H3CTE 考试,不过很遗憾的上我考挂了,所以才和他讨论的,当时讨论BGP 的路由属性控制MED 和LOCAL-PECR ,突然帽出来个正则表达式,很郁闷的是,我一直都没怎么在乎这个东西,以前只是看到过,以为不怎么重要,今天他突然和我讲了下重要性,而且当时考H3CTE 就需要用上这个,汗~~~居然都不知道.和他聊完我立即找这相关方面的资料,找到了一点点,郁闷很难看懂啊,都是一些符号不好理解啊.没法呀,得学习^_^ 下面是对BGP 正则表达式的介绍 . 匹配任意单个字符

被惩罚的网站抓取不会减少BGP

被惩罚的网站抓取不会减少BGP, 网站被惩罚是一个非常令人苦恼的事情,得易搜信息网因为网站被惩罚往往伴随着索引量减少,关键词排名下降,流量减少等,自己的成果付之东流,没人愿意看到.很多人认为被搜索引擎惩罚就相当于被贴上了"垃圾"的标签,被牢牢的抓住了,再也翻不了身,搜索引擎也不会再很好的抓取这个网站,事实如此吗? 被惩罚的网站,抓取不会减慢 是否谷歌抓取被惩罚的站点频率会更少或更慢?谷歌回应,通常对被惩罚的网站,抓取不会减慢.因为网站被某个算法惩罚后,需要等待谷歌抓取这个网站,提取网站

深度探索 OpenStack Neutron:BGP(1) 【转载】

3.4 BGP 原文地址:http://mp.weixin.qq.com/s?src=3&timestamp=1500043305&ver=1&signature=XwiIVVLHaVK5kzRNQKR1dkOzl1DR375P-R9g998sGTpT8WF20P9REPkYOfS85KOlI2h8RnHL3jvJvFu6gu*CNceX8Ky1iJXeGkX1NGYyMFruvBNS1XsJUv3RHgtEpGEIdMN4UZfKkUcdQQ6b9ZbvkqUaAcyanc3bh

BGP基础

BGP基础 BGP是应用于自治系统间的路由协议(注意此处的自治系统是指使用同一个路由协议的网络集合,要跟OSPF.EIGRP的进程号等加以区分),通过使用BGP,我们可以将使用不同路由协议的自治系统连接起来,组成一个更大的网络,虽然这个功能使用重分发也可以实现,但是使用BGP,一方面可以简化路由表,另一方面让我们可以精确的控制路由条目.下面的一些简单说明也许能让你更加清晰的理解BGP. 一.基础要点 通常在AS(自治系统)内部运行某种IGP协议,用于AS内部的路由学习和管理:而在AS的边界运行B

BGP的各种属性

边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议. BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议. BGP 构建在 EGP 的经验之上. BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息.网络可达信息包括列出的自治系统(AS)的信息.这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策. BGP采用TCP179端口,BGP不会学习路由, 只会传递路由. * BG

quagga源码学习--BGP协议路由更新

BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了冗长的属性,community等等处理过程,不做详述. bgp_read函数是路由更新的事件处理函数,在收到BGP_MSG_UPDATE消息的时候开始调用bgp_update_receive函数处理. 1 switch (i) { 2 case NLRI_UPDATE: 3 case NLRI_MP_UPDATE: 4 nlri_ret = bgp_nlri_parse(peer, NLRI_ATTR_ARG, &n