【技术干货】详解BGP4+的负载分担

众所周知,BGP协议是用于自治系统AS之间的动态路由协议,早期已经发布了三个版本,分别是BGP-1、BGP-2和BGP-3;目前在ipv4时代中使用的是BGP-4版本,该版本仅仅只能用在IPV4的网络环境中,用于交换AS之间的可达路由信息并构建AS域间的传播路径防止路由环路的产生。

此时BGP4已经作为了事实上的internet外部路由协议标准,被广泛应用于ISP之间。

而到了IPV6时代中,BGP4协议已无法适用于ipv6网络,但是BGP4协议的优越性已经在ipv4时代中得到了验证,为了让BGP协议也能在ipv6网络中也发挥其优势,所以在原来BGP4的基础上添加了支持ipv6网络的TLV,此时支持ipv6网络的新的BGP协议诞生——BGP4+。

该协议很好在ipv6网络中为不同的AS之间提供可达路由信息的交换和构建AS域间的传播路径防止路由环路的产生。

在BGP4+协议中也有13条选路原则,该原则和BGP4是一样,今天我们选择其中一条选路原则来展示一个很有趣的现象。

在13条选路选择中的第9条选路原则:前8条选路原则全部相同,则为等价路由,可以负载分担。

接下来我们就根据这条选路原则给大家模拟个实验来验证下:

实验说明:

  • R4和R2之间是IBGP邻居关系,R4和R3之间是IBGP邻居关系,R1分别和R2和R3之间是EBGP邻居关系。
  • R2和R3和R4之间建立ospfv3邻居关系,并且它们之间的环回口loopback0互通,并通过环回口建立ibgp邻居关系。
  • 默认情况下:R4将自己loopback1地址3004::4变为BGP路由并宣告给R1,由于router id越小越优,所以R1会选择R2访问R4的loopback1地址,现在我们要实现负载分担,也就是说R1学习分别通过R2和R3学习到R4的loopback1地址的路由都要加入到R1的ipv6路由表中实现负载分担。

实验步骤一:

R4和R2之间是IBGP邻居关系,R4和R3之间是IBGP邻居关系,R1分别和R2和R3之间是EBGP邻居关系。

实验步骤二:

R2和R3和R4之间建立ospfv3邻居关系,并且它们之间的环回口loopback0互通,并通过环回口建立ibgp邻居关系。

实验步骤三:

默认情况下:R4将自己loopback1地址3004::4变为BGP路由并宣告给R1,由于router id越小越优,所以R1会选择R2访问R4的loopback1地址。

并且此时我们查看R1学习R4的3004::4的ip路由表,我们发现此时R1学习3004::4的路由只有一个最优的下一跳就是R2。

实验第四步:

在R1的BGP的ipv6单播地址族的视图下配置负载分担,让R1学习R4的3004::4地址的下一跳为R2和R3都是最优的,并放入ipv6路由表中。

此时出现了一个很有趣的现象:就是BGP4+路由表中仍然依旧会选出一条最优路由即走R2。

那么我们如何判断R1上有没有发生负载分担呢?答案是肯定的,肯定实现的负载分担,只不过我们要通过ipv6路由表才能看到,在BGP4+表是看不出来的。此时根据R1的ipv6路由表就可以清晰看到了两个最优的下一跳R2和R3,这时形成了负载分担了。

加 入 社 群

添加知识星球主理人凯哥微信:mmyouni666,备注进群,邀请你加入搬砖网工社群,获得最新行业动态,结识行业大佬,提升技术,拓展人脉。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好,以下是程序员常访问的国外技术交流网站汇总: 1. Stack Overflow:这是最受欢迎的技术问答网站之一,有大量的程序员在这里寻求帮助和提供答案。 2. GitHub:这是一个代码托管平台,许多开源项目都在这里托管,程序员可以在这里学习和贡献代码。 3. Reddit:这是一个社交新闻网站,有各种技术相关的子版块,程序员可以在这里交流和分享经验。 4. Hacker News:这是一个由Y Combinator创办的社区,聚集了许多技术创业者和程序员,讨论各种技术和商业话题。 5. CodePen:这是一个在线代码编辑器,程序员可以在这里创建和分享自己的代码片段,还可以参加各种编程挑战和竞赛。 6. Medium:这是一个博客和内容分享平台,有许多技术作者在这里发布文章和教程,程序员可以在这里学习新技术和分享自己的经验。 7. Dev.to:这是一个由开发者社区创建的博客平台,有许多技术作者在这里发布文章和教程,还可以参与各种讨论和交流。 8. Codecademy:这是一个在线编程学习平台,提供各种编程语言和技术的课程和项目,程序员可以在这里提升自己的技能。 9. Udacity:这是一个在线教育平台,提供各种计算机科学和技术相关的课程和项目,程序员可以在这里深入学习和实践。 10. Coursera:这是一个在线教育平台,提供各种计算机科学和技术相关的课程和项目,还有许多知名大学和企业提供的课程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值