0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BGP、EBGP、IBGP、IGP还没搞清楚?

中兴文档 来源:中兴文档 2024-01-09 10:23 次阅读

01 互联网是如何诞生的?

一开始,电脑之间互相访问靠的是网线连接。这样,电脑能收到在网线上传输的所有数据。

15855096-ae94-11ee-8b88-92fbcf53809c.png

但不是每台电脑都希望收到与自己无关的数据,所以需要“路由器”来将电脑们统一管理和分发,传送数据到指定的地方。

159099c4-ae94-11ee-8b88-92fbcf53809c.png

就像无形之中电脑被分了很多个“组”一样,这些“组”都使用相同的技术协议进行管理,我们将这样的“组”称之为“自治系统(AS)”

自治系统,顾名思义,就是自己管理自己,一般来说就是由机构或者组织来统一管理自己内部的网络。现实当中,常见的自治系统有一所大学,一个企业或者一个公司个体。

为了便于理解,我们把自治系统这个概念放大到“忍者世界”的国家层面。

159d80d0-ae94-11ee-8b88-92fbcf53809c.png

比如中兴文档的数据想要从兴之国送去土之国雷之国火之国很明显要经过其它中间国家。

若数据想经过雨之国,那么雨之国可能会想:“凭什么让你的数据从我这里通过,我怎么知道你的数据里是不是藏着爆炸符呢?”

而且在实际中,每个自治系统都可能采用不同的数据传输手段,这样通信肯定会受到阻碍,又怎么会发展为现在的互联网呢?

02 BGP究竟是什么?

为调节这种纷争,IANA这个机构就出现主持公道了!(IANA就是负责分配IP地址的那个源头机构)

15bd2d90-ae94-11ee-8b88-92fbcf53809c.png

IANA给每个国家(自治系统)都分配不重复的编号,这些编号可以理解为大家都遵守的和平协议的标识,而这个和平协议,就是BGP(Border Gateway Protocol,边界网关协议)。

如果每一个国家(自治系统)都使用BGP这个规则来进行数据的传输,那么路由器也再不需要把全世界的设备都记下来,只需要把国家(自治系统)的编号记录下来就可以啦!

那数据是如何在不同自治系统的路由器之间进行传输的呢?

那就要说到BGP的两个分类了:IBGP(Interior Border Gateway Protocol,内部边界网关协议)EBGP(External Border Gateway Protocol,外部边界网关协议),那么他们分别是什么呢?文档君慢慢跟你道来~

03 IBGP和EBGP有什么区别?

IBGP(Internal BGP)和EBGP(External BGP)从字面意思来看Internal表示向内,External表示向外。

15c8ce20-ae94-11ee-8b88-92fbcf53809c.png

可能粉丝们有疑问BGP本来就是边界网关协议啊?不就是一种外部网关协议吗?为什么还要再区分内部和外部呢?

文档君继续举例子,这个问题可以理解为分工合作,EBGP就好比每个国家的外交部,外交部专门和其他国家打交道,获取信息后传送给国内的媒体再公布给社会。

15d9178a-ae94-11ee-8b88-92fbcf53809c.png

相对地,IBGP就可以理解为国内大媒体,将外交部获得的消息传递到国内。

15e2fab6-ae94-11ee-8b88-92fbcf53809c.png

结合上面的例子,继续来说说EBGP和IBGP有哪些区别呢?

EBGP仅处理自治系统之间的数据传输,IBGP仅处理自治系统之中的数据传输,就像外交部和国内媒体分工非常明确。

IBGP从EBGP获得的自治系统路径,是不会进行更新或者修改的,如果要更新也得由EBGP去更新或者修改,IBGP内部不会独自修改。

正如国内媒体在得到外交部发布的国际新闻以后,不能自行编造新闻,必须如实传递,不然会使得国内民众的信息不对称。

EBGP是不需要进行全互联的。比如兴之国要和火之国通信,中间相隔其他国家,如果通过另外架设网络来绕过中间国家,显然是不划算的,也是不现实的。但是如果中间国家也有使用EBGP的话,就可以透过中间国家来传递数据了,这样就不需要进行全互联了。

04 IBGP与IGP有什么区别呢?

这个时候可能又有同学疑惑,有了IBGP,是不是不需要IGP了呢?

当然不是!

IBGP与IGP重点不同,我们在学习IGP时,我们了解它有鼎鼎有名的几员大将,如OSPF、IS-IS、RIP……。IGP的重点在于自治网络中发现和计算路由,而IBGP在于控制整体路由的传播。

15f58eb0-ae94-11ee-8b88-92fbcf53809c.png

延用上文的例子。

IBGP负责国际新闻在国内的整体流通,就好比国内非常有话语权的大媒体,但是具体如何传递给民众并不负责。

而IGP就负责消息在国内各个小媒体上的传播,并尽力于如何让这些消息传播的更快更准确,所以IBGP和IGP缺一不可。

读到这里,大家已经可以分清了BGP家族中的EBGP,IBGP,IGP了吧!那我们再详细说说BGP是如何工作的?

05 BGP是如何工作的?

这两个BGP建立会话的时候会有四种基本报文类型。

建立连接——Open报文:Open报文是TCP建立连接后发送的第一个报文,用来与其他设备或自治系统建立连接。

交换信息——Update报文:Update报文用于在设备或自治系统之间交换路由信息。

检测状态——Notifiaction报文:当BGP检测到错误状态时,就向对等体发出Notifiaction报文,之后BGP连接会自动中断。

保持连接——Keepalive报文:BGP会周期性地向设备或自治系统发出Keepalive消息,用来保持连接的有效性。

为方便执行会话,BGP将交互过程分为以下六种状态:

Idle(空闲):为初始状态,复位TCP连接的重连计时器(通常为60 s),准备发起TCP连接。路由器查找路由表,是否有到达邻居的路由。

Connect(连接):BGP发送第一个TCP连接,若收不到邻居发来的TCP应答报文,收不到应答的时间超过重连计时器规定的时间,就会重新发起TCP连接,并继续保持在Connect状态。

如果TCP连接成功,就转到Open sent状态。

如果TCP连接失败,就转为Active状态。

Active(行动):当可以发送TCP连接,也可以收到邻居的应答报文,但是依然无法建立起TCP三次握手,就会进入到此状态(TCP三次握手参见往期推文三次握手,四次挥手,原来TCP这么有礼貌!)。在此状态,BGP总是试图建立TCP连接。

如果TCP连接建立成功,就转到Open sent状态。

如果TCP连接建立失败,不停重新发起TCP连接,就退回到Connect状态,并在计时器结束后,转回Active状态。

Open sent(Open发送):TCP连接成功,发送第一个Open报文,并等待接收邻居的Open报文。

OPEN confirm(Open证实):表示收到邻居的Open报文,等待Keepalive报文或者Notifiaction报文,如果没有收到又会进入Active状态。

Established已建立:最后BGP会话连接的时候就是Established状态了。之后可以通过Keepalive报文进行邻居保活。

其实说了这么多,BGP这个协议的核心也是让数据在跨域传输的时候选择最优的路径,要选择最优的路径,就必须考虑非常多的属性、时间等因素。

这里提及BGP最重要的6个属性:

本地偏好(local Perference)——越大越优

这个属性会发送给自治系统里所有的IBGP路由器,也就是这个属性在自治系统里使用,并且提供离开自治系统的最优路径,这个属性值同样是越大路径越优。

举个例子,选择市内交通工具的场景就类似于比较本地优先级~

MED——越小越优

说的属性就是MED( Multiple Exit Discriminator ,多出口鉴别器),如果你的相邻自治系统有两个或者多个BGP,路由和你的自治系统相连,这个时候MED属性就可以定义哪条路径更优,使用MED属性值来标识这些属性值越低,表示为更优的路径。

MED属性特点如下:

用于向外部对等体指出进入AS的首选路径。

仅在相邻两个AS之间传递。

与local Perference分别指引进、出AS的路径。

同理,选择市间交通工具的场景就类似于比较MED属性~

自治系统路径(AS path)——越少越优

AS path就是路由经过的所有AS的集合喔!

当前我们需要跨越AS进行通信的时候,将本地AS号添加到列表的最前面就可以啦!

AS path属性可以避免形成路由环路,还可以用于路由的选择和过滤。那么AS path属性是如何进行路由选择和过滤的呢?

167eae34-ae94-11ee-8b88-92fbcf53809c.png

169b6ce0-ae94-11ee-8b88-92fbcf53809c.png

优先级属性(origin):

IGP>EGP>INCOMPLETE

源属性是有优先级的喔!IGP优先级最高,EGP次之,Incomplete优先级最低。

16b565aa-ae94-11ee-8b88-92fbcf53809c.png

NEXT HOP属性

下一跳属性定义了到达目的地下一跳的设备IP地址,是告诉别人去往目的地的下一个“坐标”。比如:当我们跳格子的时候,首先要看到下一个格子的位置。对于路由器来说,要首先确认下一个格子(设备)的IP地址,才可以发送数据到这个设备。

具体还可以分为以下情况:

16d192ca-ae94-11ee-8b88-92fbcf53809c.png

COMMUNITY属性

团体属性根据某些特征对路由信息进行分类,与AS无关。常被用来简化路由策略的应用和降低维护管理的难度。

16de5302-ae94-11ee-8b88-92fbcf53809c.png

有了这些属性以后,我们就可以使用算法配合这些属性,算出最佳的路径。

当然BGP并不是一个自动配置的协议,而是需要手动配置的啊!

06 BGP有哪些新发展?

接下来我们就把话筒递给BGP,让他来介绍一下BGP有哪些新发展?

16f5a21e-ae94-11ee-8b88-92fbcf53809c.png

信息搜集有途径——BGP Link State

1703571a-ae94-11ee-8b88-92fbcf53809c.png

经过认真的深造学习,BGP不仅扩展上文提到的属性,还定义了新的link-state NLRI,一致通过了地址族信息AFI/SAFI为163888/71的封装标准,实现了网络拓扑收集的一种新方式——BGP-LS!使得拓扑的收集更为高效!

大型组网有对策——Segment Routing

170fd684-ae94-11ee-8b88-92fbcf53809c.png

网络安全有保障——BGP Flow Specification

DoS(Denial of Service)/DDos(Distributed Denail of Service)攻击对网络安全是一个重大威胁,它就像堵车一样会导致网络拥塞或者服务器CPU占用过高而无法为用户提供服务。而传统的流分类、重定向技术都有一定的缺陷。

BGP为了解决传统预防方法的缺陷,通过NLRI(Network Layer Reachability Information,网络层可达信息)属性携带流量匹配信息,AFI/SAFI为1/133,扩展了团体属性来携带数据流处理动作,比如对流量进行限速、引流、丢弃等。

极简演进有方向——EVPN

互联网业务高速发展,数据中心内服务器数量的大量增加,虚拟机的产生使得二层域内MAC数量剧增,传统二层以太网VPN技术VPLS不能满足建立超大型数据中心的需要。

1765ed6c-ae94-11ee-8b88-92fbcf53809c.png








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3722

    浏览量

    113692
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1353

    浏览量

    79051
  • 计时器
    +关注

    关注

    1

    文章

    420

    浏览量

    32685
  • BGP
    BGP
    +关注

    关注

    0

    文章

    83

    浏览量

    15324

原文标题:BGP、EBGP、IBGP、IGP还没搞清?BGP又有哪些新发展?

文章出处:【微信号:ztedoc,微信公众号:中兴文档】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    从事开关电源方面的工作,目前很想搞清楚我所所跟进的项目,请问如何开始?

    `我是去年才开始从事开关电源方面的工作,目前很想搞清楚我所所跟进的项目,请问如何开始,以下是我跟进的产品,谢谢各位大神指教。功能: 取暖器电源板+控制显示板 AC220 转DC3.3V 给 STM32供电,调节温度等参数。`
    发表于 05-03 16:01

    要想选择合适的射频模块 这些问题必须搞清楚

    要想选择合适的射频模块这些问题必须搞清楚
    发表于 05-20 07:06

    动态BGP与静态BGP的区别

    动态BGP与静态BGP的区别 动态BGP与静态BGP的区别 1.静态BGP功能简单,其带宽功能,可以实现多网接入,但路径上只有通向几大运营商
    发表于 12-01 16:55

    BGP关键特征及设计可扩展的IBGP网络

    BGP 是一种在自治系统之间动态交换路由信息的路由协议,在广域网中普遍应用。本文阐述了BGP 的邻居、下一跳、同步、全互联等关键特征,结合具体实例给出了相关配置,指出了在
    发表于 09-03 16:03 8次下载

    ATI Radeon 9100 IGP显卡

    ATI Radeon 9100 IGP显卡 ATI Radeon 9100 IGP每条管线内含一个纹理贴图单元,nForce2 IGP每条管线内含两个纹理贴图单元,都硬件支持Direct 8.1着色器,支持双线
    发表于 01-22 11:54 970次阅读

    嵌入式C语言中的指针是什么

    为了弄清楚指针是什么,我们必须先搞清楚数据在内存中是怎么存储的,又是怎么读取的。
    发表于 08-29 17:18 1511次阅读

    存储程序的工作原理是什么

    要想搞清楚存储程序的工作原理,最好先知道它是存储在了什么地方,或者说,应当先搞清楚存储工作的物质基础是什么。
    发表于 06-13 15:23 7269次阅读

    Cortex-M3里GPIO几个概念必须搞清楚资料下载

    电子发烧友网为你提供Cortex-M3里GPIO几个概念必须搞清楚资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-01 08:43 3次下载
    Cortex-M3里GPIO几个概念必须<b class='flag-5'>搞清楚</b>资料下载

    示波器眼图怎么看,搞清楚这4点就容易啦!资料下载

    电子发烧友网为你提供示波器眼图怎么看,搞清楚这4点就容易啦!资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-14 08:44 26次下载
    示波器眼图怎么看,<b class='flag-5'>搞清楚</b>这4点就容易啦!资料下载

    搞清楚PLC编程的三大量之间的关系

    PLC中无非就是三大量:开关量、模拟量、脉冲量。只在搞清楚三者之间的关系,你就能熟练的掌握PLC了。
    的头像 发表于 02-21 16:22 1495次阅读

    什么是大数据分析

    出来,分享给大家! 很多人还没搞清楚什么是PC互联网,移动互联网来了,我们还没搞清楚移动互联的时候,大数据时代又来了。
    的头像 发表于 05-19 11:47 1323次阅读

    一文搞清楚光纤跳线和双绞线的区别-科兰

    光纤跳线和双绞线是综合布线中最常见的线材,但是有很多人会把这两种产品搞混,为了帮助大家正确挑选,科兰小编整理了一篇光纤跳线和双绞线的区别,希望能够带大家搞清楚。 带大家了解下光纤、铜缆以及双绞线
    的头像 发表于 05-30 11:29 1426次阅读
    一文<b class='flag-5'>搞清楚</b>光纤跳线和双绞线的区别-科兰

    运放电路的关键参数总结

    前段时间总结了一些运放电路的分析方法,但似乎搞错了方向,相关参数似乎还没搞清楚
    的头像 发表于 10-16 14:53 1177次阅读
    运放电路的关键参数总结

    UPS电源和EPS电源的区别及应用范围,你搞清楚了吗?

    UPS电源和EPS电源的区别及应用范围,你搞清楚了么? UPS电源和EPS电源是两种常见的电源设备,用于提供电力保障和备用电源。它们的主要区别在于其应用范围和设计原理。 UPS电源是一种提供临时备用
    的头像 发表于 12-25 15:26 1463次阅读

    有源和无源信号的区别,你还没搞清楚吗?

    对于电流信号而言,若设备有独立的工作电源线,那它提供的信号输出(比如4-20mA)为有源信号;若设备本身无独立工作电源,它提供的信号为无源信号。三线制仪表、四线制仪表的输出信号为有源信号,二线制仪表输出为无源信号。
    的头像 发表于 06-29 09:38 1455次阅读
    有源和无源信号的区别,你<b class='flag-5'>还没</b><b class='flag-5'>搞清楚</b>吗?