BGP双栈原理Basic华为数通HCIE.docx

上传人:b****8 文档编号:10775793 上传时间:2023-02-22 格式:DOCX 页数:22 大小:2.26MB
下载 相关 举报
BGP双栈原理Basic华为数通HCIE.docx_第1页
第1页 / 共22页
BGP双栈原理Basic华为数通HCIE.docx_第2页
第2页 / 共22页
BGP双栈原理Basic华为数通HCIE.docx_第3页
第3页 / 共22页
BGP双栈原理Basic华为数通HCIE.docx_第4页
第4页 / 共22页
BGP双栈原理Basic华为数通HCIE.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

BGP双栈原理Basic华为数通HCIE.docx

《BGP双栈原理Basic华为数通HCIE.docx》由会员分享,可在线阅读,更多相关《BGP双栈原理Basic华为数通HCIE.docx(22页珍藏版)》请在冰豆网上搜索。

BGP双栈原理Basic华为数通HCIE.docx

BGP双栈原理Basic华为数通HCIE

NLRI:

网络层可达信息<前缀,前缀长度>

MP-NLRI:

携带IPv6和VPNv4、VPNv6路由信息

BGP原理:

BGP工作原理:

BGP特点:

1.使用TCP作为传输协议,端口号179

2.BGP路由聚合方式:

静态路由(直接在network聚合路由)、手动聚合、自动聚合

3.BGP不会周期性泛洪,只传递更新的路由信息

4.矢量路由协议:

BGP向外通告路由时必须保证该路由在自己的BGP表中是最优的

5.无环路:

BGP如何防止路由环路:

a.水平分割:

从IBGP学来的路由不会在发送给IBGP邻居

b.AS之间,AS-Path防环:

收到相同的AS号的丢弃

c.汇总路由,设置as-set携带明细的as号码

d.RR反射器,簇列表防环:

收到相同的丢弃

起始者id防环

e.联盟,联盟as列表防环

联盟路由聚合防环

f.MPLSVPN,SOO属性防环

MP-NLRIdomain-tag防环

6.路由策略丰富

7.可防止路由震荡

8.易于扩展

 

BGP报文:

1.OPen报文:

协商BGP能力参数:

版本-必须一致

BGProuter-id-不能一致

MYas-要求和对端配置一致

Holdtime-向小兼容

BGP能力选项:

a.多协议能力,每个BGP路由器可以支持多种不同的地址簇,不需要完全相同,只需有一个相同即可

参数内容:

AFI:

主地址族标识(1:

IPv4、2:

IPv6、128:

MAC)

SAFI:

子地址族标识(1:

单播、2:

组播、128:

VPN)

b.路由刷新能力:

设备能否识别route-fresh报文(不需要协商)

c.4字节AS号码支持能力:

标识设备能否识别4字节AS号码(不需要协商)

支持2字节的AS路由器如何识别4字节的AS号码的路由器:

2字节AS统一把4字节AS号码当作23456处理

2.Update报文:

更新和撤销BGP路由信息

更新路由时,携带路径属性完全相同的多个路由条目

参数:

路径属性

NLRI:

网络层可达信息

撤销路由:

撤销路由时只携带路由信息进行撤销

参数:

withdrawn-route(撤销路由前缀)

3.Keepalive报文:

维护BGP邻居关系,默认周期性60s发送一次

4.Notification报文:

差错通知,报告BGP报文出现的错误

Errorcode:

错误类型

Errorsubcode:

引起错误原因

5.Route-Refresh报文:

用于在改变路由策略后请求对等体重新发送路由信息

激活Route-Refresh命令:

Refreshbgpallimport//发送Route-Refresh

对端收到Route-Refresh报文之后,立即把自己的BGP路由重新传递给邻居

BGP状态机:

Idle状态:

BGP初始状态,管理员配置BGP的过程

在Idle状态下,BGP拒绝邻居发送的连接请求。

只有在收到本设备的Start事件(管理员配置BGP的过程)后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态

任何状态中收到Notification报文、TCP拆除链路通知、TCP连接断开等Error事件后,BGP都会转至Idle状态

什么情况下会停在Idle状态?

没有去往对端的路由信息、没有开启相关地址族

Connect状态:

BGP启动连接重传定时器(ConnectRetry,缺省为32秒),等待TCP完成连接

此阶段主动发起TCP连接:

如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态

如果TCP连接失败,那么BGP转至Active状态

如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态

如果发生其他事件(由系统或者操作人员启动的),则退回到Idle状态

什么情况会停留在connect状态?

一端配置了BGP另一端没有配置、没有指定更新源、策略把BGP的TCP请求消息过滤、开启了BGP认证功能(认证参数带在TCP的option选项中)

Active状态:

BGP总是在试图建立TCP连接

此阶段等待对方发起TCP连接:

如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态

如果TCP连接失败,那么BGP停留在Active状态

如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态

什么情况停留在Active状态?

收到TCP请求消息认证失败、发送的TCP确认包被过滤

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状态

 

BGP数据库:

IP路由表(IP-RIB):

全局路由信息库,包括所有IP路由信息

BGP路由表(Loc-RIB):

BGP路由信息库,包括本地BGPSpeaker选择的路由信息

邻居表:

对等体邻居清单列表

Adj-RIB-In:

对等体宣告给本地BGPSpeaker的未处理的路由信息库

Adj-RIB-Out:

本地BGPSpeaker宣告给指定对等体的路由信息库

 

BGP路由信息处理:

针对每个邻居都会有Adj-RIB-In、Adj-RIB-Out

(1)当从对等体接收到更新数据包时,路由器会把这些更新数据包存储到路由选择信息库(RoutingInformationBase,RIB)中,并指明是来自哪个对等体的(Adj-RIB-In)。

这些更新数据包被输入策略引擎过滤后,路由器将会执行路径选择算法,来为每一条前缀确定最佳路径

(2)得出的最佳路径被存储到本地BGPRIB(Loc-RIB)中,然后被提交给本地IP路由选择表(IP-RIB),以用作安装考虑

(3)除了从对等体接收来的最佳路径外,Loc-RIB也会包含当前路由器注入的(被称为本地发起的路由),并被选择为最佳路径的BGP前缀。

Loc-RIB中的内容在被通告给其他对等体之前,必须通过输出策略引擎。

只有那些成功通过输出策略引擎的路由,才会被安装到输出RIB(Adj-RIB-Out)中

 

对等体之间的交互原则:

从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体

从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体

当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体

路由更新时,BGP设备只发送更新的BGP路由

IBGP与IGP的同步(从IBGP邻居学到的路由,只有当IGP中也存在相同的路由时才会宣告给EBGP对等体)

 

IBGP与IGP的同步:

在IBGP路由加入路由表并发布给EBGP对等体之前,会先检查IGP路由表。

只有在IGP也知道这条IBGP路由时,它才会被加入到路由表,并发布给EBGP对等体

目的:

避免误导外部AS的路由器

VRP平台缺省情况下BGP与IGP是取消同步机制的,并不可改变。

但取消同步是有条件的,在以下两种情况下可以取消同步:

本AS不是过渡AS

本AS内所有路由器建立IBGP全连接

解决BGP路由黑洞:

BGP全互联、使用GRE隧道、使用MPLS标签转发(把BGP路由迭代到MPLS中)

 

BGP属性特点:

公认必遵:

所有BGP路由器都必须识别,且必须存在于Update消息中,如果缺少这种属性,路由信息就会出错,立即中断邻居关系变成idle

Origin:

标识路径信息的来源(优先级:

i>e>?

i:

通过路由始发AS的IGP得到的路由信息,如network

e:

通过EGP得到的路由信息

Incomplete,通过其他方式学习到的路由信息,如import-route

AS_Path:

按矢量顺序记录某条路由从本地到目的地址所要经过的所有AS编号(BGP路由离开AS时,把本端AS号添加到AS_Path最左边)

在AS间使用,在离开AS时打上,在AS内不会修改AS号

作用:

1.选路比较:

AS_Path长度越短越优先

2.域间防环:

当BGP路由器从EBGP对等体接收路由时,如果发现AS_Path列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路

AS_Path参数:

1.AS-sequence:

放置有序的AS列表

2.AS-set:

把明细路由的AS号放在AS-set中,是一个无序列表

3.AS_Confed_Sequence:

联盟的有序AS列表,离开联盟的时候会清除

4.AS_Confed_Set:

联盟内发生路由聚合时,参加路由聚合的联盟的子AS号放在AS_Confed_Set

Next_Hop:

记录了路由的下一跳信息

1.自己宣告的路由信息向外通告,下一跳变成自己的更新源(和对端建立BGP邻居关系的地址)

2.从邻居学来的路由再通告给EBGP邻居,下一跳变成自己的更新源

3.从EBGP学来的路由再发布给IBGP邻居,下一跳不会改变(可使用:

peernext-hop-local把下一跳强制修改为自己的更新源)

公认任意:

所有BGP路由器都可以识别,但不要求必须存在于Update消息中,即就算缺少这类属性,路由信息也不会出错

Local_Pref:

本地优先级,表明BGP路由器的优先级,该值越大越优先,默认为100,仅在IBGP对等体之间有效,只能在AS内通告,不通告给其他AS

当BGP路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由

本地优先级最大的路由器将会成为整个自治系统的出口(优先级小的路由器作为备份)

配置:

BGP视图下:

[R2-bgp]defaultLocal_Preference200//配置本路由器默认的本地优先级

可选过渡:

在BGP对等体之间具有可传递性的属性,BGP路由器可以不支持此属性,但它仍然会接收这类属性,并传递给其他对等体

community:

可选非过渡:

如果BGP路由器不支持此属性,则相应的这类属性会被忽略,且不会传递给其他对等体

MED:

类似于IGP的cost,用于AS间的路由选路;默认为0,值越小越优先

仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS(为了保证后续流量都走MED值小的路径)

判断流量选择哪个路由器进入本地AS

默认只能判断来自同一AS内的流量的MED值(要求AS-path最左端的AS号保持一致)

命令:

compare-different-as-med//强制比较来自不同自治系统中的邻居的路由的MED值

Originator_ID

Cluster_List

 

***PrefVal权重值:

协议首选值,是华为设备的特有属性,该属性仅在本地有效,不会传递给BGP邻居。

因为协议首选值是人为主动设置的,代表本地用户的意愿,因而在BGP进行选路时会优先比较协议首选值;默认情况下均为0,该值越大越优先

配置方式:

1.BGP视图下:

peer1.1.1.1preferred-value100

2.在route-policy修改

 

BGP选路规则:

当到达同一目的地存在多条路由时,BGP依照如下策略顺序进行路由选择(第2-8条:

PLLAOMEN)

如果此路由的下一跳不可达,忽略此路由

优选协议首选值(PrefVal)最高的路由

优选本地优先级(Local_Pref)最高的路由

优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由(本地产生的)

优选AS路径(AS_Path)最短的路由

比较Origin属性,依次优选Origin类型为IGP、EGP、Incomplete的路由

优选MED值最低的路由

优选从EBGP邻居学来的路由(EBGP路由优先级高于IBGP路由)

优选到下一跳IGPMetric较小的路由

优选Cluster_List最短的路由(比较簇列表)

优选Orginator_ID最小的路由(比较起始者id)

优选RouterID最小的路由器发布的路由(比较对端BGProuterid)

比较对等体的IPAddress,优选从具有较小IPAddress的对等体学来的路由(比较对端更新源的大小)

 

BGP4+原理:

BGP4+概述:

BGP4的扩展版本

扩展能力自协商机制:

当两台BGP对等体之间需要传输IPv6地址族的地址时,需要在OPENMessage中进行扩展能力的协商

OPEN消息中的CapabilitiesAdvertisement字段用于扩展能力的协商

MP-reach-NRLI:

为了携带路由信息和下一跳地址(BGP4+使用此属性来通告IPv6路由)(TypeCode=14)

地址族信息(AddressFamilyInformation)域:

由2字节的地址族标识AFI(AddressFamilyIdentifier)和1字节的子地址族标识SAFI(SubsequentAddressFamilyIdentifier)组成

当传递IPv6路由时:

AFI=2,SAFI=1(Unicast),SAFI=2(Multicast

下一跳长度(LengthofNextHopNetworkAddress)域:

1字节长度,表示下一跳地址的长度,通常情况下为16

下一跳地址长度字段决定了下一跳地址的个数

长度字段=16,下一跳地址为下一跳路由器的全球单播地址

长度字段=32,下一跳地址为下一跳路由器的全球单播地址和链路本地地址

下一跳地址(NetworkAddressofNextHop)域:

长度由上一个字段决定,一般情况下为全球单播地址

保留字段(Reserved)域:

一字节,必须为0

网络层可达信息(NetworkLayerReachabilityInformation)域:

表示含有匹配相同属性的路由信息。

当此字段为0时,表示为缺省路由

MP-unreach-NRLI:

只携带撤销的路由条目(BGP4+用该属性撤销路由)(TypeCode=15)

地址族信息(AddressFamilyInformation)域:

由2字节的地址族标识AFI(AddressFamilyIdentifier)和1字节的子地址族标识SAFI(SubsequentAddressFamilyIdentifier)组成

撤销路由(WithdrawnRoutes)域:

表示撤销的路由条目。

格式为<掩码长度,路由前缀>,当此掩码长度为0时,表示为缺省路由

当撤销IPv6路由时:

AFI=2,SAFI=1(Unicast),SAFI=2(Multicast)

WithdrawnRoutes字段代表需要撤回的路由前缀及掩码

 

支持传递多种地址族地址(IPv6、VPNv4、VPNv6等)

新增属性用以支持多地址族地址传递

 

作用:

为了支持各类地址族(MAC、VPN路由、IPv6路由)

 

open报文

AFI为2IPv6

SAFI为1单播

 

ipas-path-filterhuaweipermit^100

Router-policy

If-matchas-path-filterhuawei

 

as-path-filter:

AS路径过滤器

AS路径过滤器是一组针对BGP路由的AS_Path属性进行过滤的规则

AS路径过滤器的默认行为是deny,即路由如果没有在某一次过滤中被permit则最终不能通过该过滤器的过滤。

AS路径过滤器的匹配条件使用正则表达式指定

举例:

①^10_匹配AS_Path属性以AS10开头的路由

②_20_匹配AS_Path属性中包含AS20的路由

③.*匹配所有AS_Path属性

配置:

ipas-path-filter{as-path-filter-number|as-path-filter-name}{deny|permit}regular-expression创建AS路径过滤器

 

正则表达式:

 

 

BGP&BGP4+基本配置:

配置BGP基本功能:

 

配置BGP–PrefVal属性:

 

配置BGP–Local_Pref属性:

 

 

配置BGP–MED属性:

 

 

配置BGP–BGPAS_Path属性:

 

 

 

配置BGP–负载分担:

 

 

 

 

BGP故障诊断:

BGP邻居状态无法到达Established状态:

IGP不通

ACL过滤了TCP的179端口

邻居的RouterID冲突

配置的邻居的AS号错误

用Loopback口建立邻居时没有配置peerconnect-interface

用建立EBGP邻居时未配置peerebgp-max-hop

peervalid-ttl-hops配置错误

对端发送的路由数量是否超过peerroute-limit命令设定的值

对端配置了peerignore

两端的地址族不匹配

 

BGP邻居关系正常的情况下,但是BGP路由表没有该表项:

下一跳地址是否可达

入口是否进行了策略限制

接收前缀的条目是否进行了限制

对端出口是否进行了策略限制

该前缀在对端BGP路由表中是否最优

对端是否配置了active-route-advertise

 

BGP邻居关系正常的情况下,BGP路由表存在某些表项不是最优:

根据选路原则,某些表项不是最优

某些前缀是否为抑制状态

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

当前位置:首页 > 解决方案 > 学习计划

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

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