基于路径标识的多路径域间路由的开发与实现
摘要:针对现有网络架构中路由扩展性方面的问题日益严重,目前提出一种基于路径标识的多路径域间路由方案,可提高域间路由可扩展性和可靠性,但该研究只停留在理论阶段。现对基于路径标识的多路径路由协议进行了开发与实现,针对域间路由协议BGP的控制层和基于Linu x内核的转发层进行了具体模块的结构分析和开发,并进行了功能性测试。结果显示,开发系统可以实现路径标识路由和多路径路由的功能。
关键词:多路径;路径标识;BGP;内核协议栈
0 引言
近些年来,互联网得到迅猛的发展,中国网民规模已经突破4.2亿,然而,作为其基础支持的路由系统却面临着极大的挑战。路由条目急剧增加,严重地消耗了路由器的计算资源,同时网络阻塞、拥挤、攻击等也会引起网络的失效或不稳定,它们都在很大程度上影响互联网的性能。
一体化网络网的提出,可以有效地解决上述问题。一体化网络是一种新的基于身份位置分离思想的网络体系架。一体化网络体系模型与理论提出接入标识、交换路由标识及其映射理论,建立广义交换路由的概念与机制,在支持安全和移动的基础上实现网络一体化。
延续一体化网络的设计思想,本文实现了一种基于路径标识的多路径域间路由方案。
1 研究背景
针对核心网域问路由,传统网络主要存在可扩展性和可靠性两方面的问题。路由可扩展性主要关注于转发表(FIB)的大小和路由更新的频率。网络用户的剧增、流量工程、策略路由等技术的应用,导致路由前缀不可聚合,使得路由条目呈非线性增长,是限制路由可扩展性的主要原因;路由可靠性主要关注于网络拓扑改变时,路由协议能否快速收敛,提供持续通信的能力。现有域间路由协议BGP只提供一条最佳路由,在路径失效时,需要等待下次收敛才能继续通信,而且域间路由更新的频率十分高,使得收敛时间长达几分钟至十几分钟,是降低路由可靠性的几点原因。
针对上述两个问题,在一体化网络中采用了域内与域问路由相分离,核心网和接入网路由相分离的多路径域间路由方案。核心网域内采用本地标识进行路由,域间采用自治域号(AS)进行路由,保证路由条目的稳定和缓慢增长,提高了路由可扩展性。同时域问路由引入路径标识(PID)标识多条转发路径,在原先的路径失效时可以快速地切换到其他路径,保证了路由的可靠性。
2 基于路径标识的多路径域间路由方案的设计
多路径路域间路由方案主要分为控制层和转发层两部分,其中控制层基于目前经典的域间路由协议(BGP),主要实现路由的发现、通告和更新。转发层基于Linux内核协议栈,主要实现通告路由的数据包封装解封和转发以及链路失效时的快速收敛。
2.1 控制层的设计
边界网关路由协议(BGP)是目前主流的域间路由协议,它是一种路径向量协议,在AS之间传递网络可达性,并且可以通过检查AS_PATH属性来避免环路。多路径路由方案在域间采用AS号路由,为了标识多条路径引入了路径标识(PID)和下一跳路径标识(NEXT_PID),从而可以在AS之间通告多条路径。其中PID为从源AS到目的AS之间顺次经过的所有AS号的哈希值,而N]EXT_PID为此路径下一跳AS到目的AS之间所有AS号的哈希值。
基于图1的拓扑图,分析AS 100和AS 200之间传递的UPDATE包的NRLI信息,其基本通信流程为:
(1)首先AS100和AS200分别计算本地的AS号生成本地路由信息,并且在建立邻居关系以后直接发送给对等体路由器。如AS100就将100,HASH(100),HASH(100)>发送给AS 200。
(2)AS 100和AS 200在收到AS 300通告的路由后,会在邻居关系建立后,将收到AS 300的路由的PID替换为NEXT_PID,将本地AS号加入路径属性中,重新计算PID,然后传递给对等体路由器。如AS 100将300,HASH(100,300),HASH(300)>发送给AS200。
(3)在下次通告时,AS100和AS200获得了到达对端路由器的信息,及时地通告给对等体路由器,如AS100将200,HASH(100,300,200)>发送给AS200,这时AS200就知道了两条可以到达AS200的路径,实现了简单的多路径。
评论