华为数通HCIP-BGP基础

AS(自治系统/路由域)

定义:运行相同路由协议,具有相同管理规则的区域(一般为一个企业网);

指具有相同路由管理策略的区域合集,一般为一个园区网;

标识:通过AS号进行标识;

范围:0~65535

其中 0~64511为公网AS,运营商网络使用,固定;

64512~65535为私网AS,企业网络使用,一般向运营商租用;

**一台路由器只能加入一个AS;

按照传递路由时是否携带掩码分类:

1、有类路由协议

路由传递时,无需携带掩码,对端收到后,根据网段的类别,自动生成掩码;

2、无类路由协议(ospf、isis、BGP)

传递路由时,会携带掩码

使用IGP传递路由

使用BGP传递路由

在AS之间专门使用BGP(Border Gateway Protocol,边界网关协议)协议进行路由传递,相较于传统的IGP协议:

BGP基于TCP,只要能够建立TCP连接即可建立BGP。

只传递路由信息,不会暴露AS内的拓扑信息。

触发式更新,而不是进行周期性更新。


• AS 之间需要直连链路,或通过 VPN 协议构造逻辑直连(例如 GRE Tunnel )进行邻居建立。
• AS 之间可能是不同的机构、公司,相互之间无法完全信任,使用 IGP 可能存在暴露 AS 内部的网络信息的风险。
• 整个网络规模扩大,路由数量进一步增加,路由表规模变大,路由收敛变慢,设备性能消耗加大。

BGP****在企业中的应用

BGP(边界网关协议)

作用:实现AS之间的互通,传递AS间的路由;

特点:

1、具有十三条选路原则,确保无次优;

2、具有丰富的防环规则,确保网络无环;

3、工作在TCP之上,每一份BGP报文被接收后,都需要进行TCP ACK确认;

4、BGP报文均为单播发送,因此可以跨跳建立BGP邻居

sip默认为物理接口ip;

dip为peer的地址;

BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。

BGP能够承载大批量的路由信息,能够支撑大规模网络。

BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。

BGP能够支撑MPLS/VPN的应用,传递客户VPN路由BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。

BGP****特征

BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。

运行BGP的路由器被称为BGP发言者(BGP Speaker),或BGP路由器。

两个建立BGP会话的路由器互为对等体(Peer),BGP对等体之间交换BGP路由表。

BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)。

BGP能够承载大批量的路由前缀,可在大规模网络中应用。

BGP通常被称为路径矢量路由协议(Path-Vector Routing Protocol)。

每条BGP路由都携带多种路径属性(Path attribute),BGP可以通过这些路径属性控制路径选择,而不像IS-IS、OSPF只能通过Cost控制路径选择,因此在路径选择上,BGP具有丰富的可操作性,可以在不同场景下选择最合适的路径控制方式。

BGP工作过程

1、建立TCP连接(三次握手)

主动端:发送TCP SYN(seq=a),用于请求主动端到被动端的连接

被动端:发送TCP SYN+ACK(ack=a+1,seq=b),用于确认建立主动端到被动端的连接,以及请求被动端到主动端的连接建立;

主动端:发送TCP ACK(Seq=a+1,ack=b+1),用于确认被动端到主动端的连接建立;

主动端如何确定:

(1)如果使用loopback接口建立BGP邻居,则指定了更新源地址的一端为主动端;

(2)先启动BGP的一端为主动端;

(3)router id大的一端为主动端;

TCP连接建立完成后,BGP报文可以开始交互;

2、建立BGP邻居;

建立方式:通过物理接口建立;

通过loopback接口建立;

默认为物理接口ip;

在进行TCP连接时,会进行更新源检查:会检查收到的TCP报文的sip跟自身PEER的地址是否一致,一致则通过,不一致则不通过,无法建立TCP连接;

如果在通过loopback接口建立BGP邻居时,只有一边修改了更新源,则需要修改了更新源的一端作为主动端,可以建立BGP邻居;

BGP邻居分类:

1、IBGP邻居

定义:邻居双方处于同一AS;

一般使用loopback接口建立(一个AS内一般存在多条冗余路径,通过loopback接口建立,可以提高邻居的可靠性);

(1)通过物理接口建立

bgp 100 //进入自身的BGP AS进程;

peer 10.1.23.3 as-number 100 //peer对端的物理接口,指定对方的AS号;

(2)通过loopback接口建立

bgp 100

peer 2.2.2.2 as-number 100 //peer对端的loopback接口

peer 2.2.2.2 connect-interface LoopBack 0 //将自身跟2.2.2.2建立BGP邻居时的更新源修改为自身的loopback 0接口;

注意事项:1、需要确保peer的地址可达;

2、需要修改更新源;

3、无需修改多跳(默认建立ibgp邻居时,报文发送的TTL值默认为255)

2、EBGP邻居

定义:邻居双方处于不同AS;

一般使用物理接口建立;(一般AS之间的距离较远,处于成本考虑,一般只部署单一链路,使用物理接口配置更方便)

(1)通过物理接口建立

bgp 100

peer 10.1.34.4 as-number 65535

(2)通过loopback接口建立

bgp 100

peer 4.4.4.4 as-number 65535

peer 4.4.4.4 connect-interface LoopBack 0 //将自身跟4.4.4.4建立BGP邻居时的更新源修改为自身的loopback 0接口;

peer 4.4.4.4 ebgp-max-hop 2 //指定跟4.4.4.4建立邻居时,最大跳数为2,发送的报文TTL值修改为2;

注意事项:1、需要确保peer的地址可达;

2、修改更新源;

3、修改最大跳数;(默认建立ebgp邻居时,报文发送的TTL值默认为1)

display bgp peer //查看BGP邻居

3、产生、传递BGP路由;

BGP路由的产生方式

1、宣告-network

前提:需要路由表中存在一摸一样的路由,才能宣告成功;

注意:宣告可以调用路由策略去修改属性;

特点:起源属性为i

配置

BGP 65535

network 40.1.1.1 32

2、引入-import

将其他协议的路由引入到BGP,传递给BGP邻居;

特点:起源属性为?

配置

BGP 65535

import-route direct

BGP****对等体关系

BGP报文

结构:BGP------TCP------ip------以太网2;

发送方式:单播发送;

分类:

1、open报文

作用:用于建立BGP邻居;

协商内容:

(1)版本:默认为v4,向下兼容;

(2)my as:携带发送者的AS号,对方收到后,会对比该字段与自身peer该邻居指定的AS号是否一致,一致则协商通过;

(3)hold time:指keepalive报文的超时时间,如果两端不一致,则以小的为准;

(4)router id不能冲突;

(5)可选字段

a、多协议扩展能力

代表该open报文请求建立的邻居关系;

AFI代表建立哪种协议的邻居:IPV4 \ IPV6 \ VPNV4 \ VPNV6.....

SAFI代表建立方式:单播/组播

b、路由刷新能力

默认支持

c、四字节AS号支持能力

如果一边是2字节,一边为4字节,则2字节会填充23456与4字节那一端建立BGP邻居

2、keepalive报文

作用:用于对open报文进行确认;

周期发送维护BGP邻居(默认60s/次,超时为180s)

bgp 100

peer 4.4.4.4 timer keepalive 30 hold 90 //修改keepalive周期为30s,超时时间为90s,其中超时时间修改为0,代表邻居永不老化;

3、notification报文

当双方参数协商不通过时,会发送notification报文,并且进行四次挥手,拆除TCP连接;

BGP状态机

1、idle(初始状态)

设备刚运行BGP,没有收到start事件(没有peer地址/peer的地址不可达);

2、connect(等待连接状态)

当设备收到start事件后,会发送TCP连接请求,并且进入该状态;

如果发送的TCP连接请求,32s内没有收到回应(链路问题、认证不通过),则进入active(重连接)状态,再次发送TCP连接请求,再回到connect状态,如果32s内仍然无法收到回应,则停留在connect状态,直至配置发生改变;

3、active状态(重连接状态)

如果发送的TCP连接请求,收到TCP RST回应(拒绝连接)(更新源检测不通过),则进入active状态,并且重新发送TCP连接请求,如果还是收到TCP RST回应则停留在active状态,并且每32s发送一次TCP连接请求;

4、opensent

如果TCP连接没有问题,则会在TCP连接建立完成后,由主动端发送open报文,请求BGP邻居的建立,并且进入该状态;

5、openconfirm

收到open报文后,协商参数没有问题,则回应keepalive报文进行确认,并且进入该状态;

6、established

收到对方的keepalive报文后,进入该状态;

双方均进入该状态时,代表邻居建立完成;

注意:bgp路由传递过程中,状态不会改变;

相关推荐
ClkLog-开源埋点用户分析5 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos
mg6685 小时前
鸿蒙系统的优势 开发 环境搭建 开发小示例
华为·harmonyos
模拟IC攻城狮6 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
lqj_本人6 小时前
鸿蒙next选择 Flutter 开发跨平台应用的原因
flutter·华为·harmonyos
TangKenny6 小时前
计算网络信号
java·算法·华为
23zhgjx-NanKon6 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon7 小时前
华为eNSP:mux-vlan
网络·安全·华为
点点滴滴的记录7 小时前
RPC核心实现原理
网络·网络协议·rpc
程思扬8 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
Leo.yuan8 小时前
39页PDF | 华为数据架构建设交流材料(限免下载)
数据结构·华为