在单下一跳路由网络中,同一目的地的数据分组通过单一路径进行传输。在多下一跳路由网络中,路由器对于任何去往相同网络出口的分组都可以在多个下一跳中并行地分流转发,通过每个下一跳流出的数据分组都可在局部子网中分流传输,直至出口节点。对比可知,多下一跳路由机制可以明显提高数据传输的效率,使得网络中各资源的利用率趋于均衡,使得网络中的流量总体趋向均衡,令网络传输过程中的拥塞程度降到最低。
2.3多下一跳路由机制可以改善网络的可用性和抗毁性
在当前的单下一跳路由网络中,当网络某处出现故障,路由协议必须计算新的路由。如果在路由重新计算的过程中路由尚未收敛,网络就不能保证相关数据业务的可靠传输。而在多下一跳路由网络中,对于去往相同网络出口的分组,路由器有多个下一跳链路接口可以对其并行地分流转发,如果发现链路层的某个接口出现故障,路由器可以快速中止该接口的转发任务,屏蔽该接口,并通过其他接口正常进行数据的可靠转发。虽然在出现故障后,多下一跳路由协议也需要进行路由计算,但是计算过程中,网络的正常业务不会中断。可见,多下一跳路由机制可以显著改善网络的可用性和抗毁性。
2.4多下一跳路由机制为QoS选路提供了可靠基石
Internet为传送信息分组所进行的选路过程可以分为两步:(1)标识可行路径:路由协议确定通过网络中的哪些路径可以到达目的网络;(2)选择传输路径:在第一步提供的路径集合中,为数据分组的转发挑选具体的传输路径。
在传统路由机制约束下,分组选路过程实际上将两者合二为一,或者说只是提供一条路径,分组传输的路径没有可选性。基于此,有关“多路由尺度的路径选择”问题的研究,目前已有思路考虑的是:如何综合多类路由因素,提供一条最优的传输路径。他们只是提供一条可行路径,其他可行路径全部闲置。
对于这个问题的研究,我们认为:所有可行路径都应该放入可行路径集合而不应该主动将其闲置。各类路由因素只是路径特征的描述信息,它只能衡量路径的“好坏”,不能否认路径本身的存在性,它们本身无法成为确定某条路到达某个网络出口可行路径的唯一判据,而只是“选择传输路径”的数量标尺,因此,根据路由参数选路的过程不应该影响网络对于数据分组的正常传输过程。基于此,我们可将选路过程的第一步划分出去,另行研究,要求它提供所有可行路径;同时,将基于多路由尺度的路径选择问题局限于第二步,路径的选择过程不影响路径的分组传输功能;具体路径的选择也变成策略类的选择,从而可以根据各种需求,灵活多样地进行调整。
服务质量(QoS)问题,本质上是根据多个路由参数选择能够满足QoS要求的“好”路。在单下一跳路由机制约束下,这是一个NP完全问题。也就是说,单下一跳路由机制和QoS的需求是矛盾的。在多下一路由机制的框架下,QoS问题其实和分组选路过程的第一步实现了分离,只和第二步相关,也就是说,QoS选路是在已提供的诸多可行路径中选择满足要求的“好”路,即使这个要求通常涉及多个路由参数,这个过程不会影响网络的分组传输过程,可以自由进行。
3域间路由问题
边界网关协议(BGP)[4]是目前Internet唯一采用的域间路由协议。该协议的基本功能是与其他BGP自治系统交换网络层的可达信息,构造全球路由表,以使数据分组在Internet上全球可达。
BGP协议所具有的基于前缀、路径适量、策略路由和增量式更新4个属性,要求全球路由表必须包含路由器学习到的所有可达前缀,而对每个可达前缀,必须包含完整的自治系统路径信息(ASPATH信息),对每个ASPATH,必须存储所有相关的路径属性(如度量、本地优选等)以供选择最优路径,全球路由器还必须存储所有学习到的路由信息。
假设M表示整个全球路由表占用的内存空间,Nprefix表示全球路由表中可达前缀个数,Npath表示可达某个前缀的路径个数,全球路由表中每个可达路径及相关属性所占内存空间相同且表示为R,则有下式。
M=Nprefix×Npath×R(1)