深入理解计算机网络-8网络层3

目录

一、路由概述

(一)什么是路由

(二)路由的分类

1.直联路由Direct Routing

2.静态路由Static Routing

3.动态路由Dynamic Routing

二、路由算法

(一)什么是路由算法

(二)路由算法的分类

(三)路由表

1.路由表,Routing Table

2.路由算法优先级

(四)路由算法设计需要考虑的目标


一、路由概述

(一)什么是路由

“路由”功能是一种数据报文的分组交换路径选择行为,是网络层的一种基本功能。

路由选择需要综合考虑多种因素,如线路长度、信道带宽、线路的稳定性、途径端口的开销等。

不同的路由算法所考虑的因素并不相同 。

(二)路由的分类

路由功能的实现是依靠路由器或三层交换机中的路由表进行的。可分为三类:

1.直联路由Direct Routing

三层设备上直接连接的网络的路由,不需要配置,也不需要借助其他路由协议,直接生成,而且优先级最高。直接连接在三层设备上的各网段是直接互通的,不需要依靠其他路由。

2.静态路由Static Routing

特点:(1)手动配置

(2)路由路径固定不变

(3)不可通告性:静态路由不会被通告到相连的其他路由器上。但可以通过重发布静态路由为动态路由类型使得网络中的其他路由器也可获此静态路由。

(4)单向性。仅提供下一跳的方向,不提供反向路由。若想要使源节点与目的节点或网络进行双向通信,必须同时配置回程静态路由。如配置了到某节点的路由,但ping不通,可能是没配置回程路由。

(5)接力性。必须在除最后一个路由器外的其他路由器上一次配置到达相同目的节点或目的网络的静态路由。

如:R1上配置到PC2的正向静态路由:以PC2所在网络10.16.4.0/24作为目的网络,以C节点IP地址10.16.2.2/24作为下一跳地址。

R3上配置到PC1的回程静态路由:以PC1所在网络10.16.1.0/24作为目的网络,以D节点IP地址10.16.3.1/24作为下一跳地址。

(6)迭代性。理论上,静态路由的下一跳可以是路径中其他路由器中的任意一个接口,只要能保证到达下一跳即可。

(7)适用于小型网络。

3.动态路由Dynamic Routing

对于较大型的广域网,由于拓扑结构较复杂,且网络结构可能经常变动,通常采用更加灵活更具自动特性的动态路由。

特点:

(1)自动生成。在网络中某条路由所包括的路由器同时启动某种动态路由协议,通告了各自所直接连接的网络后,则这些路由器间就会自动生成这些路由器直接连接的网络间的路由表项,无须手动创建。

(2)自动调整。可随时根据网络拓扑结构的变化调整路由表项。

(3)自动通告。可以在相邻路由器上互相通告,及时反映拓扑结构的变化,生成新的路由表项

(4)自动生成双向路由。会自动生成回程路由表项。

二、路由算法

(一)什么是路由算法

路由算法Routing Algorithm是在给定一组路由器及连接路由器链路的情况下,找出一条从源到目标的最佳路径的方法。为了完成这项工作,在路由器中需要收集和保存各种与传输路径相关的数据,如拓扑结构、端口度量、端口速率等,然后根据相应的路由算法生成一个个路由表(RoutingTable)项或其他信息库,如OSPF\IS-IS的LSDB(链路状态数据库),供数据转发时提供路由选择。

(二)路由算法的分类

路由算法可分2类:

1.非自适应路由算法(也称:固定式路由选择算法)指不能根据网络拓扑结构的变化而更新 路由表,仅使用静态路由表的路由算法。包括:

(1)静态路由Static Routing:手工创建的路由;

(2)扩散法Flooding当一个路由器收到一个报文分组后,即向他所有的接口(包括接收该分组的源接口)进行复制扩散。适用于规模小、负载轻、可靠性高的场合,如军用通信

(3)随机走动Random Walk:当节点收到分组后,在所有与之相邻的节点中分组随机选择出一个节点转发出去。因为分组会在网络中乱窜,所以路由可达的概率较高,但效率低、使用价值低。

(4)最短路径Shortest Path

由Dijkstra提出,基本思想:将源节点到网络中所有节点的最短(链路长短,不是开销)通信路径都找出来,作为这个节点的路由表。当网络的拓扑结构不变、通信量平稳,该点到网络内任何其他节点的最佳路径都在它的路由表中。如果每一个节点都生成和保存这样一张路由表,则整个网络通信都在最佳路径下进行。每个节点收到分组后,查表决定向哪个后继节点转发。

2.自适应路由算法

可根据网络流量和拓扑结构的变化更新路由表。主要有2中:总体式路由算法、分散式路由算法。

采用分散式路由算法,每个路由器只与直接相连的路由器交换路由信息,如距离矢量路由算法(Distance Vector,DV)。

采用总体式路由算法,每个路由器都拥有网络中某个区域或者整个网络中所有其他路由器的全部信息以及网络的流量状态,如链路状态路由算法(Link State,LS)和分级路由算法(Hierarchical Routing)。

1)距离矢量路由算法

距离矢量是有方向的具体,也就是对应路由条目中源和目的站点间的距离(最初指跳数Hop,或度量Metric)。每经过一个路由器(或三层交换机)就加一跳。也就是对应路由条目中除源站点所在网络直接连接的路由器外,到达站点所经过的路由器数(路径中所有路由器数减1)。

典型的路由协议RIP,它规定一条RIP路由中最多只能由15跳,超过这个数就认为路由不可达。

采用DV算法的协议还有IGRP(内部网关路由协议)、EIGRP(增强型内部网关路由协议,也支持链路状态路由算法)、BGP(边界网关协议,协议中的距离是指经过的AS系统数而不是经过的路由器数)

2)链路状态路由算法

不仅要根据所经过的路由器多少,还要根据路径中各段链路的状态来计算最佳路由路径。

“链路状态”包括:接口的IP地址和子网掩码、网络类型(如以太网链路或串行点对点链路)、链路的端口开销(Cost,又与端口的接入带宽有关)、该链路上所有的相邻路由器。

主要的协议有:OSPF(开放最短路径优先)、IS-IS(中间系统到中间系统)、EIGRP(也支持DV路由算法)。

总结:

链路状态路由协议是层次的,网络中的路由器并不向邻居路由传递路由表项,而只是向邻居路由器通告它的一些链路状态。该类协议会把网络中的所有路由器分成区域,再收集区域中的所有路由器的链路状态信息,然后根据状态信息生成网络拓扑结构,最后每一个路由器再根据拓扑结构计算出路由。协议更灵活、更适合大型网络。

而DV路由协议是平面的,所有的路由学习完全依靠邻居路由器,交换的是完整的路由表项。

3)分级路由算法

因DV和LS算法都需要保存其他路由器的信息,网络规模大的化,路由表规模将增大,会降低路由器的处理效率,使用分级路由算法可以解决该问题。

在分级路由算法中,路由器被分成多个组(区域)。每个路由器都只有自己所在区域路由器的信息,而没有其他区域路由器信息。所有路由表中,只需要存储其他每个区域的一条记录。

典型协议:OSPF\IS-IS

(三)路由表

1.路由表,Routing Table

一个存储在路由器或联网计算机中的电子表格文件或数据库。

建立的主要目的是为了路由选择,决定对具体数据如何转发。

注意:除静态和动态路由外,还有直联路由,就是在路由器上直接连接的网络。因为连接在同一个路由器上的各网络都是相通的,无需配置任何其他路由条目,只需要在路由器上进行通告即可。

华为的路由表项如下:

Destination:标识IP数据报的目的地址或目的网络;

Mask:标识目的地址的子网掩码长度,与目的地址一起标识目的主机和网络所在的网段;

Proto:表示学习此路由的路由协议,包括静态static\直联路由Direct和各种动态路由

Pre:Preference,表示此路由的路由协议优先级。同一目的地可能存在不同下一跳、出接口等多条路由,这些路由可能由不同的路由协议发现的。数值小、优先级高的将成为当前的最佳路由。

Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最佳路由。

FlagsNextHop:表示此路由的吓一跳IP地址,指明数据转发路径中的下一个三层设备。

Interface:表示此路由从本地设备发出的出接口。

2.路由算法优先级

为了判断最佳路由,各路由协议都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级(取值较小)的路由协议发现的路由将成为最佳路由,并将最佳路由放入IP路由表中。

可以通过对默认优先级的不同设置(浮动静态路由),实现“热备切换”。

在前面已经直到,在IP数据报中并没有目的IP地址对应的子网掩码字段,所有设备中可能由多条不同的路由表项与数据报中的目的IP地址匹配,这是要根据“最长匹配原则”进行选择,即同时匹配数据报目的IP地址的路由表项中,选择子网掩码长度最长的路由表项。

(四)路由算法设计需要考虑的目标

1.正确性correctness和简单性simplicity

能够正确计算出网络中最优路径,而且要最简单,太复杂会严重消耗路由器资源。

2.健壮性robustness和稳定性stability

要求路由算法在出现某些设备工作不正常或不可预见软硬件事件的情况下必须能仍能正常处理,不会产生大的网络震荡。

3.公平性fairness和最优性optimality

对网络中所有用户必须是平等的;最优性指路由算法选择最佳路径的能力,根据Metric的值和权值来计算。

4.快速收敛性Fast Convergence
路由算法必须能快速聚合,聚合是所有路由器对最佳路径达成一致的过程。聚合很慢的路由算法可能会产生路由环或网络中断。

5.灵活有效性efficiency

路由算法应该是灵活有效的,应该能够迅速、准确地适应各种网络环境。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值