admin管理员组文章数量:1607357
目录
一.BGP原理
1.1BGP报文类型
1.2BGP状态机
1.3路由通告原则
1.3.1BGP路由的产生方式:
1.3.2BGP路由通告原则
1.3.3BGP的防环原则
1.3.4BGP路由黑洞:
二.BGP属性
三.选路原则
3.1、如果此路由下一跳不可达,忽略此路由
3.2、preferred-value
3.3、local-pref
3.4、优选本地生成的路由
3.5、AS路径最短
3.6、Origin起源属性
3.7、MED
3.8、EBDP学的路由优于IBGP
3.9、优选到BGP下一跳IGP Metric较小的路由
3.10、优选Cluster_ List最短的路由
3.11、优选Rouetr ID最小的路由器发布的路由
四.BGP团体属性
4.1、公共团体属性
4.2、自定义团体属性
4.3、团体列表
五.BGP聚合
5.1、自动聚合
5.2、手动聚合
目录
一.BGP原理
1.1BGP报文类型
1.2BGP状态机
1.3路由通告原则
1.3.1BGP路由的产生方式:
1.3.2BGP路由通告原则
1.3.3BGP的防环原则
1.3.4BGP路由黑洞:
二.BGP属性
三.选路原则
3.1、如果此路由下一跳不可达,忽略此路由
3.2、preferred-value
3.3、local-pref
3.4、优选本地生成的路由
3.5、AS路径最短
3.6、Origin起源属性
3.7、MED
3.8、EBDP学的路由优于IBGP
3.9、优选到BGP下一跳IGP Metric较小的路由
3.10、优选Cluster_ List最短的路由
3.11、优选Rouetr ID最小的路由器发布的路由
四.BGP团体属性
4.1、公共团体属性
4.2、自定义团体属性
4.3、团体列表
一.BGP原理
1.1BGP报文类型
Open报文:协商BGP参数
Updata报文:交换路由信息
Keepalive报文:保持邻居关系
Notification报文:差错通知
Route-Refresh报文:用于在改变路由策略后请求对等体重新发送路由信息
1.2BGP状态机
1.Idle状是BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。也不会像邻居发送TCP syn,只有32S之后才会向邻居发送Tcp syn并且将邻居转为conrtect状态。
2.Connect状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接。
如果TCP连接成功,那么BGP向对等体发送open报文,并转至opensent状态。
如果TCP连接失败,那么BGP转至Active状态。
如果TCP syn没有收到邻居的响应,将会卡在connect状态,总是尝试与BGP邻居建立TCP连接。
常见卡在connect状态的原因:
1、邻居没有启用BGP协议
2、沿途路径存在流量过滤将TCP SYN拒绝了。
3、EBGP邻居建立没有配置多跳。
3.在Active状态下,BGP总是在试图建立TCP连接。
如果TCP连接成功,那么BGP向对等体发送open报文,关闭连接重传定时器,并转至openSent状态。
如果TCP连接失败,那么BGP停留在Active状态。
如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态
4.在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。
如果收到的Open报文正确,那么BGP发送Keepalive报文,并转OpenConfirm状态。
如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至ldle状态。
5.在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至ldle状态。
6.在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文.
如果收到正确的Update或Keepallie报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。
如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至ldle状态。
Route-refresh报文不会改变BGP状态。
如果收到Notification报文,那么BGP转至ldle状态。
如果收到TCP拆链通知,那么BGP断开连接,转至ldle状态。
1.3路由通告原则
建立IBGP邻居关系建议使用坏回口,目的是更加稳定。
默认建立EBGP邻居关系的时候,发送报文的TTL=1.默认建立IBGP邻居关系的时候,发送报文的TTL=255。
1.3.1BGP路由的产生方式:
1、通过network的方式,将本地路由中的路由发布出去。
2、通过import-route的方式,将其他协议的路由引入到BGP协议中。
3、通过手动聚合的方式,产生一条聚合路由(汇总)
如何得到BGP路由呢?
@IBGP邻居给我传递
@EBGP邻居给我传递
@自身产生BGP路由
1.3.2BGP路由通告原则
BGP只会将有效路由中的最优的BGP路由通告给邻居。
@自身产生的BGP路由通告给所有的BGP邻居。
@从IBGP邻居收到的路由,只会传递给EBGP邻居
@从EBGP邻居收到的路由,会传递给所有邻居
1.3.3BGP的防环原则
AS内的防环使用IEGP水平分割机制(只传一跳),即从IBGP邻居收到的路由不会传递给另一个IBGP邻居。
AS之问的防环原则:利用了BGP的路由属性,即BGP将路由发送给EBGP邻居的时候会将自身的AS号添加到as-path列表中;并且规定,从EBGP邻居收到的路由如果携带自身AS号则不接受该路由。
1.3.4BGP路由黑洞:
BGP同步:用于防止BGP路由黑洞问题。
BGP同步机制:即从IBGP邻居接收的路由,需要在IGP表中存在,才能够参加最优BGP路由的选举,如果IGP表中不存在,则不会发送给EBGP邻居。
为什么不使用BGP同步解决路由黑洞问题呢?
2、出现了更好的解决方案:
@AS内部采用全互联的IBGP邻居架构,让所有路由器都运行BGP协议,从而使每台路由器都能够学到BGP路由,防止黑洞产生。
@在ASBR上将BGP路由引入到IGP协议中。(该方法已被淘汰)
@在ASBR之间建立GRE隧道,解决路由黑洞问题。(节约成本)
@通过LSP隧道解决路由黑洞问题。
二.BGP属性
路径属性分类
Next_hop:
EBGP邻居更新路由时,该属性值是两端建立BGP邻居时所用的地址,用的是本端地址,用于根据此属性来寻找该条路由的目的网段,
从EBGP学到的发给IBGP邻居,下一跳属性不变,但是这样不可达。可以在指定邻居的时候将下一跳属性改为建立邻居时的本端地址(peer x.x.x.x next-hop-local)
特点:
1、自身产生的路由发送给所有BGP邻居的时候,下一跳自动修改。
2、从EBGP邻居接受的路由发送给IBGP邻居的时候,下一跳不会自动修改。
3、从EBGP邻居接受的路由发送给EBGP邻居的时候,下一跳自动修改。
4、从IBGP邻居接受的路由发送给EBGP邻居的时候,下一跳自动修改。
5、从IBGP邻居接受的路由不存在发送给IBGP邻居的情况(防环)
Aggregator:可选过渡属性
默认聚合路由之后,聚合路由会添加一个可选过渡属性:
用于对汇总路由的一种标记,标识路由产生的AS,以及产聚合路由设备的router-id,表明发 生聚合的位置
Aggregator: AS // 聚合路由产生的AS
Aggregator ID: x.x.x.x //产生聚合路由设备的router-id。
版权声明:本文标题:BGP路由属性和选路 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728521308a1161959.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论