《重识云原生系列》专题索引:
- 第一章——不谋全局不足以谋一域
- 第二章计算第1节——计算虚拟化技术总述
- 第三章云存储第1节——分布式云存储总述
- 第四章云网络第一节——云网络技术发展简述
- 第四章云网络4.2节——相关基础知识准备
- 第四章云网络4.3节——重要网络协议
- 第四章云网络4.3.1节——路由技术简述
- 第四章云网络4.3.2节——VLAN技术
- 第四章云网络4.3.3节——RIP协议
- 第四章云网络4.3.4节——OSPF协议
- 第四章云网络4.3.4.3节——OSPF协议工作原理
- 第四章云网络4.3.5节——EIGRP协议
- 第四章云网络4.3.6节——IS-IS协议
- 第四章云网络4.3.7节——BGP协议
- 第四章云网络4.3.7.2节——BGP协议概述
- 第四章云网络4.3.7.3节——BGP协议实现原理
- 第四章云网络4.3.7.4节——高级特性
- 第四章云网络4.3.7.5节——实操
- 第四章云网络4.3.7.6节——MP-BGP协议
- 第四章云网络4.3.8节——策略路由
- 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
1 基础概念
1.1 AS(Autonomous System,自治系统/路由选择域)
AS(Autonomous System,自治系统/路由选择域),是指由同一技术机构管理,使用同一选路策略的一些路由器的集合。一般来说,一个公司、一个企业、一所大学就可以说是一个自治系统。
AS内部使用IGP来计算和发现路由,同一个AS内部的路由器之间是相互信任的,因此IGP的路由计算和信息泛洪完全处于开放状态,人工干预很少。
不同的AS之间,使用EGP来进行通信。BGP作为EGP中的一种协议,用于在AS之间进行路由控制和优先。
ASN:自治系统号
一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)。
自治系统号由IANA分配,范围为:1-65535,最开始大小为2B(0~65535),后来由于不够用,长度升级到了4B(45536~4294967295)。
自治系统号分为(可类比共有IP地址、私有IP地址):
- 公有ASN:1~64511
- 私有ASN:64512~65535
1.2 IGP与EGP区别
动态路由协议可以按照工作范围分为IGP以及EGP。IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换;而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种。BGP是一种增强的路径矢量路由协议,同时BGP是拥有丰富的策略控制技术的外部网关协议。多运行于AS与AS之间。
- IGP:内部网关路由协议,包括OSPF、RIP、IS-IS等协议,注重于发现和计算路由,执行在AS内部;
- EGP:外部网关路由协议,包括EGP(目前不使用)、BGP,外部网络路由协议代表(目前AS间路由协议或者说的EGP协议一般都指的是BGP协议),由于BGP的前身EGP由于设计简单,只能简单的传递路由信息,不会对路由进行优选,会造成环路等问题,所以就有了BGP代替了EGP。
1.3 BGP邻居关系以及交互中的角色
BGP 报文交互中分为 Speaker 和 Peer 两种角色:
- Speaker:发送 BGP 报文的设备称为 BGP 发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它 BGP Speaker。
- Peer:相互交换报文的 Speaker 之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。
BGP邻居关系的建立、更新和删除是通过对等体之间的5种报文、6种状态机和5个表等信息来完成,最终形成BGP邻居。
在BGP中大致可分为两种邻居关系:IBGP邻居和EBGP邻居。
- IBGP:同一个AS内部的BGP邻居关系,IBGP邻居通常是指运行BGP协议的对等体两端均在同一个AS域内,属于同一个BGP AS内部。
- EBGP:AS之间的BGP邻居关系,EBGP邻居通常是指运行BGP协议的对等体两端分别在不同的AS内。
BGP邻居的AS号和本端的AS号相同就为IBGP(邻居),不同就是EBGP邻居。
IGP(内部网关协议,如OSPF)建立邻居一般要求三层设备直连,并且通过广播或组播建立邻居关系。而BGP(外部网关协议)的邻居关系是基于TCP的,也就是说只要让TCP/IP可达,无论是否直连,BGP对等体彼此之间就可以建立邻居关系。所以BGP建立邻居之前首先要考虑的就是对等体之间的路径可达(是否存在路由,可以ping通)。务必要通过IGP或者静态路由使对等体两端互通。
1.4 BGP的路由器号(Router ID)
BGP 的 Router ID 是一个用于标识 BGP 设备的 32 位的值,通常是 IPv4 地址的形式,在 BGP 会话建立时发送的 Open 报文中携带。对等体之间建立 BGP 会话时,每个 BGP 设备都必须有唯一的Router ID,否则对等体之间不能建立 BGP 连接。
BGP 的 Router ID 在 BGP 网络中必须是唯一的,可以采用手动配置,也可以让 BGP 自己在设备上选取。缺省情况下, BGP 选择设备上的 Loopback 接口的 IPv4 地址作为 BGP 的 Router ID。如果设备上没有配置 Loopback 接口,系统会选择接口中最大的 IPv4 地址作为 BGP 的 Router ID。一旦选出 Router ID,除非发生接口地址删除等事件,否则即使配置了更大的地址,也保持原来的 Router ID。
1.5 BGP协议特点
- 可靠的路由更新机制(有变化才发)(没有组播,只有单播的连接。建立在TCP之上。只有在路由信息发生更新的时候才会发送增量路由。不会释放掉TCP连接:keep alive机制,保证TCP连接不会断掉)(注意:建立BGP连接首先要建立TCP连接)
- 丰富的度量方式
- 避免环路
- 路由附带属性信息(AS之间的路由器是不完全互相信任的,为了实现路由按需求控制和优选,BGP设置了诸多属性)
- 支持CIDR、VLSM
- 丰富的路由选择和路由控制
- 增量更新计算
- 可以跨越多跳路由器建立邻居关系
参考链接
BGP协议原理(一)BGP协议基本概念:BGP作用与特点、BGP邻居关系建立与配置_Skye_Zheng的博客-CSDN博客_bgp协议作用
BGP协议总结(比较详细,好理解)_Looo~ye的博客-CSDN博客_bgp协议
BGP协议详解(一)_liboyang990814的博客-CSDN博客_bgp协议
本文由[mdnice](https://mdnice.com/?platform=6)多平台发布
网友评论