BGP简介、BGP与IGP的区别、BGP的优势有哪些?

2023-11-08 23:59
文章标签 优势 区别 简介 bgp igp

本文主要是介绍BGP简介、BGP与IGP的区别、BGP的优势有哪些?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BGP的背景

 为方便管理规模不断扩大的网络,网络被分成了不同的AS(Autonomous System,自治系统)。

 早期,EGP(Exterior Gateway Protocol,外部网关协议)被用于实现在AS之间动态交换路由信息。但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。

 BGP(Border Gateway Protocol,边界网关协议)是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGP,BGP能够进行路由选路避免路由环路更高效率的传递路由维护大量的路由信息

 BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的路径矢量路由协议(Path-Vector Routing Protocol)。

在这里插入图片描述

BGP的优势

相较于传统的IGP协议:

1、BGP使用TCP作为其传输层协议(端口号为179),使用触发式增量路由更新,而不是周期性路由更新。

 这一点就注定了BGP在运行商及公网环境下的地位会比IGP高,因为IGP协议路由更新之后可能会造成网络的波动,甚至可能影响正常业务的转发。

2、只传递路由信息,不会暴露AS内的拓扑信息。

3、BGP能够承载大批量的路由信息,能够支撑大规模网络。

 IGP协议均共用一个IGP路由表,而BGP单独使用一个BGP路由表,两表之间互不关联。

4、BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。

5、BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。

6、BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。

总结:BGP更安全可靠、增量路由更新、支持超大型网络、具备更多的选路工具

IGP与BGP

BGP的建立与路由交互大致过程是怎样的?与IGP路由协议的邻居建立与交换路由过程有何区别?

1、BGP通过TCP报文建立邻居与发送路由信息,因为基于TCP建立邻居,所以只要两个路由器底层路由可达都有建立BGP邻居并交互路由。

2、BGP建立优先发起TCP建立连接,连接成功之后发送相关BGP报文请求建立BGP邻居,建立成功之后再发送BGP路由。

IGP协议通常都是完成邻居建立之前就已经交互完了路由信息,如OSPF建立完成邻接状态之后路由也完成了收敛。

而BGP是先建立好关系之后,再发送路由。因为BGP路由条目居多如果在建立过程中就发送路由,将会消耗大量时间在关系建立上。

如果要跨设备建立邻居的话,说明跨设备的底层路由已经打通了,那为何要在已经建立了底层IGP的网络上再建立一个BGP邻居呢?

1、论应用场景而定,如果是在企业内部网络部署IGP,的确已经足够。

2、但如果是运营商或一些大型网络中,路由条目较多,网络拓扑较为复杂的场景。使用IGP协议虽然可以运行,但网络拓扑发生细微变更将会导致整个网络拓扑变更,造成网络动荡,路由条目越多,收敛时间越慢。

3、而如果使用IGP为基础建立BGP邻居,相互学习BGP路由。当网络拓扑变更的时候,受到影响的设备只需要发送变更的路由条目发送给其它BGP邻居即可,稳定性显而易见。

BGP的基础名词

AS自治系统

 autonomous system,在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用各种路由协议的小型单位。可理解为网络中的一个小帮派。

 不同AS通过AS号区分,AS号存在16bit、32bit两种表示方式。

在长度为16bit的AS号表示方式中:64512-65534为私有AS号。
在长度为32bit的AS号表示方式中:4200000000-4294967294为私有AS号。

 由IANA负责AS号的分发(同时它也是分发公网IP地址的那个组织)。

IANA的所有任务可以大致分为三个类型:
一、域名。IANA管理DNS域名根和.int,.arpa域名以及IDN(国际化域名)资源。
二、数字资源。IANA协调全球IP和AS(自治系统)号并将它们提供给各区域Internet注册机构。
三、协议分配。IANA与各标准化组织一同管理协议编号系统。

 当不同AS之间需要进行通信时,在AS之间使用BGP路由协议进行路由的传递。

BGP发言者(BGP Speaker)

 运行BGP的路由器都被称为BGP发言者或BGP路由器

BGP对等体(Peer)

 两个建立了BGP会话的路由器互为对等体,也称BGP邻居。

 BGP存在两种对等体关系类型:EBGP与IBGP对等关系

 1、EBGP(External BGP):位于不同自治系统的BGP对等体关系。

 2、IBGP(Internal BGP):位于相同自治系统的BGP对等体关系。

BGP路径属性(Path attribute)

 每条BGP路由都携带多种路径属性,BGP可以通过这些路径属性控制路径选择,而不像IS-IS、OSPF只能通过Cost控制路径选择,因此在路径选择上,BGP具有丰富的可操作性,可以在不同场景下选择最合适的路径控制方式。
在这里插入图片描述

更多相关笔记,观看CSDN:HCIA~HCIE个人笔记

这篇关于BGP简介、BGP与IGP的区别、BGP的优势有哪些?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们