您当前的位置:五五电子网电子知识单片机-工控设备EDA/PLD技术基于路径标识的多路径域间路由方案 正文
基于路径标识的多路径域间路由方案

基于路径标识的多路径域间路由方案

点击数:7698 次   录入时间:03-04 12:00:56   整理:http://www.55dianzi.com   EDA/PLD技术

    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所示。

d.jpg

        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 基于路径标识的多路径域间路由方案的功能验证

    多路径域间路由方案的功能验证,主要包括控制层基于路径标识的多路径路由发现和转发层基于路径标识的数据包正常转发。



www.55dianzi.com

    4.1 测试平台及拓扑

    全部系统采用普通的x86系列的PC;测试环境的核心网路由器配置至少两个以上的网卡,无线或有线均可;所有充当路由器都应该安装Linux操作系统,内核版本为2.6.28;测试的拓扑如图6所示,对各个功能实体进行地址和路由配置,在所有路由器都需要安装文中提到的修改后的BGP路由软件和相应的内核软件。

e.jpg

   
    4.2 控制层基于路径标识的多路径路由发现

    AR1为AS号为100的一台路由器,AR2,AR3分别为AS号为200,300的路由器,其中AR1的BGP配置如图7所示。

    其他路由器配置与AR1类似,通过配置使得AR1,AR2,AR3之间建立了EBGP关系对等体关系,通过show ip bgp命令查看AR1的路由表,内容如图8所示。

f.jpg

   
    AR1学习到了到达3个AS域的路由信息,学习到了到本地AS域100的路由,其中PID和NEXT_PID一致,并且默认权重为32 768;到达AS域300的路径则有两条,分别为“300i”和“200 300i”,表明到达AS域300的路径可以是直接到达AS域300,PID为f78aac78,NEXT_PID为809d3a9 0,也可以是通过AS域200到达AS域300,PID为7a5flfe8,NEXT_PID为33f960c4,可见PID和NEXT_PID均不一致,可以通过PID和NEXT_PID区分不同的路径,通过测试,可以看出本方案在控制层可以正确地发现基于路径标识的多条路径。

    4.3 转发层基于路径标识的数据包正常转发

    基于路径标识的数据包转发是多路径域间路由的重要功能,首先用AR1向AR2发送PINg包,也就是AS域100向AS域200发送ping包,在AS 200的内核编写打印语句,打印出数据包添加的PID,NEXT_PID和AS号,结果如图9所示。

g.jpg

    可见,在ping包已经正确地添加了域间路由所需的PID,NEXT_PID和AS号等信息。利用wireshark抓包工具进行测试,可以成功地获取ICmp包,证明两个AS域之间可以实现基于路径标识的数据包转发。

    5 结语

    在实际搭建的拓扑中,实现了基于路径标识的多路径路由方案,并且进行了功能验证。结果表明,可以正确地发现多路径路由,并且可以实现基于路径标识PID的数据包转发。本文实现了基于路径标识的多路径域问路由方案,快速实现链路失效时的重新收敛,将成为下一步研究的重点。



上一页  [1] [2] 


本文关键字:暂无联系方式EDA/PLD技术单片机-工控设备 - EDA/PLD技术

《基于路径标识的多路径域间路由方案》相关文章>>>