[Cloud Networking] BGP

1. AS (Autonomous System)

由于互联网规模庞大,所以网络会被分为许多 自治系统(AS-Autonomous system)

所属类型 ASN 名称 IPv4 数量 IPv6数量
运营商ISP AS3356 LEVEL3 - Level 3 Parent, LLC, US 29,798,832 73,301,954,048
互联网企业 AS15169 GOOGLE-Google LLC,US 14,223,104 103,096,123,392
互联网企业 AS8075 AS8075 Microsoft Corporation,LLC,US 55,327,7448 9,223,372,036,854,775,808

在长度为16bit 的AS号表示方式中:64512-65534 为私有AS号,1-64511 为公有AS号。在长度为32bit 的AS号表示方式中:4200000000-4294967294为私有AS号。

2. 路由协议 (Routing Protocol)

AS内部的路由器全部运行在同样的路由算法,AS之间是互联的,所以每个AS中一个或多个路由器用于不同AS之间的通信,这些路由器称为 网关路由器,用于将AS之外的目的地址转发分组。

所以路由选择协议可以划分为两大类:内部网关协议外部网关协议

AS之间的路由选择也叫做 域间路由选择 ,AS内部的路由选择叫做 域内路由选择

内部网关协议 IGP(interior gateway protocol) ,常见的有 RIP、OSPF 协议

外部网关协议 EGP(external gateway protocol),常见的有BGP、IS-IS协议

3. BGP

Interior Routers 域内路由器Border Routers 域间路由器:用于连接不同AS,属于网络的backbone。

BGP(Border Gateway Protocol)是AS之间交换路由信息的路由协议。

每个Border Routers上运行BGP协议,每个Border Router维护一张到其他AS的路径信息表。

3.1 BGP 数据包

BGP基于TCP 的179端口,故BGP协议中所有数据包均需要TCP建立成功后,基于TCP进行可靠传输。

其数据包包括

1 Open:负责建立邻居关系,携带 route-ie

  1. Keeplive: 周期查询邻居关系是否存在,保持TCP会话

  2. Update:携带路由条目,目标网络号和各种信息

  3. Notification:出现错误数据时收发更新

3.2 BGP状态机

如图所示BGP的状态机展示邻居关系建立过程中的状态变化,路由器启动BGP之后,将处于IDLE状态,手动指定邻居关系后,BGP进入检察环节,基于路由表检查制定IP地址的可达性并尝试建立TCP会话,进入Connect状态。

3.3 BGP 路由黑洞 + 防环

BGP 路由黑洞是因为BGP协议支持非直连,所以可能造成控制层流量可达,但是数据层流量经过没有运行BGP设备时,无法通过形成黑洞,解决方法:

  1. 所有设备运行BGP
  2. BGP重新发布到IGP中
  3. MPLS
    BGP同步原则:BGP要求,当一台设备接收到一条路由信息时,不能通告给自己的EBGP对等体,除非自己还通过IGP协议学习到同一条路由信息。

BGP水平分割:当一台设备从自己的IBGP对等体学到一条路由信息,它不能再出传递给其他的IBGP对等体。从而防止环路,但是也会造成路由传递障碍,解决方式:

  1. 建立全联IBGP对等体:但可能造成网络可拓展性降低,占用大量资源
  2. 路由反射器
  3. 联邦
相关推荐
数智化管理手记7 小时前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
末日汐9 小时前
传输层协议UDP
linux·网络·udp
RopenYuan11 小时前
FastAPI -API Router的应用
前端·网络·python
@insist12312 小时前
网络工程师-VLAN 技术原理与配置指南(软考局域网核心考点)
网络·网络工程师·软考·软件水平考试
TechWayfarer12 小时前
如何搭建企业级IP归属地查询平台?
网络·网络协议·tcp/ip
TechWayfarer12 小时前
科普:IP归属地中的IDC/机房/家庭宽带有什么区别?
服务器·网络·tcp/ip
执行部之龙13 小时前
https连接建立以及密钥加密详解
网络协议·http·https
EmbeddedCore14 小时前
守护网络通信的基石:深入解析SSL/TLS协议
网络·网络协议·ssl
(Charon)14 小时前
【网络编程】关于 KV 数据库项目搭建的一些思考:从网络层到存储层该怎么想
网络
.豆鲨包15 小时前
【计算机网络】数据链路层
网络·网络协议·计算机网络