新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于路径标识的多路径域间路由的开发与实现

基于路径标识的多路径域间路由的开发与实现

作者:时间:2012-04-17来源:网络收藏

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

本文引用地址:http://www.eepw.com.cn/article/190503.htm

b.jpg


收到数据包需要按如下步骤进行转发:
(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模块主要实现控制层和转发层之间的交互,原始数据包的提交和路由信息的下发。转发层模块实现平面转发表的构建、数据包的封装和解封,以及具体的数据包转发流程。

c.jpg


3.1 NRLI模块
该模块主要实现在AS之间传递路由可达消息。在BGP中被设计成(长度,前缀)二元组,为了兼容多路径域间路由方案,需要修改成长度,前缀,PID,AS>四元组,使之既可以满足多路径域间路由的需要,也可以兼容现有的路由方式。



评论


相关推荐

技术专区

关闭