AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

动态 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:432275

评论

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

第一周作业

阿呆

第5周 技术选型(一)总结

bearlu

年薪50万开发者相亲失败:程序员,别输在不会说话上

田维常

程序员 好好说话 不会说话

朋友被“卖”了两次:程序员,真的别去外包公司!

田维常

程序员 外包 外包公司

牛逼的程序员,都长什么样?

田维常

程序员 牛逼

只争朝夕乘势上,不负韶华开新局——区块链上升为国家战略今日迎来一周年

CECBC

区块链 数字经济

数字人民币将如何改变金融生态?

CECBC

数字人民币

架构师训练营第 1 期第 5 周学习总结

owl

极客大学架构师训练营

【建议收藏】18个适合程序员的在线学习网站,每个我都帮您试过了

田维常

学习 程序员 成长 网站

第五周作业

极客大学架构师训练营

程序员是不是青春饭?年纪大了何去何从

田维常

程序员 青春饭

云南区块链布局

CECBC

区块链 大数据

架构师训练营第 1 期 - 第五周总结

Todd-Lee

极客大学架构师训练营

架构师训练营第五周学习总结

Gosling

极客大学架构师训练营

手把手教你理解决策树:从概念到应用

计算机与AI

Python 学习 决策树

架构师训练营第五周课后作业

Gosling

极客大学架构师训练营

技术是否要追新?基于4点判断谈谈4点认识

田维常

程序员 技术 最新 技术追新

【原创】90%的人都不会做的一道笔试题

田维常

程序员 面试

一致性哈希算法 Java 实现

escray

极客大学 极客大学架构师训练营 课程作业

极客时间架构师培训 1 期 - 第 5 周作业

Kaven

第四周作业

橘子皮嚼着不脆

食堂就餐卡系统设计

Sandman

极客大学架构师训练营 作业

架构师训练营 Week5 - 课后作业

算法 分布式缓存 一致性哈希

面试官角度,聊聊写简历这事

田维常

程序员 面试

Spring Boot 过滤器、监听器、拦截器的使用

田维常

程序员 过滤器 拦截器

第01周学习总结[架构师训练营第 2 期]

Airship

极客大学架构师训练营

架构师训练营第 1 期 - 第五周作业提交

Todd-Lee

极客大学架构师训练营

架构师第一周作业

丁乐洪

第一周学习总结

Alvin

学习 极客大学架构师训练营 2组

第一周学习总结

CraspLion

【第五周】技术选型(一)

云龙

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