8.1.3 默认路由
默认路由是一种特殊的路由,可以通过静态路由配置,某些动态路由协议也可以生
成默认路由,如 OSPF。
简单地说,默认路由就是在没有找到匹配的路由表入口项时才使用的路由。即只有当没有合适的路由时,默认路由才被使用。在路由表中,默认路由以到网络 0.0.0.0(掩码为
0.0.0.0)的路由形式出现。如果报文的目的地址不能与路由表的任何入口项相匹配,那么该报文将选取默认路由。
既可以将默认路由设置为某个 IP 地址,也可以将其设置为某个接口。默认路由的命令格式为:
ip route 0.0.0.0 0.0.0.0 defautl_gate_ipaddress
ip route 0.0.0.0 0.0.0.0 defautl_gate_interface
如果没有默认路由且报文的目的地不在路由表中,那么该报文被丢弃的同时,将向源端返回一个 ICMP 报文报告该目的地址或网络不可达。
如图 8-5 所示为默认路由拓扑结构,若欲实现局域网络对所有未知网络的访问,就必须设置默认路由。

默认路由的相应配置命令为:
ip route 0.0.0.0 0.0.0.0 10.0.0.1
或者
ip route 0.0.0.0 0.0.0.0 fastethernet f0/2
8.2 动态路由协议
路由协议是用于路由器之间交换路由信息的协议。通过路由协议,路由器可以动态共享有关远程网络的信息。动态路由协议可以自动的发现远程网络,确定到达各个网络的最佳路径,然后将路径添加到路由表中。因此,借助动态路由协议,只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径。
8.2.1 RIP 路由协议
RIP( Routing Information Protocol,路由信息协议)作为一种较为简单的动态路由协议,在 AS( Autonomous System,自治系统)系统实际使用中有着广泛的应用。 RIP 协议是一个应用于网关(路由器)和主机之间交换路由器信息的距离矢量协议,目前最新版本是 RIP v2。RIP 采用距离矢量算法,即路由器根据距离选择路由,所以也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其他信息均予以丢弃。同时,路由器也把所收集的路由信息用RIP 协议通知相邻的其他路由器。这样,正确的路由信息逐渐扩散到了全网。
1. RIP 工作机制
RIP 是一种基于距离矢量( Distance-Vector)算法的协议,它使用 UDP 报文进行路由信息的交换。 RIP 使用跳数( Hop Count)来衡量到达宿机的距离,称为路由权( Routing Metric)。
在 RIP 中,路由器到与它直接相连网络的跳数为 0,通过一个路由器可达的网络的跳数为 1,
其余依此类推。为限制收敛时间, RIP 规定路由权取值为 0~15 之间的整数,大于或等于 16
的跳数被定义为无穷大,即目的网络或主机不可达。
RIP 每隔 30 s 发送一次路由刷新报文,如果在 180 s 内收不到从某一网络邻居发来的路由刷新报文,则将该网络邻居的所有路由标记为不可达。如果在 240 s 之内收不到从某一网上邻居发来的路由刷新报文,则将该网络邻居的路由从相应协议路由表中清除。为提高性能,防止产生路由环, RIP 支持水平分割( Split Horizon)和毒性逆转( PoisonReverse)。 RIP 还可引入其他路由协议所得到的路由。
每个运行 RIP 的路由器管理一个路由数据库,该路由数据库包含了到网络所有可达信宿的路由项,这些路由项包含下列信息。
目的地址:指主机或网络的地址。
下一跳地址:指为到达目的地,本路由器要经过的下一个路由器地址。
接口:指转发报文的接口。
metric 值:指本路由器到达目的地的开销,是一个 0~16 之间的整数。
定时器:从路由项最后一次被修改到现在所经过的时间,路由项每次被修改时,定时器重置为 0。
路由标记:区分路由为内部路由协议的路由还是外部路由协议的路由的标记。
2. RIP 的启动和运行
RIP 启动和运行的整个过程可描述如下。
某路由器刚启动 RIP 时,以广播或组播的形式向相邻路由器发送请求报文,相邻路由器的 RIP 收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文。
路由器收到响应报文后,修改本地路由表,同时向相邻路由器发送触发修改报文,广播路由修改信息。相邻路由器收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串的触发修改广播后,各路由器都能得到并保持最新的路由信息。
同时, RIP 每隔 30 s 向相邻路由器广播本地路由表,相邻路由器在收到报文后,对本地路由进行维护,选择一条最佳路由,再向其各自相邻网络广播修改信息,使更新的路由最终能达到全局有效。同时, RIP 采用超时机制对过时的路由进行超时处理,以保证路由的实时性和有效性。
3. RIPv1 和 RIPv2
RIP 有 RIPv1 和 RIPv2 两个版本,可以指定接口所处理的 RIP 报文版本。 RIPv2 由 RIPv1而来,属于 RIP 协议的补充协议,主要用于扩大装载的有用信息的数量,同时增加其安全性能。 RIPv1 和 RIPv2 都是基于 UDP 的协议。在 RIPv2 下,每台主机或路由器通过路由选择进程发送和接受来自 UDP 端口 520 的数据包。
RIPv1 的报文传送方式为广播方式。 RIPv2 有两种报文传送方式,即广播方式和组播方式,默认将采用组播方式发送报文,减少网络与系统资源消耗。 RIPv2 中组播地址为 224.0.0.9。组播发送报文的好处是在同一网络中那些没有运行 RIP 的主机可以避免接收 RIP 的广播报文。另外,以组播方式发送报文还可以使运行 RIPv1 的主机避免错误地接收和处理 RIPv2 中带有子网掩码的路由。当接口运行 RIP-2 广播方式时,也可接收 RIP-1 的报文。
RIPv1 是有类路由协议, RIPv2 是无类路由协议,即 RIPv2 的报文中含有掩码信息,支持VLSM(可变长子网掩码)和 CIDR( Classless Inter-Domain Routing,无类域间路由)。
RIPv2 支持对协议报文进行验证,并提供明文验证和 MD5 验证两种方式,增强安全性。RIPv1 和 RIPv2 的区别如表 8-1 所示。

4. RIP 协议的特点
RIP 协议有以下特点:
RIP 是自治系统内部使用的协议即内部网关协议( IGP, Interior Gateway Protocol),
使用的是距离矢量算法。
RIP 使用 UDP 的 520 端口进行 RIP 进程之间的通信。
RIP 协议以跳数作为网络度量值。
RIP 协议的网络直径不超过 15 跳,适合于中小型网络。 16 跳时认为网络不可达。
RIP 协议支持主机被动模式,即 RIP 协议允许主机只接收和更新路由信息而不发送信息。
RIP 协议支持默认路由传播。
5. RIP 协议优缺点
RIP 协议的优点是简单、可靠,配置简单,非常适用于小规模网络。对于复杂环境及大型网络,一般不使用 RIP。
RIP 协议的缺点包括:
大量广播。 RIP 向所有邻居每隔 30 s 广播一次完整的路由表,将占用宝贵的带宽资源,
在较慢的广域网链路上问题尤为严重。
没有成本概念。 RIP 没有网络延迟和链路成本的概念。当采用 RIP 时,路由/转发的决定只是基于跳数,这样很容易导致无法选择最佳路由。例如,一条链路拥有较高的带宽,但是跳数较多,从而不能被选择。
支持的网络规模有限。由于 RIP 最多只支持 16 个步跳,当超过该跳数时,网络将认为无法到达。因此, RIP 只能适用于规模较小的网络。
收敛性差,时间经常大于 5 分钟。
8.2.2 OSPF 路由协议
20 世纪 80 年代中期, RIP 已不能适应大规模异构网络的互连, OSPF( Open Shortest Path First,开放最短路径优先)路由协议随之产生。它是网间工程任务组织( IETF)的内部网关协议工作组为 IP 网络而开发的一种路由协议。
1. OSPF 路由协议简介
OSPF 是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其他路由器发送链路状态广播信息。在 OSPF 的链路状态广播中包括所有接口信息、所有的量度和其他一些变量。利用 OSPF 的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
开放最短路由优先协议 OSPF 是 IETF 组织开发的一个基于链路状态的内部网关协议。目前使用的是 OSPFv2( RFC2328),其特性如下。
适应范围。支持各种规模的网络,最多可支持几百台路由器。
快速收敛。在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
无自环。由于 OSPF 根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。
区域划分。允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。
等值路由。支持到同一目的地址的多条等值路由。
路由分级。使用 4 类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、
第 1 类外部路由、第 2 类外部路由。
支持验证。支持基于接口的报文验证以保证路由计算的安全性。
组播发送。支持组播地址。
2. OSPF 路由计算过程
每个支持 OSPF 协议的路由器都维护着一份描述整个自治系统拓扑结构的链路状态数据库 LSDB( Link State Database)。每台路由器根据自己周围的网络拓扑结构生成链路状态广播 LSA( Link State Advertisement),通过相互之间发送协议报文将 LSA 发送给网络中其他路由器。这样每台路由器都收到了其他路由器的 LSA,所有的 LSA 放在一起便组成了链路状态数据库。
OSPF 路由协议利用链路状态算法建立和计算到每个目标网络的最短路径,该算法本身十分复杂,下面简单地、概括性地描述链路状态算法工作的总体过程。
初始化阶段,路由器将产生链路状态通告,该链路状态通告包含了该路由器全部链路状态。
所有路由器通过组播的方式交换链路状态信息,每台路由器接收到链路状态更新报文时,将复制一份到本地数据库,然后再传播给其他路由器。
当每台路由器都有一份完整的链路状态数据库时,路由器应用算法针对所有目标网络计算最短路径树,结果内容包括:目标网络、下一跳地址、花费,是 IP 路由表的关键部分。
如果没有链路花费、网络增删变化, OSPF 将会十分安静,如果网络发生了任何变化,OSPF 通过链路状态进行通告,但只通告变化的链路状态,变化涉及到的路由器将重新运行算法,生成新的最短路径树。
每台路由器都使用算法计算出一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由,外部路由信息为叶子节点,外部路由可由广播它的路由器进行标记以记录关于自治系统的额外信息。显然,各个路由器各自得到的路由表是不同的。
此外,为使每台路由器能将本地状态信息(如可用接口信息、可达邻居信息等)广播到整个自治系统中,在路由器之间要建立多个邻接关系,这使得任何一台路由器的路由变化都会导致多次传递,既没有必要,也浪费了宝贵的带宽资源。为解决这一问题, OSPF 协议定义了“指定路由器” DR( Designated Router),所有路由器都只将信息发送给 DR,由 DR 将网络链路状态广播出去。这样就减少了多址访问网络上各路由器之间邻接关系的数量。
3. OSPF 协议报文
OSPF 有 5 种报文类型。
HELLO 报文( Hello Packet)。最常用的一种报文,周期性地发送给本路由器的邻居。内容包括一些定时器的数值、 DR、 BDR( Backup Designated Router),以及自己已知的邻居。
DD 报文( Database Description Packet)。两台路由器进行数据库同步时,用 DD 报文来描述自己的 LSDB,内容包括 LSDB 中每一条 LSA 的摘要(摘要是指 LSA 的 HEAD,
通过该 HEAD 可以唯一标识一条 LSA)。这样做是为了减少路由器之间传递信息的量,因为 LSA 的 HEAD 只占一条 LSA 的整个数据量的一小部分,根据 HEAD,对端路由器就可以判断出是否已有这条 LSA。
LSR 报文( Link State Request Packet)。两台路由器互相交换过 DD 报文之后,知道对端的路由器有哪些 LSA 是本地的 LSDB 所缺少的,这时需要发送 LSR 报文向对方请求所需的 LSA。内容包括所需要的 LSA 的摘要。
LSU 报文( Link State Update Packet)。用来向对端路由器发送所需要的 LSA,内容是多条 LSA(全部内容)的集合。
LSAck 报文( Link State Acknowledgment Packet)。用来对接收到的 LSU 报文进行确认。内容是需要确认的 LSA 的 HEAD(一个报文可对多个 LSA 进行确认)。
















暂无评论内容