第五章 路由技术与实现
5.1 路由器概述
5.1.1路由器概述
路由器是互联网的主要节点设备。路由器通过路由决定数据的转发。转发策略称为路由选择(routing),这也是路由器名称的由来(router,转发者)。作为不同网络之间互相连接的枢纽,路由器系统构成了基于 TCP/IP 的国际互连网络 Internet 的主体脉络,也可以说,路由器构成了 Internet 的骨架。它的处理速度是网络通信的主要瓶颈之一,它的可靠性则直接影响着网络互连的质量。
路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。路由器是典型的网络设备,完成第三层中继的任务。它的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成;这项工作,在路由器中保存着各种传输路径的相关数据——路径表(Routi ng Table),供路由选择时使用。路径表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。
- 静态路径表
由系统管理员事先设置好固定的路径表称之为静态(static)路径表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。
- 动态路径表
动态(Dynamic)路径表是路由器根据网络系统的运行情况而自动调整的路径表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。
5.1.2路由器的配置方式
可以通过5种方式与路由器进行交互,对路由器进行配置。它们分别是:控制台串行端口配置(console口)、辅助端口配置(AUX口,即通过MODEM与电话线远程配置)、telnet远程登录(virtual terminal)、TFTP Server、网络管理站NMS(Network Management Station),但当第一次对路由器配置时,只能选用console口这种方式,在已经对路由器进行了相应的基本配置之后,才支持其它4种配置手段。
远程登录、TFTP Server以及网络管理站NMS对路由器进行配置时,路由器至少要配好IP地址、支持远程访问才可以。实际上,网管人员最常用的配置方式是通过telnet远程登录到路由器上,与路由器的一个VTY建立会话,进而对该设备进行配置。
5.1.3 路由器、交换机、集线器、计算机之间的互连
使用直通线(straight-through)的场合:计算机与集线器、计算机与交换机、路由器与集线器、路由器与交换机;
使用交叉线(crossover)的场合:计算机与计算机、路由器与路由器、交换机与交换机、交换机与三层交换机(三层交换机即带有路由功能的交换机,包括路由模块和交换模块)、集线器与集线器、交换机与集线器、计算机与路由器;
使用反转线(rollover)的场合:计算机串口连接到路由器或交换机的控制台端口、对其进行配置时
5.2 认识锐捷 RG-R1700系列路由器
5.2.1锐捷RG-R1762高性能模块化分支路由器界面
如图2-1所示:
2-1 RG-R1762路由器
R1762 模块化路由器是锐捷网络公司生产的面向企业级的网络产品。采用模块化结构设计,具有1个网络/语音模块插槽,支持种类丰富、功能齐全、高密度的网络/语音模块,可实现更多的组合应用。采用64位的微处理器技术,CPU为PowerPC通讯专用处理器,主频高达到266MHz,固化两个10/100M快速以太口,2个高速同步口,操作系统使用锐捷网络公司拥有自主知识产权的RGNOS,适合大中型企业、金融体系、各大公司的办事处和中型 Internet 服务供应商的模块化多服务访问平台,R1762路由器提供丰富的网络安全特性,支持哑终端接入服务器功能;提供完备的冗余备份解决方案,支持VoIP特性、IP组播协议,支持IPv4/IPv6,有丰富的QoS特性,为中小型企业提供高性价比的三网合一解决方案。
5.2.2产品特性:
一、高性能
l采用先进的PowerPC 通讯专用处理器,先进的总线技术,包转发延迟小,高效的数据处理能力支持高密度端口,保证在高速环境下的网络应用;
l包转发率达到100Kpps。
二、丰富固化接口的模块化设计
l固化2个10/100M快速以太口;
l固化2个高速同步口;
l固化1个控制台口和1个AUX异步备份接口;
l模块和R3642/R3662、R2690、R2692、R2632兼容;
l具有1个网络/语音模块插槽,支持种类丰富、功能齐全、高密度的网络/语音模块,可实现更多的组合应用。
三、内置加密模块
lRG-R1762内置加密模块,加密、解密由硬件完成,大幅度提高加密解密性能,满足多媒体等大数据量业务的加密需求;
四、良好的语音支持功能
l支持G.711、G.723、G.729等多种语音编码格式,支持H.323协议栈,可以和多家VOIP厂商的设备互通;
l支持E1、FXS、FXO等多种语音模块;
l支持实时传真功能;
l支持语音网守功能。
五、高效安全的终端服务
l提供64位密钥的RC4加密,可以实现路由器到UNIX服务器之间的数据安全加密;
l提供固定终端服务登陆的功能,确保路由器上每台终端登陆时,每次得到的终端号都是固定的,有利于管理;
l支持限时登录,只有在设定的时间内,用户可以登录,其他时间无法登录,保证系统的安全性;
l支持虚屏功能,同一台终端可以同时登录到不同的UNIX主机上;
l支持SCO、AIX、Linux等常用的UNIX系统;
l固定终端系统占用UNIX资源特别低,没有登录的终端不会占用UNIX资源;
l最多可以同时连接17台异步口终端。
六、良好的VPN功能
l支持IPSec的VPN功能;
l支持GRE的VPN功能;
l支持L2TP/PPTP的VPDN应用;
l在NAT应用下,支持L2TP/PPTP的穿透功能。
七、完善的QoS策略
l支持PQ、CQ、FIFO、WFQ、CBWFQ等排队策略;
l支持设置语音数据包优先级,可以为中小型企业提供满足要求的、高性价比的多功能服务平台。
八、高可靠性
l支持链路备份、路由备份等多种方式的备份技术,提高整个网络的可靠性;
l支持VRRP热备份协议,实现线路和设备的冗余备份。
九、高安全性
l完善的防火墙技术,支持基于源目的IP、协议、端口以及时间段的访问列表控制策略;
l支持IP与MAC地址的绑定,有效防止IP地址的欺骗;
l支持认证、授权、记录用户信息的AAA认证技术,支持Radius认证协议;
l支持动态路由协议中的路由信息认证技术,保证动态路由网络中路由信息的安全和可靠;
l支持PPP协议中的PAP、CHAP认证及回拨技术;
l高性能的NAT;
l支持用户密码登录,根据登录用户级别分配相应权限;
l内置硬件加密模块,大大提高加密解密的性能。
十、方便易用易管理
l采用标准CLI界面,操作更简单;
l支持SNMP协议,配置文件的TFTP上传下载,方便网络管理;
l支持Telnet/Console,方便的实现远程管理和控制;
l多样的在线升级,为将来的功能扩展预留空间。
5.3路由器的配置管理方式
对网络互连设备的配置通常有以下几种方法:
- 控制台,PC机运行超级终端通过Console线配置路由器。
- Telnet,如果路由器以有一些基本配置(IP地址信息),且至少有一个端口有效(如Ethernet口),则PC机可以运行Telnet程序的计算机作为路由器的虚拟终端,完成路由 器的配置。
- 网络管理工作站。
- 路由器可通过运行网络管理软件的工作站,采用SNMP完成路由器的配置。常用的网管软件如Cisco的Cisco Works、HP的OpenView等。
- Cisco ConfigMaker。
- Cisco ConfigMaker是一个由Cisco开发的免费的路由器配置工具。
- TFTP服务器。
- TFTP是基于TCP/IP的简单文件传输协议,可将配置文件从路由器传送到TFTP服务器上,也可将配置文件从TFTP服务器传诵到路由器上。TFTP不需用户名和口令,使用十分方便。
我们主要介绍通过Console和Telnet配置路由器。按照实验拓扑图连接PC机和路由器(注意连接PC机和路由器的网线应该是交叉线)。Console和Telnet配置方法的具体步骤和配置参数同交换机实验。请参考交换机实验一。
5.4启动路由器(初始配置)
打开路由器电源时,它首先需要测试它的硬件,包括内存和接口。下一步就是查找和加载I O S 映像,即路由器操作系统。最后,在路由器可以在网络中正常工作之前,它需要
找到它的配置信息,并使用它。如果路由器没有在N V R A M 中找到配置文件,而且没有配置为在网络上进行查找,它将开始设置对话框。好在它是菜单驱动的,你所需要做的全部工作就是回答问题。
下面介绍下RG 1700路由器的启动界面。
RG 1700路由器的启动界面显示的内容很简洁,不象Cisco路由设备相识很多的相关信息。
首先,启动过程中,会显示出RG路由器的设备硬件信息,出厂版本号,版权声明以及主存等的相关信息。
Boot Program for 1700, Version 03.03, Rev 00, Compiled 2006-1-9.
Copyright (c) 1999-2006 by Red-Giant Network co.,Ltd.
RG1700 processor with 64 mbytes of main memory
CPM Revision Num = 0x00E1
Parallel FLASH ID: 017E1000 , Size 1024 kbytes
Parallel FLASH ID(bank1): 017E1000
Size :7104 KB
此时,路由器已经从R O M 中加载了引导程序。下一步,它将从闪存中加载它的I O S
映像。它首先确认文件的完整性,然后在加载进入R A M 的时候,进行解压缩。”!”表示文件完整性没问题。
The wired nand flash checking!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
接下来显示的是软件版本号。
Red-Giant Operating System Software
RGNOS (tm) RELEASE SOFTWARE, Version 8.32(building 53)
Copyright (c) 2004 by Red-Giant Network co.,Ltd
Compiled Oct 21 2005 14:10:19 by sc
显示本设备的所处系列的具体型号。
Red-Giant R1700 series R1762
Motorola Power PC processor with 65536K bytes of memory.
Processor board ID 00000001,with hardware revision 00000001
后面将显示出设备的存储器和PCI总线等信息。
SDRAM: 64M
Bank0: 00000000 - 03FFFFFF 64M
bank1 init ff810000 ffaeffff 17e0000
System reload at 2007-12-09 23:12:36
Parallel FLASH ID: 017E1000
Size :1024 KB
Parallel FLASH ID(bank1): 017E1000
Size :7104 KB
pci information in the system
=====================================
slot|seq|bus|int|dev|fun start end config devid fbtb name
00 00 00 00 25 00 80000000 810fffff 8000c800 ac28104c 1 Bridge
02 00 01 03 04 00 80000000 8001ffff 80012000 2102110a 1 Serial
card information in the system
=====================================
slot class id type id hardware ver firmware version
slot 0 main board MB_M8248_1762 1.30 1.00
slot 1 FNM card FNM_2FE2HS 1.10 1.00
slot 2 sync card NM_4HS 1.00 1.00
Press RETURN to get started!
5.5 路由器的配置方式
路由器有几种配置模式:
- 普通用户模式:
开机直接进入普通用户模式,在该模式下我们只能查询路由器的一些基础信息,如版本号(show version)。
Red-Giant>
- 特权用户模式:
在普通用户模式下输入enable 命令即可进入特权用户模式,在该模式下我们可以查看路由器的配置信息和调试信息等等。
Red-Giant#
- 全局配置模式:
在特权用户模式下输入configure terminal 命令即可进入全局配置模式,在该模式下主要完成全局参数的配置。
Red-Giant(config)#
- 局部配置模式:
Red-Giant(config-if)#, Red-Giant(config-line)#, Red-Giant(config-router)#……,路由器处于局部设置状态,这时可以设置路由器某个局部的参数。
本节实验需要掌握的命令
- Configure terminal
- Hostname
- Show Interface
- Show running-config
- Show startup-config
- Show accounting
- Show memory
- Show process cpu
- Show protocols
- Show starcks
- Show version
- Show ip route
5.6路由选择协议
5.6.1 路由协议分类
按照Cisco的标准,路由协议分为两大类:
路由选择协议(Routing Protocol)
通过在设备之间提供路由选择信息共享机制,为被路由协议提供支持。这类协议使用一定的路由算法来找到到达目的主机或网络的最佳路径。常见的路由选择协议有路由信息协议(RIP),内部网关路由协议(IGRP),增强型内部网关协议(EIGRP),开放式最短路径优先(OSPF)。
路由传送协议(Routed Protocol)
这类协议沿已选好的路径传送数据报,实现网络层功能,是为分组从一个主机发送到另一个主机提供充分的第三层地址信息的任何网络协议,也叫做被路由协议。被路由协议定义了分组所包含的字段格式。分组一般在端到端系统之间传送。如Internet协议(IP),网间分组交换(IPX),AppleTalk。
二者关系:
路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。
RG-R1762路由器上可以配置三种路由:
- 静态路由
- 动态路由
- 缺省路由
一般地,路由器查找路由的顺序为静态路由,动态路由,如果以上路由表中都没有合适的路由,则通过缺省路由将数据包传输出去,可以综合使用三种路由。
静态路由是指由网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。
在一个支持DDR(dial-on-demand routing)的网络中,拨号链路只在需要时才拨通,因此不能为动态路由信息表提供路由信息的变更情况。在这种情况下,网络也适合使用静态路由。
使用静态路由的另一个好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。
大型和复杂的网络环境通常不宜采用静态路由。一方面,网络管理员难以全面地了解整个网络的拓扑结构;另一方面,当网络的拓扑结构和链路状态发生变化时,路由器中的静态路由信息需要大范围地调整,这一工作的难度和复杂程度非常高。
动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际实际情况的变化适时地进行调整。
动态路由机制的运作依赖路由器的两个基本功能:对路由表的维护;路由器之间适时的路由信息交换。
路由器之间的路由信息交换是基于路由协议实现的。交换路由信息的最终目的在于通过路由表找到一条数据交换的“最佳”路径。每一种路由算法都有其衡量“最佳”的一套原则。大多数算法使用一个量化的参数来衡量路径的优劣,一般来说,参数值越小,路径越好。该参数可以通过路径的某一特性进行计算,也可以在综合多个特性的基础上进行计算。几个比较常用的特征是: 路径所包含的路由器结点数(hop count)、网络传输费用(cost)、带宽(bandwidth)、延迟(delay)、负载(load)、可靠性(reliability)和最大传输单元MTU(maximum transmission unit)。
IP路由选择协议用有效的、无循环的路由信息填充路由选择表(路由表),从而为数据包在网络之间传递提供可靠的路径信息。动态路由选择协议又分为距离矢量、链路状态和平衡混合3种。
- 距离矢量(Distance Vector)路由协议:计算网络中所有链路的矢量和距离并以此为依据确认最佳路径。使用距离矢量路由协议的路由器定期向其相邻的路由器发送全部或部分路由表。典型的距离矢量路由协议是RIP和IGRP。
- 链路状态(Link State)路由协议:使用为每个路由器创建的拓扑数据库来创建路由表,每个路由器通过此数据库建立一个整个网络的拓扑图。在拓扑图的基础上通过相应的路由算法计算出通往各目标网段的最佳路径,并最终形成路由表。典型的链路状态路由协议是OSPF(OpenShortest Path First,开放最短路径优先)。
- 平衡混合(Balanced Hybrid)路由协议:结合了链路状态和距离矢量两种协议的优点,此类协议的代表是EIGRP,即增强型内部网关路由协议。
5.6.2 静态和默认路由选择协议
路由选择是路由器用来将分组转发到目的地网络的过程。路由器根据分组的IP地址做出决定。沿途所有的设备使用目的IP地址指向分组的正确方向。目的IP地址使分组最终可以到达目的地。为了做出正确的决定,路由器必须获得远程网络的方向。当使用静态路由选择时,网络管理员手工配置远程网络的信息。只要网络拓扑发生改变,管理员就必须手工更新这些静态路由条目。
静态路由的操作共有三个步骤:
- 网络管理员配置路由
- 路由器将路由装入路由选择表
- 使用静态路由来路由分组
因为静态路由是手工配置的,管理员必须在路由器上使用ip route命令配置静态路由,其格式为:
ip route 目地子网地址 子网掩码 相邻路由器相邻端口地址或者本地物理端口号
- 配置静态路由的几个步骤:
- 确认所有想要到达网络的前缀、掩码和地址。地址可以是本地接口或者是指向所要到达目的地的下一跳地址。
- 进入全局配置模式。
- 输入ip route 命令和前缀、掩码和地址。
- 重复步骤3以完成步骤1定义的许多目的网络。
- 退出全局模式,并在特权模式下保存。
管理距离是提供路由可靠性测量的一个可选参数。管理距离值越小表示路由越可靠。这意味着具有较小管理距离的路由将在具有较大管理距离的相同路由之前被安装。使用静态路由,默认管理距离是1。在路由选择表中,会显示具有出站接口选项的静态路由是直接相连的。这有时会发生混淆,因为真正直连的路由的管理距离是0。要验证特定的路由管理距离,可使用Show ip route address命令,Address选项处加入特定路由的IP地址。
默认路由用来路由那些目的不匹配路由选择表中的任何一条其他路由的分组。路由器典型地为Internet边界流量配置一条默认路由,因为维护Internet上所有网络的路由是不切实际和不必要的。事实上默认路由是使用以下格式的一条特殊的静态路由:
ip route 0.0.0 0.0.0.0 相邻路由器的相邻端口地址或本地物理端口号
- 配置默认路由的几个步骤:
- 进入全局配置模式。
- 输入目的网络地址为0.0.0.0、子网掩码为0.0.0.0的ip route命令。默认路由的address参数可以是连接外部网络的本地路由器接口,也可以是下一跳器由器的IP 地址。
- 退出全局模式,并在特权模式下保存配置。
5.6.3 RIP路由选择协议
RIP(Routing Information Protocols,路由信息协议)是使用最广泛的距离向量协议,它是由施乐(Xerox)在70年代开发的。当时,RIP是XNS(Xerox Network Service,施乐网络服务)协议簇的一部分。TCP/IP版本的RIP是施乐协议的改进版。RIP最大的特点是,无论实现原理还是配置方法,都非常简单。
- 度量方法
RIP的度量是基于跳数(hops count)的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。 - 路由更新
RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(Update Timer)、无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。 - 路由循环
距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。为了避免这个问题,RIP等距离向量算法实现了下面4个机制。 - 水平分割(split horizon)
水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。
- 毒性逆转(poison reverse)
当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。
- 触发更新(trigger update)
当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。
- 抑制计时(holddown timer)
一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。
即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(Count to Infinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。
- 邻居
有些网络是NBMA(Non-Broadcast MultiAccess,非广播多路访问)的,即网络上不允许广播传送数据。对于这种网络,RIP就不能依赖广播传递路由表了。解决方法有很多,最简单的是指定邻居(neighbor),即指定将路由表发送给某一台特定的路由器。 - RIP的缺陷
RIP虽然简单易行,并且久经考验,但是也存在着一些很重要的缺陷,主要有以下几点:- 过于简单,以跳数为依据计算度量值,经常得出非最优路由。
- 度量值以16为限,不适合大的网络。
- 安全性差,接受来自任何设备的路由更新。
- 不支持无类IP地址和VLSM(Variable Length Subnet Mask,变长子网掩码)。
- 收敛缓慢,时间经常大于5分钟。
- 消耗带宽很大。
RIP协议尽管被看作是一个过时的、简单的协议,但正式由于RIP协议的简单特性,才能使其持久并且继续下去。同时,由于RIP协议是连接不同厂商设备的广泛使用的公共协议,因此经常被用于厂商设备移植或陈旧的网络拓扑图中。
5.6.4 OSPF路由选择协议
OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是一种典型链路状态路有协议、无类别IP路由协议,而RIP是距离向量路由协议。
我们知道,距离向量协议是以中间结点数最小为选路原则的。RIP里的“距离”是指跳距,而“向量”是指地址。最小跳距方案需要每个路由器都对到过目标的最佳路径进行计算。如果某些条件发生变化,则路由器会将这一变化通知给相邻的结点,让每个相邻都修改其路由表。随后,这些邻接结点会向它们各自的邻接结点进行通告,直到路由域中所有结点都了解这一变化为止。
链路状态路由协议则是为路由域中每个结点链路分配一个度量值,每个路由器都通过链路状态公告(LSA)将自己的链路度量值告诉给它的相邻结点。LSA中包含的链路度量值可能是一个或多个。而各结点间路径选择的标准就是使该路径的所有链路的度量值最小。链路状态方案中的每一个路由器都使用着同一个数据库的拷贝(即同一个分发数据文件)。该数据库包含了路由域中每个路由器的贡献。通过分发数据库文件将各自本地风络以及与其他路由器的活动链路信息发送给路由域中的所有路由器。
链路状态路由协议与距离向量协议不同之处在于:采用链路状态路由协议的路由器不是交换到达目的地的距离,而是维护一张用数据库表示的网络拓扑结构图,其中的每个表项对应网络的一条链路。路由器根据数据库的信息计算出“最佳路由”,由此指导包的转发。当网络拓扑结构发生变化时,只需将相应记录而非整个数据库通知其他结点。各路由器做出相应修改并重新计算路由后,就可以继续正常工作。
链路状态路由协议的最大优势是其可扩展性和路由性能。网络收敛时间不受规模的限制。当网络的拓扑结构改变时,每个路由器可以很快计算出到过目的地的新路径。
- OSPF的特点
OSPF的一个解决方案就是将整个自治系统划分为多个称做“区域(Area)”的部分,以减少每个路由器存储和维护的信息量。每个路由器必须有它所在区域的完整信息。各区域间的信息是共享的。另外,路由选择信息可以在区域边缘被过滤,这样可以减少路由器在里存储的路由选择信息量。
OSPF能够适应大型IP网络的扩展,而基于距离向量的IP路由协议如RIP和IGRP则不能适应这种网络。OSPF基于链路状态,其路由搜索是基于网络地址以及链路状态度量的。作为一种自适应协议,OSPF可以网络状态故障情况自动进行调整,具有收敛时间短的优点,有利于路由表的快速稳定,这样使OSPF可以支持大型网络。OSPF设计可以防止通信数据形成环路,这对于网状网络或由多个路由器实现不同局域网互联非常重要。OSPF还具有一些特性:
- 使用了区域的概念,有效地减少了路由选择协议对路由器的CPU和内存的占用。划分区域还可以降低路由选择协议的通信量,从而使构建层次化的互联网络成为可能。
- 完全无类别地处理地址问题,排除了有类别路由选择协议存在的问题。
- 支持无类别的路由选择表查询、VLSM和用来时行有效地址管理的超网技术。
- 支持无大小限制的任意的度量值。
- 支持使用多条路由路径的、效率更高的均衡负载。
- 使用保留的组播地址来减小对不运行OSPF协议的设备的影响。
- 支持更安全的路由选择认证。
- 使用可以跟踪外部路由的路由标记。
- OSPF原理简述
OSPF通过建立链路状态数据库生成路由表。这个数据库具有OSPF网上所有网络和路由器的信息。链路状态数据库是由链路状态公告(LSA)构成的,LSA由每个路由器产生,并且在整个OSPF网络上传播。LSA有许多类型(有些LSA用于路由器间的握手操作,如问候(hello)数据包,有些LSA包含结点数据库的信息,还有一些LSA更新数据包),而完整的LSA集合将为路由器展示整个网络的精确分布图。
在OSPF中,用于衡量一条路径满意程度的尺度叫做开销或成本。开销被到路由器的每个接口上,在默认情况下,一个接口上分配的开销和连接到这个接口链路的带宽成反比。到某个特定目的地的路径开销是这台路由器和目的地之间所有链路的开销之和。
为了从LS数据库中生成路由表,路由器运行SPF(最短路径优先)算法,构建一棵最小的开销树,路由器本身是根。从根到每一个结点的路径即为本路由器到结点对应路由器的最佳路径。由于每个路由器均是以自己为根,依据链路状态数据库构造最小生成树,因此,从路由器A到路由器B的最佳路径和路由器B到路由器A的最佳路径不一定相同。
和RIP不同,OSPF不是周期性的广播它所有的路由选择信息。实际上,路由器使用Hello报文让邻居知道自己仍然存活并运行着。如果一个路由器在一段特定时间内没有收到来自邻居的Hello报文,表明这个邻居可能已经不再运行了。OSPF通常只在拓扑结构改变进发出刷新信息。
- OSPF算法描述:
- 宣告OSPF的路由器从所有启动OSPF协议的接口上发送Hello报文。如果两台路由器共享一条公共数据链路,并且能够相互成协商它们各自Hello报文中所指定的某些参数,那么它们成为邻居。
- 邻接关系可想象成一条点到点的虚链路,它是在一些邻居路由器之间构成的。邻接关系的建立是由交换Hello报文信息的路由器类型和网络类型决定的。
- 每台路由器都会在所有形成邻接关系的邻居之间发送LSA。LSA描述了路由器所有的链路信息。
- 每个收到从邻居路由器发出的LSA通告的路由器都会把这些通告记录在它的链路状态数据库中,并且发一份LSA的拷贝给该路由器的其他所有邻居。
- 通过LSA泛洪到整个,所有路由器都会形成同样的链路状态数据库。
- 当这些路由器的数据库都完全相同时,每一台路由器都以本身为根,使用SPF算法生成一个最小生成树,来描述它到每一个目的路由器的最小距离。
- 每一台路由器都从最小生成树中构建自己的路由表。
当所有的链路状态信息泛洪到一个区域内的所有路由器上,并且成功创建路由表,邻居之间仅通过Hello报文了解相互状态,并且每隔30分钟重传一次LSA。如果互联网络的拓扑结构稳定,网络中的LSA通告很少,OSPF协议就处于“安静”状态。
- OSPF协议验证
在OSPF路由协议中,所有的路由信息交换都必须经过验证。OSPF路由协议定义了3种协议验证方式:方式0、方式1、方式2。
- 验证方式0
表示OSPF对所交换的路由信息不验证。OSPF接收到数据后对首部的验证数据位不做任何处理。
- 验证方式1
为简单口令验证。这种验证方式是基于一个区域内的每一个网络来定义的,每一个发送至该网络的报文首部内都必须具有相同的64位长度的验证数据位,即该验证方式的口令长度为64位。
- 验证方式3
MD5验证方式。MD5采用加密验证,每个路由器上都必须配置密码和密码ID。不像简单密码验证,MD5验证密码不在网络上传输。每个OSPF报文中还包含有一个序列号以保护网络不受攻击。
- OSPF的几个基本术语:
- 邻居:邻居被定义为一个运行有OSPF过程的已建立连接的相邻的路由器,并且这个路由器还要带有被指定为相同区域的邻接接口。
- 邻接:邻接被定义为路由器与它相应的指定路由器和备份路由器间的逻辑连接。
- 链路:在OSPF中,链路被定义为一个网络或者是被指定为给定网络的路由器接口。
- 接口:路由器的一个物理的或逻辑的接口。
- 链路状态通告LSA:是一个OSPF数据包,它包含有可在OSPF路由器间共享的链路状态和路由信息。
- 指定路由器DR:只在OSPF路由器被连到一个广播网络时使用。
- 备份指定路由器BDR:是在广播网络中热备份的DR。
- 内部路由器(I):路由器的接口在同一区域。
- 骨干路由器(B):路由器至少有一个接口在区域0。
- 区域边界路由器(ABR):有多个区域分配的路由器。
- 自治系统边界路由器(ASBR):是一个带有连接外部网络或不同AS接口的路由器。
- 非广播多路访问:是指像帧中继,X.25和ATM等类型的网络。
- 路由器ID:是一个用于识别路由器的IP地址。
- OSPF协议的配置方法
OSPF协议配置过程并不复杂,只是OSPF涉及到的概念较多,需要花时间去理解。下面我们介绍配置一个OSPF协议实验的操作步骤:
- 启用OSPF动态路由协议
router ospf process-id
该命令可以启动一个使用指定process-id 的OSPF进程。与IGRP不同,该值专用于路由器并且不标识不同的OSPF自治系统。通过为每个进程使用惟一的process-id ,多个OSPF进程能够在任何给定的路由器上执行。process-id参数指定范围在1-65535,定义OSPF进程必须与路由器上的一个活跃IP接口相关联,以便OSPF能够开始创建邻居邻接关系和路由表。
- 定义参与ospf的子网。该子网属于哪一个OSPF路由信息交换区域
network address wildcard-mask area area-id
address参数可以是接口的IP地址、子网或者OSPF路由所用接口的网络地址。与address参数配对的是wildcard-mask参数,wildcard-mask参数指定的值标识address参数值的哪一位用于解释address参数值。wildcard-mask使用点分十进制格式。
Area-id参数值标识指定的网络与哪一个OSPF区域相关联。area-id可以是一个十进制数或者用IP地址的点分十进制格式书写。
路由器将限制只能在相同区域内交换子网信息,不同区域间不交换路由信息。另外,区域0为主干OSPF区域。不同区域交换路由信息必须经过区域0。一般地,某一区域要接入OSPF0路由区域,该区域必须至少有一台路由器为区域边缘路由器,即它既参与本区域路由又参与区域0路由。
- OSPF验证
OSPF经过简单配置后,接下来就是对路由信息的交换进行验证配置,在这里只介绍验证方式3的配置过程:
- 设置某区域使用安全设置MD5方式
area 区域标号 autherfication message-digest
可以采用明文方式 ,但建议采用MD5方式,较安全。
- 设置某端口验证其相邻路由器相邻端口时的MD5口令,在端口设置模式下
ip ospf message-digest-key 口令标号 MD5 口令字符串
其中,在同一区域的相邻路由器的相邻端口的口令标号及口令字符串必须相同,同一路由器的不同端口的MD5口令可以不同,也可以某些端口使用安全设置,某些端口不使用安全设置。
- 配置结束后,可通过下列命令进行查看配置信息。
- debug ip ospf events
- show ip ospf
- show ip ospf database
- show ip ospf interface
- show ip ospf neighbor
- show ip route
5.7 路由器基本配置实验
5.7.1 实验目的
- 掌握路由器常用配置方式Telnet
- 掌握路由器的最基本的命令及使用方法
5.7.2 背景描述
假设你是某公司的网络管理员,现在需要对公司的路由器设备进行初始配置,包括路由器的基本配置。配置完成后,下次就可以通过远程登录方式来对设备进行操作。
5.7.3 实验设备
- 一台RG-R1700系列路由器(R1762)
- 两台PC机,其中一台可以打开管理端网页,进行设备配置
- 一根直通网线
5.7.4 实验拓扑图
实验拓扑如图2-2
图2-2 路由器基本配置
5.7.5 实验步骤
1.配置主机名
Router> (用户执行模式提示符)
Router>enable 14 (进入特权模式)
Password:
Router# (特权模式提示符)
Router#config terminal (进入配置模式)
Router(config)#hostname R1700_1 (设置主机名为Cisco2600)
R1700_1 (config)#end (返回特权模式)
R1700_1#
- 置路由器以太网接口
显示所有接口状态信息
R1700_1#show ip interface brief (查看设备所有接口状态信息)
Interface IP-Address(Pri) OK? Status
serial 1/2 no address YES DOWN
serial 1/3 no address YES DOWN
serial 2/0 no address YES DOWN
serial 2/1 no address YES DOWN
serial 2/2 no address YES DOWN
serial 2/3 no address YES DOWN
FastEthernet 1/0 no address YES DOWN
FastEthernet 1/1 no address YES DOWN
Null 0 no address YES UP
配置以太网接口IP地址
R1700_1#
R1700_1#config t (进入全局配置模式)
R1700_1 (config)#interface fastethernet 1/0 (进入接口f0/0配置模式)
R1700_1 (config-if)#ip address 192.168.0.1 255.255.255.0 (设置接口IP地址)
R1700_1 (config-if)#no shutdown (激活接口)
R1700_1 (config-if)#exit (返回全局配置模式)
R1700_1 (config)#
还可以配置路由器上的其它接口。但是类型不同的接口配置参数和属性可能会不同,我们会在以后慢慢介绍。
当我们希望删除或更改已有配置时,只需在原有配置命令前加“no”删除此项配置,然后重新配置即可。比如我们想要更改路由器f 1/0接口的IP地址。只需按如下操作。
R1700_1 (config)#int f 1/0
R1700_1 (config-if)#no ip address 192.168.0.1 255.255.255.0
R1700_1 (config-if)#ip address 192.168.0.2 255.255.255.0
R1700_1 (config-if)#no shut
R1700_1 (config-if)#exit
R1700_1 (config)#
配置完成后我们查看下当前配置信息
R1700_1#show running-config
3. 保存配置
- write memory
- copy running-config startup-config
- copy running-config tftp
说明:做一般的实验的时候,只有write memory可用。
由于实验的时候,是以用户级别身份进入路由器的,所以copy /delete/erase/等命令将会被屏蔽。
5.8 配置静态和默认路由选择协议
5.8.1 实验目的
- 掌握路由器的基本配置
- 掌握网络地址分配和子网掩码设置
- 根据实验网络拓扑图,完成静态路由的配置,实现网络互连
5.8.2 背景描述
假设某所大学有三个校区,分别用三台路由器连接。三个校区通过总校区连接Internet。现在通过在路由器上配置静态路由选择协议实现三个校区之间的网络通信。
5.8.3 实验设备
- RG-R1700系列路由器三台
- PC 一台,必须能够打开管理端网页,进行设备配置
- 一条交叉双绞线
- 三条V.35电缆线
5.8.4 实验拓扑图
实验拓扑如图2-4所示:
图2-4 静态路由选择配置
5.8.5 实验步骤
1.对R1路由器进行配置
R1#conf t (进入全局配置模式)
R1(config)#int serial 1/2 (进入串口S1/2)
R1(config-if)#ip address 10.1.1.1 255.255.255.0 (为串口S1/2配置IP地址、子网掩码)
R1(config-if)#no shut (激活串口S1/2)
R1(config-if)#clock rate 64000 (设串口S1/2的时钟频率)
R1(config-if)#no shut (激活时针)
R1(config-if)#exit
R1(config)#int serial 1/3 (进入串口S1/3)
R1(config-if)#ip address 172.16.1.1 255.255.0.0 (为串口S1/3配置IP地址、子网掩码)
R1(config-if)#no shut (激活串口S1/3)
R1(config-if)#clock rate 64000 (设串口S1/3的时针频率)
R1(config-if)#no shut (激活时钟)
R1(config-if)#exit (退回全局模式)
R1(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.2 (配置静态路由)
R1(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.2
R1(config)#exit
R1#
配置完后,可通过在特权配置模式下输入命令show ip route来查看路由表中的信息
R1#show ip route
Codes: C - connected, S - static, R - RIP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
* - candidate default
Gateway of last resort is no set
C 172.16.1.0/24 is directly connected, Serial1/3
C 10.1.1.0/24 is directly connected, Serial1/2
S 192.168.1.0/24 [1/0] via 10.1.1.2
[1/0] via 172.16.1.2
R1#
也可以通过在特权配置模式下输入命令show run来查看配置信息。
2.配置路由器R2、R3
路由器R2、路由器R3配置过程与路由器R1配置过程相似,在这里就不再详细列出,但要注意的是,两台路由器通过串口相连时,其中的一台必须要配置时钟频率,一台作为DTE设备,另一台作为DCE设备。在实验中,我们用路由器R1做为DCE设备,只在R1上配置时钟频率即可。
3.配置默认路由
要通过总校区的路由器访问外网,我们还需要在每台路由器上配置默认路由(有两种配法)。
R1(config)#ip route 0.0.0.0 0.0.0.0 int s1/2 ( 在R1中配置默认路由)
R2(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1 ( 在R2中配置默认路由)
R3(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.1 ( 在R3中配置默认路由)
4.验证配置
当所有的路由器配置完成后,可以在每台路由器的特权模式下,通过Ping命令来访问其他路由器的IP地址,例如在R1路由器上来Ping路由器R3的F1/0端口的IP。
R1#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/29/32 ms
R1#
通过Ping 命令,可以知道路由器之间是否可以进行通信,结果表明,此次配置静态路由选择协议是成功的。
5.9 配置RIP协议
5.9.1 实验目的
- 在路由器上启动RIP协议
- 声明相应网络进入RIP路由进程
- 查看路由表并理解相关字段含义
- 查看RIP协议配置信息
- 监测RIP协议相关信息
5.9.2 背景描述
假设某所大学有三个校区,分别用三台路由器连接。现在通过在路由器上配置RIP路由选择协议实现三个校区之间的网络通信。
5.9.3 实验设备
- RG-1700系列路由器3台,分别为R1、R2和R3,具有1个以太网接口(f1/0-1)和2个串行接口(s1/2-3)。
- 3条DCE电缆和3条DTE电缆,或3条DCE转DTE电缆
- 1台PC机,必须能够打开管理端网页,进行设备配置
5.9.4 实验拓扑图
实验拓扑如图2-5所示:
图2-5 RIP协议配置
5.9.5 实验步骤:
1.完成各路由器基本信息和端口信息的配置
配置主机名和各端口IP地址。当所有路由器的端口均配置完成后,可使用show interface 命令查看端口的状态。(注意,当两台路由器是用串口直接相连,需要将一个串口设置成DCE,并设置时钟脉冲,另一个串口扮演DTE的角色,只需激活端口即可。
2.启动RIP协议
依次在每一台路由器上启动RIP协议。每台路由器上RIP相关的命令如下。
R1#conf t
R1(config)#router rip (进入RIP协议配置子模式)
R1(config-router)#network 10.0.0.0 (声明网络10.0.0.0/24)
R1(config-router)#network 172.16.1.0 (声明网络172.16.1.0/24)
R2#conf t
R2(config)#router rip
R2(config-router)#network 10.0.0.0 (声明网络10.0.0.0/24)
R2(config-router)#network 192.168.1.0 (声明网络192.168.1.0/24)
R3#conf t
R3(config)#router rip
R3(config-router)#network 172.16.1.0 (声明网络172.16.1.0/24)
R3(config-router)#network 192.168.1.0 (声明网络192.168.1.0/24)
3.验证配置
在网络中所有路由器上都配置好RIP协议后,等待网络处于收敛状态后,我们来检查下每个路由器的路由表,看出了直连路由外,路由器是否通过RIP协议找到了到达拓扑图中各网络路径。如果找到则证明RIP协议配置成功。
- RIP协议常用监测命令
show ip route : 查看路由表
clear ip route : 清除路由表
show ip protocol : 显示活动路由协议进程的参数和当前状态。
debug ip rip : 专门用来显示路由器发送和接受的RIP更新信息。
- 以下是路由器R1的路由表
R1#show ip route
Codes: C - connected, S - static, R - RIP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
* - candidate default
Gateway of last resort is no set
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, Serial1/3
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial1/2
R 192.168.1.0/24 [120/1] via 10.1.1.2, 00:00:03, Serial1/2
[120/1] via 172.16.1.2, 00:00:05, Serial1/3
从显示的信息可以发现,RG-1700系列路由器实际上只支持RIP和OSPF(又分NSSA版和扩展增强版)两种路由协议。
- 显R1路由协议进程的参数和当前状态。
R1#show ip protocol
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 14 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Triggered RIP Key-chain
Serial1/0 1 1 2
Serial1/1 1 1 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
10.0.0.0
172.16.0.0
Routing Information Sources:
Gateway Distance Last Update
10.1.1.2 120 00:00:06
172.16.1.2 120 00:00:00
Distance: (default is 120) //RIP默认的管理距离为120
通过这条命令我们可以知道很多RIP协议的信息,这对于监视和诊断网络是很有用的。
- 显示R1发送和接受的RIP更新信息
R1#debug ip rip
RIP protocol debugging is on
R1#
02:23:29: RIP: received v1 update from 10.1.1.2 on Serial1/2 (说明R1收到了从10.1.1.2发送过来的更新信息)
02:23:29: 192.168.1.0 in 1 hops (更新路由表,到达192.168.1.0网段的跳距数是1)
02:23:46: RIP: sending v1 update to 255.255.255.255 via Serial1/2 (10.1.1.1) (说明R1通过端口Serial1/2发送了一个更新信息,更新方式为广播方式)
02:23:46: RIP: build update entries
02:23:46: network 172.16.0.0 metric 1 (到达172.16.0.0网段的跳数为1)
02:23:46: RIP: sending v1 update to 255.255.255.255 via Serial1/1 (172.16.1.1)
02:23:46: RIP: build update entries
02:23:46: network 10.0.0.0 metric 1
02:23:48: RIP: received v1 update from 172.16.1.2 on Serial1/3
02:23:48: 192.168.1.0 in 1 hops
02:23:56: RIP: received v1 update from 10.1.1.2 on Serial1/2
02:23:56: 192.168.1.0 in 1 hops
.
结束debug的命令为undebug all
RIP协议的基本配置非常简单。首先使用router rip命令进入RIP协议配置模式,然后用network语句声明进入RIP进程的网络。可以看到network语句中使用的是网络号,而不是子网号。当我们试图把172.16.1.0这样的子网号码加入R1的RIP路由进程中而发出network l72.16.1.0的命令后,show running-config的结果会显示此处的语句变成为network 172.16.0.0,即B类网络172.16.0.0下的所有子网都加入了RIP路由进程。A类地址一样。这说明RIP协议不支持VLSM(Variable Length Subnet Mask,变长子网掩码)。RIP版本2才支持VLSM,需要做配置,但在实验室做不了,因为锐捷的不支持。
使用show ip route命令查看路由表。在R1路由器上可以看到,通过RIP协议,学马到了与R1不直接相连的网段192.168.1.0。路由表中的项目解释如下。
R 192.168.1.0/24 [120/1] via 10.1.1.2, 00:00:03, Serial1/2
[120/1] via 172.16.1.2, 00:00:05, Serial1/3
R: 表示此项路由是由RIP协议获取的,另外,"C,代表直连的网段。
192.168.1.0/24 目的网络
[120/1]: 120是RIP协议的管理距离,1是该条路由的度量值,即Metric值,即跳数。
via: 经由的意思。
10.1.1.2 是由当前路由器出发,到达目标网段所需经过的下一个跳点的IP地址。
00:00:03 此条路由产生的时间,即3秒。
Serial1/2 由此路由器到达目标网段所需使用的接口。
另外,对于路由器R1的路由表而言。192.168.1.0这条路由项具有2个路径,即表中列出的10.1.1.2和172.16.1.2,表示到达192.168.1.0网段可以通过R2路由器或者通过R3路由器到达,也就是说有两条等值的路径存在,其度量值均为1。
路由器R2和R3都有类似的路由存在。
通过本实验,读者可以掌握RIP协议的配置命令以及一些简单的监测和排错能力。
5.10 配置OSPF协议
5.10.1 实验目的
- 加深对OSPF协议工作原理的理解
- 掌握OSPF协议的应用及配置过程
5.10.2 背景描述
某公司的网络拓扑结构如下,为了减少广播次数,提高网络效率,公司决定在路由器上配置OSPF路由选择协议来实现内部网络的通信。
3.10.3实验设备
- RG-R1700路由器4台,分别为R1、R2、R3和R4,具有1个以太网接口(f1/0-1)和2个串行接口(s1/2-3)。
- V.35线一条,交叉双绞线两条。
- 1台PC机,必须能够打开管理端网页,进行设备配置
5.10.4 实验拓扑图
实验拓扑如图2-7所示:
图2-7 OSPF协议配置
5.10.5 实验步骤
在本实验中,我们用四台路由器来实验OSPF协议的配置,分别是R1、R2、R3、R4,其中R1和R2之间通过串口线相连,但要注意的是,两台路由器通过串口相连时,其中的一台必须要配置时钟频率,尽管锐捷的产品做的很傻瓜,默认已经给配置好了,但我们仍然需要这样做,养成好的习惯。一台作为DTE设备,另一台作为DCE设备。
1. 根据网络拓扑图构建网络并配置网络基本参数
对路由路R1配置
R1>en 14
Password:
R1#conf t (进入全局配置模式)
R1(config)#int s1/2 (进入s1/2配置模式 )
R1(config-if)#ip address 10.1.1.1 255.255.255.0 (为s1/2配置IP地址、子网掩码)
R1(config-if)#clock rate 64000 (设置s1/2的时钟频率)
R1(config-if)#no shut (开启s1/2)
R1(config-if)#exit
R1(config)#int f1/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#exit
R1#
R2、R3、R4的基本参数配置类似R1,在这里就不详细列出。
2. 启动OSPF协议
R1#conf t (进入全局配置模式 )
R1(config)#router ospf (注意在这里不能设定OSPF进程号,从15级密码进入路由器才可以,但是这里默认下为100)
R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 (指定OSPF协议网络号和区域号)
R1(config-router)#network 192.168.1.0 0.0.0.255 area 1
R1(config-router)#exit
R1(config)#exit
R1#
R2#conf t
R2(config)#router ospf
R2(config-router)#network 10.1.1.0 0.0.0.255 area 0
R2(config-router)#network 172.16.1.0 0.0.0.255 area 2
R2(config-router)#exit
R2(config)#exit
R2#
R3#conf t
R3(config)#router ospf
R3(config-router)#network 192.168.1.0 0.0.0.255 area 1
R3(config-router)#exit
R3(config)#exit
R3#
R4#conf t
R4(config)#router ospf
R4(config-router)#network 172.16.1.0 0.0.0.255 area 2
R4(config-router)#exit
R4(config)#exit
R4#
3. 验证OSPF协议
- 在配置完所有都启用OSPF路由协议的路由器后,用show ip protocol显示活动路由协
议进程的参数和当前状态。以下是路由器R1的输出:
R1#show ip protocol
Routing Protocol is "ospf 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 192.168.1.1
It is an area border router
Number of areas in this router is 2. 2 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
10.1.1.0 0.0.0.255 area 0
192.168.1.0 0.0.0.255 area 1
Routing Information Sources:
Gateway Distance Last Update
192.168.1.1 110 00:00:52
172.16.1.1 110 00:00:52
Distance: (default is 110) //OSPF默认的管理距离为110
从路由器的输出看,启用的路由协议OSPF进程号为100,网络10.1.1.0、192.168.1.0已经启用了OSPF路由协议。在路由器R1的数据库中(配置文件config.text),也存储了路由信息。
- 用show ip ospf neighbor命令查看OSPF邻居
这个命令的输出显示所有的已知OSPF相邻路由器,包括它们的路由器ID、接口地址以及它们的相邻状态。以下是R1的输出结果:
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
172.16.1.1 1 FULL/ - 00:00:30 10.1.1.2 Serial1/2
192.168.1.2 1 FULL/BDR 00:00:31 192.168.1.2 FastEthernet1/0
从路由器的输出情况看,R1已经找到了网络上两个邻居,邻居的ID值分别为172.16.1.1和192.168.1.2,并且路由器已经指定了BDR。
- 用debug ip ospf events命令可以查看路由器之间动态路由信息
当网络出现故障时,也可以通过这个命令对网络进行调试。以下是对R1的查看结果输出:
R1#debug ip ospf events
OSPF events debugging is on
R1#
01:25:07: OSPF: Rcv hello from 172.16.1.1 area 0 from Serial1/2 10.1.1.2
01:25:07: OSPF: End of hello processing
01:25:09: OSPF: Rcv hello from 192.168.1.2 area 1 from FastEthernet1/0 192.168.1.2
01:25:09: OSPF: End of hello processing
01:25:17: OSPF: Rcv hello from 172.16.1.1 area 0 from Serial1/2 10.1.1.2
01:25:17: OSPF: End of hello processing
01:25:19: OSPF: Rcv hello from 192.168.1.2 area 1 from FastEthernet1/0 192.168.1.2
4. 配置OSPF认证
通过对以上路由器的OSPF协议信息查看无错误后,接下来配置OSPF协议认证。在实验中,采用消息摘要(Message Digest MD5)认证。我们只在区域0上做OSPF协议验证,设置的密钥为cisco,而且相连的路由器密钥必须相同。
对路由器R1配置如下:
R1#conf t
R1(config)#int s1/2 (进入串口s1/2配置模式)
R1(config-if)#ip ospf message-digest-key 1 md5 HUHONG (配置MD5认证,密钥为HUHONG)
R1(config-if)#router ospf 100 (进入OSPF协议配置方式)
R1(config-if)#exit
R1(config)#router ospf (进入OSPF子接口配置认证方式)
R1(config-router)#area ?
<0-4294967295> OSPF area ID as a decimal value
A.B.C.D OSPF area ID in IP address format
R1(config-router)#area 0 ?
authentication Enable authentication
default-cost Set the summary default-cost of a NSSA/stub area
nssa Specify a NSSA area
range Originate Type 7 default into NSSA area
stub Specify a stub area
virtual-link Define a virtual link and its parameters
R1(config-router)#area 0 authentication ?
message-digest Use message-digest authentication
<cr>
R1(config-router)#area 0 authentication message-digest(配置area 0的认证方式为MD5)
R1(config-router)#exit
R1(config)#exit
R1#
输入完命令后,等待大概20s后,可以通过ping 172.16.1.2,发现不能通信,因为R1发送给R2的路由信息带上了密钥,接下来,可以再对R2进行配置。
R2#conf t
R2(config)#int s1/2
R2(config-if)#ip ospf message-digest-key 1 md5 HUHONG
R2(config-if)#router ospf
R2(config-router)#area 0 authentication message-digest
R2(config-router)#exit
R2(config)#exit
R2#
再次通过Ping 172.16.1.2,发现路由器之间的通信正常。这时可以通过show ip ospf events命令查看路由动态信息,可以发现在区域0内发送的路由信息都带有密钥。最后,检查配置无误后,保存配置信息 write memory。
5.11 基于二层交换机+路由器实现VLAN间通信实验
5.11.1 实验目的
通过实验,深入了解二层交换机+路由器来实现VLAN间通信的具体实现过程。
5.11.2 背景描述
假设某公司的两个主要部门:销售部和技术部。两个部门的个人计算机系统分散在一台交换机上,公司要求,部门内的计算机能够相互通信,部门间也能进行互访,现二层交换机+路由器实现这一目标。
5.11.3 实验设备
- RG-R1700路由器一台,RG S2126G交换机一台
- 三台PC机,其中一台可以打开管理端网页,进行设备配置
- 直通双绞线若干
5.11.4 实验拓扑图
实验设备如图1-8所示:
图1-8 二层交换机+路由器实现VLAN
在本实验中,利用RG S2126G交换机和RG-R1700路由器来实现两个VLAN间的通信。我们知道RG S2126G交换机工作在OSI参考模型二层的网络设备。它具有划分广播域功能。因为它没有三层的功能,所以如果要想使其上的VLAN间通信,就必须借助其他三层设备来实现,在这里我们选择了RG-R1700路由器。按如图所示,图中两台计算机用两条双绞线接入RG S2126G的两个快速以太网端口上。两台计算机分别属于两个VLAN,即VLAN10和VLAN20,这两个VLAN分别占用两段C类网络,网络号分别为192.168.10.0和192.168.20.0.
因为与Trunk相连的路由器端口要同时能够与两个VLAN通信,所以这个路由器接口应该同时属于两个VLAN。为了达到这一目的,我们为这个端口设置了两个子接口,分别分配到两个VLAN中,并为这两个接口分配了IP地址,使之可以同时属于两个C类网段。两个子接口的IP地址分别为192.168.10.1和192.168.20.1.为此,FastEtherent 1/0接口的两个子接口的IP地址即为VLAN10和VLAN20 网段的网关地址。
5.11.5 实验步骤
登陆到设备管理页面,点击链接进入相关设备。
- 在RG S2126G交换机上创建VLAN
Switch#conf t
Switch (config)#vlan 10 (创建VLAN 10)
Switch (config-vlan)#name Workgroup10 (为VLAN 10命名:Workgroup10)
Switch (config-vlan)#exit
Switch (config)#vlan 20 (创建VLAN 20)
Switch (config-vlan)#name Workgroup20 (为VLAN 10命名:Workgroup20)
Switch (config-vlan)#exit
- 把交换机端口分配给VLAN
对1号端口配置如下:
Switch #configure terminal
Switch (config)#
Switch (config)#interface fastEthernet 0/1
Switch (config-if)#switchport access vlan 10
Switch (config-if)#no shut
Switch (config-if)#exit
Switch (config)#exit
对2号端口配置如下:
Switch#configure terminal
Switch (config)#
Switch (config)#interface fastEthernet 0/2
Switch (config-if)#switchport access vlan 20
Switch (config-if)#no shut
Switch (config-if)#exit
Switch (config)#exit
- 在24号端口配置Trunk,并保存交换机的配置
在实验中,我们用交换机的24号端口作为Trunk 端口,配置如下:
Switch#configure terminal
Switch (config)#
Switch (config)#interface fastEthernet 0/24
Switch(config-if)#switchport mode trunk
Switch (config-if)#switchport trunk allowed vlan all
Switch (config-if)#no shut
Switch(config-if)#exit
Switch(config)#exit
Switch #copy run start
- 配置路由器子接口
如果路由器是通过一条中继链路(Trunk)连接到一台交换机上,那么该路由器物理接口必须是快速以太网接口,才能支持VLAN中继和VLAN封装。
用于VLAN中继的路由器接口,要为每个VLAN分配一个子接口号。这些号码必须保证在主接口号内是惟一的。为1号子接口指定一个IP地址:
Red-Giant#conf t
Red-Giant(config)#interface f
Red-Giant(config)#interface fastEthernet 1/0
Red-Giant(config-if)#no shutdown (确认此物理接口是被激活的)
Red-Giant(config-if)#exit
Red-Giant(config)#
Red-Giant(config)#interface fastEthernet 1/0.1 (进入1号子接口模式)
Red-Giant(config-subif)#encapsulation dot1Q 10 (配置封装模式为802.1Q,对应VLAN10)
Red-Giant(config-subif)#ip address 192.168.10.1 255.255.255.0 (为子接口分配IP地址)
Red-Giant(config-subif)#exit (退出子接口模式)
下面对2号子接口进行同样的配置:
Red-Giant(config)#interface fastEthernet 1/0.2
Red-Giant(config-subif)#encapsulation dot1Q 20
Red-Giant(config-subif)#ip address 192.168.20.1 255.255.255.0
Red-Giant(config-subif)#exit
子接口被标识后,就可用encapsulation命令来配置VLAN了。使用IEEE802.1Q和ISL封装都是可以的,这里IEEE802.1Q,和交换机采用相同的封装。实验室锐捷路由器接口只支持IEEE802.1Q一种封装方式。
注意:在封装命令后面的数字对应的是VLAN号,作用是将该子接口分配给一个特定的VLAN。这样每个接口就和交换机中的各VLAN号对应起来了。然后为子接口分配IP地址,这样同时也和不同的IP网段对应起来了。
- 激活路由器选择协议
在交换机和路由器之间进行了连接配置后,还要配置路由选择来启动不同VLAN间的路由器。当目的地不在本地VLAN上时,路由器就会使用路由协议来转发分组。
Red-Giant#conf t
Red-Giant(config)#ip routing (启动IP路由选择)
Red-Giant(config)#end
最后保存路由器的配置
Red-Giant# write memory
这样,配置就完成了,接下来只要配置两台PC机的IP地址、子网掩码和网关了,就可以验证网络的可用性了。只要通过PC机之间的通信,实验结果就得到了验证。特别注意的是:PC机的网关地址应该指定为他所在vlan对应的路由器的子接口的IP地址。