路由器中的硬件IP路由表查找技术-应用技巧

王朝数码·作者佚名  2011-04-06
窄屏简体版  字體: |||超大  

Internet的迅速发展给我们的生活带来了巨大的变化。随之而来的是网络流量的迅速增长。网络流量的增长对于Internet上的路由器来说是一个很大的挑战,特别是核心路由器。它需要高速有效的包调度.转发和路由策略。本文针对路由器的路由查找,提出了一种高效的.便于用硬件实现的技术。

1. 路由器的体系结构

图1给出了一般路由器的逻辑体系结构。它主要由下面几部分组成 :路由引擎、转发引擎、 路由表、网络适配器和相关的逻辑电路等。转发引擎负责把从一个网络适配器来的数据包转发到另一个网络适配器出去。IP协议,包括对路由表的查找,构成了转发引擎中最主要的部分。由于每个通过路由器并需要其转发的数据包都要对路由表进行查找,所以路由表的查找效率如何往往决定了整个路由器的性能。路由引擎则包括了高层协议,特别是路由协议,它负责对路由表的更新。由于路由引擎不涉及通过路由器的数据通路,故它可用通用的CPU代替。

2.硬件路由表的数据结构设计

一般路由器中路由表的每一项至少有这样的信息:目标地址、网络隐码、下一跳地址。如果对每一个IP地址都要一个表项,那么需要占用很大的2323*4字节的存储器,而且其中必定有很多的表项没有被使用,这就会造成极大的资源浪费。

为了用硬件实现路由表的查找,查找算法需要满足如下的条件:

1) 实时的实现路由表的查找;

2) 有效的实现路由表的插入和删除;

3) 提供有效的最长前缀匹配;

4) 具有良好的可扩展性;

5) 支持广播和组播;

6) 有效的对Memory进行利用;

7) 硬件上容易实现,并具有良好的性能 。

我们考虑,如果在对路由表的查找中,把子网隐码和IP地址结合起来,对IP地址进行相应的分段,并把它们相连。这样在路由表的表项中,只有IP地址的一部分及其相应的隐码部分,可以实现良好的可扩展性,只要对Memory进行有效的管理,可以灵活的动态的实现对路由的插入和删除。鉴于此,我们设计该表的结构(如下面的表一所示 ):

第一頁    上一頁    第1頁/共2頁    下一頁    最後頁
第01頁 第02頁 
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航