如果大家都只用BGP协议,世界会变成怎么样?

2024-01-26 13:38

本文主要是介绍如果大家都只用BGP协议,世界会变成怎么样?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有小友提问说,既然有了BGP,为什么还需要OSPF和RIP这种IGP?

这个问题问的就像是……为什么有了局域网,还要广域网?

而且这个问题其实可以从两个角度来自我论证:①历史发展角度 ②技术角度,下面各位答主各有角度,但总体都是这两个方向。

老杨想做点补充,降低一点这个问题的理解门槛,毕竟这几个名词放在一起,小白大概率会懵逼,老杨先给你先理清一下关系。

乍一看,这题问的是BGP和IGP能不能二选一,对吧?

但实际上:

IGP(内部网关协议)对应的是EGP(外部网关协议),这两个才是相同量级,可以进行比较的。

BGP(边界网关协议)是EGP(外部网关协议)的发展到现如今的最新版本,所以这俩才能对比。

这个过程里又不得不提到一个新的名词,叫做AS自治系统(autonomous system),这就是IGP和BGP这俩小朋友的游乐场,没有它,他俩没地儿折腾,也不存在什么取舍问题了。

所以,咱们先把这仨玩意儿到底是啥搞清楚,我们再往下分析。

1、什么是自治系统(AS)

AS的全称就是autonomous system,从英文名其实就可以看出来,所谓的自治系统就是处于一个管理机构(比如运营商)控制之下的路由器和网络群组的全体,它们对互联网执行共同的路由策略。

移动、联通、电信三大巨头,他们各自都有自治系统,他们之间是相互独立的,但每一个运营商的自治系统内部都是按照一定规律在稳定运行的。

这样的自治系统有很多很多,就像一个又一个大型的局域网,自治系统内部需要规则来管理,外部也需要通过手段让彼此之间互联互通,才可以自由通信。

也就是说,对于互联网来说,一个AS是一个独立的整体网络。

在这个内部管理和外部交流的双重目标之下,就出现了IGP和EGP这两个“管理措施”,保证运转畅通。

2、什么是IGP(内部网关协议)?

IGP(内部网关协议)指的是在一个自治系统(AS)的内部所使用的一种路由协议,它一般分为2种类型:距离-矢量路由协议、链路状态路由协议。

其中,问题里涉及的OSPF和RIP就在这里头。

一个AS内部可以有多个路由器管理多个网络,各个路由器之间需要路由信息以知道子网络的可达信息,IGP起到的就是用来管理这些内部路由的作用,IGP里最典型的代表就是RIP和OSPF。

RIP是一种谣传路由,它主要的动作就是记录下离自己最近的路由器发来的现成的路由表,这些路由条目不用自己计算,机制非常简单,所以但非常容易学到错误路由。

它就只是听从邻居的话,使用邻居做为去往一个又一个非直连网络的下一跳。

OSPF是一种最佳路由,它主要的动作是收集网络中的各种信息并独立构建出拓扑图,再通过自己的独立计算到达目标地。

运行OSPF的路由器是先知道网络的拓扑,再基于拓扑计算路由。

乍一看OSPF挺好,RIP有点憨批是吧?

其实这俩在运用过程里都有自己优点和缺陷:

RIP配置很简单方便,很容易上手,但RIP显而易见的缺陷就是容易学到错误路由,除此之外,RIP的收敛时间比较长,也是一个卡点。

OSPF收集信息的确很精细,每个细节都不放过,但同时也太多大庞大了,很是负累。

3、什么是BGP(边界网关协议)?

BGP(Border Gateway Protocol)是指边界网关协议,它是运行在自制系统间的路由协议,主要作用交换域间路由协议。可以说,它是互联网上一个核心的去中心化自治路由协议。它存在的目的就是去中心化,以达到各个网络自治。

BGP是EGP(外部网关协议)发展了20多年以后的最新成果,所以和IGP(内部网关协议)可以形成呼应和对比。

可以理解为,IGP是自身性格,BGP就是社交手段。就像我们国家对人始终温和谦逊,但必要的时候也需要采取强硬手段震慑敌军,这是两种方式,但目的都是为了自身更好的运转。

BGP是应用层协议,其传输层使用TCP,默认端口号是179。BGP是唯一使用TCP作为传输层的路由协议,其他的路由协议可能都还到不了传输层。

因为是应用层协议,可以认为它的连接是可靠的,并且不用考虑底层的工作,例如fragment,确认,重传等等。

所以,也可以说BGP是最复杂的路由协议,根据收到的信息判断决策,再应用到路由表。

在EGP的基础上不断发展至今,BGP又分成了EBGP(Exterior BGP:不同AS之间的BGP连接)和IBGP(Interior BGP :同一个AS之间的连接)两种类型。

关键来了,这个IBGP明确表示它可以应用于AS内部,那就和IGP有冲突了不是?

所以,为什么要有IBGP?为什么IGP还在用呢?

4、既然有了BGP,为啥还要OSPF/RIP?

不同的性格有着不同的优势,就像铲子和汤勺,筷子和叉子,都是餐具,但使用场景不同,效果不同。

你吃意面用筷子吃也不是不行,但你用叉子卷着吃速度更快;有的时候用筷子夹汤圆吃也不是不行,但勺子吃更方便。所以,各类的路由协议也有自己的优势和短板,这是IGP没有被替换掉的原因。

IBGP和IGP一定是2选1吗?显然不是。

那作为同样都应用于AS内部的协议,为什么不能只选其中一个来用呢?

传统的解释看着累赘,我们简化一下理解。

我们来假设一下,如果没有IGP,只有IBGP的话,会变成什么样子:

IBGP是通过TCP连接的,IBGP·1号和IBGP·2号之间很可能没有实际的物理链路,如果没有IGP来提供路由,那么IBGP就毫无用处。

我们再来假设一下,如果没有IBGP,只有IGP,会变成什么样子:

IGP在内部好用是好用,但是处理路由的条目有限,路由表的数量一旦超过某个极限值,IGP就无法处理了。

再加上按照IGP那么“死板”的处理原则,只要其中有一条路由出现问题,那用IGP的这台路由器就要全部重新路由,10条可以,100条可以,10万条呢?

别说路由器受不受得住,带宽占用率也要哀嚎了。

而有IBGP就可以解决这个问题。

举个例子:

现在AS50/60/70里各有300台路由器,那这个时候AS50想要把其中的20000+路由传递到AS70之中,和AS60没有太大关系。

如果这时候没有IBGP的话,这20000+的路由都会被送到AS60的IGP之中去;如果时候有IBGP的话,那就只有AS70可以收到这20000+路由,提高效率不说,也突出了IBGP的路由控制能力。

你从这个例子里也可以看出,IBGP突出的能力其实是基于大基数的数据量来看的。BGP对于路由的学习,是比较特殊的适用于大型企业网。所以一般用于在各个企业网之间使用。

如果是一些小型网络,操作简单快捷才是最重要的,那这时候IGP里的其中一员猛将OSPF,OSPF的设备要比支持BGP的要多,选它不是更好吗?

具体问题具体分析,因地制宜制定策略,才可以高效行事。

全部都用BGP不是不行,理论上是ok的,只是本身设计时就是为了大型网络而设的,你小型网非要用,负荷那么大,不必强撑。

听点话,大家都这么用当然都是有自己的道理。

杀鸡焉用牛刀?但你非要用也不是不行,用呗,咱够豪横(手动狗头)

原创: 老杨丨8年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

这篇关于如果大家都只用BGP协议,世界会变成怎么样?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646975

相关文章

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

网络原理之TCP协议(万字详解!!!)

目录 前言 TCP协议段格式 TCP协议相关特性 1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手) 三次握手(建立TCP连接) 四次挥手(断开连接)  4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答  9.基于字节流 10.异常情况的处理 小结  前言 在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

DNS协议基础笔记

1.定义 DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 2.域名解析过程 当用户在浏览器中输入一个域名,浏览器首先会检查自己的缓存中是否有该域名对应的 IP 地址。本地 DNS 服务器收到查询请求后,首先会检查自己的缓存中是否有该域名对应的 IP 地址。根域名服务器收到查询请

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消