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

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

该笔记主要作用与 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 的路由条目一定是十分庞大惊人的。


50c363a39092b79971c532b76aa9982a.png


关于 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) 🔺

7a978907fd85111026174b7abcb5de77_fef1aa75ab127a3c56d30bde09287878.png


其中 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 报文信息参考图如下


cb4ff01c7b47afdc15226d30fa0a4d58_913d25806c2c32bdb673a9a2faa8e45d.png


BGP 报文作用如下

d8c8400507f321c33050cdff0fa4685d_dd1613d2e7d4b258086873a20944d026.png



0x05 BGP 的有限状态机 🔺

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


参考图如下:


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


19303aaa0fb83e484e896756b513a339_fde7ed110686518dc24092c2c8e513a5.png


发送过程如下:参考即可


8f7f632e1451473bc9481e31ef3ba139_6f4fdc259c272c73858dba21a1e89cb7.png


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 地址要可达

参考如下:


94f5fda6f871cef854dd771c10c5467d_6ef9c71e64b178fb883f9da521e7ba1b.png


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


2:IBGP

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

参考图如下:


002f00fc4b520cc0de45bbbe7cbed5d7_5b2ca604532eb91f1ecb0c0debf3c7f5.png


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


相关文章
|
19天前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
42 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
13天前
|
SQL 存储 安全
网络安全与信息安全概述####
本文探讨了网络安全(Cybersecurity)和信息安全(Information Security)的基本概念及其差异,重点介绍了网络安全漏洞、加密技术及安全意识在信息保护中的重要性。本文旨在通过深入分析这些关键技术和策略,提升对信息安全整体性的理解,帮助读者在数字化时代更好地应对信息安全挑战。 ####
|
2月前
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
2月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
|
4月前
|
存储 网络协议 安全
|
4月前
|
网络协议 网络架构
【网络工程师配置篇】BGP联盟配置案例及分析(超级干货)
【网络工程师配置篇】BGP联盟配置案例及分析(超级干货)
296 2
|
3月前
|
Linux 调度 Docker
容器网络概述
【9月更文挑战第9天】容器技术利用如命名空间(namespace)和控制组(cgroup)等技术创建隔离环境,实现资源限制与独立运行。命名空间避免命名冲突,cgroup则能对CPU、内存等资源进行限制。容器状态可通过镜像保存并标准化,确保在任何环境中都能复现相同状态。
|
4月前
|
存储 NoSQL MongoDB
八:《智慧的网络爬虫》— MongoDB概述
【8月更文挑战第14天】本篇文章简单介绍了MongoDB的下载和安装以;其基本的操作语法,并附上每个语法的代码示例,为后续的爬虫学习打下基础
49 0
八:《智慧的网络爬虫》— MongoDB概述
|
4月前
|
SQL 数据采集 关系型数据库
七:《智慧的网络爬虫》— MySQL概述
【8月更文挑战第11天】本篇文章详细的介绍了MySQL数据库的安装与使用;并讲述了MySQL的基本操作及其应用语法
55 0
七:《智慧的网络爬虫》— MySQL概述
|
4月前
|
存储 运维 监控