当前位置: 首页 > news >正文

[Cloud Networking] BGP

1. AS (Autonomous System)

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

所属类型ASN名称IPv4 数量IPv6数量
运营商ISPAS3356LEVEL3 - Level 3 Parent, LLC, US29,798,83273,301,954,048
互联网企业AS15169GOOGLE-Google LLC,US14,223,104103,096,123,392
互联网企业AS8075AS8075 Microsoft Corporation,LLC,US55,327,74489,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内部的路由选择叫做 域内路由选择
image.png

内部网关协议 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
2. Keeplive: 周期查询邻居关系是否存在,保持TCP会话
3. Update:携带路由条目,目标网络号和各种信息
4. 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. 联邦
http://www.lryc.cn/news/386927.html

相关文章:

  • Typora failed to export as pdf. undefined
  • windows 10 安装tcping 使用教程
  • [leetcode hot 150]第一百二十二题,买卖股票的最佳时机Ⅱ
  • openstack Y版在ubuntu22.04上不能创建超过8个cpu的虚拟机问题解决
  • 全国31省细分产品出口数据集(2002-2022年)
  • 1,Windows-本地Linux 系统(WSL)
  • K8S 角色/组件及部署方式的简单概述
  • 堆【模板】小根堆堆【模板】大根堆(回)
  • 【JavaScript】JavaScript简介
  • pg_rman:备份和恢复管理工具#postgresql培训
  • 【小学期】常用基于Swing的七个静态界面
  • JavaScript高级程序设计(第四版)--学习记录之迭代器与生成器(上)
  • 51单片机第9步_结构和联合
  • lua5.3.4的Linux的库文件下载地址
  • 网盘挂载系统-知识资源系统-私域内容展示系统
  • 水位自动监测摄像机
  • 基于SSM+Jsp的疫情居家办公OA系统
  • phpstorm2024代码总是提示“no usages”或者“无用法”解决办法
  • Unity WebGL项目问题记录
  • 如何级联移位寄存器(74HC595)
  • 找到你的专属健康食谱:结合肠道菌群与疾病状态
  • 大模型微调实战之基于星火大模型的群聊对话分角色要素提取挑战赛:Task01:跑通Baseline
  • 大数据开发如何管理项目
  • 在实施数据加密时,有哪些常见的加密技术可供选择?
  • 容易涨粉的视频素材有哪些?容易涨粉的爆款短素材库网站分享
  • 2024 CISCN 华东北分区赛-Ahisec
  • Linux驱动开发笔记(十三)Sysfs文件系统
  • Numpy array和Pytorch tensor的区别
  • 【面试系列】数据科学家 高频面试题及详细解答
  • mysql是什么