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

相关文章

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现