第六天HCIP

BGP协议特点
因为是在AS之间传递路由,为保证数据的可靠性, BGP使用TCP作为其承载协议建立连 接。 因此与IGP逐跳路由器建立邻居不同,BGP可以跨越多跳路由器建立邻居关系。
AS之间的路由器是不完全相互信任的,为实现路由按需求进行控制和优选,BGP设计了诸 多属性。
BGP邻居发现
BGP协议被设计运行在AS之间传递路由,AS之间是广域网链路,数据包在广域网上 传递是可能出现不可预测的链路拥塞或丢失等情况,因此BGP使用TCP作为其承载协 议来保证可靠性。
BGP使用TCP封装建立邻居关系,端口号为179,TCP采用单播建立连接,因此BGP 协议并不像RIP和OSPF一样使用组播发现邻居。单播建立连接也使BGP只能手动指定 邻居。
BGP邻居类型
EBGP:运行在不相同的AS之间的BGP路由器建立的邻居关系。
IBGP:运行在相同的AS内的BGP路由器建立的邻居关系。
配置步骤:
配置Router ID(标识路由器);
配置EBGP邻居关系(AS之间传递路由);
配置IBGP邻居关系(AS内部传递路由)。
配置解释:
如果没有配置Router ID,BGP路由器会按一定规则自动选举Router ID,选举规则如 下:
路由器在它的所有LoopBack接口上选择数值最高的IP地址;
如果没有LoopBack接口,路由器会在它的所有物理接口上选择数值最高的IP地 址。
配置命令:router id X.X.X.X
BGP邻居关系的类型主要靠配置的AS号区别,peer关键字后面是对端邻居的接口IP 地址,as-number后面是邻居路由器所在的AS号,AS号相同则为IBGP邻居关系; AS号不同,则为EBGP邻居关系。
peer关键字后面是对端邻居的更新源IP地址,标识自己向对端邻居发起TCP连接的目 的地址。该地址可以是对端邻居直连接口的IP地址,也可以是非直连LoopBack接口 的IP地址(但必须保证该IP地址路由可达)。建立IBGP邻居关系时,一般使用 LoopBack接口的IP地址,因为LoopBack接口开启后一直处于UP状态,只要保证路 由可达,邻居关系一直处于稳定状态;而建立EBGP邻居关系时,一般使用直连接口 的IP地址,因为EBGP是跨AS建立邻居关系,邻居关系建立之前非直连接口之间的路由不可达 。
建立EBGP邻居关系时,一般使用直连接口的IP地址;建立IBGP邻居关系时,一般使用 Loopback接口的IP地址。
BGP邻居关系建立
BGP通过报文的交互完成邻居建立、路由更新等操作,共有Open、Update、 Notification、Keepalive和Route-refresh等5种报文类型。
Open报文:是TCP连接建立后发送的第一个报文,用于建立BGP邻居之间的连接关 系。BGP邻居在接收到Open报文并协商成功后,将发送Keepalive报文确认并保持 连接的有效性。确认后,BGP邻居间可以进行Update、Notification、Keepalive和 Route-refresh报文的交换。
Update报文:用于在BGP邻居之间交换路由信息。Update报文可以发布多条属性相 同的可达路由信息,也可以撤销多条不可达路由信息。
Notification报文:当BGP路由器检测到错误状态时,就向邻居发出Notification报 文,之后BGP连接会立即中断。
Keepalive报文:BGP路由器会周期性的向邻居发出Keepalive报文,用来保持连接的 有效性。
Route-refresh报文:Route-refresh用于在改变路由策略后请求对等体重新发送路由信息。
BGP路由器报文交互过程
Idle状态是BGP初始状态。在Idle状态下,BGP路由器拒绝邻居 发送的连接请求。只有在收到本设备的Start事件后,BGP路由器才开始尝试与其邻居进行 TCP连接,并转至Connect状态。
Connect状态下,BGP路由器启动连接重传定时器(Connect Retry),等待TCP完成连 接。
如果TCP连接成功,那么BGP路由器向邻居发送Open报文,并转至OpenSent状态。 如果TCP连接失败,那么BGP路由器转至Active状态。如果连接重传定时器超时,BGP路由器仍没有收到邻居的响应,那么BGP路由器继续尝试 与其邻居进行TCP连接,停留在Connect状态。
在Active状态下,BGP路由器总是在试图建立TCP连接。
如果TCP连接成功,那么BGP路由器向邻居发送Open报文,关闭连接重传定时器,并转至 OpenSent状态。 如果TCP连接失败,那么BGP路由器停留在Active状态。如果连接重传定时器超时,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报文。
BGP路由的生成方式
生成BGP路由的方式有两种:
第一种是使用配置命令network,第二种是使用配置命令 import。
BGP通告原则:
仅将自己最优的路由发布给邻居;
通过EBGP获得的最优路由发布给所有BGP邻居;
通过IBGP获得的最优路由不会发布给其他的IBGP邻居;
BGP和IGP同步。
BGP属性:
1.公认属性:所有BGP路由器都必须识别并支持的属性。
公认必遵:BGP的Update消息中必须包含的属性。
公认任意:不必存在于BGP的Update消息中,可以根据需求自由选择的属性。
可选属性:不要求所有的BGP路由器都能够识别的属性。
可选过渡:BGP不能识别该属性,但可以接收该属性并将其发布给它的邻居的属性。
可选非过渡:BGP可以忽略包含该属性的消息并且不向它的邻居发布。
2.Origin属性
BGP在AS之间传递信息,承载大量的路由。如果到达同一目的IP有多条路径,且BGP学到 这些路由通过不同的方式,则Origin属性是决定最优路径的一个因素,用于标明路由的起 源。
Origin的3种属性:
i表明BGP路由通过network命令注入;
e表明BGP路由是从EGP学来的,EGP协议在现网中很难见到,但可以通过路由策略 将路由的Origin属性修改为e;
? 即Incomplete表明BGP路由通过其它方式学到路由信息,如使用import命令引入 的路由。3种Origin属性的优先级为:i>e>Incomplete(?)。
3.AS-Path属性
AS_Path的4种类型:
AS_Sequence;
AS_Set;
AS_Confed_Sequence;
AS_Confed_Set
4.Next-hop属性
EBGP邻居之间一般采用直连接口建立邻居关系,EBGP邻居在相互通告路由时 会修改Next_hop为自己的出接口IP;
IBGP邻居通常采用Loopback接口建立邻居,当路由是本路由器起源的,在发 送给邻居之后Next_hop改为自己的更新源地址,这样即使网络中出现链路故障, 只要Next_hop可达,同样可以访问目的网段,提高网络稳定性;
相对于IGP,如RIP在发布路由时,每经过一个路由器都会修改下一跳,发布路 由的路由器都宣称自己能够到达目标地址,并采用逐跳传递的方式将数据包发 送给目标网络,但网络中的路由器并不知道谁是真正的始发路由器,因此会造 成环路。BGP在EBGP之间传递时才修改Next_hop,IBGP发送从EBGP学来的 路由给IBGP邻居时并不修改下一跳,在一定程度上起到了防环作用。
5.Local-Preference属性
Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级, 值越大越优。
Local_Pref属性用于判断流量离开AS时的最佳路由。当BGP路由器通过不同的IBGP邻居获 得目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由, 其默认值为100。
6.MED属性
MED(Multi-Exit-Discriminator)属性仅在相邻两个AS之间传递,收到此属性的AS不会 再将其通告给任何其他第三方AS。如图所示,AS100内并不会收到AS 300内设置的MED 值,但是AS 200内会收到AS 300内设置的MED值,因此AS 200内可以选择高带宽的路由。
MED属性相当于IGP使用的度量值(Metric),它用于判断流量进入AS时的最佳路由。当 一个运行BGP的路由器通过不同的EBGP邻居获得目的地址相同但下一跳不同的多条路由时, 在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由,其默认值为0。
7.Community属性
Community属性分为两类:一类是公认团体属性,另一类是扩展的团体属性。
公认团体属性分为4类:
Internet:缺省属性,所有路由都属于Internet,此属性的路由可以通告给所有BGP 邻居;
No_Export:收到此属性的路由后,不将该路由发布到其他AS。
No_Advertise:收到此属性的路由后,不将该路由通告给任何其他的BGP邻居。
No_Export_Subconfed:在联盟中使用 。
扩展的团体属性用一组4字节为单位的列表来表示,路由器中扩展的团体属性格式为aa:nn 或团体号:
aa:nn中,aa通常为AS编号,nn是管理员定义的团体属性标识;
团体号范围为0-4294967295,在RFC1997中,0-65535与4294901760-4294967295为 预留值。
8.Preference-Value属性
Preference-Value是BGP的私有属性,Preference-Value相当于BGP选路规则中Weight值,仅在本地路由器生效。Preference-Value值越大,越优先。

Stkcd [股票代码] ShortName [股票简称] Accper [统计截止日期] Typrep [报表类型编码] Indcd [行业代码] Indnme [行业名称] Source [公告来源] F060101B [净利润现金净含量] F060101C [净利润现金净含量TTM] F060201B [营业收入现金含量] F060201C [营业收入现金含量TTM] F060301B [营业收入现金净含量] F060301C [营业收入现金净含量TTM] F060401B [营业利润现金净含量] F060401C [营业利润现金净含量TTM] F060901B [筹资活动债权人现金净流量] F060901C [筹资活动债权人现金净流量TTM] F061001B [筹资活动股东现金净流量] F061001C [筹资活动股东现金净流量TTM] F061201B [折旧摊销] F061201C [折旧摊销TTM] F061301B [公司现金流1] F061302B [公司现金流2] F061301C [公司现金流TTM1] F061302C [公司现金流TTM2] F061401B [股权现金流1] F061402B [股权现金流2] F061401C [股权现金流TTM1] F061402C [股权现金流TTM2] F061501B [公司自由现金流(原有)] F061601B [股权自由现金流(原有)] F061701B [全部现金回收率] F061801B [营运指数] F061901B [资本支出与折旧摊销比] F062001B [现金适合比率] F062101B [现金再投资比率] F062201B [现金满足投资比率] F062301B [股权自由现金流] F062401B [企业自由现金流] Indcd1 [行业代码1] Indnme1 [行业名称1] 季度数据,所有沪深北上市公司的 分别包含excel、dta数据文件格式及其说明,便于不同软件工具对数据的分析应用 数据来源:基于上市公司年报及公告数据整理,或相关证券交易所、各部委、省、市数据 数据范围:基于沪深北证上市公司 A股(主板、中小企业板、创业板、科创板等)数据整理计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值