草庐IT

Cisco Packet Tracer思科模拟器中OSPF动态路由配置

Super鸣_ 2024-02-20 原文

OSPF(Open Shortst Path First,开放式最短路径优先)协议是目前网络中应用最广泛的动态路由协议之一,也属于内部网关路由协议,能够适应各种规模的网络环境,是典型的链路状态(Link State)协议。

学习情境

海成公司规模的越来越大,路由器的数量也逐渐增多,已经达到了8台。该公司的网络管理员经过考虑,发现原有的RIP路由协议也已不再适合现有公司的应用了,因此,决定在公司的路由器之间使用动态的OSPF路由协议,实现网络的互联。

情境分析

由于公司的网络规模越来越大,管理员发现使用OSPF路由协议再适合不过了,因为OSPF路由协议可以实现快速的收敛,并且出现环路的可能性不大,适合中大型企业网络。

所需设备:

(1)Cisco 2911路由器2台。

(2)Cisco 3560-24PS交换机1台

(3)PC机3台。

(4)交叉线2条。

(5)直通线2条。

(6)DCE串口和DTE串口线1条

(7)Console线1条。

任务拓扑,见图4-2-18所示。

图4-2-18  配置OSPF协议单区域拓扑

配置如表4-2-6所示。

表4-2-6  交换机和PC机IP地址网络参数设置

 

设备

端口

IP

Mask

网关 1

Switch-A

G0/1

192.168.1.1

255.255.255.0

F0/1

192.168.10.1

255.255.255.0

Router-A

g0/1

192.168.1.2

255.255.255.0

g0/0

192.168.20.1

255.255.255.0

S0/0/0

192.168.2.1

255.255.255.0

Router-B

S0/0/0

192.168.2.2

255.255.255.0

G0/0

192.168.30.1

255.255.255.0

PC1

192.168.10.2

255.255.255.0

192.168.10.1

PC2

192.168.20.2

255.255.255.0

192.168.20.1

PC3

192.168.30.2

255.255.255.0

192.168.30.1

步骤实现

步骤1:按照如图4-2-18所示,连接网络拓扑结构图。

步骤2:按照如表4-2-6所示,配置计算机的IP地址、子网掩码和网关。

步骤3:配置Switch-A的名称及其接口IP地址。。

Switch>

Switch>enable

Switch#conf t

Switch(config)#host Switch-A   修改主机名

Switch-A(config)#ip routing  开启通信功能

Switch-A(config)#int fa0/1  进入端口

Switch-A(config-if)#no switchport 转换端口为路由端口

Switch-A(config-if)#ip add 192.168.10.1 255.255.255.0  配置IP和子网

Switch-A(config-if)#no shut  开启端口

Switch-A(config-if)#int g0/1  进入端口

Switch-A(config-if)#no switchport  开启端口

Switch-A(config-if)#ip add 192.168.1.1 255.255.255.0  配置网络

Switch-A(config-if)#no shut 开启端口

Switch-A(config-if)#exit

步骤4:配置Router-A的名称及其接口IP地址。。

Router>enable

Router#conf t

Router(config)#host Router-A  修改主机名

Router-A(config)#int g0/1   进入端口

Router-A(config-if)#ip add 192.168.1.2 255.255.255.0  修改主机名

Router-A(config-if)#no shut  开启端口

Router-A(config-if)#int g0/0

Router-A(config-if)#ip add 192.168.20.1 255.255.255.0

Router-A(config-if)#no shut

Router-A(config-if)#int s0/0/0

Router-A(config-if)#clock rate 64000  时钟速率设置为64000

Router-A(config-if)#ip add 192.168.2.1 255.255.255.0

Router-A(config-if)#no shut

Router-A(config-if)#

步骤5:配置Router-B的名称及其接口IP地址。。
 

Router>en

Router#conf t

Router(config)#host Router-B

Router-B(config)#int g0/0

Router-B(config-if)#ip add 192.168.30.1 255.255.255.0

Router-B(config-if)#no shut

Router-B(config-if)#int s0/0/0

Router-B(config-if)#ip add 192.168.2.2 255.255.255.0

Router-B(config-if)#no shut

Router-B(config-if)#

这个时候测试网络通信是不能实现全网互通的,要实现全网互通需要进行动态路由OSPF的配置

步骤6:在Switch-A上配置动态单区域OSPF路由。

Switch-A>en

Switch-A#conf t

Switch-A(config)#router ospf 1  进入ospf组1

Switch-A(config-router)#log-adjacency-changes 防止黑洞路由的产生

Switch-A(config-router)#network 192.168.10.0 0.0.0.255 area 0  允许通过的网段 区域为0

Switch-A(config-router)#network 192.168.1.0 0.0.0.255 area 0

注释:在思科OSPF协议里面,网段的子网掩码要用反掩码,
不过可以输入正常的掩码,思科系统会自动换算成反掩码

步骤7:在Router-A上配置动态单区域OSPF路由。

Router-A>

Router-A>enable

Router-A#conf t

Router-A(config)#router ospf 1  进入ospf动态路由组1

Router-A(config-router)#log-adjacency-changes 防止黑洞路由的产生

Router-A(config-router)#network 192.168.1.0 0.0.0.255 area 0  允许通过网段 区域0

Router-A(config-router)#network 192.168.2.0 0.0.0.255 area 0

Router-A(config-router)#network 192.168.20.0 0.0.0.255 area 0

Router-A(config-router)#

注释:在思科OSPF协议里面,网段的子网掩码要用反掩码,
不过可以输入正常的掩码,思科系统会自动换算成反掩码

步骤8:在Router-B上配置动态单区域OSPF路由。

Router-B#

Router-B#conf t

Router-B(config)#router ospf 1

Router-A(config-router)#log-adjacency-changes 防止黑洞路由的产生

Router-B(config-router)#network 192.168.2.0 0.0.0.255 area 0

Router-B(config-router)#network 192.168.30.0 0.0.0.255 area 0  允许通过的网段

Router-B(config-router)#

注释:在思科OSPF协议里面,网段的子网掩码要用反掩码,
不过可以输入正常的掩码,思科系统会自动换算成反掩码

步骤9:配置路由协议后,验证网络的连通性。在PC1上ping  PC2、3,如图所示可以互相通信

 小结:

(1)每个路由器的OSPF进程号可以不同,一个路由器可以有多个OSPF进程。

(2)OSPF是无类路由协议,一定要加掩码。

(3)第一个区域必须是区域0。

相关知识

开放最短路径优先 (OSPF) 协议是一种链路状态路由协议,旨在替代距离矢量路由协议 RIP。 RIP 是网络和 Internet 早期广为接受的路由协议。 但是,RIP 依靠跳数作为确定最佳路由的唯一度量,很快便呈现出了问题。 在拥有速度各异的多条路径的大型网络中,使用跳数无法很好地扩展。 OSPF 与 RIP 相比具有巨大优势,因为它既能快速收敛,又能扩展到更大型的网络。其特性如下:

(1)适应范围广——支持各种规模的网络,最多可支持几百台路由器。

(2)收敛快速——在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。

(3)无自环——OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。

(4)区域划分管理——允许自制系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。

(5)路由分级——使用4类不同等级的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。

(6)支持验证——支持基于接口的报文验证以保证路由计算的安全性。

(7)可以多播发送——在有多播发送能力的链路层上以多播地址收发报文,既达到了广播的作用,又最大程度地减少了对其它网络的干扰。

OSPF路由协议通过向全网通告自己的路由信息,使网络中每台设备最终同步一个具有全网链路状态的数据库(LSDB),然后路由器采用SPF算法,以自己为根,计算到达其他网络的最短路径,最终形成全网路由信息。

在大型的网络环境中,OSPF支持区域的划分,将网络进行合理规划。划分区域时必须存在area0(骨干区域)。其他区域和骨干区域直接相连,或通过虚链路的方式连接。

要创建OSPF路由进程,在全局命令配置模式下,执行以下命令:

router#config

router_config#router ospf process-id    !启动ospf路由进程

router_config_router_process-id#network address wildcard-mask area area-id

router_config_router_process-id#

(1)OSPF路由进程process-id必须指定范围在1-65535,多个OSPF进程可以在同一个路由器上配置,但最好不这样做。多个OSPF进程需要多个OSPF数据库的副本,必须运行多个最短路径算法的副本。process-id只在路由器内部起作用,不同路由器的process-id可以不同。

(2)wildcard-mask 是子网掩码的反码, 网络区域ID area-id在0-4294967295内的十进制数,也可以是带有IP地址格式的x.x.x.x。当网络区域ID为0或0.0.0.0时为主干域。不同网络区域的路由器通过主干域学习路由信息。

知识拓展

OSPF动态路由协议多区域的实现

当大型 OSPF 区域分成较小的区域时,即称为多区域 OSPF。 多区域 OSPF 在大型网络部署时很有用,能减少处理和内存开销。

例如,每当路由器收到有关拓扑的新信息时,就像链路的添加、删除或修改,路由器必须重新运行 SPF 算法,创建新的 SPF 树并更新路由表。 SPF 算法会占用很多 CPU 资源,且其耗费的计算时间取决于区域大小。 一个区域中有过多路由器会使 LSDB 更大并增加 CPU 的负载。 因此,将路由器有效分区可以把一个巨大的数据库分成更小、更易管理的数据库。

多区域 OSPF 需要使用分层网络设计。 主要区域称为主干区域(区域 0)而且所有其他区域都必须连接到主干区域。 采用分层路由后,各个区域之间仍然能够进行路由(区域间路由);但许多繁琐的路由操作(例如重新计算数据库)在区域内进行。

对于复杂的网络,OSPF可使用多个区域以分层方式实施。 所有区域必须连接到主干区域(区域 0)。 互联各个区域的路由器称为区域边界路由器 (ABR)。

利用多区域 OSPF,OSPF 可以把一个大型自治系统 (AS) 划分为更小的区域,以支持分层路由。 采用分层路由后,各个区域之间仍然能够进行路由(区域间路由),但许多处理器密集型的路由操作(例如重新计算数据库)在区域内进行。

注意:拓扑更改以距离矢量格式分布到其他区域中的路由器。 换句话说,这些路由器只会更新其路由表,无需重新运行 SPF 算法。

一个区域中有过多路由器会使 LSDB 非常大并增加 CPU 的负载。 因此,将路由器有效分区可以把巨大的数据库分成更小、更易管理的数据库。

多区域 OSPF 的分层拓扑具有以下优势:

路由表减小 - 路由表条目减少,因为区域之间的网络地址可以总结。 默认情况下不启用路由总结。

链路状态更新开销减少 - 将处理和内存要求降到最低。

SPF 计算频率降低 - 使拓扑变化仅影响区域内部。 例如,由于 LSA 泛洪在区域边界终止,它使路由更新的影响降到最小。

每日一言:

一年中和一生中的秋天,时光很短暂,但是更加晴朗而缺少变化。

有关Cisco Packet Tracer思科模拟器中OSPF动态路由配置的更多相关文章

  1. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  2. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  3. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  4. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  5. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  6. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  7. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  8. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  9. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  10. ruby-on-rails - Rails - 从命名路由中提取 HTTP 动词 - 2

    Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba

随机推荐