BGP培训教材.docx

上传人:b****5 文档编号:6859663 上传时间:2023-01-11 格式:DOCX 页数:27 大小:186.92KB
下载 相关 举报
BGP培训教材.docx_第1页
第1页 / 共27页
BGP培训教材.docx_第2页
第2页 / 共27页
BGP培训教材.docx_第3页
第3页 / 共27页
BGP培训教材.docx_第4页
第4页 / 共27页
BGP培训教材.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

BGP培训教材.docx

《BGP培训教材.docx》由会员分享,可在线阅读,更多相关《BGP培训教材.docx(27页珍藏版)》请在冰豆网上搜索。

BGP培训教材.docx

BGP培训教材

BGP用户培训材料

AS--AutonomousSystem使用相同路由管理策略的区域

BGP--BorderGatewayProtocolDefinedinRFC1771

CIDR--ClasslessInterdomainRouting无类型的域间选路

EGP--ExteriorGatewayProtocolDefinedinRFC904

IGP--InternalGatewayProtocolAS内部的路由协议

EGP--ExternalGatewayProtocolAS外部的路由协议,对应于IGP

一、概述

BGP是一种自治系统间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息。

与OSPF和RIP等在自治区域内部运行的协议对应,BGP是一类EGP(EdgeGatewayProtocol)协议,而OSPF和RIP等为IGP(InteriorGatewayProtocol)协议。

BGP是在EGP应用的基础上发展起来的。

EGP在此以前已经作为自治区域间的路由发现协议,广泛应用于NFSNET等主干网络上。

但是,EGP被路由环路问题所困扰。

BGP通过在路由信息中增加自治区域(AS)路径的属性,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的策略。

同时,随着INTERNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,都影响了网络的性能。

BGP支持无类型的区域间路由CIDR(ClasslessInterdomainRouting),可以有效的减少日益增大的路由表。

BGP运行时刻分别与本自治区域外和区域内的BGP伙伴建立连接(使用Socket)。

与区域内伙伴的连接称为IBGP(InternalBGP)连接,与自治区域外的BGP伙伴的连接称为EBGP(ExternalBGP)连接。

本地的BGP协议对IBGP和EBGP伙伴使用不同的机制处理。

二、BGP协议分析

1、BGP协议的层次位置

BGP,OSPF,RIP,TELNET,SNMP

SOCKET

TCP,UDP

IP,IPX

PPP,X.25等

操作系统

硬件接口及驱动

BGP使用Socket服务建立连接,端口号为179。

2、BGP的消息结构

BGP有4种类型的消息。

分别为OPEN,UPDATE,KEEPALIVE和NOTIFY。

它们有相同的消息头。

⑵OPEN消息结构:

消息头加如下结构:

Version:

(1字节)发送端BGP版本号

MyAutonomousSystem:

(2字节无符号整数)本地AS号

HoldTime:

(2字节无符号整数)发端建议的保持时间

BGPIdentifier:

(4字节)发端的路由器标识符

OptParmLen:

(1字节)可选的参数的长度

OptionalParameters:

(变长)可选的参数

⑶KEEPALIVE消息结构

KEEPALIVE消息只有一个消息头。

⑷NOTIFY消息结构

消息头加如下结构:

01234

01234567012345670123456701234567

Errorcode

Errsubcode

Data

Errorcode:

(1字节)错误代码

错误代码

错误类型

1

消息头错

2

OPEN消息错

3

UPDATE消息错

4

保持时间超时

5

状态机错

6

退出

Errsubcode:

(1字节)辅助错误代码,略。

Data:

(变长)依赖于不同的错误代码和辅助错误代码。

用于诊断错误原因。

⑸UPDATE消息结构

UnfeasibleRoutesLen:

(2字节无符号整数)不可达路由长度

WithdrawnRoutes:

(变长)退出路由

PathAttributeLen:

(2字节无符号整数)路径属性长

PathAttributes:

(变长)路径属性(以下详细说明)

NetworkLayerReachabilityInformation:

(变长)网络可达信息(信宿)

其中退出路由和信宿地址的表示方法为一的二元组。

length一个字节,指示地址前缀的长度。

prefix为地址前缀,长度1至4字节。

 

3、BGP协议路由属性的应用

路由是用信宿地址来标识的。

路由的属性即UPDATE消息中的路由属性部分,是用来帮助BGP进行路由选择的。

它们在本地BGP选择路由时有不同的作用。

当BGP通过不同的路由源收到了相同信宿地址的路由时,需要进行路由选择。

(1)ORIGIN起点属性

起点属性表示路由相对于发出它的自治系统的路由更新起点。

-IGPBGP把聚合路由和用network定义的路由看成是AS内部的,起点类型设置为IGP。

-EGPBGP把通过EGP得到的路由的起点设置为EGP。

-INCOMPLETEBGP把通过其它IGP协议引入的路由的起点设置为INCOMPLETE。

这是因为引入的路由可能从任何地方来,如OSPF的ASE路由。

BGP在其它因素相同的情况下,按IGP,EGP,INCOMPLETE的顺序选择路由,因为IGP路由的位置更确定,EGP次之,而INCOMPLETE则很不确定。

(2)AS路径属性

路由的AS路径属性记录了此路由所穿过的所有AS区域,它可以避免路由环路的出现,即当BGP把一条路由通告给一个此路由曾穿越过的AS自治区域时,此AS又把这条路由当作新路由来处理了,这也正是困扰EGP问题。

在加入了AS路径属性后,BGP可以根据AS路径属性中的信息来消除路由环路。

BGP不会接受AS路径属性中包含了本AS自治区域号的路由,因为此路由已经被本自治区域处理过了,从而避免了生成路由环路的可能。

为此,BGP在向EBGP对端,即向本AS外部通告一条路由时,要把本AS自治区域的AS号加入的AS路径属性中,以记录此路由通过的AS区域信息。

同时,AS路径属性也在影响路由选择。

显然,在其它因素相同的情况下,应该选择AS路径较短的路由,因为它穿过了较少的自治区域。

这一点并不一定精确,因为穿过了的3个由高速网络构成的AS区域的路由,有可能比穿过了2个低速网络的AS区域的路由更好。

这种情况要求恰当的配置,以在其它的因素中影响路由的选择。

协议不可能自动完成一切,有经验的工程师的合理的配置对优化网络更重要。

在AS路径属性中,AS_SEQUENCE属性的AS路径值表示此AS路径是有顺序关系的。

通过它可以在本生成AS自治区域的拓扑结构图。

当路由被发送到AS自治区域外时,一般要把本区域AS号加入到AS_SEQUENCE序列后。

AS_SET属性是用于路由聚合的,它的AS路径信息无顺序关系,无法生成拓扑结构图,但用于检测AS路由环路是足够用的。

(3)NEXTHOP下一跳属性

对于EBGP,下一跳属性是本地BGP与对端连接的端口地址。

如上图,RTC向RTA通过EBGP通告路由170.10.0.0时,下一跳属性为170.10.20.2;RTA向RTC通告150.10.0.0的路由时,下一跳为170.10.20.1。

对于IBGP,本地BGP将从EBGP得到的路由的下一跳属性,直接注入IBGP的UPDATE路由更新消息。

上图中,RTA通过IBGP向RTB通告路由170.10.0.0时,下一跳仍然为EBGP中的170.10.20.2,而不是150.10.30.1。

对于RTB,此下一跳信息最终应该通过IGP得到。

对于可以多路访问的网络,下一跳情况有所不同。

在上图中,RTA和RTC运行BGP,AS300中IGP为OSPF。

OSPF通告RTC通过下一跳170.10.20.3可以到达网络180.20.0.0。

RTC在通过EBGP通告RTA路由180.20.0.0时,发现本地端口170.10.20.2和此路由的下一跳170.10.20.3为同一共享子网,因此使用170.10.20.3作为EBGP通告路由的下一跳,而非170.10.20.2。

这种情况,对于NBMA非广播多点可达网络不适用。

将以太网替换为FrameRelay桢中继网和其它NBMA网络,箭头指示方向有PVC永久虚电路。

此时,RTC也发送下一跳为170.10.20.3的180.20.0.0路由给RTA,就会出现问题:

RTA到RTD无可达链路!

为了避免此问题,请使用Next-hop-self命令,强制RTA将路由180.20.0.0的下一跳设置为本地BGP端口地址170.10.20.2。

(4)MED属性

MULTI_EXIT_DISCRIMINATOR就是一条路由的Metric。

当某AS自治区域有多个人口点时,此属性用来帮助选择一个较好的人口点。

即,选择MED较小的人口点。

如上图,网络路由180.10.0.0从RTC、RTD和RTB出发,通过EBGP通告给RTA。

其中RTC的MED为120,RTD的MED为200,RTB的MED为50。

缺省情况下,BGP只比较同一AS区域发送的MED,这是因为不同AS自治区域的度量Metric的方法可能不同,只有相同AS区域的Metric才有可比性。

因此RTA选择MED较小的RTC发送的路由,将2.2.2.1作为路由180.10.0.0的下一跳(RTB的MED更小,但AS路径较长)。

MED属性不会通过AS区域传播,因此,RTA发送路由180.10.0.0时的MED设置为其缺省的0。

也可以使用always-compare-med命令来强制比较同一路由的所有的MED。

上例中,最终会选择RTB作为路由180.10.0.0的下一跳,因为它具有最小的MED。

总之,MED可以帮助本地BGP选择到达某一个AS区域的人口点。

(5)LOCALPREFERENCE本地优先级属性

本地优先级属性用来帮助AS区域内部的路由器,选择到AS区域外部使用的较好的出口。

如上图例,当路由170.10.0.0通过RTC和RTD发送到AS256内部时,RTC将本地优先级设置为150;RTD将本地优先级设置为200。

这可能是因为RTC连接的AS区域具有较高的速度或收费较低。

因此,AS256内部的路由器选择本地优先级较高的RTC作为得到网络170.10.0.0的下一跳。

和MED相反,较高的本地优先级的路由被选择。

和MED对应,本地优先级用来帮助本地BGP在不同的相邻AS区域中选择较好的退出路由。

在一个自治区域中的所有BGP路由器必须使用IBGP连通起来,已相互通过比较某条路由的本地优先级来就到达此信宿的AS出口点达成一致。

(6)ATOMIC_AGGREGATE元聚合属性

此属性用来表示一条路由是在某处被聚合形成的,丢失了部分信息。

(7)AGGREGATOR聚合者属性

此属性记录了一条路由被聚合的路由器的AS号和IP地址。

综合起来,本地BGP路由选择的过程为:

(1)如果此路由的下一跳不可达,忽略此路由;

(2)选择本地优先级较大的路由;

(3)选择本地路由器始发的路由(本地优先级相同);

(4)选择AS路径较短的路由;

(5)依次选择起点类型为IGP,EGP,INCOMPLETE类型的路由;

(6)选择MED较低的路由;

(7)选择RouterID较低的路由。

4、BGP协议的特点

BGP是一种AS(自治区域)外部路由协议,主要负责本自治区域和外部的自治区域间的路由可达信息的交换。

因此,它所关心的拓扑结构是AS(自治区域)的拓扑结构,BGP通过UPDATE消息中路由的AS属性来构造AS的拓扑结构图,进一步通过此结构图来选择路由。

与OSPF,RIP等IGP协议相比,BGP的拓扑图要更抽象和粗略一些。

因为IGP协议构造的是AS内部的路由器的拓扑结构图。

IGP把路由器抽象成若干端点,把路由器之间的链路抽象成边,根据链路的状态等参数和一定的度量标准,每条边配以一定的权值,生成拓扑图。

根据此拓扑图选择代价(两点间经过的边的权值和)最小的路由。

这里有一个假设,即路由器(端点)转发数据包是没有的代价的。

而在BGP中,拓扑图的端点是一个AS区域,边是AS之间的链路。

此时,数据包经过一个端点(AS自治区域)时的代价就不能假设为0了,此代价要由IGP来负责计算。

这体现了EGP和IGP是分层的关系。

即IGP负责在AS内部选择花费最小的路由,EGP负责选择AS间花费最小的路由。

BGP作为EGP的一种,选择路由时考虑的是AS间的链路花费,AS区域内的花费(由BGP路由器配置)等因素。

如上所述,内部网关协议IGP需引入AS自治区域内部网络拓扑图其它各点的路由,同时向其它端点发送本端点(路由器)所知的路由,如直接路由、静态路由等。

作为外部网关协议,BGP发送和引入路由的单位是整个AS自治区域,即BGP要发送本地路由器所在的AS内部的所有路由,引入其它AS自治区域的所有路由(假设不使用路由策略控制发送和引入)。

其路由数量显然要远远大于IGP发送和引入的路由数量。

因此,类似于IGP那样定时对外广播路由信息是不可取的。

BGP采用发送路由增量(Incremental)的方法,完成全部路由信息的通告和维护:

初始化时发送所有的路由给BGP对端(BGPPeer),同时在本地保存了已经发送给BGP对端的路由信息。

当本地的BGP收到了一条新路由时(如通过IGP注入了新路由或加入了新的静态路由),与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由花费更小,则发送此新路由,同时更新已发送信息,反之则不发送。

当本地BGP发现一条路由失效时(如对应端口失效),如此路由已发送过,则向BGP对端发送一个退出路由消息。

总之,BGP不是每次都广播所有的路由信息,而是在初始化全部路由信息后只发送路由的变化量(增量)。

这样保证了BGP和对端的最小通信量,但同时增加了BGP的复杂程度。

因为对于IGP,本地路由协议只需发送发送时刻所知的全部路由,而不保存任何已发送信息,路由选择的工作由对端来完成;而BGP必须为每个BGP对端保存已经发送的路由信息,以便发送一条新路由前确认其是否真的应该发送。

为了减小路由表的体积和发送路由的通信量,BGP还支持CIDR(ClasslessInterDomainRouting)。

它使用带有较短的掩码(相对于自然掩码)的路由来在一条路由中表达更多的路由信息。

如从202.112.1.0/24-202.112.254.0/24可以使用202.112.0.0/16表示,从而减小了路由表的体积和发送路由信息时的网络流量。

同时,作为AS自治区域间的路由协议,由于政治的、经济的等原因,BGP需要按照不同的路由的属性控制路由的发送和引入。

因此,BGP有丰富的路由策略控制手断。

在本地BGP路由变化时,也使用UPDATE消息修正对端BGP的路由表。

经过一段时间的路由信息交换后,本地BGP和对端BGP都无新路由通告,趋于稳定了。

此时要定时发送KEEPALIVE消息以保持BGP连接的有效性。

对于本地BGP,如果在超过保持时间的时间内,还未收到任何对端BGP消息,就认为此BGP连接已经无效,将此BGP连接断开。

当本地BGP在运行中发现错误时,要发送NOTIFY消息通告BGP对端。

如对端BGP版本本地不支持,本地BGP收到了结构非法的UPDATE消息等。

本地BGP退出BGP连接时也要发送NOTIFY消息。

BGP收到NOTIFY消息后,要作相应处理。

三、BGP配置任务列表

BGP配置任务主要包括:

Ÿ启动和关闭BGP

Ÿ配置BGP本地参数

Ÿ复位BGP连接

Ÿ定义访问列表、AS路径列表和路由映射

Ÿ配置neighbor

Ÿ配置BGP同伴组

ŸBGP与IGP交互

以下各节中引用的参数范围如下表所示:

表7-59BGP配置参数范围

参数名称

参数范围

as-number

0~65535

metirc

0~4294967295

perference

–2147483648~2147483647

holdtime

60~65535

asp-list-number

1~200

list-number

1~200

version-number

2~4

seq-number

0~65535

as-regular-expression

参见RFC1164section4.2

names

字符串(有效长度32位)

3.启动和关闭BGP

启动BGP协议时应指定本地的自治区域号(AS号)。

启动BGP后,本地路由器不接收相邻路由器的BGP连接请求。

要使本地路由器主动向相邻路由器发出BGP连接请求,请参照Neighbor的配置。

关闭BGP协议时,BGP协议将切断所有已经建立的BGP连接。

表7-60启动和关闭BGP

操作

命令

启动BGP,并进入BGP协议配置模式

routerbgpas-number

退出BGP协议配置模式

exit

关闭BGP

norouterbgp

4.配置BGP本地参数

BGP协议完成的主要任务之一是向其它的自治区域(AS)广播本自治区域中的网络可达信息。

为了完成此任务,BGP需要和内部网关协议(IGP,如RIP和OSPF等)协同工作。

一个简单的方法是将特定的IGP协议发现的网络路由全部注入到BGP的路由表中,再由BGP发送出去(请参见“BGP与IGP交互”)。

(1)定义和取消本地网络

但有时只需要发送部分网络路由。

此时,用network命令指定要发送的网络,同时也可以指定此网络路由的掩码和路由映射。

表7-61定义和取消本地网络

操作

命令

定义本地网络

networkip-address[maskmask][routemapmap-name]

取消本地网络的定义

nonetworkip-address

(2)配置本地优先级

当一个运行BGP的路由器通过不同的内部伙伴(InternalPeer)得到目的地相同、下一跳不同的路由时,将根据不同路由的本地优先级进行选择,选取本地优先级最高的路由为到达此目的地的路由。

用户可以使用以下命令配置BGP路由的本地优先级:

表7-62配置本地优先级

操作

命令

配置本地优先级

bgpdefaultlocal-preferencepreference

使用缺省的本地优先级

nobgpdefaultlocal-preference

(3)指定是否允许BGP生成默认路由

表7-63允许或禁止BGP生成默认路由

操作

命令

允许BGP生成默认路由

default-informationoriginate

禁止BGP生成默认路由

nodefault-informationoriginate

(4)配置MED

当一个运行BGP的路由器通过不同的外部部伙伴(ExternalPeer)得到目的地址相同、下一跳不同的路由时,将根据不同路由的MED(Multi-ExitDiscriminator)进行选择,选取MED最低的路由为到达此目的地的路由。

表7-64配置MED

操作

命令

配置MED

default-metricmetric

使用缺省的MED

nodefault-metric

(5)配置BGP定时器

当一台路由器与对端路由器建立了BGP连接后,定时向对端发送Keepalive消息,以指示连接通路正常,可以保持连接。

路由器在一定的时间内没有收到对端的Keepalive消息(或其它类型的消息)即认为此BGP连接已经被中断,从而退出此BGP连接,并对从此BGP连接收到的路由进行相应的处理。

因此,RFC中规定的Keepalive消息的间隔时间和BGP连接保持时间是BGP协议机制中比较重要的参数。

用户可通过以下命令配置这些参数。

表7-65配置BGP定时器

操作

命令

配置BGP定时器

timersbgpkeepalive-intervalholdtime

使用缺省的定时器值

notimersbgp

5.复位BGP连接

当BGP有关的参数被用户改变时,由于相关信息已经发送或是在BGP建立连接时由BGP连接的双方协商的,因此须切断当前的BGP连接,待重新建立起连接后才能生效。

用户可以使用以下命令了达到此目的:

表7-66复位BGP连接

操作

命令

复位一个neighbor

clearipbgpip-address

复位全部neighbor

clearipbgp*

6.定义访问列表、AS路径列表和路由映射

本节描述的访问列表(AccessList)、AS路径列表和路由映射(Routemap)是为以下的Neighbor配置做准备。

(1)定义访问列表

请参见防火墙的配置。

(2)定义AS路径列表

每个AS路径列表是用数字来标识的。

表7-67定义AS路径列表

操作

命令

定义AS路径列表

ipas-pathaccess-listlist-number{permit|deny}as-regular-expression

删除指定的AS列表

noipas-pathaccess-listlist-number

(3)定义路由映射(Routemap)

路由映射是BGP实施路由策略的重要部分。

它根据路由属性的匹配结果,决定对路由属性的操作。

即完成用户指定的将特定条件的路由集合的属性修改的任务。

每个路由映射中可以有若干映射规则,用序列号标识。

在进行路由映射时,按序列号从小到大的顺序进行匹配,遇到第一个匹配的映射规则,就完成此次的路由映射过程。

如未匹配任何一条映射规则,则此路由的发送和接收等操作被取消。

表7-68定义路由映射(Routemap)

操作

命令

进入路由映射配置模式

route-mapmap-name{permit|deny}seq-number

退出路由映射配置模式

exit

删除指定的路由映射

noroute-mapmap-name

定义匹配规则。

表7-69定义匹配规则

操作

命令

匹配AS路径正则表达式

matchas-path[asp-list-num]

取消AS路径表达式匹配

nomatchas-path

匹配端口

matchinterface{Ethernet|Serial|Null}[interface-number]

取消端口匹配

nomatchinterface

匹配地址

matchipaddress[access-list-num]

取消地址匹配

nomatchipaddress

匹配metric

matchmetric[metric]

取消metric匹配

nomatchmetric

定义赋值规则。

表7-70定义赋值规则

操作

命令

设置AS号

setas-pathprependas-number

取消AS号的设置

nosetas-path

设置下一跳

setipnext-hopip-address

取消下一跳的设置

nosetipnext-hop

设置本地优先级

setlocal-preference[pr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1