第5章路由及直连与静态路由技术 本章学习目标 .掌握常见的路由算法种类 .了解路由协议分类,并熟悉它们的概念 .掌握直连路由工作原理 .掌握静态路由工作原理及配置方法 .掌握管理距离与度量值的概念 .掌握浮动静态路由工作原理及配置方法 .掌握默认路由工作原理及配置方法 本章首先介绍路由算法的分类、路由协议的分类,接着介绍直连路由的工作原理、静态 路由的工作原理及配置实例,之后讲解浮动静态路由的工作原理及配置过程,最后讲解默认 路由的工作原理及配置过程。 5.路由技术介绍 1 路由技术主要指路由选择算法。路由选择算法可以分为静态路由选择算法和动态路由 选择算法。因特网路由选择协议分为两大类,分别为内部网关协议(InteriorGatewayl,和外部网关协议(l,目前使用最多的外部网 ProtocoIGP) ExteriorGatewayProtocoEGP), 关协议是BGP 。 1.路由算法分类 5.1 路由选择算法就是路由选择的方法或策略,按照路由选择算法能否随网络的拓扑结构 或者通信量自适应地进行调整变化进行分类,可将路由选择算法分为静态路由选择算法和 动态路由选择算法。 1. 静态路由选择算法 静态路由选择算法就是非自适应路由选择算法,这是一种不测量、不利用网络状态信 息,仅按照某种固定规律进行决策的简单路由选择算法。静态路由选择算法的特点是简单和 开销小,但是不能适应网络状态的变化。静态路由是依靠手工输入的信息配置路由表的方法。 静态路由具有以下优点:①减少了路由器的日常开销;②在小型互联网上很容易配 置;③可以控制路由选择的更新。但是,静态路由在网络变化频繁出现的环境中并不会很 好地工作。在大型和经常变动的互联网中,配置静态路由是不现实的。 2. 动态路由选择算法 动态路由选择算法就是自适应路由选择算法,是依靠当前网络的状态信息进行决策,从 而使路由选择结果在一定程度上适应网络拓扑和通信量的变化而变化。 动态路由选择算法的特点是能较好地适应网络状态的变化,但是实现起来较为复杂,开 网络互联技术与实践(第2 版) 118 销也比较大。动态路由选择算法主要包括分布式路由选择算法和集中式路由选择算法。分 布式路由选择算法是每一个结点通过定期与相邻结点交换路由选择状态信息修改各自的路 由表,使整个网络的路由选择经常处于一种动态变化的状态。集中式路由选择算法是在网 络中设置一个结点,专门收集各个结点定期发送的状态信息,然后由该结点根据网络状态信 息动态计算出每一个结点的路由表,再将新的路由表发送给各个结点。 5.1.2 路由协议分类 要探讨路由协议分类,首先须掌握两个概念,即自治系统以及动态路由。 1.自治系统 自治系统(AutonomousSystem,AS)指的是处于一个管理机构控制下的路由器和网络 群组。由于Internet规模庞大,为了路由选择的方便和简化,一般将整个Internet划分为许 多较小的区域,这样的区域称为自治系统。每个自治系统内部采用的路由协议可以不同,自 治系统根据自身的情况有权决定采用哪种路由选择协议。 2.动态路由 动态路由是指路由协议可以根据实际情况自动生成路由表的方法。动态路由的主要优 点是:运行动态路由选择协议(如RIP、EIGRP或OSPF)之后,如果存在到目的站点的多条 路径,而正在进行数据传输的一条路径发生中断,路由器可以自动选择另外一条路径传输数 据。这对于建立大型网络具有绝对的优势。 动态路由协议分为IGP和EGP。而IGP又可分为距离矢量路由协议和链路状态路由协议。 1)IGP以及EGP IGP指在一个自治系统内使用的路由选择协议。常见的IGP有RIP、EIGRP和OSPF等。 EGP指自治系统与自治系统间使用的路由选择协议。常见的EGP有BGP(即BGP-4)等。 (1)IGP。 IGP是在一个自治系统内交换路由信息的协议。互联网被分成多个自治系统。自治系 统内部运行的动态路由协议称为IGP。同一自治系统内部运行的IGP可以相同,也可以不 相同。开 放式最短路径优先(OpenShortestPathFirst,OSPF)是一个内部网关协议,用于在 单一自治系统内决策路由。OSPF是与OSI的IS-IS协议十分相似的内部路由选择协议。 增强内部网关路由协议(EnhancedInteriorGatewayRoutingProtocol,EIGRP)是 Cisco公司的私有协议,结合了链路状态和距离矢量特点的路由选择协议,采用弥散修正算 法(DUAL)实现快速收敛。可以不定期发送路由更新信息,以减少带宽的占用,支持 AppleTalk、IP、Novell和Netware等多种网络层协议。 路由信息协议(RoutingInformationProtocol,RIP)是另一个内部网关协议,是内部网 关协议中最先得到广泛使用的协议,是互联网的标准协议,其最大优点是实现简单,开销较 小。缺点主要表现在:①限制了网络的规模;②路由器交换的信息是路由器的完整路由 表;③“坏消息传播得慢”,使更新过程的收敛时间过长。 (2)EGP。 EGP为位于自治系统域边界的两个相邻的周边路由器提供一种交换消息和信息的方 法。在区域的边界,周边路由器将一个域与其他域相连。这些路由器使用外部路由选择协 第5 章 路由及直连与静态路由技术 119 议(EGP)交换路由选择。 边界网关协议(BGP)是运行于TCP上的一种外部网关路由协议。BGP是唯一一个用 来处理互联网网络的协议,也是唯一能妥善处理好不相关路由域间的多路连接的协议。 2)距离矢量路由协议与链路状态路由协议 (1)距离矢量路由协议。 距离矢量路由协议通过计算网络中链路的距离矢量,然后根据计算结果进行路由选择。 典型的距离矢量路由选择协议有RIP等。运行距离矢量路由协议的路由器定期向邻居路 由器发送消息,消息的内容就是本路由器的路由表信息,如①到达目的网络经过的距离; ②到达目的网络的下一跳地址。 RIP使用距离向量算法计算路由选择路径。路由选择基于到一个目的站中的最少路由 中继数。RIP路由选择表与其他路由器每30秒交换一次。 (2)链路状态路由协议。 典型的链路状态路由协议有OSPF等。运行链路状态路由协议的路由器最终目的是 学习到整个网络的拓扑结构。运行链路状态路由协议的每个路由器都要提供链路状态的拓 扑结构信息,信息的内容包括:①路由器所连接的网段链路;②该链路的物理状态。路由 器根据网络拓扑结构的变化及时修改路由配置,以适应新的路由选择。OSPF通过路由器 之间网络端口的状态建立链路状态数据库,生成最短路径树。 5.2 直连路由与静态路由技术 根据路由器学习路由信息、生成并维护路由表的方法不同,将路由划分为3种,分别为 直连路由、静态路由和第6章介绍的动态路由。 5.2.1 直连路由 直连路由是由链路层协议发现的,一般指去往路由器的端口地址所在网段的路径。直 连路由无须手工配置,只需要路由器相关端口配置网络协议地址,同时管理状态、物理状态 和链路协议均为打开或启动状态(UP)时,路由器能够自动感知该链路存在,端口上配置的 IP网段地址会自动出现在路由表中,且与端口关联,并动态地随端口状态变化而在路由表 中出现或消失。图5.1所示为直连路由网络拓扑图,各个设备的IP地址规划见表5.1。 图5.1 直连路由网络拓扑图 网络互联技术与实践(第2 版) 120 表5.1 IP地址规划 设 备端 口IP地址子网掩码默认网关 R1 fa0/0 192.168.1.1 255.255.255.0 fa0/1 192.168.2.1 255.255.255.0 R2 fa0/0 192.168.3.1 255.255.255.0 fa0/1 192.168.2.2 255.255.255.0 PC1 网卡192.168.1.100 255.255.255.0 192.168.1.1 PC2 网卡192.168.3.100 255.255.255.0 192.168.3.1 按照表5.1所示IP地址的规划,对图5.1的网络进行IP地址配置,配置完成后,通过 showiproute命令可以查看路由器R1和路由器R2的路由表。 路由器R1的路由表如下。 R1#show ip route Codes: C -connected, S -static, I -IGRP, R -RIP, M -mobile, B -BGP D -EIGRP, EX -EIGRP external, 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, E -EGP i -IS-IS, L1 -IS-IS level-1, L2 -IS-IS level-2, ia -IS-IS inter area * -candidate default, U -per-user static route, o -ODR P -periodic downloaded static route Gateway of last resort is not set C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, FastEthernet0/1 R1# 路由器R2的路由表如下。 R2#show ip route Codes: C -connected, S -static, I -IGRP, R -RIP, M -mobile, B -BGP D -EIGRP, EX -EIGRP external, 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, E -EGP i -IS-IS, L1 -IS-IS level-1, L2 -IS-IS level-2, ia -IS-IS inter area * -candidate default, U -per-user static route, o -ODR P -periodic downloaded static route Gateway of last resort is not set C 192.168.2.0/24 is directly connected, FastEthernet0/1 C 192.168.3.0/24 is directly connected, FastEthernet0/0 R2# 两台路由器的路由表显示结果中,直连路由以字母C表示,即connected。路由器R1 和路由器R2分别获得了两条直连路由。路由器R1获得了到网络192.168.1.0以及192. 168.2.0的直连路由,其中网络192.168.1.0与路由器R1的端口fa0/0直接相连,网络192.168. 第5 章 路由及直连与静态路由技术 121 2.0与路由器R1的端口fa0/1相连。 路由器R2获得了到网络192.168.2.0以及网络192.168.3.0的直连路由,其中网络 192.168.2.0与路由器R2的端口fa0/1直接相连,网络192.168.3.0与路由器R2的端口 fa0/0相连。 5.2.2 静态路由 静态路由是由网络管理员根据网络拓扑,使用命令在路由器上手工配置的路由。静态 路由的缺点是,它不会随着网络拓扑结构的变化而随之改变路由信息,当网络拓扑发生变化 而需要改变路由时,管理员必须手工改变路由信息。静态路由的优点是,路由器不需要进行 路由计算,不占用路由器CPU 及存储资源,它完全依赖于网络管理员的手动配置。 图5.1所示的网络拓扑中,初始状态下,路由器R1和路由器R2分别获得了两条直连 路由,在该状态下,主机PC1和主机PC2之间不能进行互相通信,具体过程简单分析如下。 主机PC1通过计算匹配,发现要访问的目标主机PC2和自己并不处于同一个网络中, 不能直接进行访问,此时,主机PC1将访问请求发送给它的网关路由器R1进行处理(这里 需要说明的是,主机PC1若要访问异构网络,必须配置网关地址)。此访问请求的发送需要 底层数据链路层以及物理层的帮助,主机PC1通过ARP获得路由器R1的端口fa0/0的 MAC地址,主机PC1将网际层的IP数据包封装帧头和帧尾,形成数据链路层的帧,其中帧 头的目的MAC地址为ARP获得的路由器R1的端口fa0/0的MAC地址。最终通过物理 层的主机PC1的网卡端口将二进制比特流通过通信介质传输给路由器R1的端口fa0/0。 路由器R1需要获得目的IP地址,才能在路由表中查找对应的路由条目进行数据转发。路 由器R1的端口fa0/0获得的二进制比特流需要由底层向高层进行解封装,去掉数据链路层 的帧头和帧尾,此时才能得到网际层的IP数据报,在IP数据报中可以获得需要访问的目的 IP地址为192.168.3.100,通过与子网掩码255.255.255.0做与运算,得到目标网络地址为 192.168.3.0,接着路由器查找自己的路由表,寻找到目标网络192.168.3.0的路由条目。而 此时路由器R1的路由条目仅有两条,分别为到网络192.168.1.0和到网络192.168.2.0的直 连路由,没有到网络192.168.3.0的路由条目。因此需要在路由器R1中添加到达目标网络 192.168.3.0的路由条目,这样才能让数据包继续传输下去。通过配置静态路由可以添加该 路由条目。静态路由的配置格式如下。 Router(config)#ip route 目标网络地址 目标网络子网掩码 下一跳地址 在链路两端只连接了两台路由器的点到点链路上,也可以不使用下一跳地址,而改用本 路由器出口的端口标识。在多路访问链路,如以太网或帧中继上,将不能使用这种方式,因 为若有多台设备出现在链路上,本地路由器就不知道应当将信息转发到哪一台路由器上了。 在路由器R1的路由表里添加到网络192.168.3.0的静态路由,具体配置命令如下。 R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 R1(config)# 通过showiproute命令查看路由器R1的路由表如下。 R1#show ip route 网络互联技术与实践(第2 版) 122 Codes: C -connected, S -static, I -IGRP, R -RIP, M -mobile, B -BGP D -EIGRP, EX -EIGRP external, 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, E -EGP i -IS-IS, L1 -IS-IS level-1, L2 -IS-IS level-2, ia -IS-IS inter area * -candidate default, U -per-user static route, o -ODR P -periodic downloaded static route Gateway of last resort is not set C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, FastEthernet0/1 S 192.168.3.0/24 [1/0] via 192.168.2.2 R1# 结果显示,路由器R1除了前面获得的两条直连路由,还新增加了到目标网络192.168. 3.0的静态路由条目“S 192.168.3.0/24[1/0]via192.168.2.2”,其中S 表明是静态路由, 192.168.3.0/24 为目标网络地址。[1/0]中的1 表示管理距离(AD),0 表示度量值 (metric)。via表示通过,经由。192.168.2.2为下一跳地址。 同样,在路由器R2上配置到网络192.168.1.0的静态路由,具体配置过程如下。 R2(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1 R2(config)# 路由器R2到达目标网络192.168.1.0的下一跳地址为192.168.2.1。通过showip route命令查看路由器R2的路由表如下。 R2#show ip route Codes: C -connected, S -static, I -IGRP, R -RIP, M -mobile, B -BGP D -EIGRP, EX -EIGRP external, 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, E -EGP i -IS-IS, L1 -IS-IS level-1, L2 -IS-IS level-2, ia -IS-IS inter area * -candidate default, U -per-user static route, o -ODR P -periodic downloaded static route Gateway of last resort is not set S 192.168.1.0/24 [1/0] via 192.168.2.1 C 192.168.2.0/24 is directly connected, FastEthernet0/1 C 192.168.3.0/24 is directly connected, FastEthernet0/0 R2# 最终用ping命令测试主机PC1与主机PC2的网络连通性情况,结果如下。 PC>ping 192.168.3.100 Pinging 192.168.3.100 with 32 bytes of data: Reply from 192.168.3.100: bytes=32 time=14ms TTL=126 Reply from 192.168.3.100: bytes=32 time=15ms TTL=126 Reply from 192.168.3.100: bytes=32 time=10ms TTL=126 Reply from 192.168.3.100: bytes=32 time=12ms TTL=126 第5 章 路由及直连与静态路由技术 123 Ping statistics for 192.168.3.100: Packets: Sent =4, Received =4, Lost =0 (0%loss), Approximate round trip times in milli-seconds: Minimum =10ms, Maximum =15ms, Average =12ms PC> 结果表明,主机PC1能够ping通主机PC2,网络是连通的,ping结果返回的生存时间 (TimeToLive,TTL)值为126,说明两台主机之间经过了两台路由器。每经过一台路由 器,TTL值减1。因为经过两台路由器,所以TTL值为128-2=126,结果与实际相符。 下面介绍管理距离(AD)和度量值的概念。 1.管理距离 路由器可能从多种途径获得到同一目的地的多条路由,如到某一目的地既可以通过静 态路由获得路径,又可以通过动态路由RIP获得不同的路径。为了区分不同路由获得路径 的可信度,用管理距离加以表示。管理距离越小,说明路由的可信度越高,在进行路由转发 时就越优先考虑;静态路由的管理距离为1,说明手工输入的静态路由优先级通常高于其他 路由。各类路由的管理距离见表5.2。 表5.2 各类路由的管理距离 路 由管理距离 直连路由 0 静态路由1 外部BGP 20 内部EIGRP 90 IGRP 100 路 由管理距离 OSPF 110 RIP 120 外部EIGRP 170 内部BGP 200 2.度量值 路由协议必须通过一定的标准判别到达目的网络的最佳路径。当一路由器有多条路径 到达某一目的网络时,路由协议必须判断其中哪一条是最佳的,并把它放入路由表中,路由 协议会给每一条路径计算出一个数,这个数就是度量值,通常这个值是没有单位的。度量值 越小,这条路径就越佳,就越优先放入路由表中。然而,不同的路由协议定义度量值的方法 是不一样的,因此不同路由协议之间度量值的大小是没有可比性的。同样的网络拓扑通过 不同路由协议,它们选择出的最佳路径可能也不一样。度量值指明了路径的优先权,而管理 距离指明了发现路由方式的优先权。 5.2.3 浮动静态路由 所谓浮动静态路由(floatingstaticroute),是指对同一个目的网络配置不同的下一跳, 并且它们的管理距离也不同的多条静态路由,静态路由默认管理距离为1,在实际配置静态 路由时,可以在静态路由命令iproute的末尾添加一个可选项参数distance,以便对此特定 的静态路由分配一个比默认管理距离1高一些的管理距离值。正常情况下,只有管理距离 最小的静态路由优先考虑,进行数据包转发。而浮动静态路由表项不会进行数据包的转发。 只有当优先转发数据包的静态路由失效时,管理距离值为次小的浮动静态路由才被启用,这 网络互联技术与实践(第2 版) 124 样可以保障目的网络总是可达的,提高了网络可用性。实际上,不仅与静态路由的管理距离 进行比较,还会与动态路由的管理距离进行比较,当端口上同时配置了静态路由、浮动静态 路由和动态路由,且静态路由无效时,浮动静态路由并不一定会生效,这还要看它所配置的 管理距离是否低于所配置的动态路由的管理距离。 在图5.1中,为了实现浮动静态路由,需要在路由器R1 和路由器R2之间加一条冗余 的点到点链路,以便于一条链路失效时,另一条冗余备份链路被激活,从而使网络能够正常 工作。在图5.1中,路由器R1和路由器R2之间通过串口serial实现了备份链路。serial端 口也称高速同步串口,主要是连接广域网的V.35线缆用的,具体配置时需要在DCE端设置 时钟。实现浮动静态路由拓扑图如图5.2所示。 图5.2 实现浮动静态路由拓扑图 在CiscoPacketTracer仿真软件中Cisco路由器2811默认不带串口模块,如果要完成 该实验,需要在路由器中插入相应的串口模块。插入串口模块的操作过程如下。 第一步:单击Cisco路由器2811,弹出图5.3所示的“插模块”窗口。 图5.3 “插模块”窗口 第5 章 路由及直连与静态路由技术 125 第二步:关闭路由器的电源开关,使路由器处于断电状态。 第三步:选择左边Physical窗口中的WIC-2T模块。WIC-2T 端口卡是一款模块端口 卡,产品概述为两端口串行广域网端口卡,支持V.35端口。将该端口卡拖放到路由器上插 槽的相应位置,然后松开鼠标。最后点击电源开关,打开电源,结果如图5.4所示。 图5.4 插入模块界面 同样,在另一台路由器上插入同样的模块,此时可以实现图5.2所示的网络连接。该实 验的IP地址规划见表5.3。注意在配置串口时,需要在DCE端设置时钟频率。 表5.3 浮动静态路由的IP地址规划 设 备端 口IP地址子网掩码默认网关 R1 fa0/0 192.168.1.1 255.255.255.0 fa0/1 192.168.2.1 255.255.255.0 S0/0/0 192.168.4.1 255.255.255.0 R2 fa0/0 192.168.3.1 255.255.255.0 fa0/1 192.168.2.2 255.255.255.0 S0/0/0 192.168.4.2 255.255.255.0 PC1 网卡192.168.1.100 255.255.255.0 192.168.1.1 PC2 网卡192.168.3.100 255.255.255.0 192.168.3.1 浮动静态路由的具体配置过程如下。 (1)按照地址规划为路由器端口以及PC配置相应的网络地址参数。 (2)在路由器R1上配置静态路由以及浮动静态路由。 网络互联技术与实践(第2 版) 126 R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.4.2 2 R1(config)# (3)在路由器R2上配置静态路由以及浮动静态路由。 R2(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1 R2(config)#ip route 192.168.1.0 255.255.255.0 192.168.4.1 2 R2(config)# (4)在路由器R1上通过showiproute命令查看路由表,结果如下。 R1#show ip route Codes: C -connected, S -static, I -IGRP, R -RIP, M -mobile, B -BGP D -EIGRP, EX -EIGRP external, 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, E -EGP i -IS-IS, L1 -IS-IS level-1, L2 -IS-IS level-2, ia -IS-IS inter area * -candidate default, U -per-user static route, o -ODR P -periodic downloaded static route Gateway of last resort is not set C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, FastEthernet0/1 S 192.168.3.0/24 [1/0] via 192.168.2.2 C 192.168.4.0/24 is directly connected, Serial0/0/0 R1# 路由表显示结果表明,路由器Router1通过静态路由到达目标网络192.168.3.0,其下一 跳地址为192.168.2.2,而路由配置中同样到达目标网络192.168.3.0的下一跳地址为192. 168.4.2的静态路由条目并没有出现在路由表中。 (5)在路由器R2上通过showiproute命令查看路由表,结果如下。 R2#show ip route Codes: C -connected, S -static, I -IGRP, R -RIP, M -mobile, B -BGP D -EIGRP, EX -EIGRP external, 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, E -EGP i -IS-IS, L1 -IS-IS level-1, L2 -IS-IS level-2, ia -IS-IS inter area * -candidate default, U -per-user static route, o -ODR P -periodic downloaded static route Gateway of last resort is not set S 192.168.1.0/24 [1/0] via 192.168.2.1 C 192.168.2.0/24 is directly connected, FastEthernet0/1 C 192.168.3.0/24 is directly connected, FastEthernet0/0 C 192.168.4.0/24 is directly connected, Serial0/0/0 R2# 通过路由器R2的路由表可以看出路由器R2到达网络192.168.1.0的路由是通过下一