最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

BGP 详解

IT圈 admin 27浏览 0评论

2024年3月12日发(作者:伊江雪)

BGP基础:

1. 使用TCP179号端口作为底层传送机制。由于将分段、重传、确认、排序等工作

交给TCP处理,使得BGP的更新机制得到简化。也由于BGP建立在TCP之上,因此需要

为每个对等体建立一个独立的点到点连接。

2.利用AS_path 可以防环。路由器在收到路由更新后,如果发现在AS_path中包含

了自己的本地AS号,那么就说明出现了环路。进而拒绝接收该更新。从而避免环路。

3.命令 show ip bgp 可以看到BGP 路由表。BGP 路由表中西那是了目的网络、下

一跳、以及用于最短路径的度量值,weight、localpre、path等。

BGP 路由表列出所有已知路径 。*表示有效路由。*>则表示当前使用的路由,该

最佳路由是拥有最短AS_PATH的路径。

如果去往目的地是存在多条并行等价路径,默认下EBGP仅选择一条路径。命令

maximum_path拥有更改并行路径的默认最大值。而对于IBGP而言,只能使用一条链

路。

4.两个邻居在首次建立BGP对等连接时,会交换各自的全部BGP路由表,之后则交

换增量的部分更新。由于BGP 不使用周期性的路由更新机制,因而对等体之间必须交换

保持激活消息(keepalive)消息,以维护该对等体连接。

BGP消息类型

在建立bgp对等连接之前,两个邻居必须执行标准TCP三次握手进程,并在端口179

打开TCP连接。

所有BGP消息采用单播方式经TCP连接传递给邻居。

4种消息类型:

-Open 消息

-keepalive (保持激活)消息

-Update 消息

-Notification (通告)消息

消息:

TCP建立后,两端发送Open消息指定BGP参数

包括:

- BGP版本号:如果两端版本不一致,则协商至相同为止,版本号高的服从版本号低

的。假设一端是BGP-3,另一端是BGP-4,则最后协商的结果为BGP-3.

-自治系统号:表示会话发起端路由器的AS号,用以确定该BGP会话是EBGP会话,

还是IBGP会话

-保持时间:表示路由器在收到keepalive消息或者Update消息前可以等待的最长时

间。cisco默认保持时间为180秒

-BGP标识符:用来标识邻居的IP地址.Cisco IOS 确定BGP标识符的过程与确定

OSPF 路由器ID的过程完全一致。即:

手工指定>looback口最大IP地址>up的物理接口上最大的IP地址

-可选参数:用来宣告支持验证、多协议支持和路由刷新等可选功能。

:Marker用于BGP验证的计算,不使用验证的时候所有bit的值均为1

ive消息

如果路由器接受邻居发送来的OPEN消息中指定的参数,则响应一条Keepalive消息。

此后,默认每60秒发送一次keepalive消息。180秒收不到则邻居关系down。

消息

用于宣告可行路、以撤销路由或者两者。Update消息包括以下信息:

-NLRI 网络层可达信息。是一个或多个宣告IP地址前缀及长度的二元组。

-路径属性

-已撤销路由:描述那些已变为不可达且退出服务的目的地址(长度、前缀 )二元组

cation 消息

路由器只要检测到差错,就会发送Notification消息并关闭BGP连接。

BGP路径属性

分为4类

1.周知强制属性

2.周知自选属性

3.可选传递属性

4.可选非传递属性

周知属性:所有BGP实现都必须能识别这些属性。而可选属性并不要求BGP实现支

持这些属性

周知属性包括了:1.强制属性---即必须包含在BGP update消息中

2.自选属性---即可以包含在特定的BGP update消息中,也可

以不包含在特定的Upadate消息中。

如果可选属性是传递的,那么BGP进程应该接受该属性中包含的路径,即使不支持该

属性,并将该路径传递给对等体。 如果可选属性是非传递的,那么无法识别该属性的BGP

进程可以忽略Update消息中包括的该属性,并且不将该属性传递给对等体。

路径属性表:

ORIGIN --周知强制属性 AS_path 周知强制属性 NEXT_HOP 周知强制属性

LOCAL_PREF 周知自选属性 ATOMIC_AGGREGATE 周知自选属性

AGGREGATOR 可选传递属性 COMMUNITY 可选传递属性

MED(MULTI_EXIT_DISC 多出口分区) 可选非传递属性 ORIGINATOR_ID 可选非传

递属性 CLUSTER_LIST 可选非传递属性。

--ORIGIN 起源属性

指定了路由更新的来源。是用来确定优选路由的因素之一。ORIGIN 属性指定的路由

来源有以下3中:

: IGP源拥有ORIGIN值的最高优先级。如果路由是通过NETWORK语句从IGP

路由表中学到的,那么其BGP路由的源就是IGP

:优先级 次优

3.不完全的:BGP通过重分发学习到的路由将携带不完全路由来源属性。该携带该属

性的路由优先级最低。

--AS_PATH 属性

该属性利用一串AS号描述去往特定目的地的路由。由BGP发言者发起一条路由,并

在AS_paht加上自己的AS号,而后,后续的BGP发言者在将路由

宣告给外部对等体

时,

都会在AS_Paht中加上自身的AS号(加在最前面)。这样,AS_PATH就描述了该路由经

过的全部自治系统。从最近到达的AS开始,到发起该路由的源AS结束。

注意:仅当Update消息被发送到其他AS时,才会在AS PATH中加上自身的AS号。

即只在EBGP对等体中宣告路由条目时才追加AS号。

但有一种情况例外。

例如当有一个AS去往目的地有两条线路,一条带宽为1G,但经过3个AS,而另一

条带宽为100M,但经过两个AS。这样在最优路径选择时,往往会优先考虑进过AS较少

的路径。所以,此时可以在次优路径的AS_PATH中增加AS号用以确保最优路径进入路由

表。该技术被称为AS路径预附加(path prepending)

利用AS_path 可以防环.路由器在收到路由更新后,如果发现在AS_path中包含了自

己的本地AS号,那么就说明出现了环路。进而拒绝接收该更新。从而避免环路。

--NEXT_HOP属性

该属性描述了下一跳路由器的IP地址。对于BGP 而言,BGP NEXT_HOP地址不总

是邻居的IP地址。

其规则如下:

1.如果过宣告路由器与接收路由器位于不同的AS中,那么NEXT_hop是宣告路由器

的接口IP地址

2.如果宣告路由器与接收路由器位于同一AS内,并且update中的NLRI指向的是同

一AS内的目的地,那么NEXT_HOP是宣告该路由的接口IP地址。

即使宣告路由器和接收路由器并不共享同一链路,其下一跳地址也能够通过递归查询

找到去往该地址的路由--因为BGP是建立在IGP之上的。

3.如果宣告路由器和接收路由器是内部对等体,且NLRI指向的是不同AS内的目的地,

那么NEXT_HOP是外部对等体的接口IP地址。

注意:该接口IP只有AS边界路由器能够到达,除非AS边界路由器将该网络宣告到

IGP的AS内,否则IGP将无法知道该网络。即使去往该网络的路由已经在bgp路由表中,

但却没有安装到IGP路由表中,那么对接收路由器来说,下一跳仍是不可达。

解决方案:

---1.指定静态路由。

---2.使用命令:next-hop-self使AS边界路由器将NEXT_HOP属性设置为自己的IP

地址,然后宣告给IBGP内的路由器。

--LOCAL_PREF 本地优先级属性

用于内部对等体之间的Update消息,不会传递给其他AS。用以通告被宣告的路由的

优先级,优先级越大该路由越优。例如:如果内部BGP发言者收到多条去往相同目的地的

路由,那么比较这些的LOCAL_PREF属性,优先级最高的路由被选中。

在多宿主AS中的路由器有可能学到去往同一个目的网络而接口属于不同AS的邻居

的多条路径。事实上,从本地AS到达任何目的地网络都可能存在多个出口。这是可以用

本地优先级强制BGP路由器在路由分组到某个目的地的时候优选某个出口点。因为该属性

在AS内的所有BGP路由器之间交换,所以所有BGP路由器对如何走出本AS具有一致性。

(PS:对于某个给定目的地,尽管路由器总是优先选用具有较低度量值和管理距离的

路由,但在相同情况下,BGP路由器却优先选用具有较高本地优先级属性值的路由。)

--MULTI_EXIT_DISC 属性

该属性只影响入站的流量,与Loca_pref相反。该属性承载于EBGP的Update消息

中。可以让某AS向其他AS说明其优选的入口点。在其他条件相同的情况下,若收到多条

去往相同目的地的路由,则优选MED值最小的路由。

注意:

1、MED仅用于影响两个直连的自治系统间的流量,如果要影响邻居AS之外的路由,

就要用到AS_PATH属性。

2、如果去往同一目的地的两条路由接收自两个不同的资质系统,那么将不会这两条路

由的MED值。MED仅仅用于单个AS,它在某AS存在多个入口点时用于说明不同入口点

的优先等级。

--ATOMIC_AGGREGATE和AGGREGATOR属性

汇总时,会丢失某些路由信息,而且路由选择也变得不够精确。同样,BGP发言者上

执行路由聚合后也会丢失路径的细节信息。

而ATOMIC_AGGREGATE用于向下游路由器告知已经出现了路径丢失情况。任何收

到带有ATOMIC_AGGREGATE属性的路由的下游BGP发言者都无法获得该路由更精确的

NLRI信息,而且在将该路由宣告给其他对等体时,必须将附加上ATOMIC_AGGREGATE

属性。

当设置ATOMIC_AGGREGATE属性时,BGP发言者还可以附加AGGREGATOR属性,

由于该可选传递性属性包含了AS号及发起路聚合的路由器的IP地址,因而提供了路由聚

合的相关信息。即:ATOMIC_AGGREGATE属性表示已经丢失了路径,而AGGREGATOR

属性指示了何处出现路由聚合。

--COMMUNITY属性

用于简化路由策略的执行。COMMUNITY属性将目的地视为某些共享一个或多个公

共特性的目的地的一个成员。例如,ISP可能会为其所有客户的路由都分配一个特定的

COMMUNITY属性,之后,该ISP就可以基于COMMUNITY值(而不是每条路由)来

设置其LOCAL_PREF和MED属性了。

管理性权值(Administrative Weight)

是cisco私有的BGP参数,仅用于单个路由器内的路由,不与其他路由器进行交换。

因而权值信息不会包含在BGP update消息中,也不回以任何方式告诉BGP发言者的对等

体。

范围 0~65535 权值越大,路由越优

在默认情况下,所有从对等体学到的路由的权值都为0,而所有本地路由器生成的路

由的权值为32768.

AS_SET

有两种类型的AS_PATH:

_SEQUENCE:一个有序的AS序号

_SET:一个去往特定目的地所经路径上的无序的AS序

号。

AS_SET主要是用于在有原子聚合的情况下,AS号未能包含在AS_PATH中,因而对

于某个发言者来说,就无法检测是否产生环路。而AS_PATH的防环机制其实并不需要AS

号以特定顺序进行排序,所需要的仅仅是接收路由器能够识别出其自身的AS号是否位于

AS_PATH中。这便是AS_SET的应用场合。

而由下图就可以看出,AS_SET之所以是一个无序列表,是因为AS 3113中的汇聚路由

器之后是去往各AS的分支路径,此时无法用有序的AS号来描述这些相互独立的路径。

BGP选路原则

1.如果下一跳不可达,则不考虑该路由。

路由器优先选用具有最大权重值的路径。

3.如果weight相同,BGP优先选用有最大LOCAL_PREF的路由。

4.如果路由具有相同的本地优先级,BGP路由器优先选用起源于本路由器的路由。也

就是说优选学习自IGP(运行于该路由器上)的路由。

5.如果本地优先级相同,BGP路由器优先选用具有最短AS路径的路由。

6.如果AS路径的长度相同,BGP路由器优先选用具有最低起源类型的路由。

(IGP

7.如果起源类型相同,优先选用最低MED值的路由

IBGP与IGP同步

学习来自IBGP邻居的路由在进入IGP路由表或被宣告给BGP对等体之前,必须首

先通过IGP来知晓该路由。 如果路由器上未运行IGP,那么BGP路由就不能进入IGP,

而且同步机制要求BGP路由通过IGP来了解该路由。

因此,要想保证IBGP能正常工作必须实施以下配置选项之一:

1、必须将外部路由重分发进IGP中,以确保IGP能够与BGP实现同步。

2、必须给IBGP路由器之间建立全连接关系。

3、关闭同步机制

管理大规模BGP对等应用

1.对等体组

在大规模BGP互联网络中,通常需要对多个对等体实施路由策略。例如,可能需要在

传送给多个对等体的UPDATE消息中设置相同的属性,或者对来自多个对等体的路由使用

相同的过滤器。此时,就可以通过对等体组(peer gourp)来简化配置量

2.团体

与对等体组是对一组路由器实施路由策略不同的是,团体是对一组路由实施路由策略。

路由器将其COMMUNITY属性设置为某个标识自己为某团体成员的值之后,就可以将路

由加入预先配置的团体中,之后,邻居路由器就可以基于COMMUNITY属性值将其策略

应用于特定路由。

当包含COMMUNITY属性的路由被聚合后,聚合路由将继承所有被聚合路由的

COMMUNITY属性

3.路由反射器

如果在AS内为IBGP建立全互联,需要n(n-1)/2条IBGP连接。而反射器为全连

接提供了一种替代方案。

将某台路由器设置为RR,其他IBGP路由器则被称为客户。可以不再需要与每台IBGP

路由器建立对等关系,只要与RR建立对等体关系即可。为了防止环路,要求路由反射器

不得更改其从客户接受到的路由的属性。

4.联盟

是另一种控制大陆IBGP对等体的方法。联盟中的BGP发言者与同一个成员AS中对

等体建立IBGP关系,而与其他成员AS中的对等体建立EBGP关系。BGP回味联盟分配

一个联盟ID,该联盟ID被联盟外的对等体视为整个联盟的AS号。外部对等体无法看见联

盟的内部结构,他们将联盟视为一个AS。

如图所示,AS9184就是一个联盟ID。联盟中的成员AS号的范围是64512~65535

2024年3月12日发(作者:伊江雪)

BGP基础:

1. 使用TCP179号端口作为底层传送机制。由于将分段、重传、确认、排序等工作

交给TCP处理,使得BGP的更新机制得到简化。也由于BGP建立在TCP之上,因此需要

为每个对等体建立一个独立的点到点连接。

2.利用AS_path 可以防环。路由器在收到路由更新后,如果发现在AS_path中包含

了自己的本地AS号,那么就说明出现了环路。进而拒绝接收该更新。从而避免环路。

3.命令 show ip bgp 可以看到BGP 路由表。BGP 路由表中西那是了目的网络、下

一跳、以及用于最短路径的度量值,weight、localpre、path等。

BGP 路由表列出所有已知路径 。*表示有效路由。*>则表示当前使用的路由,该

最佳路由是拥有最短AS_PATH的路径。

如果去往目的地是存在多条并行等价路径,默认下EBGP仅选择一条路径。命令

maximum_path拥有更改并行路径的默认最大值。而对于IBGP而言,只能使用一条链

路。

4.两个邻居在首次建立BGP对等连接时,会交换各自的全部BGP路由表,之后则交

换增量的部分更新。由于BGP 不使用周期性的路由更新机制,因而对等体之间必须交换

保持激活消息(keepalive)消息,以维护该对等体连接。

BGP消息类型

在建立bgp对等连接之前,两个邻居必须执行标准TCP三次握手进程,并在端口179

打开TCP连接。

所有BGP消息采用单播方式经TCP连接传递给邻居。

4种消息类型:

-Open 消息

-keepalive (保持激活)消息

-Update 消息

-Notification (通告)消息

消息:

TCP建立后,两端发送Open消息指定BGP参数

包括:

- BGP版本号:如果两端版本不一致,则协商至相同为止,版本号高的服从版本号低

的。假设一端是BGP-3,另一端是BGP-4,则最后协商的结果为BGP-3.

-自治系统号:表示会话发起端路由器的AS号,用以确定该BGP会话是EBGP会话,

还是IBGP会话

-保持时间:表示路由器在收到keepalive消息或者Update消息前可以等待的最长时

间。cisco默认保持时间为180秒

-BGP标识符:用来标识邻居的IP地址.Cisco IOS 确定BGP标识符的过程与确定

OSPF 路由器ID的过程完全一致。即:

手工指定>looback口最大IP地址>up的物理接口上最大的IP地址

-可选参数:用来宣告支持验证、多协议支持和路由刷新等可选功能。

:Marker用于BGP验证的计算,不使用验证的时候所有bit的值均为1

ive消息

如果路由器接受邻居发送来的OPEN消息中指定的参数,则响应一条Keepalive消息。

此后,默认每60秒发送一次keepalive消息。180秒收不到则邻居关系down。

消息

用于宣告可行路、以撤销路由或者两者。Update消息包括以下信息:

-NLRI 网络层可达信息。是一个或多个宣告IP地址前缀及长度的二元组。

-路径属性

-已撤销路由:描述那些已变为不可达且退出服务的目的地址(长度、前缀 )二元组

cation 消息

路由器只要检测到差错,就会发送Notification消息并关闭BGP连接。

BGP路径属性

分为4类

1.周知强制属性

2.周知自选属性

3.可选传递属性

4.可选非传递属性

周知属性:所有BGP实现都必须能识别这些属性。而可选属性并不要求BGP实现支

持这些属性

周知属性包括了:1.强制属性---即必须包含在BGP update消息中

2.自选属性---即可以包含在特定的BGP update消息中,也可

以不包含在特定的Upadate消息中。

如果可选属性是传递的,那么BGP进程应该接受该属性中包含的路径,即使不支持该

属性,并将该路径传递给对等体。 如果可选属性是非传递的,那么无法识别该属性的BGP

进程可以忽略Update消息中包括的该属性,并且不将该属性传递给对等体。

路径属性表:

ORIGIN --周知强制属性 AS_path 周知强制属性 NEXT_HOP 周知强制属性

LOCAL_PREF 周知自选属性 ATOMIC_AGGREGATE 周知自选属性

AGGREGATOR 可选传递属性 COMMUNITY 可选传递属性

MED(MULTI_EXIT_DISC 多出口分区) 可选非传递属性 ORIGINATOR_ID 可选非传

递属性 CLUSTER_LIST 可选非传递属性。

--ORIGIN 起源属性

指定了路由更新的来源。是用来确定优选路由的因素之一。ORIGIN 属性指定的路由

来源有以下3中:

: IGP源拥有ORIGIN值的最高优先级。如果路由是通过NETWORK语句从IGP

路由表中学到的,那么其BGP路由的源就是IGP

:优先级 次优

3.不完全的:BGP通过重分发学习到的路由将携带不完全路由来源属性。该携带该属

性的路由优先级最低。

--AS_PATH 属性

该属性利用一串AS号描述去往特定目的地的路由。由BGP发言者发起一条路由,并

在AS_paht加上自己的AS号,而后,后续的BGP发言者在将路由

宣告给外部对等体

时,

都会在AS_Paht中加上自身的AS号(加在最前面)。这样,AS_PATH就描述了该路由经

过的全部自治系统。从最近到达的AS开始,到发起该路由的源AS结束。

注意:仅当Update消息被发送到其他AS时,才会在AS PATH中加上自身的AS号。

即只在EBGP对等体中宣告路由条目时才追加AS号。

但有一种情况例外。

例如当有一个AS去往目的地有两条线路,一条带宽为1G,但经过3个AS,而另一

条带宽为100M,但经过两个AS。这样在最优路径选择时,往往会优先考虑进过AS较少

的路径。所以,此时可以在次优路径的AS_PATH中增加AS号用以确保最优路径进入路由

表。该技术被称为AS路径预附加(path prepending)

利用AS_path 可以防环.路由器在收到路由更新后,如果发现在AS_path中包含了自

己的本地AS号,那么就说明出现了环路。进而拒绝接收该更新。从而避免环路。

--NEXT_HOP属性

该属性描述了下一跳路由器的IP地址。对于BGP 而言,BGP NEXT_HOP地址不总

是邻居的IP地址。

其规则如下:

1.如果过宣告路由器与接收路由器位于不同的AS中,那么NEXT_hop是宣告路由器

的接口IP地址

2.如果宣告路由器与接收路由器位于同一AS内,并且update中的NLRI指向的是同

一AS内的目的地,那么NEXT_HOP是宣告该路由的接口IP地址。

即使宣告路由器和接收路由器并不共享同一链路,其下一跳地址也能够通过递归查询

找到去往该地址的路由--因为BGP是建立在IGP之上的。

3.如果宣告路由器和接收路由器是内部对等体,且NLRI指向的是不同AS内的目的地,

那么NEXT_HOP是外部对等体的接口IP地址。

注意:该接口IP只有AS边界路由器能够到达,除非AS边界路由器将该网络宣告到

IGP的AS内,否则IGP将无法知道该网络。即使去往该网络的路由已经在bgp路由表中,

但却没有安装到IGP路由表中,那么对接收路由器来说,下一跳仍是不可达。

解决方案:

---1.指定静态路由。

---2.使用命令:next-hop-self使AS边界路由器将NEXT_HOP属性设置为自己的IP

地址,然后宣告给IBGP内的路由器。

--LOCAL_PREF 本地优先级属性

用于内部对等体之间的Update消息,不会传递给其他AS。用以通告被宣告的路由的

优先级,优先级越大该路由越优。例如:如果内部BGP发言者收到多条去往相同目的地的

路由,那么比较这些的LOCAL_PREF属性,优先级最高的路由被选中。

在多宿主AS中的路由器有可能学到去往同一个目的网络而接口属于不同AS的邻居

的多条路径。事实上,从本地AS到达任何目的地网络都可能存在多个出口。这是可以用

本地优先级强制BGP路由器在路由分组到某个目的地的时候优选某个出口点。因为该属性

在AS内的所有BGP路由器之间交换,所以所有BGP路由器对如何走出本AS具有一致性。

(PS:对于某个给定目的地,尽管路由器总是优先选用具有较低度量值和管理距离的

路由,但在相同情况下,BGP路由器却优先选用具有较高本地优先级属性值的路由。)

--MULTI_EXIT_DISC 属性

该属性只影响入站的流量,与Loca_pref相反。该属性承载于EBGP的Update消息

中。可以让某AS向其他AS说明其优选的入口点。在其他条件相同的情况下,若收到多条

去往相同目的地的路由,则优选MED值最小的路由。

注意:

1、MED仅用于影响两个直连的自治系统间的流量,如果要影响邻居AS之外的路由,

就要用到AS_PATH属性。

2、如果去往同一目的地的两条路由接收自两个不同的资质系统,那么将不会这两条路

由的MED值。MED仅仅用于单个AS,它在某AS存在多个入口点时用于说明不同入口点

的优先等级。

--ATOMIC_AGGREGATE和AGGREGATOR属性

汇总时,会丢失某些路由信息,而且路由选择也变得不够精确。同样,BGP发言者上

执行路由聚合后也会丢失路径的细节信息。

而ATOMIC_AGGREGATE用于向下游路由器告知已经出现了路径丢失情况。任何收

到带有ATOMIC_AGGREGATE属性的路由的下游BGP发言者都无法获得该路由更精确的

NLRI信息,而且在将该路由宣告给其他对等体时,必须将附加上ATOMIC_AGGREGATE

属性。

当设置ATOMIC_AGGREGATE属性时,BGP发言者还可以附加AGGREGATOR属性,

由于该可选传递性属性包含了AS号及发起路聚合的路由器的IP地址,因而提供了路由聚

合的相关信息。即:ATOMIC_AGGREGATE属性表示已经丢失了路径,而AGGREGATOR

属性指示了何处出现路由聚合。

--COMMUNITY属性

用于简化路由策略的执行。COMMUNITY属性将目的地视为某些共享一个或多个公

共特性的目的地的一个成员。例如,ISP可能会为其所有客户的路由都分配一个特定的

COMMUNITY属性,之后,该ISP就可以基于COMMUNITY值(而不是每条路由)来

设置其LOCAL_PREF和MED属性了。

管理性权值(Administrative Weight)

是cisco私有的BGP参数,仅用于单个路由器内的路由,不与其他路由器进行交换。

因而权值信息不会包含在BGP update消息中,也不回以任何方式告诉BGP发言者的对等

体。

范围 0~65535 权值越大,路由越优

在默认情况下,所有从对等体学到的路由的权值都为0,而所有本地路由器生成的路

由的权值为32768.

AS_SET

有两种类型的AS_PATH:

_SEQUENCE:一个有序的AS序号

_SET:一个去往特定目的地所经路径上的无序的AS序

号。

AS_SET主要是用于在有原子聚合的情况下,AS号未能包含在AS_PATH中,因而对

于某个发言者来说,就无法检测是否产生环路。而AS_PATH的防环机制其实并不需要AS

号以特定顺序进行排序,所需要的仅仅是接收路由器能够识别出其自身的AS号是否位于

AS_PATH中。这便是AS_SET的应用场合。

而由下图就可以看出,AS_SET之所以是一个无序列表,是因为AS 3113中的汇聚路由

器之后是去往各AS的分支路径,此时无法用有序的AS号来描述这些相互独立的路径。

BGP选路原则

1.如果下一跳不可达,则不考虑该路由。

路由器优先选用具有最大权重值的路径。

3.如果weight相同,BGP优先选用有最大LOCAL_PREF的路由。

4.如果路由具有相同的本地优先级,BGP路由器优先选用起源于本路由器的路由。也

就是说优选学习自IGP(运行于该路由器上)的路由。

5.如果本地优先级相同,BGP路由器优先选用具有最短AS路径的路由。

6.如果AS路径的长度相同,BGP路由器优先选用具有最低起源类型的路由。

(IGP

7.如果起源类型相同,优先选用最低MED值的路由

IBGP与IGP同步

学习来自IBGP邻居的路由在进入IGP路由表或被宣告给BGP对等体之前,必须首

先通过IGP来知晓该路由。 如果路由器上未运行IGP,那么BGP路由就不能进入IGP,

而且同步机制要求BGP路由通过IGP来了解该路由。

因此,要想保证IBGP能正常工作必须实施以下配置选项之一:

1、必须将外部路由重分发进IGP中,以确保IGP能够与BGP实现同步。

2、必须给IBGP路由器之间建立全连接关系。

3、关闭同步机制

管理大规模BGP对等应用

1.对等体组

在大规模BGP互联网络中,通常需要对多个对等体实施路由策略。例如,可能需要在

传送给多个对等体的UPDATE消息中设置相同的属性,或者对来自多个对等体的路由使用

相同的过滤器。此时,就可以通过对等体组(peer gourp)来简化配置量

2.团体

与对等体组是对一组路由器实施路由策略不同的是,团体是对一组路由实施路由策略。

路由器将其COMMUNITY属性设置为某个标识自己为某团体成员的值之后,就可以将路

由加入预先配置的团体中,之后,邻居路由器就可以基于COMMUNITY属性值将其策略

应用于特定路由。

当包含COMMUNITY属性的路由被聚合后,聚合路由将继承所有被聚合路由的

COMMUNITY属性

3.路由反射器

如果在AS内为IBGP建立全互联,需要n(n-1)/2条IBGP连接。而反射器为全连

接提供了一种替代方案。

将某台路由器设置为RR,其他IBGP路由器则被称为客户。可以不再需要与每台IBGP

路由器建立对等关系,只要与RR建立对等体关系即可。为了防止环路,要求路由反射器

不得更改其从客户接受到的路由的属性。

4.联盟

是另一种控制大陆IBGP对等体的方法。联盟中的BGP发言者与同一个成员AS中对

等体建立IBGP关系,而与其他成员AS中的对等体建立EBGP关系。BGP回味联盟分配

一个联盟ID,该联盟ID被联盟外的对等体视为整个联盟的AS号。外部对等体无法看见联

盟的内部结构,他们将联盟视为一个AS。

如图所示,AS9184就是一个联盟ID。联盟中的成员AS号的范围是64512~65535

发布评论

评论列表 (0)

  1. 暂无评论