前言

对于思科和计算机网络的初学者,有不少人都被路由协议中复杂的概念以及配置选项吓过,我也是其中之一……动态路由协议确实非常复杂,特别是 OSPF,RFC 文档无比冗长!不过,新手来说,根本不需要了解那么多内容,配置其实都是非常简单的!

除了以上三个路由协议之外,还有一个常用的路由协议叫 IS-IS,但是模拟器不支持这玩意,就暂时先不研究了。

那 BGP 呢?这是一个外部网关协议,跟上面这些路由协议根本不是同一类的,运营商之间的互联全靠它,配置思路也跟上面的路由协议不同。

本文纯属个人学习经验,希望可以帮到刚入门网络的新手,老司机勿喷。有错误请及时提出!

路由协议的核心配置:公告直连网段!

路由协议(英语:Routing protocol)是一种指定数据包转送方式的网络协议。Internet 网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据。转发策略可以是人工指定的(通过静态路由、策略路由等方法)。在具有较小规模的网络中,人工指定转发策略没有任何问题。但是在具有较大规模的网络中(如跨国企业网络、ISP 网络),如果通过人工指定转发策略,将会给网络管理员带来巨大的工作量,并且在管理、维护路由表上也变得十分困难。为了解决这个问题,动态路由协议应运而生。动态路由协议可以让路由器自动学习到其他路由器的网络,并且网络拓扑发生改变后自动更新路由表。网络管理员只需要配置动态路由协议即可,相比人工指定转发策略,工作量大大减少。
来自:维基百科

路由协议的核心其实就是让网络中各个路由器公布自己的直连网段和可到达的网段,然后让其他路由器学习,学习之后再告诉别人……一直这样持续下去,全网的路由信息交流也就打通了!

RIP、OSPF、EIGRP 之间的区别

功能上区别

下面都是最明显的区别

  1. RIP 协议有跳数限制,最多 15 跳,也就是传输数据的时候最多允许经过 15 台路由器,不适用于大型网络。
  2. RIP 属于有类路由,无法设置子网掩码。OSPF、EIGRP 属于无类路由,可以设置子网掩码,可灵活配置。
  3. RIP 无法得知路径开销,也就是说哪条路带宽大一点哪条路带宽小一点完全不知道,只知道要走最短的路。OSPF、EIGRP 均可以自动选择开销最小的路径。

综合来看,这三者中,RIP 协议是最落后的,现在用的也不是特别多了。OSPF、EIGRP 都差不多。但 EIGRP 又是思科专有协议,其他品牌的设备不能用,所以我感觉 OSPF 是通用性最好的。

配置上区别

下面都是最简单的配置

1、RIP:进入 RIP 设置菜单 -> 公告直连网段 -> 完成
2、OSPF:进入指定进程号的 OSPF 设置菜单 -> 公告直连网段、掩码、所对应的 OSPF 区域 -> 完成
3、EIGRP:进入指定 AS 号的 EIGRP 设置菜单 -> 公告直连网段、掩码 -> 完成

再简单点?对于小型网络,进程号、OSPF 区域、AS 号全部设置为 1 就好了!

网络拓扑图及说明

以下介绍的三种路由协议均使用此拓扑,黑色数字笔迹表示表示网段,红色数字笔迹表示主机号。四个路由器之间上面的链路为 10M 链路,下面为 100M 链路。下面只讲 R1 动态路由的配置方法,其他三个的话只要修改下公告的直连网段就可以了。接口以及 IP 的配置也不讲了。

RIP

配置步骤

1. 进入 RIP 配置模式

R1>enable
R1#configure terminal
R1(config)#router rip 

2. 公告直连网段

注:由于 RIP 不支持设置变长子网掩码,所以 10.x.x.x 开头的地址都会被强制设定为 255.0.0.0。所以 10.0.0.0/2410.0.1.0/24 这两个网段都会被视为同一网段,最终在配置文件中都会转换成 10.0.0.0。下面为了方便理解我还是把所有网段写了出来。

R1(config-router)#network 10.0.0.0
R1(config-router)#network 10.0.1.0
R1(config-router)#network 192.168.1.0
R1(config-router)#exit
R1(config)#exit

设置完成。

其他三个路由器的设置方法完全相同,把直连网段换一下就可以了。

验证结果

检查配置文件

R1#show running-config

以下只截取 RIP 的配置

!
router ripversion 2network 10.0.0.0network 192.168.1.0
!

检查 RIP 路由表

R1#show ip route rip10.0.0.0/24 is subnetted, 4 subnets
R       10.0.2.0 [120/1] via 10.0.1.2, 00:00:20, FastEthernet0/1
R       10.0.3.0 [120/1] via 10.0.0.2, 00:00:20, Ethernet0/0/0
R    192.168.2.0/24 [120/1] via 10.0.0.2, 00:00:20, Ethernet0/0/0
R    192.168.3.0/24 [120/2] via 10.0.1.2, 00:00:20, FastEthernet0/1[120/2] via 10.0.0.2, 00:00:20, Ethernet0/0/0
R    192.168.4.0/24 [120/1] via 10.0.1.2, 00:00:20, FastEthernet0/1

可以看到,全网的路由表均已成功学习。

需要注意的是,R1 到 192.168.3.0/24 这个网段有两条路可以走,一条百兆带宽,一条十兆带宽。而 RIP 完全不知道哪条路带宽高哪条路带宽低,只知道两条路一样长,所以 192.168.3.0/24 这个网段有两条路由表,而且开销都是 2 !

下面我们用 192.168.1.2 Tracert 192.168.3.2 看看两条路到底怎么走。

C:>tracert 192.168.3.2Tracing route to 192.168.3.2 over a maximum of 30 hops: 1   0 ms      0 ms      0 ms      192.168.1.12   0 ms      0 ms      1 ms      10.0.1.23   0 ms      0 ms      1 ms      10.0.3.24   0 ms      0 ms      0 ms      192.168.3.2Trace complete.

再来一次。

C:>tracert 192.168.3.2Tracing route to 192.168.3.2 over a maximum of 30 hops: 1   0 ms      0 ms      0 ms      192.168.1.12   0 ms      0 ms      1 ms      10.0.0.23   0 ms      0 ms      0 ms      10.0.3.24   0 ms      1 ms      0 ms      192.168.3.2Trace complete.

多重复几次可以看出,10M 的路和 100M 的路轮流走,一次走这条,一次走那条。所以,这是 RIP 的弱点。

OSPF

配置步骤

1. 进入 OSPF 进程 1 配置模式

R1>enable
R1#configure terminal
R1(config)#router ospf 1

2. 公告 OSPF 区段 1 的直连网段

注:这里的子网掩码要写成反掩码的形式,也就是 255.255.255.255 减去子网掩码所得到的值。

R1(config-router)#network 10.0.0.0 0.0.0.255 area 1
R1(config-router)#network 10.0.1.0 0.0.0.255 area 1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 1
R1(config-router)#exit
R1(config)#exit

设置完成。

其他三个路由器的设置方法完全相同,把直连网段换一下就可以了。

验证结果

检查配置文件

R1#show running-config

以下只截取 OSPF 的配置

!
router ospf 1log-adjacency-changesnetwork 10.0.0.0 0.0.0.255 area 1network 10.0.1.0 0.0.0.255 area 1network 192.168.1.0 0.0.0.255 area 1
!

检查 OSPF 路由表

R1#show ip route ospf10.0.0.0/24 is subnetted, 4 subnets
O       10.0.2.0 [110/2] via 10.0.1.2, 00:57:00, FastEthernet0/1
O       10.0.3.0 [110/12] via 10.0.1.2, 00:57:00, FastEthernet0/1
O    192.168.2.0 [110/11] via 10.0.0.2, 00:57:00, Ethernet0/0/0
O    192.168.3.0 [110/3] via 10.0.1.2, 00:57:00, FastEthernet0/1
O    192.168.4.0 [110/11] via 10.0.1.2, 00:57:00, FastEthernet0/1

可以看到,全网的路由表均已成功学习。

对比一下上面 RIP 的,到达 192.168.3.2 这里只剩下一条路可以走了,走的当然是 100M 的链路。说明 OSPF 会自动根据最小的路径开销自动选择下一跳。

同样,Tracert 一下看看两条路到底怎么走。

C:>tracert 192.168.3.2Tracing route to 192.168.3.2 over a maximum of 30 hops: 1   0 ms      0 ms      0 ms      192.168.1.12   0 ms      0 ms      0 ms      10.0.1.23   0 ms      0 ms      0 ms      10.0.2.24   0 ms      0 ms      0 ms      192.168.3.2Trace complete.

再来一次。

C:>tracert 192.168.3.2Tracing route to 192.168.3.2 over a maximum of 30 hops: 1   0 ms      0 ms      0 ms      192.168.1.12   0 ms      0 ms      0 ms      10.0.1.23   0 ms      0 ms      0 ms      10.0.2.24   0 ms      0 ms      1 ms      192.168.3.2Trace complete.

多重复几次可以看出,数据包都往 100M 的路走了。

EIGRP

配置步骤

1. 进入 EIGRP 的 1 号 AS 配置模式

R1>enable
R1#configure terminal
R1(config)#router eigrp 1

2. 公告直连网段

注:这里的子网掩码同样要写成反掩码的形式,也就是 255.255.255.255 减去子网掩码所得到的值。

R1(config-router)#network 10.0.0.0 0.0.0.255
R1(config-router)#network 10.0.1.0 0.0.0.255
R1(config-router)#network 192.168.1.0 0.0.0.255
R1(config-router)#exit
R1(config)#exit

设置完成。

其他三个路由器的设置方法完全相同,把直连网段换一下就可以了。

验证结果

检查配置文件

R1#show running-config

以下只截取 EIGRP 配置

!
router eigrp 1network 192.168.1.0network 10.0.0.0 0.0.0.255network 10.0.1.0 0.0.0.255auto-summary
!

检查 EIGRP 路由表

R1#show ip route eigrp10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
D       10.0.0.0/8 is a summary, 01:16:22, Null0
D       10.0.2.0/24 [90/30720] via 10.0.1.2, 01:16:21, FastEthernet0/1
D       10.0.3.0/24 [90/286720] via 10.0.1.2, 01:16:21, FastEthernet0/1
D    192.168.2.0/24 [90/284160] via 10.0.0.2, 01:16:21, Ethernet0/0/0
D    192.168.3.0/24 [90/33280] via 10.0.1.2, 01:16:21, FastEthernet0/1
D    192.168.4.0/24 [90/284160] via 10.0.1.2, 01:16:21, FastEthernet0/1

可以看到,全网的路由表均已成功学习。

跟 OSPF 一样,EIGRP 同样会选择开销最小的链路。这里不再赘述。

思科路由器上配置了rip但是没有生成动态路由表_思科路由器 RIP、OSPF、EIGRP 路由协议最简单的配置实例详解...相关推荐

  1. 【配置属性】—Entity Framework实例详解

    Entity Framework Code First的默认行为是使用一系列约定将POCO类映射到表.然而,有时候,不能也不想遵循这些约定,那就需要重写它们.重写默认约定有两种方式:Data Anno ...

  2. mysql 配置自动截断_MySql超长自动截断实例详解

    MySql超长自动截断实例详解 小伙伴问到一个问题,为啥在项目中调用插入或者更新语句时超长的字无法自动截断,而在navicat中直接执行是可以自动截断的? 如下 CREATE TABLE `p_app ...

  3. 计算机配置参数格式错误,关于bios标准设置故障的实例详解

    以下是学习啦小编为你整理的bios标准设置故障实例详解,供大家参考和学习. 1.电脑的系统时间不准 [故障现象]一台使用了较长时间的兼容机,每次启动后系统的时间都是从1998年1月1日开始让时 [故障 ...

  4. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

  5. 【配置映射】—Entity Framework实例详解

    前两篇博文中的配置属性和配置关系都是配置映射,配置属性是属性的映射,配置关系式关系的映射,本篇从讲讲实体的映射. 首先,配置实体映射到表,使用ToTable方法,它接受两个参数,第一个参数是表的名称, ...

  6. php 显示要上传的图片格式,php判断文件上传图片格式的实例详解

    php判断文件上传图片格式的实例详解 判断文件图片类型, $type = $_FILES['image']['tmp_name'];//文件名 //$type = $this->getImage ...

  7. python如何做散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  8. python画三维温度散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  9. python绘制散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  10. php设置上传文件大小限制_php修改上传文件大小限制实例详解

    php修改上传文件大小限制实例详解 php在默认情况下,只允许上传一定大小的文件,当上传文件大小超过这个值时,将会出错.本文章将向大家讲解php.ini中如何修改上传文件大小限制.需要修改的设置有三个 ...

最新文章

  1. Oracle事务和常用数据库对象
  2. [转]计算机存在两个管理员,删除其中一个,administration隐藏显示
  3. onMeasure onLayout用法,区别
  4. jasperreports_JasperReports JSF插件用例–简单列表报告
  5. 完全复制一个dict_Redis主从复制getshell技巧
  6. Clion配置Toolchains
  7. 每天一个小程序—0004题(统计单词出现次数)
  8. Spring MVC视图解析器
  9. GitKraken 比较好用的 Git 可视化工具
  10. 海康sdk远程门禁_海康SDK-javademo实现
  11. Win10下安装Intel Visual Fortran2019具体步骤及初始调试过程。
  12. java坦克大战墙_坦克大战 - java代码库 - 云代码
  13. linux系统下在ubuntu20.04安装matlab2017总结
  14. Ant Design of Vue去掉加载遮罩
  15. 小呆学数据分析——用duplicated/drop_duplicates方法进行重复项处理
  16. Drcom下如何优雅地使用路由器上网
  17. ictclas4j java_ictclas4j 分词工具包 安装流程
  18. 使用 SendARP 获取 MAC 地址
  19. JSR303校验的简单使用以及自定义校验规则的代码编写
  20. 【metahumanUE】虚幻引擎面捕动捕调研

热门文章

  1. [Python WEB开发] 使用WSGI开发类Flask框架 (二)
  2. Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
  3. opencv 基本绘图函数
  4. C#综合揭秘——细说多线程(下)
  5. 过滤字符串 和 select选择后控件值变更
  6. MYSQL 数据库 创建库和删除库的语句
  7. mysql node 可视化_使用Prometheus进行Substrate节点可视化监控
  8. mysql 中的neq_标准中的Eqv、Idt和Neq分别代表什么 详细
  9. 【数据分享】工人收入工资及其社会经济影响因素数据
  10. 拓端tecdat|R语言网络和网络流的可视化实践:通勤者流动网络