用于处理跨IPv4和IPv6网络的存储代理系统及方法

文档序号:7764864阅读:542来源:国知局
专利名称:用于处理跨IPv4和IPv6网络的存储代理系统及方法
技术领域
本发明涉及网络存储技术,尤其涉及IPv6过渡时期用于处理跨IPv4和IPv6网络 存储业务的存储代理系统及方法。
背景技术
随着Internet的迅猛发展和IPv6技术的推广应用,IPv6与现有的IPv4网络融 合程度越来越高。但IPv4网络的基础设施十分广泛,从IPv4网络过渡到IPv6不可能一蹴 而就。IETF的IPv6网络互操作工作组(v6opS)也指出,网络不会出现大规模的、广泛的、 整体的迁移、过渡,IPv4和IPv6技术在未来十几年甚至更长时间内将长期共存和互操作。 过渡时期IPv6和IPv4网络主要通过双栈、隧道、协议转换等方式互联,也就是说IPv4与 IPv6网络的连接主意不是通过单独的纯IPv6链路,而是借用原来的IPv4链路进行传输。 另一方面存储服务作为一种重要资源设备,ISP —般不可能在网络内多处部署,而是集中在 某个区域。鉴于以上两点,有存储需求的IPv6、IPv4节点对存储服务设备的访问在网络带 宽、存储资源等方面都存在竞争,从而造成性能瓶颈。而当前IPv6、IPv4存储系统访问手段 方面的研究和解决方案比较缺乏,无法满足用户使用、维护存储系统的便捷性要求。从IPv6协议来看,IPv6网络设计思想之一就是提高网络传输效率,因此IPv6数据 包的包头长度减短、其载荷可以远大于IPv4数据包,特别适用于大吞吐量数据访问服务, 如流媒体等应用;而从目前的IPv6应用现状来看,IPv6确实在流媒体等大吞吐量数据访问 业务中应用比较多。这类业务要求所提供的服务保证特定的服务质量需求,同时要求存储 系统支持尽可能多的并发应用,因此对存储系统产生较大的压力。目前网络存储采用的连接技术主要有光纤通道和TCP / IP。基于IP的iSCSI (Internet SCSI)协议是IP存储网络协议之一,它将广泛应用的两种工业标准SCSI和 TCP / IP结合起来,为存储设备提供面向数据块级的连接服务。由于iSCSI协议能解决基 于光纤通道的网络存储中存在的兼容性和传输距离问题、而且能提供相对廉价的解决方案 而收到广泛欢迎。基于iSCSI的IP网络存储虽然可以通过在存储服务器中对网络层增加IPv6协议 来实现存储服务向IPv6网络的直接扩展,但由于目前的IPv6接入大多使用双栈、隧道、协 议转换等方式,IPv6流量实际上借用IPv4链路传输,因此这种直接互联的扩展存储服务方 式并不能最大限度发挥IPv6协议特性,而且会造成网络流量成倍增长、存储资源由于缺乏 统一管理、优化而降低使用效率。如何充分利用IP6协议功能和iSCSI网络存储技术特点,并且尽量降低IPv4现有 网络的负载成为解决IPv6过渡时期网络存储问题的关键。本文提出的存储代理系统是一 种有效的解决方案。申请号为200580015737. X、名称为“用于处理跨IPV4和IPV6网络的IPV4 DNS PTR 查询的方法和装置”的专利申请公开了用于处理跨IPV4和IPV6网络的IPV4 DNS PTR查询的方法和装置,但未涉及处理跨IPV4和IPV6网络的存储方法。申请号为200910242354. 6、 为“支持IPv4环境下可扩展IPv6接入的业务控制方法”的专利申请公开了 IPv4环境下可 扩展IPv6接入的业务控制方法,但未涉及网络存储方面。

发明内容
本发明的目的是提供一种在IPv6过渡时期IPv4/IPv6并存环境下、不改变既有 网络结构的条件下,为IPv6存储用户与IPv4存储系统的通信与数据传输提供中间转换和 加速转发功能,提高IPv6用户使用存储服务的效率的用于处理跨IPv4和IPv6网络的存储 代理系统及方法。本发明实现上述目的的技术方案为一种用于处理跨IPv4和IPv6网络的存储代 理系统,包括主控单元、IPv6输入缓冲、IPv4输入缓冲、IPv4输出缓冲、IPv6输出缓冲、 PDU解析器、PDU构造器、命令解析单元、数据处理单元、端口映射池、目标节点注册管理模 块和通信管理器,所述通信管理器由任务管理单元、连接管理单元、会话管理单元、IPv4端 文本参数协商信息表、IPv6端文本参数协商信息表组成。本发明实现上述目的中用于处理跨IPv4和IPv6网络的存储代理系统方法的技术 方案为一种用于处理跨IPv4和IPv6网络的存储代理方法,采用所述的用于处理跨IPv4 和IPv6网络的存储代理系统进行处理,包括以下步骤(1)初始化过程目标节点注册管 理模块对存储基本信息初始化,通信管理器对通信管理信息初始化;
(2)主控单元接到数据包并对所接收的数据包判断是否是IPv6数据包,如果是IPv6 数据包,则查询目标节点服务信息注册表和发起者节点通信信息表,判断是否来自IPv6发 起者节点,如果是,则放入IPv6输入缓冲,否则丢弃;如果是IPv4数据包,则判断是否来自 IPv4目标节点,如果是,则放入IPv4输入缓冲,否则丢弃;
(3 ) PDU解析器对经过步骤(2 )处理后的接收到的数据包进行数据包解析,通过数据包 内部结构判断数据包类型;根据数据包中iSCSI报文类型,分别交给命令解析单元或数据 处理单元处理;
(4)经步骤(3)处理的数据再经PDU构造器转换、构造成新的数据包,放入对应的IPv4 输出缓冲区或IPv6输出缓冲区,等待发送;
(5)根据报文通信情况,由通信管理器修改通信管理相关记录表;回到步骤(2),循环 工作。所述步骤(3)中的判断数据包类型具体指
a、如果是基于iSCSI的状态报文和命令报文,则进一步进行命令解析,查看通信管理 状态表,判断命令、状态是否合法,如果非法则进行错误处理;
b、如果是基于iSCSI的数据报文,则查看数据收发记录,检查数据有效性,对无效数据 进行错误处理;对有效数据报文,按照协商参数表进行数据拆分与封装处理。步骤(2)中的目标节点服务信息注册表和发起者节点通信信息表具体包括下表所 示的各个字段
①目标节点服务信息注册表包括目标节点序号、目标节点名字、目标节点的IPv4地 址、目标节点通信端口号、接口组标记;
②发起者节点通信信息表包括发起者节点序号、发起者节点名字、发起者节点的IPv6地址、发起者节点通信端口号、发起者节点会话ID。5.根据权利要求3所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征 在于所述通信管理状态表包括任务映射表、连接记录表、会话记录表,
(a)、任务映射表包括任务序号,记录发起者节点的任务标记,任务命令类型,读/ 写数据逻辑单元号,所属连接号,所属会话号,任务状态;
(b)、连接记录表包括连接序号,发起者节点的IPv6地址,发起者节点的端口号,目 标节点的IPv4地址,目标节点的端口号,存储代理提供的映射端口号,所属的会话序号, 任务状态;
(c)、会话记录表包括会话序号,记录发起者节点名字,发起者节点端会话编号,记 录目标节点名字,目标节点端会话编号,目标节点端的端口组标记,会话状态。通过IPv6发起者节点和IPv4目标节点之间每一个通信元组IPv6发起者节点 IPv6地址、IPv6发起者节点端口号、目标节点IP地址、目标节点端口号,对应端口映射池的 映射端口,在网络层绑定进行网络通信的发起者节点和目标节点,用网络端口为发起者节 点和目标节点之间的会话建立一一对应的映射关系。通过IPv6发起者节点和IPv4目标节点之间每一个Nexus元组IPv6发起者节点 名字、发起者节点端会话编号、目标节点名字、端口组标记,定一个iSCSI会话连接的双方 接口 ;利用Nexus元组实现关联iSCSI层每个会话双方的映射。所述通信管理器对IPv6发起者节点、存储代理系统和IPv4目标节点三者的通 信过程提供记录、查询和更新功能,主要通过文本参数协商信息管理、任务映射管理、连接 管理、会话管理等方面实现。本发明的有益效果是本发明在IPv6子网与IPv4主干网互联的网络边界接入基 于iSCSI的存储代理系统,该系统支持IPv4/IPv6双栈。来自IPv6网络内部发起者节点的 存储请求和存储数据包通过存储代理解析、映射和处理后,发送给相应的存储目标节点; 目标节点发送给IPv6节点的存储应答包和数据包也通过存储代理缓冲、转换处理后转发 给IPv6发起者节点。通过存储代理系统,提供存储服务的存储系统不必作任何改变就可以 为IP4和IPv6网络节点同时提供统一的存储服务,尽可能保护已有系统投资,充分利用现 有设备资源;并且将所有存储用户都看作是基于IPv4的,从而简化了过渡时期IPv4/IPv6 并存环境下存储服务系统的架构与任务管理复杂度。充分利用IPv6协议功能和iSCSI网 络存储技术特点,保证了 IPv6存储用户对IPv4存储设备的高效访问和操作,为IPv6子网 的存储用户提供高性能的数据处理和应用响应能力,确保各类应用系统和数据库的高效运 行。存储代理为IPv6存储用户与IPv4存储服务器及存储设备提供了透明的互访中介功 能,有效减少IPv6存储用户用于存储数据包封装、传输和接收的资源消耗,同时尽量降低 了 IPv4存储网络因大量IPv6存储业务带来的网络负载。到IPv6过渡的后期,IPv6将成为主干网络,存储服务大多基于IPv6,此时存储代 理可以作为孤立的IPv4网络存储用户对IPv6存储目标进行访问的中间桥梁,使存储目标 看来所有用户都是IPv6用户而提供统一的存储服务,同样简化了过渡后期以IPv6为主导 的存储系统架构和任务管理的复杂度。


图1为本发明的网络应用环境;
图2为本发明的存储代理系统内部结构图; 图3为本发明系统的网络协议通信关系映射图; 图4为本发明的存储代理系统的登录阶段通信图; 图5为本发明的存储代理系统的写操作通信图; 图6为本发明涉及的存储代理系统的读操作通信图; 图7为本发明系统及系统涉及的工作流程图; 图8为本发明另一实例涉及的网络应用环境。
具体实施例方式如图2所示,本发明的用于处理跨IPv4和IPv6网络、基于iSCSI存储业务的存 储代理系统的存储代理205的内部结构包括主控单元100、IPv6输入缓冲101、IPv4输入 缓冲105、IPv4输出缓冲103、IPv6输出缓冲108、PDU解析器104、PDU构造器107、命令解 析单元102、数据处理单元106、端口映射池109、目标节点注册管理模块110和通信管理器 112,所述通信管理器112由任务管理单元111、连接管理单元113、会话管理单元114、IPv4 端文本参数协商信息表115、IPv6端文本参数协商信息表116组成。如图1、3、4、5、6、7所示,一种用于处理跨IPv4和IPv6网络、基于iSCSI存储业务 的存储代理方法,采用所述的用于处理跨IPv4和IPv6网络的存储代理系统进行处理,包 括以下步骤
(1)初始化过程目标节点注册管理模块110对存储基本信息初始化,通信管理器112 对通信管理信息初始化;
(2)主控单元100接到数据包并对所接收的数据包判断是否是IPv6数据包,如果是 IPv6数据包,则查询目标节点服务信息注册表和发起者节点通信信息表,判断是否来自 IPv6发起者节点,如果是,则放入IPv6输入缓冲,否则丢弃;如果是IPv4数据包,则判断是 否来自IPv4目标节点,如果是,则放入IPv4输入缓冲,否则丢弃;
(3 ) PDU解析器104对经过步骤(2 )处理后的接收到的数据包进行数据包解析,通过数 据包内部结构判断数据包类型;根据数据包中iSCSI报文类型,分别交给命令解析单元102 或数据处理单元106处理;
(4)经步骤(3)处理的数据再经PDU构造器107转换、构造成新的数据包,放入对应的 IPv4输出缓冲区103或IPv6输出缓冲区108,等待发送;
(5)根据报文通信情况,由通信管理器112修改通信管理相关记录表;回到步骤(2),循 环工作。所述步骤(3)中的判断数据包类型具体指
a、如果是基于iSCSI的状态报文和命令报文,则进一步进行命令解析,查看通信管理 状态表,判断命令、状态是否合法,如果非法则进行错误处理;
b、如果是基于iSCSI的数据报文,则查看数据收发记录,检查数据有效性,对无效数据 进行错误处理;对有效数据报文,按照协商参数表进行数据拆分与封装处理。步骤(2)中的目标节点服务信息注册表和发起者节点通信信息表具体包括下表所示的各个字段
①目标节点服务信息注册表包括目标节点序号、目标节点名字、目标节点的IPv4地 址、目标节点通信端口号、接口组标记;
②发起者节点通信信息表包括发起者节点序号、发起者节点名字、发起者节点的 IPv6地址、发起者节点通信端口号、发起者节点会话ID。所述通信管理状态表包括任务映射表、连接记录表、会话记录表,具体字段及说 明为
(a)、任务映射表包括任务序号,记录发起者节点的任务标记,任务命令类型,读/ 写数据逻辑单元号,所属连接号,所属会话号,任务状态;
(b)、连接记录表包括连接序号,发起者节点的IPv6地址,发起者节点的端口号,目 标节点的IPv4地址,目标节点的端口号,存储代理提供的映射端口号,所属的会话序号, 任务状态;
(c)、会话记录表包括会话序号,记录发起者节点名字,发起者节点端会话编号,记 录目标节点名字,目标节点端会话编号,目标节点端的端口组标记,会话状态。如图1所示,通过IPv6发起者节点和IPv4目标节点之间每一个通信元组IPv6发 起者节点IPv6地址、IPv6发起者节点端口号、目标节点IP地址、目标节点端口号,对应端 口映射池109的映射端口,在网络层绑定进行网络通信的发起者节点和目标节点,用网络 端口为发起者节点和目标节点之间的会话建立一一对应的映射关系。通过IPv6发起者节点和IPv4目标节点之间每一个Nexus元组IPv6发起者节点 名字、发起者节点端会话编号、目标节点名字、端口组标记,定一个iSCSI会话连接的双方 接口 ;利用Nexus元组实现关联iSCSI层每个会话双方的映射。所述通信管理器112对IPv6发起者节点、存储代理系统和IPv4目标节点三者的 通信过程提供记录、查询和更新功能,主要通过文本参数协商信息管理、任务映射管理、连 接管理、会话管理等方面实现。本发明的网络应用环境为主干网络和存储区域网均基于IPv4协议,主干网 络以IPv4/IPv6双栈或隧道方式为IPv6子网络提供接入。IPv6存储用户发起者节点 (Initiator)、存储代理和存储目标节点(Target)都支持iSCSI协议。在IPv6子网201与IPv4主干网401互联的网络边界接入基于iSCSI的存储代理 205,存储代理205支持IPv4/IPv6双栈。来自IPv6网络201内部发起者节点202或203 的存储请求和存储数据包通过存储代理205解析、映射和处理后,发送给指定的相应存储 服务器目标节点502或503 ;存储服务器目标节点502或503发送给的存储应答包和数据 包也通过存储代理205缓冲、映射、处理后转发给原IPv6发起者节点202或203。而来自 IPv4子网301的存储请求及数据包依然通过IPv4主干网401与存储区域501的目标节点 502或503通信,不受IPv6接入的影响。存储代理的一个映射端口对应了 IPv6发起者节 点端口和目标节点端口之间一个会话的对应关系。对上述存储代理205包括的多个功能模块具体说明如下 主控单元100 对存储代理流程进行控制和管理。IPv6输入缓冲101 用于临时存放来自IPv6发起者节点的iSCSI协议报文。IPv6输出缓冲103 用于临时存放将要发给IPv6发起者节点的iSCSI协议报文。
IPv4输入缓冲105 用于临时存放来自IPv4目标节点的iSCSI协议报文。IPv4输入缓冲108 用于临时存放将要发给IPv4目标节点的iSCSI协议报文。PDU解析器104、PDU构造器107 分别用于对基于IPv6或IPv4的iSCSI协议报 文进行解析和重新构造。命令解析单元102 对通过PDU解析器104解析后分类出来的报文命令进行上下 文判断分析,并按照iSCSI协议作出适当的应答处理。数据处理单元106 对通过PDU解析器104解析后分类出来的报文数据进行分析 计算,按照协商的数据报文长度限值进行拆分或合并操作,并将新的报文存入输出缓冲区。端口映射池109 用存储代理205的端口为发起者节点和目标节点之间的会话建
立一一对应的映射关系。目标节点注册管理模块110 收集和保存目标节点所提供的存储服务信息,供查 询使用。通信管理器112:对IPv6发起者节点、存储代理和IPv4目标节点三者的通信过 程提供记录、查询和更新功能,主要通过文本参数协商信息管理、任务映射管理、连接管理、 会话管理等方面实现。对上述的存储代理系统具体描述如下。、存储基本信息管理
存储代理205定期向存储区域501内各目标节点收集存储服务信息,保存和更新目标 节点注册管理模块110中的服务信息注册表,具体包括如图所示的各个字段。存储代理205 收集存储服务信息的方法可以根据RFC2165规定利用IP网络现有的SLP服务定位协议,也 可以利用因特网存储名字服务协议进行收集。表格 目标节点服务信息注册表
权利要求
一种用于处理跨IPv4和IPv6网络的存储代理系统,其特征在于包括主控单元(100)、IPv6输入缓冲(101)、IPv4输入缓冲(105)、IPv4输出缓冲(103)、IPv6输出缓冲(108)、PDU解析器(104)、PDU构造器(107)、命令解析单元(102)、数据处理单元(106)、端口映射池(109)、目标节点注册管理模块(110)和通信管理器(112),所述通信管理器(112)由任务管理单元(111)、连接管理单元(113)、会话管理单元(114)、IPv4端文本参数协商信息表(115)、IPv6端文本参数协商信息表(116)组成。
2.一种用于处理跨IPv4和IPv6网络的存储代理方法,采用权利要求1所述的用于处 理跨IPv4和IPv6网络的存储代理系统进行处理,其特征在于包括以下步骤(1)初始化过程目标节点注册管理模块(110)对存储基本信息初始化,通信管理器 (112)对通信管理信息初始化;(2)主控单元(100)接到数据包并对所接收的数据包判断是否是IPv6数据包,如果 是IPv6数据包,则查询目标节点服务信息注册表和发起者节点通信信息表,判断是否来自 IPv6发起者节点,如果是,则放入IPv6输入缓冲,否则丢弃;如果是IPv4数据包,则判断是 否来自IPv4目标节点,如果是,则放入IPv4输入缓冲,否则丢弃;(3 ) PDU解析器(104 )对经过步骤(2 )处理后的接收到的数据包进行数据包解析,通过 数据包内部结构判断数据包类型;根据数据包中iSCSI报文类型,分别交给命令解析单元 (102)或数据处理单元(106)处理;(4)经步骤(3)处理的数据再经PDU构造器(107)转换、构造成新的数据包,放入对应 的IPv4输出缓冲区(103)或IPv6输出缓冲区(108),等待发送;(5)根据报文通信情况,由通信管理器(112)修改通信管理相关记录表;回到步骤(2), 循环工作。
3.根据权利要求2所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征在 于所述步骤(3)中的判断数据包类型具体指a、如果是基于iSCSI的状态报文和命令报文,则进一步进行命令解析,查看通信管理 状态表,判断命令、状态是否合法,如果非法则进行错误处理;b、如果是基于iSCSI的数据报文,则查看数据收发记录,检查数据有效性,对无效数据 进行错误处理;对有效数据报文,按照协商参数表进行数据拆分与封装处理。
4.根据权利要求1所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征在 于步骤(2)中的目标节点服务信息注册表和发起者节点通信信息表具体包括下表所示的 各个字段①目标节点服务信息注册表包括目标节点序号、目标节点名字、目标节点的IPv4地 址、目标节点通信端口号、接口组标记;②发起者节点通信信息表包括发起者节点序号、发起者节点名字、发起者节点的 IPv6地址、发起者节点通信端口号、发起者节点会话ID。
5.根据权利要求3所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征在 于所述通信管理状态表包括任务映射表、连接记录表、会话记录表,(a)、任务映射表包括任务序号,记录发起者节点的任务标记,任务命令类型,读/ 写数据逻辑单元号,所属连接号,所属会话号,任务状态;(b)、连接记录表包括连接序号,发起者节点的IPv6地址,发起者节点的端口号,目标节点的IPv4地址,目标节点的端口号,存储代理提供的映射端口号,所属的会话序号, 任务状态;(c)、会话记录表包括会话序号,记录发起者节点名字,发起者节点端会话编号,记 录目标节点名字,目标节点端会话编号,目标节点端的端口组标记,会话状态。
6.根据权利要求3所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征在 于通过IPv6发起者节点和IPv4目标节点之间每一个通信元组IPv6发起者 节点IPv6地 址、IPv6发起者节点端口号、目标节点IP地址、目标节点端口号,对应端口映射池(109)的 映射端口,在网络层绑定进行网络通信的发起者节点和目标节点,用网络端口为发起者节 点和目标节点之间的会话建立一一对应的映射关系。
7.根据权利要求3所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征在 于通过IPv6发起者节点和IPv4目标节点之间每一个Nexus元组IPv6发起者节点名字、 发起者节点端会话编号、目标节点名字、端口组标记,定一个iSCSI会话连接的双方接口 ; 利用Nexus元组实现关联iSCSI层每个会话双方的映射。
8.根据权利要求5所述的用于处理跨IPv4和IPv6网络的存储代理方法,其特征在 于所述通信管理器(112)对IPv6发起者节点、存储代理系统和IPv4目标节点三者的通 信过程提供记录、查询和更新功能,主要通过文本参数协商信息管理、任务映射管理、连接 管理、会话管理等方面实现。
全文摘要
用于处理跨IPv4和IPv6网络的存储代理系统,包括主控单元、IPv6输入缓冲、IPv4输入缓冲、IPv4输出缓冲、IPv6输出缓冲、PDU解析器、PDU构造器、命令解析单元、数据处理单元、端口映射池、目标节点注册管理模块和通信管理器;方法为来自IPv6网络内部发起者节点的存储请求和存储数据包通过本系统解析、映射和处理后,发送给相应的存储目标节点;目标节点发送给IPv6节点的存储应答包和数据包也通过本系统缓冲、转换处理后转发给IPv6发起者节点。本发明为IPv6存储用户与IPv4存储系统的通信与数据传输提供中间转换和加速转发功能,提高IPv6用户使用存储服务效率。
文档编号H04L29/08GK101984638SQ20101053847
公开日2011年3月9日 申请日期2010年11月10日 优先权日2010年11月10日
发明者丁波, 刘宪成, 周娟, 王熠, 陈华山 申请人:河海大学常州校区
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1