【网络技术】BGP 基础与概述

发布时间:2023年12月21日

该笔记主要作用与 BGP 路由协议的基础和概述讲解,其萌芽作用

参考视频:红茶三杯

关键词阐述:AS = 独立自治网络系统机构

前置知识
在我们学习 BGP 路由之前所学习的所有动态路由策略,都同属一个路由类中:IGP

BGP 路由协议应用环境:

在一般的小型园区网,或者中小型公司中是用不到 BGP 路由协议的,一般采用 IGP 协议,比如 OSPF,RIP,EIGRP 等,BGP 使用在大规模网络环境部署中,通常部署在运营商中,政府网络中等

如果在大规模网络跑 IGP 协议,可能就把 IGP 协议跑死了,因为路由条目会变的非常多

我们可以把 部署了 BGP 路由协议的设备比作一个 AS,不同 AS 之间 跨省交换路由信息,跨城通信,BGP 协议不着重于内部通信,主要着重于不同域点的 AS 通信,域内主要由 IGP 路由来完成

本章笔记所分知识点如下:

  • BGP 概述

0x01 BGP 概述

我们先来回头看望以下 IGP 协议

IGP 具有以下某些特性或全部特性

  • 执行拓扑发现
  • 尽力完成快速收敛
  • 需要周期性的跟新来确保路由选择信息的精确性
  • 受同一个管理机构的控制
  • 采用了共同的路由选择策略
  • 提供了优先的策略控制能力

以下为 BGP 路由部署环境的艺术图:

我们需要注意,如果在 BGP 路由边界 AS 路由器重发布到 IGB 路由中,一定要做路由策略,减少路由条目,因为 BGP 的路由条目一定是十分庞大惊人的。

image-20231221184947847

关于 BPG

  • AS:autonomous system 自治系统,指的是一在同一个组织管理下使用相同策略的设备的集合
  • 不同 AS 通过 AS 号区分,AS 号取值范围 1 - 65535 ,曲中 64512 - 65535 为私有 AS 号,IANA 负责1 AS 号的分发
  • 中国电信 163 AS号:4134
  • 中国电信CN2 AS号:4809
  • 中国网通 AS 号:9929
  • 所以,BGP 路由之间,也存在一点 IPv4 地址的缩影

BGP 🔺

  • BGP 为 Border Gateway Protocol 边界网关路由协议 ( 路径矢量 )
  • 主要作用是在 AS 之间传递路由信息
  • 目前 BGP 由 4 个版本:V1,V2,V4,V4+(即 MGBP)

使用 BGP 的三大理由

  • 大量路由需要承载,IGP 只能容纳千条,而 BGP 可以容纳上万
  • 支撑 MPLS / VPN 的应用,传递客户 VPN 路由
  • 策略能力强,可以很好的实现路由决策与数据控制

BGP 路由协议中的路径属性拥有许多,在 IGP 中来来去去都是 metric 值,而在 BGP 中则不是,BGP 路由策略与数据控制非常的强大,可以很好的控制流量路径

BGP AS 之间连接关键词 🔺

  1. Single homed 单宿:只连接到一家 ISP 且没有冗余链路
  2. Dual homed 双宿:只连接到一家 ISP,使用两条链路来提供冗余
  3. Multihomed 多宿:连接到多家 ISP
  4. Dual Multihomed 双多宿:连接到多家 ISP,同时使用两条链路实现冗余

0x02 BGP 的路径矢量特征 (AS-PATH) 🔺

image-20231221185205064

其中 AS-PATH,主要用于:传递路径矢量信息,防止环路

1:其实到这里,我们抛开 BGP 其他路径属性不谈,BGP 协议与 RIP 协议十分的相似,只不过 RIP 使用的是跳数来衡量路径,而 BGP 则是使用 AS 号来衡量路径

2:这里为什么能防止环路呢,观察上图,我们发现每个 AS 自治系统边界路由器中,只要有传递 BGP 路由信息,就会带入一个自己的 AS 号,通过 AS 号,AS 们知道该将路由信息传递给谁,同时,只要在传递过程中到自己的时候,发现里面有自己的 AS 号,那么就直接丢弃,从而防止环路

  • 路径矢量信息中包含一个 BGP 自治系统号列表
  • BGP 路由器不接收路径列表中包含其 AS 号的路由跟新,BGP 是天生规避环路的
  • BGP 支持对 BGP 自治系统路径应用路由策略
  • BGP 路由器只能将其使用的路由通告给邻接自治系统中的对等体,简单说就是 Peer 邻居

0x03 BGP 特征 🔺

BGP 允许 AS 之间不直连建立 Peer

在 IGP 协议中,比如 OSPF,我们只要开启本地 OSPF 进程,network 宣告直连,该 OSPF 路由器就会自己去组播 224.0.0.6 发现 Peer 对等体,而 BGP 则不会,需要我们手工去指定,源和目的,才能建立 Peer 对等体关系

  • BGP 使用 TCP 为传输层协议,TCP 端口号为 179
  • BGP 路由器之间建立 TCP 连接,这些路由器成为 BGP 对等体 Peer,也叫 BGP 邻居:EBGP、IBGP
  • 对等体之间交换整个 BGP 路由表
  • BGP 路由器只发送增量更新或触发更新 (不会周期性更新)
  • 具有丰富的路径属性
  • BGP 通告成千上万的路由,可采用 TCP 滑动窗口的机制 ???什么东东,停止并等待确认前,可以发送 65578 个字节

0x04 BGP packets 🔺🔺🔺

其中一些常识需要去记住,TCP 179 传输,IP 协议号为 6

BGP 报文信息参考图如下

image-20231221185234246

BGP 报文作用如下

image-20231221185244285

0x05 BGP 的有限状态机 🔺

所谓状态机,即为机器的状态,在建立邻居关系之前,要去发现跟自己一样的人,否则一个人不得闷死?

参考图如下:

其主要发现邻居的 Peer 状态改变

image-20231221185249225

发送过程如下:参考即可

image-20231221185253148

0x06 BGP Peer BGP 邻居关系讲述

1:EBGP 特点:处于直连中的 BGP 路由邻居关系 TTL 值为 1

2:IBGP 特点:不一定直连,通过 IGP 协议在不同 AS 之间传输 BGP 路由信息

详述如下:

1:EBGP

  • EBGP:BGP 位于不同自治系统的路由器之间,称为 EBGP
  • 建立 EBGP 邻接关系,必须满足如下三个条件
  1. EBGP 之间的自治系统号不同
  2. 定义邻居建立 TCP 会话
  3. neighbor 中指定的 IP 地址要可达

参考如下:

image-20231221185315664

我们可以很简单的观察到,EBGP 之间是不同自治 AS 区域的邻居关系

2:IBGP

  • IBGP:位于同一个自治系统的路由器之间运行,用于同一个 AS 中交换 BGP 信息
  • 建立 IBGP 邻接关系,必须满足的条件如下
  1. 自治系统号相同
  2. 定义邻居建立 TCP 会话

参考图如下:

image-20231221185325469

而 IBGP 则是同一区域之间的 两个 AS BGP 工作路由器,才能建立 IBGP 邻居关系,其之间通过内部 IGP 协议来传输和 update

文章来源:https://blog.csdn.net/qq_22406677/article/details/135138022
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。