写点什么

动态 BGP 和静态 BGP

  • 2020-03-31
  • 本文字数:1551 字

    阅读完需:约 5 分钟

动态BGP和静态BGP

华为云提供“全动态 BGP”和“静态 BGP”两种公网 EIP,经常有人问我,这两种有什么区别?今天我们来介绍一下。

从传统多线到 BGP

不知道大家是否还记得当年联网打游戏,联通的兄弟和电信的兄弟,完全没法配合,延迟吓死人。这是由于每个运营商都有自己的网络,运营商之间互联点是比较少的,带宽也不大,跨网连接都要迂回到连接点还经常拥塞。


很多应用为了应付这种情况,都申请了多线,一根电信一根联通一根移动。应用在每一个运营商都申请了一个 IP 地址,多个 IP 地址共同映射到同一个内网 IP 上。电信访问走电信的 IP,移动访问走移动的 IP,联通走联通自己的 IP。



这样确实是能解决跨网的问题,但是随着运营商数量越来越多(长城、教育网等),IP 的维护越来越复杂,DNS 的智能解析要求越来越高。


我们是否有办法申请一个 IP 地址,让每一个运营商网络都有这个 IP 的路由,并且都指向我们的应用,不再跨网?即上图不再是 IP1~IP3,而只有 IP1。


BGP 类型的 EIP 就是解决这个问题的。


某段 IP 地址,在多家运营商同时广播,每家运营商网络里面都有这个 IP 的路由并指向同一个地方。这类 IP 地址就是 BGP 类型的 IP 地址。



传统多线,如果应用只申请了 IP1,在联通发布,则电信的访问者必须先走到电信与联通互联口上,进入联通网络才能访问到 IP1。


BGPIP,每一家运营商内网都有 IP1 的路由并直接指向网内的某出口,不必跨网。


在 BGP 的场景下,运营商的路由管理是比之前复杂的。老场景下,同一个 IP 段的路由只有 1 条;BGP 的场景下,本网内有 1 条,还可能从其他网学到路由。本地的路由表维护量会翻倍,优先走网内,次优跨网。


这里有个点。既然网内已经有了一条,为何还需要从其他运营商那里学路由?


如果不学,当网内路由出现问题,路由消失业务就断了;学了以后,网内故障,可以迂回到其他运营商;


路由在运营商之间交叉穿透,这会导致运营商网络维护复杂度更高,运营商缺省是不穿透的,需要客户买单。

动态 BGP 与静态 BGP

刚才说了运营商网内的事情,但 IP 地址其实是归企业所有的,运营商只是代播。那 IP 地址到底是如何发布到所有运营商的?作为一个企业,是如何跟运营商对接的?


所说的动态和静态,其实就是企业跟运营商对接的方式和 IP 广播点上有差异。


动态 BGP


企业的路由器跟所有的运营商之间建立 EBGP,IP 地址在企业的路由器上发布,运营商只负责学习并传播。若企业路由器跟运营商之间线路中断,运营商学不到路由,网内路由撤销。


这就是动态 BGP。



动态 BGP 的好处就是,路由发布点是在企业的路由器上,企业可以自己控制各个运营商的路由优先级。当某一家运营商网络抖动厉害时,企业可以主动取消对他发布的路由,而使得该运营商内网的访问者迂回其他运营商访问,旁路故障点。


静态 BGP


企业的路由器跟运营商之间只是普通的 IP 对接,不需要建立 BGP。IP 地址在运营商的网络里面发布以后,通过静态路由的方式将网段指给企业的路由器。线路的中断,企业的路由器的故障,跟运营商的 IP 发布情况没有关联关系。



静态 BGP 配置简单,而且跟运营商之间没有动态协议联动。对运营商来说,自己网内的路由都是自己发的,不需要依赖企业的发布。所以静态 BGP 比动态 BGP 便宜。


回包怎么回?


刚才说的都是入方向的流量,那出方向怎么出呢?因为源地址都是一样的,目的地址也都是随机的,如何知道该走哪家运营商出去呢?


传统多线,出方向的报文,会选择一家运营商,或者通过链路负载均衡等设备选择。


  • 动态 BGP,因为企业会学习到各个运营商的细化路由,回包匹配路由回程即可

  • 静态 BGP,还是需要单独找设备跟运营商建立 EBGP,收取运营商的路由,根据收到的路由做路由策略回程


所以,整个 internet 出口,在考虑了各种场景以后,形成的架构总图如下:



本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/6v3uRTxkuIGnt-sMAou-HA


2020-03-31 14:432118

评论

发布
暂无评论
发现更多内容

Geospatial Data 在 Nebula Graph 中的实践

NebulaGraph

图数据库 知识图谱 分布式图数据库

编译ORB-SLAM 3 出现slots_reference错误

Ayosh

slam

面试突击:说一下线程生命周期,以及转换过程?

CRMEB

网络安全kali渗透学习 web渗透入门 NMAP高级使用技巧和漏洞扫描

学神来啦

使用goby检测log4j漏洞

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

腾讯音乐知识图谱搜索实践

NebulaGraph

图数据库 知识图谱 分布式图数据库

一文带你使用 Python 实现Socket编程

宇宙之一粟

Python socket 2月月更

一文搞懂MySQL体系架构

程序猿阿星

架构 MySQL 数据库 MySQL InnoDB

Web Components 系列(十一)—— 实现 MyCard 的可复用

编程三昧

前端 组件化 2月月更 webComponents

政企机构用户注意!蠕虫病毒Prometei正在针对局域网横向渗透传播

火绒安全

局域网共享 渗透 蠕虫 病毒 政企

剑指Offer——JVM 这些基础知识点你全掌握了吗

No Silver Bullet

JVM 垃圾回收 offer 2月月更

罗马建立在水渠上:为什么需要优先建设绿色光网?

脑极体

百度AI融通创新工坊招生中!

百度大脑

基于飞桨实现的“太空保卫战士”——地球同步静止轨道空间目标检测系统

百度大脑

PaddleDTX v1.0版本发布,安全性灵活性全面提升!

百度大脑

图计算 on nLive:Nebula 的图计算实践

NebulaGraph

图数据库 知识图谱 图计算 分布式图数据库

35款FL插件免费下载

懒得勤快

龙蜥下游发行版 Alibaba Cloud Linux 3 安全基线正式通过 CIS 认证,云上企业安全性保障更上层楼

OpenAnolis小助手

Linux 开源 cis

SQL注入如何预防?

喀拉峻

网络安全

百年奥运的凌空之美,AI云智剪背后的新算法

阿里云CloudImagine

大咖说|《商业评论》主编颜杰华:如何看待未来商业的管理趋势?

大咖说

大咖说 财经 数智化 商业评论

3步教你把个人应用服务部署到云服务器ECS上

阿里云弹性计算

Docker 征文投稿 玩转ECS

1分钟了解Prometheus的WAL机制

johncming

Prometheus WAL

netty系列之:channelHandlerContext详解

程序那些事

Java Netty nio 程序那些事 2月月更

关于 AI 边云协同解决方案的研究与讨论 | 社区征文

liuzhen007

AI 新春征文 2月月更

iLogtail——一款延迟仅在毫秒级的千万实例可观测采集器利器来了 | 龙蜥技术

OpenAnolis小助手

阿里云 开源 数据采集 技术分享

自我认为挺全面的【Web Service渗透测试总结】

H

网络安全 渗透测试

开源每周问答精选:PolarDB for PostgreSQL 是专门面向 OLAP 场景吗?

阿里云数据库开源

数据库 阿里云 开源 polarDB

WeOpen Good 开源公益计划正式启动!聚开源智慧·行科技向善

腾源会

开源 公益 腾源会

Flink on K8s 企业生产化实践|社区征文

张浩_house

flink 特征平台 新春征文

解密体育背后AI黑科技:花样滑冰动作识别、多模视频分类和精彩片段剪辑

百度大脑

动态BGP和静态BGP_文化 & 方法_华为云产品与解决方案_InfoQ精选文章