热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用IGP和BGP的配合达到降低路由容量目的的实验与总结

本文描述了OSPF和BGP配合来降低路由器的容量压力的实验和总结,有助于对IGP协议和BGP协议的互

概述

1、先说结论,通过eBGP协议,可以显著降低对非核心路由器的路由容量要求,因为核心路由器的数量明显少于非核心路由器,所以,通过此措施即联通网络,又降低设备要求,非常适宜大型网络。

2、背景:随着网络规模变大,路由器的路由表容量也需要变大,为了应对该问题,业界提出对网络进行分域自治的思想,自治域内运行IGP协议,自治域间运行BGP协议。

     常用的IGP协议是OSPF,BGP协议就是BGP-4(version 4).

3、本文使用了eNSP软件工具进行模拟,模拟两个自治域之间,通过BGP-4协议进行互通互联,自治域内部使用OSPF进行互联互通,

     通过对本文的理解,有助于对IGP协议(OSPF)和BGP协议加深理解。

 

网络组网和配置

1、网络组网图和接口ip配置,如下:

技术分享

 

    说明:

    (1) 自治域AS 65008 内有3台路由器(R1, R2, R3) ,自治域AS 65009内有3台路由器(R4,R5,R6),中间通过PE1和PE2进行互联,AS号为65100

              R3、PE1、PE2、R4是边界路由器。

    (2) 自治域内运行OSPF协议,PE1和PE2属于相同自治域,所以之间运行iBGP协议,R3和PE1之间,以及PE2和R4属于不同自治域,所以之间运行eBGP协议。

 

 

2、第一个自治域AS65008内的IGP配置如下:

      (1) R1、R2、R3运行OSPF协议,并且R3作为边界路由器,在整个自治域内通告默认路由。

              R1上的配置如下:

#
ospf 1
area 0.0.0.0
network 1.0.0.0 0.0.0.255
network 10.0.0.0 0.0.0.255
#

 

R2上的配置如下:

#
ospf 1
area 0.0.0.0
network 2.0.0.0 0.0.0.255
network 20.0.0.0 0.0.0.255
#

 

R3上的配置如下:

#
ospf 1
default-route-advertise                                           ---->解释: 自治域内通告默认路由的第二步,通过OSPF通告出去。
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 20.0.0.0 0.0.0.255
#
ip route-static 0.0.0.0 0.0.0.0 30.0.0.2                     ---->解释: 自治域内通告默认路由的第一步,自己先配置默认路由。
#

3、第二个自治域AS65009内的IGP配置如下,并且R4作为边界路由器,在整个自治域内通告默认路由。

              R4上的配置如下:   

#
ospf 1
default-route-advertise                       ---->解释: 自治域内通告默认路由
area 0.0.0.0
network 40.0.0.0 0.0.0.255
network 50.0.0.0 0.0.0.255
#
ip route-static 0.0.0.0 0.0.0.0 70.0.0.1
#

 

R5上的配置如下:

#
ospf 1
area 0.0.0.0
network 4.0.0.0 0.0.0.255
network 40.0.0.0 0.0.0.255
#

 

              R6上配置如下:

#
ospf 1
area 0.0.0.0
network 5.0.0.0 0.0.0.255
network 50.0.0.0 0.0.0.255
#

   

4、自治域间两个PE上不需要运行OSPF协议,只需要运行BGP协议,iBGP和eBGP配置如下:

       PE1的配置:

#
bgp 65100
router-id 172.0.60.1
peer 30.0.0.1 as-number 65008      ---> 解释:eBGP配置
peer 60.0.0.2 as-number 65100      ---> 解释:iBGP配置
#
ipv4-family unicast
undo synchronization
network 30.0.0.0 255.255.255.0
network 60.0.0.0 255.255.255.0
peer 30.0.0.1 enable
peer 60.0.0.2 enable
#

 

       PE2的配置如下:

#
bgp 65100
router-id 172.0.60.2
peer 60.0.0.1 as-number 65100             
peer 70.0.0.2 as-number 65009
#
ipv4-family unicast
undo synchronization
network 60.0.0.0 255.255.255.0
network 70.0.0.0 255.255.255.0
peer 60.0.0.1 enable
peer 70.0.0.2 enable
#

 5、R3和R4上运行BGP协议,配置如下:

       R3配置如下:   

#
bgp 65008                                ---> 解释:本自治域号
router-id 172.0.30.1                 ---> 解释:本自治域号, router-id标识自己
peer 30.0.0.2 as-number 65100    ---> 解释:BGP邻居与邻居的AS号,由于邻居的AS号与本域的AS号不同,所以是eBGP
#
ipv4-family unicast
undo synchronization
network 30.0.0.0 255.255.255.0   ---> 解释:配置BGP引入路由表
import-route ospf 1                     ---> 解释:将本地的ospf路由引入到BGP中,从而让BGP邻居知道本域的路由信息。
peer 30.0.0.2 enable
#

 

       R4的配置如下:

#
bgp 65009
router-id 172.0.70.2
peer 70.0.0.1 as-number 65100
#
ipv4-family unicast
undo synchronization
network 70.0.0.0 255.255.255.0
import-route ospf 1
peer 70.0.0.1 enable
#

验证结果

1、第一个自治域AS65008内的路由器上的路由表项

      查看R1路由器的路由表项:

     技术分享

    

     R2上的路由表与上述相同,

     R3上的路由表,则因为从eBGP学习到很多路由,故表项较大

技术分享

 

     R4上的路由如下:

技术分享

 

R5路由表项如下:

技术分享

 

R6上的路由表项与R5相同。

 

2、自治域间的路由器上的路由表项

PE1上路由表项如下:

技术分享

解析 

a. PE1上只有BGP协议,所以学习到的路由都是BGP类型的,分为从R3学习到的eBGP类型和从PE2学习到的iBGP类型。 

 

PE2上的路由表项如下:

技术分享

解析也同PE1类型,凡是从R4学习到的都是eBGP类型,从PE1学习到的都是IBGP类型。 

 

3、连通性验证

(1)从PC1 分别ping PC2,PC3,PC4都可以ping通,说明整网是路由可到的。

技术分享

 

 (2)从PC1上tracerout PC2, PC3,PC4, 可见沿途的路由器是正确的,当然,不正确的话,网络就不通了。

PC>tracert 4.0.0.10

traceroute to 4.0.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 1.0.0.1 47 ms 31 ms 32 ms
2 10.0.0.1 62 ms 94 ms 47 ms
3 30.0.0.2 93 ms 94 ms 94 ms
4 60.0.0.2 109 ms 125 ms 125 ms
5 70.0.0.2 172 ms 219 ms 172 ms
6 40.0.0.2 219 ms 250 ms 234 ms
7 *4.0.0.10 234 ms 203 ms

PC>

PC>tracert 2.0.0.10

traceroute to 2.0.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 1.0.0.1 32 ms 31 ms 31 ms
2 10.0.0.1 94 ms 78 ms 63 ms
3 20.0.0.2 125 ms 125 ms 109 ms
4 *2.0.0.10 171 ms 157 ms

PC>

PC>tracert 5.0.0.10

traceroute to 5.0.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 1.0.0.1 31 ms 31 ms 31 ms
2 10.0.0.1 63 ms 62 ms 63 ms
3 30.0.0.2 94 ms 78 ms 94 ms
4 60.0.0.2 125 ms 125 ms 125 ms
5 70.0.0.2 187 ms 172 ms 156 ms
6 50.0.0.2 188 ms 203 ms 172 ms
7 *5.0.0.10 312 ms 313 ms

PC>

 

总结

1、使用了分域后,使用那些措施达到了降低路由器的路由表容量的要求?

解答:共使用3种措施,

第一、分域,域内使用OSPF,域间使用BGP。

第二、域内通过OPF通告的默认路由,使得域内的路由器不需要知道其他域的路由信息,只需要通过默认路由,送给PE设备即可。

第三、域间的核心层使用eBGP知晓所有的明细路由,以便指导域间流量转发。

 

2、遗留问题,怎样配置让IGP的边界路由器的路由表容量也变小?

R3、R4作为两个自治域的边界路由器,通过eBGP知道了所有的网络路由,这个对路由器的要求还是很大,有什么办法可以让这两个路由器只需要将无法转发的报文通过默认路由转发即可。

 

3、BGP的核心用途是:核心层设备知晓全量路由,指导报文在域间转发。

 


推荐阅读
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • 本文通过一个具体的实例,介绍如何利用TensorFlow框架来计算神经网络模型在多分类任务中的Top-K准确率。代码中包含了随机种子设置、模拟预测结果生成、真实标签生成以及准确率计算等步骤。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
author-avatar
玻璃里的鱼鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有