首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于路径标识的多路径域间路由的开发与实现
来源:本站整理  作者:佚名  2012-04-17 10:51:11



2.2 转发层的设计
    目前的路由器基本都运行在Linux系统中。因为Linux内核提供了完善的网络功能,本方案也是基于Linux内核协议栈。Linux内核协议栈是指网络中各层协议的总和,从上到下依次为应用层、传输层、网络层和网络接口层。其中网络层负责处理网络中的数据包,包括数据包路径的查找、转发、接收等工作。多路径域问路由方案的数据包头主要由传统数据包头和PID、AS号和Local Identifier组成。其中PID和AS号字段用于域间路由使用,Local Iclentifier用于域内路由使用。
    多路径域间路由数据包转发的示意图如图2所示。


    收到数据包需要按如下步骤进行转发:
    (1)检查PID字段是否为空,如果为空,则匹配AS号,根据匹配项填充PID字段,根据查询到的PID进行平面查找内核路由表,并将数据包转发到相应的端口上。
    (2)如果PID字段不为空,则用平面查找方式匹配PID,如果有匹配项,路由器根据匹配项转发到对应端口;如果没有匹配的PID,再根据标志位,置位的路由器可以按匹配目的AS号的方法对数据包进行转发,没有置位的则将数据包丢弃。
    (3)当数据包跨出本AS域转发到下一个AS域时,PID字段需替换成路由条目中NEXT_PID;当PID为本地AS的哈希值时,表明数据包此时已经到达目的AS,此时需交由域内路由协议用Destination Local Identier进行转发。

3 基于路径标识的多路径域间路由方案的实现
    多路径域间路由方案实现模块图如图3所示,其中控制层模块主要实现UPDATE消息的产生、交互和处理,并且提供了一些配置和显示命令。在多路径域间路由方案中只需要修改NLRI模块、UPDATE消息处理模块、平面路由表模块和配置、显示命令模块,其他部分可以沿用BGP的设计。RTM模块主要实现控制层和转发层之间的交互,原始数据包的提交和路由信息的下发。转发层模块实现平面转发表的构建、数据包的封装和解封,以及具体的数据包转发流程。


3.1 NRLI模块
   该模块主要实现在AS之间传递路由可达消息。在BGP中被设计成(长度,前缀)二元组,为了兼容多路径域间路由方案,需要修改成<长度,前缀,PID,AS>四元组,使之既可以满足多路径域间路由的需要,也可以兼容现有的路由方式。
3.2 UPDATE消息处理模块
    该模块主要实现UPDATE消息的发送和接收。在BGP当中用来在对等体之问传递可用路由前缀、撤销路由等,在多路径域间方案中需要修改数据包发送函数和接收函数,使之能够正常地传递新的网络可达性信息,同时需要修改包安全性检查等函数,使之能够不被错误地丢弃。
3.3 平面路由表模块
    该模块主要实现在控制层维护核心路由表,并向转发层下发最佳转发信息。BGP的路由表是基于最长前缀匹配的方式查找的,用二又树具体组织。在多路径域间路由方案中需要将其平面化,利用PID和AS号来检索域间路由,利用HASH算法将路由节点信息存储在一个双向链表上面,实行了精确查找。
3.4 配置、显示和调试命令模块
    该模块主要实现多路径域间路由协议的配置,并且提供了一些显示核心路由表、对等体状态等的显示命令,还有一些路由器故障时的调试命令。相对于BGP,在多路径域间路由方案中添加了以下的命令:
    (1)路由显示命令
    通过该命令可以遍历多路径域间路由协议的核心路由表,显示具体路由信息,即到目的AS的具体路由信息,包括PID、NEXT_PID和具体路径显示。
    (2)路径选择命令
     因为在多路径路由方案中,在控制层可以发现多条路径,通过该命令可以选择控制层向转发层通告的最佳路径,在当前链路失效时选择备份路径下达到转发层,实现链路的快速收敛,最终完成了转发路径的可控。

上一页  [1] [2] [3] [4]  下一页

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:191,562.50000 毫秒