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



3.5 RTM模块
    该模块主要实现转发层模块和控制层模块之间的消息交互。多路径域间路由协议在控制层拥有自己的核心路由表,但最终对转发其作用的是转发层的内核路由表,但是控制层不能对内核路由表直接起作用,该模块实现了两者之间的信息交互。它们之间的通信是通过套接字NET LINK起作用的,在公共消息格式中添加标识路由所需的PID、AS号和NEXT_PID等信息,满足标识路由在转发层的需要。
3.6 平面转发表模块
    该模块主要实现多路径域问路由在转发层核心路由表的维护,当需要出路网络流量的发送和接收时查询该路由表。
    Linux内核的转发表是基于网络掩码的HASH表组织的,根据不同的网络掩码长度被组织成不同的HASH表。因为IPv4使用32位地址,所以IPv4中有33个不同的网络掩码长度,可对应于一个IP地址。fib_table数据结构来描述路由表。fib_table结构包含一个由33个指针组成的向量,每个指针对应一个网络掩码并指向一个类型为fn_zone的数据结构。Fn_zone结构将路由组织成HASH表,因此通向目的网络的路由,如果网络掩码长度相同,就被放在同一个HASH表内。每个单独的子网对应一个fib_node实例,用变量fn_key(网络掩码)识别,它的值就表明该子网。在查找函数fn_hash_lookup中,也是通过遍历路由表搜索关键词fn_key,获得最终结果。
    多路径路由方案中,转发时需要检查PID,并根据PID进行检索和转发,因此需要修改转发表,使之可以根据关键词PID进行查找。在查找时,只需要根据PID进行精确匹配,而不用计算网络掩码。在修改后的路由节点fib_bgp_node中,添加了PID的信息,使得修改后的路由表fib _bgp_table可以根据PID为关键词索引。路由表结构如图4所示。


3.7 数据包封装解封模块
    该模块主要实现数据包中标识的转换,Linux内核中采用IP地址进行路由,而在多路径域间路由方案中,在域间有需要才用AS号路由,因此需要在发送数据包时,添加PID、目的AS号和源AS号等信息,但为了兼容现有的网络架构,方便现有网络其他服务的处理,在数据包进入网络层前,去除PID、目的AS号、源AS号等扩展选项。只是在数据包离开网络层后,才增减以上扩展选项。修改后的数据包头如图5所示。
3.8 数据包转发处理模块
    该模块主要实现基于PID的数据包转发,同时维护一个PID、AS号和NEXT_PID一一对应的查询表,实现到目的AS路径标识PID的填充。Lin ux内核是基于IP地址前缀路由的,而在多路径域间路由方案中是基于AS号,在查询平面转发表要使用PID,如果数据包是终端第一次经过路由器时,不存在PID等信息,需要根据目的AS号添加PID等信息,还有域内路由时根据设计要使用Local Identiner,只有在数据包进入Linux内核网络层前,进行了该模块处理,才能完成标识路由的功能。

4 基于路径标识的多路径域间路由方案的功能验证
    多路径域间路由方案的功能验证,主要包括控制层基于路径标识的多路径路由发现和转发层基于路径标识的数据包正常转发。
4.1 测试平台及拓扑
    全部系统采用普通的x86系列的PC;测试环境的核心网路由器配置至少两个以上的网卡,无线或有线均可;所有充当路由器都应该安装Linux操作系统,内核版本为2.6.28;测试的拓扑如图6所示,对各个功能实体进行地址和路由配置,在所有路由器都需要安装文中提到的修改后的BGP路由软件和相应的内核软件。


4.2 控制层基于路径标识的多路径路由发现
    AR1为AS号为100的一台路由器,AR2,AR3分别为AS号为200,300的路由器,其中AR1的BGP配置如图7所示。
    其他路由器配置与AR1类似,通过配置使得AR1,AR2,AR3之间建立了EBGP关系对等体关系,通过show ip bgp命令查看AR1的路由表,内容如图8所示。

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

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

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