数据传输方法及系统与流程

文档序号:17357936发布日期:2019-04-09 21:51阅读:182来源:国知局
数据传输方法及系统与流程

本发明涉及数据传输技术领域,特别涉及数据传输方法及系统。



背景技术:

NDN网络(Named Data Networking,命名数据网络)采用名称路由,通过路由器来缓存内容,从而使数据传输更快,并能提高内容的检索效率。NDN网络主要采用两种报文来获取具有特定名称的数据,一种是Interest Packet(兴趣包),一种是Data Packet(数据包)。主机使用Interest Packet向整个网络广播所需要的数据的名称,当一个路由器缓存有Interest Packet所需求的名称所对应的数据时,则将数据放在Data Packet报文中响应回复。

IPv6(Internet Protocol Version 6)协议是互联网工程任务组设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。

IPv6网络和NDN网络是两种异构网络,IPv6网络是基于IPv6地址路由IPv6报文的,NDN网络是基于名称路由NDN报文的。在现有技术中,上述两种网络的数据报文都无法在对方网络中直接传输。

综上所述,提供一种实现数据跨NDN网络和IPv6网络进行传输的数据传输方法是十分必要的。



技术实现要素:

本发明实施例提供了数据传输方法及系统,用于解决现有技术中数据无法跨NDN网络和IPv6网络进行传输的问题。技术方案如下:

第一方面,本发明实施例提供了一种数据传输方法,应用于数据传输系统,所述数据传输系统包括SDN控制器、作为数据发送端的第一SDN交换机和作为数据接收端的第二SDN交换机,所述SDN控制器通信控制所述第一SDN交换机和所述第二SDN交换机,所述第一SDN交换机连接第一NDN网络和IPv6网络,所述第二SDN交换机连接第二NDN网络和所述IPv6网络;

所述方法包括:

在所述第一SDN交换机接收到由所述第一NDN网络路由的目标NDN报文后,所述SDN控制器接收由第一SDN交换机发送的所述目标NDN报文;

所述SDN控制器基于接收到的所述目标NDN报文,确定目的IPv6地址;

所述SDN控制器生成IPv6报文头的流标签字段值;

所述SDN控制器向所述第一SDN交换机和所述第二SDN交换机分别下发第一指令和第二指令;

所述第一SDN交换机基于所述第一指令,对所述目标NDN报文封装包含目的IPv6地址和所述流标签字段值的IPv6报文头;

所述第一SDN交换机将封装有所述IPv6报文头的目标NDN报文通过所述IPv6网络发送给所述第二SDN交换机;

所述第二SDN交换机在接收到封装有所述IPv6报文头的目标NDN报文后,基于第二指令,解除封装在所述目标NDN报文上的所述IPv6报文头;

所述第二SDN交换机将解除封装后的所述目标NDN报文发送至所述第二NDN网络。

优选的,所述SDN控制器基于接收到的所述目标NDN报文,确定目的IPv6地址,包括:

所述SDN控制器基于接收到的所述目标NDN报文,判断所述目标NDN报文的报文类型;

如果所述目标NDN报文为Interest Packet,若所述IPv6网络中包括两个以上与所述第二NDN网络相连接的第二SDN交换机,将所有所述第二SDN交换机加入一个IPv6组播组,并确定所述IPv6组播组的IPv6组播地址为目的IPv6地址;若IPv6网络中仅存在一个与所述第二NDN网络相连接的第二SDN交换机,确定该第二SDN交换机的IPv6地址为目的IPv6地址;

如果所述目标NDN报文为Data Packet,在本地预先存储的NDN报文名称与IPv6地址的对应关系表中,查找出与所述目标NDN报文的名称对应的IPv6地址,并确定与所述目标NDN报文的名称对应的IPv6地址为目的IPv6地址。

优选的,如果所述目标NDN报文为Interest Packet,所述方法还包括:

所述SDN控制器将所述目标NDN报文的名称与所述第一SDN交换机的IPv6地址作为一个对应关系存储到本地。

优选的,所述第一指令包括第一流表,所述第二指令包括第二流表;

其中,若所述目标NDN报文为Interest Packet,所述第一流表包括同所述目标NDN报文匹配的匹配规则信息;若所述目标NDN报文为Data Packet,所述第一流表包括同所述目标NDN报文对应的Interest Packet所对应的所有Data Packet相匹配的匹配规则信息;所述第一流表还包括处理动作指示信息:对所述NDN报文封装包含所述目的IPv6地址和所述流标签字段值的IPv6报文头,以及将封装有所述IPv6报文头的NDN报文发通过所述IPv6网络送给所述第二SDN交换机;所述第二流表包括同报文头中包含有所述流标签字段值的IPv6报文相匹配的匹配规则信息,所述第二流表还包括处理动作指示信息:解除封装在相匹配的IPv6报文的IPv6报文头,将解除封装后得到的NDN报文发送至所述第二NDN网络。

第二方面,本发明实施例提供了另一种数据传输方法,应用于数据传输系统,所述数据传输系统包括SDN控制器、作为数据发送端的第三SDN交换机和作为数据接收端的第四SDN交换机,所述SDN控制器通信控制所述第三SDN交换机和所述第四SDN交换机,所述第三SDN交换机连接第一IPv6网络和NDN网络,所述第四SDN交换机连接所述NDN网络和第二IPv6网络;

所述方法包括:

在所述第三SDN交换机接收到由所述第一IPv6网络路由的目标IPv6报文后,所述SDN控制器接收由第三SDN交换机发送的所述目标IPv6报文;

所述SDN控制器生成NDN报文用的名称;

所述SDN控制器基于接收到的所述目标IPv6报文和所述名称,向所述第三SDN交换机和所述第四SDN交换机分别下发第三指令和第四指令;

所述第三SDN交换机基于所述第三指令,将所述目标IPv6报文封装成Name字段为所述名称的NDN数据;

所述第四SDN交换机基于所述第四指令,向所述NDN网络发送Name字段为所述名称的Interest Packet;

所述第三SDN交换机在接收到所述Interest Packet后,基于所述第三指令,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;

所述第四SDN交换机基于所述第四指令,解除所述目标IPv6报文的NDN封装;

所述第四SDN交换机基于所述第四指令,将解除封装后的所述目标IPv6报文发送至所述第二IPv6网络。

优选的,所述第三指令包括第三流表,所述第四指令包括第四流表和发送Name字段为所述名称的Interest Packet的指令;

其中,所述第三流表包括同与所述目标IPv6报文属于同一报文流的所有IPv6报文相匹配的匹配规则信息;所述第三流表还包括处理动作指示信息:将相匹配的IPv6报文封装成Name字段为所述名称的NDN数据,在接收到Name字段为所述名称的Interest Packet后,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;所述第四流表包括同对应所述Interest Packet的所有Data Packet相匹配的匹配规则信息,所述第四流表还包括处理动作指示信息:解除相匹配的Data Packet的NDN封装,以及将解除封装后得到的IPv6报文发送至所述第二IPv6网络。

第三方面,本发明实施例提供了一种数据传输系统,包括SDN控制器、作为数据发送端的第一SDN交换机和作为数据接收端的第二SDN交换机,所述SDN控制器通信控制所述第一SDN交换机和所述第二SDN交换机,所述第一SDN交换机连接第一NDN网络和IPv6网络,所述第二SDN交换机连接第二NDN网络和所述IPv6网络;

所述SDN控制器包括:

第一接收模块,用于在所述第一SDN交换机接收到由所述第一NDN网络路由的目标NDN报文后,接收由第一SDN交换机发送的所述目标NDN报文;

确定模块,用于基于接收到的所述目标NDN报文,确定目的IPv6地址;

第一生成模块,用于生成IPv6报文头的流标签字段值;

第一下发模块,用于向所述第一SDN交换机和所述第二SDN交换机分别下发第一指令和第二指令;

所述第一SDN交换机包括:

第一封装模块,用于基于所述第一指令,对所述目标NDN报文封装包含目的IPv6地址和所述流标签字段值的IPv6报文头;

第一发送模块,用于将封装有所述IPv6报文头的目标NDN报文通过所述IPv6网络发送给所述第二SDN交换机;

所述第二SDN交换机包括:

第一解除封装模块,用于在接收到封装有所述IPv6报文头的目标NDN报文后,基于第二指令,解除封装在所述目标NDN报文上的所述IPv6报文头;

第二发送模块:将解除封装后的所述目标NDN报文发送至所述第二NDN网络。

优选的,所述SDN控制器中的确定模块,包括:

判断子模块,用于基于接收到的所述目标NDN报文,判断所述目标NDN报文的报文类型;

确定子模块,用于在所述判断子模块判断出所述目标NDN报文为Interest Packet的情况下,若所述IPv6网络中包括两个以上与所述第二NDN网络相连接的第二SDN交换机,将所有所述第二SDN交换机加入一个IPv6组播组,并确定所述IPv6组播组的IPv6组播地址为目的IPv6地址;若IPv6网络中仅存在一个与所述第二NDN网络相连接的第二SDN交换机,确定该第二SDN交换机的IPv6地址为目的IPv6地址;

在所述判断子模块判断出所述目标NDN报文为Data Packet的情况下,在本地预先存储的NDN报文名称与IPv6地址的对应关系表中,查找出与所述目标NDN报文的名称对应的IPv6地址,并确定与所述目标NDN报文的名称对应的IPv6地址为目的IPv6地址。

优选的,所述SDN控制器,还包括:

存储模块,用于在所述目标NDN报文为Interest Packet的情况下,将所述目标NDN报文的名称与所述第一SDN交换机的IPv6地址作为一个对应关系存储到本地。

优选的,所述第一指令包括第一流表,所述第二指令包括第二流表;

其中,若所述目标NDN报文为Interest Packet,所述第一流表包括同所述目标NDN报文匹配的匹配规则信息;若所述目标NDN报文为Data Packet,所述第一流表包括同所述目标NDN报文对应的Interest Packet所对应的所有Data Packet相匹配的匹配规则信息;所述第一流表还包括处理动作指示信息:对所述NDN报文封装包含所述目的IPv6地址和所述流标签字段值的IPv6报文头,以及将封装有所述IPv6报文头的NDN报文通过所述IPv6网络发送给所述第二SDN交换机;所述第二流表包括同报文头中包含有所述流标签字段值的IPv6报文相匹配的匹配规则信息,所述第二流表还包括处理动作指示信息:解除封装在相匹配的IPv6报文的IPv6报文头,将解除封装后得到的NDN报文发送至所述第二NDN网络。

第四方面,本发明实施例提供了另一种数据传输系统,包括SDN控制器、作为数据发送端的第三SDN交换机和作为数据接收端的第四SDN交换机,所述SDN控制器通信控制所述第三SDN交换机和所述第四SDN交换机,所述第三SDN交换机连接第一IPv6网络和NDN网络,所述第四SDN交换机连接所述NDN网络和第二IPv6网络;

所述SDN控制器包括:

第二接收模块,用于在所述第三SDN交换机接收到由所述第一IPv6网络路由的目标IPv6报文后,接收由第三SDN交换机发送的所述目标IPv6报文;

第二生成模块,用于生成NDN报文用的名称;

第二下发模块,用于基于接收到的所述目标IPv6报文和所述名称,向所述第三SDN交换机和所述第四SDN交换机分别下发第三指令和第四指令;

所述第三SDN交换机包括:

第二封装模块,用于基于所述第三指令,将所述目标IPv6报文封装成Name字段为所述名称的NDN数据;

第三发送模块,用于在接收到Name字段为所述名称的Interest Packet后,基于所述第三指令,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;

所述第四SDN交换机包括:

第四发送模块,用于基于所述第四指令,向所述NDN网络发送Name字段为所述名称的Interest Packet;

第二解除封装模块,用于基于所述第四指令,解除所述目标IPv6报文的NDN封装;

第五发送模块,用于基于所述第四指令,将解除封装后的所述目标IPv6报文发送至所述第二IPv6网络。

优选的,所述第三指令包括第三流表,所述第四指令包括第四流表和发送Name字段为所述名称的Interest Packet的指令;

其中,所述第三流表包括同与所述目标IPv6报文属于同一报文流的所有IPv6报文相匹配的匹配规则信息;所述第三流表还包括处理动作指示信息:将相匹配的IPv6报文封装成Name字段为所述名称的NDN数据,在接收到Name字段为所述名称的Interest Packet后,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;所述第四流表包括同对应所述Interest Packet的所有Data Packet相匹配的匹配规则信息,所述第四流表还包括处理动作指示信息:解除相匹配的Data Packet的NDN封装,以及将解除封装后得到的IPv6报文发送至所述第二IPv6网络。

本方案解决了现有技术中数据无法跨NDN网络和IPv6网络进行传输的问题。本方案中,当NDN报文需要从某一NDN网络跨越IPv6网络传输到另一NDN网络中时,通过SDN控制器控制SDN交换机对NDN报文封装IPv6报文头使该NDN报文得以在该IPv6网络中传输,最后通过另一SDN交换机解除封装在NDN报文上的IPv6报文头,并传输到上述另一NDN网络中,实现了NDN报文跨越IPv6网络传输的功能;当IPv6报文需要从某一IPv6网络跨越NDN网络传输到另一IPv6网络中时,通过SDN控制器控制SDN交换机对IPv6报文封装NDN报文头使该IPv6报文得以在该NDN网络中传输,最后通过另一SDN交换机解除封装在IPv6报文上的NDN报文头,并传输到上述另一IPv6网络中,实现了IPv6报文跨越NDN网络传输的功能。本方案中使用SDN交换机连接IPv6网络和SDN网络,SDN交换机的部署可快速实现,且实现成本低,难度小;另外,使用SDN技术连接IPv6网络和NDN网络,使得IPv6报文可以跨NDN网络传输,NDN报文可以跨IPv6网络传输,实现了对IPv6网络和NDN网络两种异构网络的全局的资源调配和流量管控。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的应用场景示意图;

图2为本发明实施例中NDN报文跨IPv6网络传输的场景示意图;

图3为本发明实施例提供的一种数据传输方法的流程图;

图4为本发明实施例中IPv6报文跨NDN网络传输的场景示意图;

图5为本发明实施例提供的另一种数据传输方法的流程图;

图6为本发明实施例提供的一种数据传输系统的结构示意图;

图7为本发明实施例提供的另一种数据传输系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了清楚起见,首先对本发明实施例所涉及的应用场景做简单介绍。如图1所示,在整个系统中共存有多个NDN网络和多个IPv6网络,相邻的NDN网络和IPv6网络通过SDN交换机相连接,系统中所有的SDN交换机由SDN控制器通信控制。

本领域技术人员公知的是,SDN(Software Defined Network,软件定义网络)网络构架可以将传统路由器的数据平面和控制平面相分离,在控制平面进行软件程序设置,控制数据平面报文的封装和转发。这种网络构架将网络路由设备上的控制权分离出来,由集中的SDN控制器管理,无须依赖底层网络设备例如,路由器、交换机、防火墙等,屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。

SDN设备分为SDN控制器和SDN交换机。SDN控制器负责控制层面的规则制定和下发,SDN交换机负责数据层面的报文转发。

本发明实施例提供的一种数据传输方法,如图2所示,应用于数据传输系统,所述数据传输系统包括SDN控制器、作为数据发送端的第一SDN交换机和作为数据接收端的第二SDN交换机,所述SDN控制器通信控制所述第一SDN交换机和所述第二SDN交换机,所述第一SDN交换机连接第一NDN网络和IPv6网络,所述第二SDN交换机连接第二NDN网络和所述IPv6网络。

可以理解的是,上述数据发送端和数据接收端具体可以是指在图2所示的IPv6网络中,第一SDN交换机可以用于发送数据,第二SDN交换机可以用于接收数据。

如图3所示,本发明实施例提供的一种数据传输方法包括:

S101:在所述第一SDN交换机接收到由所述第一NDN网络路由的目标NDN报文后,所述SDN控制器接收由第一SDN交换机发送的所述目标NDN报文。

本领域技术人员可以理解的是,第一SDN交换机接收到由所述第一NDN网络路由的目标NDN报文后,若第一SDN交换机本地没有存储对应对该目标NDN报文进行处理的流表时,会将该目标NDN报文上送给SDN控制器。

S102:所述SDN控制器基于接收到的所述目标NDN报文,确定目的IPv6地址。

在本发明实施例中,所述SDN控制器基于接收到的所述目标NDN报文,确定目的IPv6地址,可以包括:

所述SDN控制器基于接收到的所述目标NDN报文,判断所述目标NDN报文的报文类型。

应该说明的是,NDN报文分为Data Packet和Interest Packet两种报文类型的报文,上述判断所述目标NDN报文的报文类型的具体方法属于现有技术,本申请在此不再赘述。可以理解,现有任何可以判断目标NDN报文类型的方法都可以应用于本申请中,本申请并不对判断目标NDN报文类型的具体方法。

对于上述判断,如果所述目标NDN报文为Interest Packet,若所述IPv6网络中包括两个以上与所述第二NDN网络相连接的第二SDN交换机,将所有所述第二SDN交换机加入一个IPv6组播组,并确定所述IPv6组播组的IPv6组播地址为目的IPv6地址;若IPv6网络中仅存在一个与所述第二NDN网络相连接的第二SDN交换机,确定该第二SDN交换机的IPv6地址为目的IPv6地址。

可以理解的是,SDN控制器通信控制系统中的所有SDN交换机,所以SDN控制器可以获知第二SDN交换机的数量。

本领域技术人员公知的是,组播技术指的是单个发送者对应多个接收者的一种网络通信技术,IPv6组播是指在IPv6网络中将Data Packet发送到网络中的某个确定节点子集,这个子集称为组播组(multicast group)。

在本发明实施例中,若所述IPv6网络中包括两个以上与所述第二NDN网络相连接的第二SDN交换机,第一SDN交换机只发送一份数据,这份数据的目的地址为组播组的IPv6地址,数据发送到组播组后,组播组中的所有第二SDN交换机都可接收到同样的数据,而网络中其它SDN交换机则不会收到同样的数据。

对于上述判断,如果所述目标NDN报文为Data Packet,在本地预先存储的NDN报文名称与IPv6地址的对应关系表中,查找出与所述目标NDN报文的名称对应的IPv6地址,并确定与所述目标NDN报文的名称对应的IPv6地址为目的IPv6地址。此时,在目的IPv6地址确定后,该目的IPv6地址所对应的SDN交换机即为第二SDN交换机。

由于在NDN网络中,主机使用Interest Packet向整个网络广播所需要的数据的名称,当一个路由器缓存有Interest Packet所需求的名称所对应的数据时,则将数据放在Data Packet报文中响应回复。故,在本发明实施例中,如果所述目标NDN报文为Data Packet,表明存在某一SDN交换机向网络中发送过对应的Interest Packet,在该SDN交换机向网络中发送对应的Interest Packet过程中,SDN控制器可以将该SDN交换机的IPv6地址记录在本地,因此SDN控制器很容易获知该SDN交换机的IPv6地址。

进一步的,在本发明实施例中,如果所述目标NDN报文为Interest Packet,为了获取相对于该Interest Packet的Data Packet的目的IPv6地址,在步骤S102和步骤S103之间,还可以包括步骤:

所述SDN控制器将所述目标NDN报文的名称与所述第一SDN交换机的IPv6地址作为一个对应关系存储到本地。

S103:所述SDN控制器生成IPv6报文头的流标签字段值。

在IPv6网络中,IPv6报文基于流来发送,并通过IPv6报文头中的3个字段:源IPv6地址、目的IPv6地址和流标签来共同确定一条流。IPv6网络中可以通过检查报文的流标签,就可以判断报文属于哪个流。在本发明实施例中,该流标签字段值就是上述流标签字段上的具体值,显然的,SDN交换机对拥有同一流标签字段值的数据报文的处理动作是相同。

S104:所述SDN控制器向所述第一SDN交换机和所述第二SDN交换机分别下发第一指令和第二指令。

可以理解的是,该第一指令包括指令信息:第一SDN交换机在识别出该目标NDN报文后,对该目标NDN报文封装包含所述目的IPv6地址和所述流标签字段值的IPv6报文头,以及第一SDN交换机将封装有所述IPv6报文头的该目标NDN报文发送至目的IPv6地址对应的SDN交换机,即发送给所述第二SDN交换机。

该第二指令包括指令信息:第二SDN交换机在识别出带有所述流标签字段值的IPv6报文后,对识别出的IPv6报文解除封装的所述IPv6报文头,以及将解除封装后的报文发送至所述第二NDN网络。可以理解的是,此处所述的带有所述流标签字段值的IPv6报文,表示该IPv6报文的报文头包含所述流标签字段值,该IPv6报文实质上就是封装了所述IPv6报文头的目标NDN报文,解除封装后的报文实质上即是所述目标NDN报文。

本领域技术人员公知的是,SDN的工作机制是SDN交换机将一条报文流的第一个报文上送给SDN控制器,SDN控制器根据这个上送的报文计算出流表(报文流的转发、封装规则),再下发给SDN交换机,该条流的后续报文再到达这个SDN交换机时,该SDN交换机能够直接在本地缓存中基于各个流表的匹配规则信息查找到对应该条流的报文的流表,并按照该流表中的处理动作指示信息处理该条流的报文,不会再次去和SDN控制器交互。对于每一条报文流,SDN交换机只在收到报文流的第一个报文时才会与SDN控制器发生交互,这种机制叫做报文流的首包上送机制。

在本发明实施例中,为了避免属于同一个流的所有NDN报文在通过该第一SDN交换机传输时均需要该第一SDN交换机与SDN控制器进行交互,所述第一指令可以包括第一流表,所述第二指令可以包括第二流表。

显然的,若所述目标NDN报文为Interest Packet,所述第一流表包括同所述目标NDN报文匹配的匹配规则信息;若所述目标NDN报文为Data Packet,所述第一流表包括同所述目标NDN报文对应的Interest Packet所对应的所有Data Packet相匹配的匹配规则信息;所述第一流表还包括处理动作指示信息:对所述NDN报文封装包含所述目的IPv6地址和所述流标签字段值的IPv6报文头,以及将封装有所述IPv6报文头的NDN报文通过所述IPv6网络发送至目的IPv6地址,即发送给所述第二SDN交换机。

应该说明的是,在NDN网络中每一个不同的Interest Packet可以看作一个流,属于同一个Interest Packet的所有Data Packet可以看成是一个流。

所述第二流表包括同报文头中包含有所述流标签字段值的IPv6报文相匹配的匹配规则信息,所述第二流表还包括处理动作指示信息:解除封装在相匹配的IPv6报文的IPv6报文头,将解除封装后得到的NDN报文发送至所述第二NDN网络。可以理解的是,解除封装后得到的NDN报文即是封装前的NDN报文。

可以理解的是,流表中是存在匹配规则信息的,SDN交换机只对流表所匹配的报文进行流表所指定的一系列处理动作。

S105:所述第一SDN交换机基于所述第一指令,对所述目标NDN报文封装包含目的IPv6地址和所述流标签字段值的IPv6报文头。

可以理解的是,在进行上述封装前,所述目标NDN报文包括NDN报文头和报文负载,封装后,整个目标NDN报文作为一个报文负载,该报文表现为一个拥有该IPv6报文头的IPv6报文。

S106:所述第一SDN交换机将封装有所述IPv6报文头的目标NDN报文通过所述IPv6网络发送给所述第二SDN交换机。

由于目标NDN报文封装了所述IPv6报文头,表现为一个IPv6报文,第一SDN交换机可基于上述第一指令和所述IPv6报文头中的目的IPv6地址,将报文发送至目的IPv6地址,即发送给所述第二SDN交换机。

S107:所述第二SDN交换机在接收到封装有所述IPv6报文头的目标NDN报文后,基于第二指令,解除封装在所述目标NDN报文上的所述IPv6报文头。

可以理解的是,解除封装后得到的报文即为所述目标NDN报文。

S108:所述第二SDN交换机将解除封装后的所述目标NDN报文发送至所述第二NDN网络。

应该说明的是,第二SDN交换机同样是基于第二指令来完成上述解除封装的动作的。

为了清楚起见,本发明实施例结合图1和图2对NDN报文跨IPv6网络传输的具体过程进行简单叙述,在图1中,标号为A、B和C的网络可分别对应为图2中的第一NDN网络、IPv6网络和第二NDN网络,标号为a和b的SDN交换机可分别对应为图2中的第一SDN交换机和第二SDN交换机。

参照图1所示,SDN交换机a接收到NDN网络A路由的NDN报文后,SDN交换机a首先在其本地查找流表,当其本地不存在对应该NDN报文的流表时,SDN交换机a无法处理该NDN报文,SDN交换机a将该NDN报文上送给SDN控制器。

SDN控制器接收到该NDN报文后,对该NDN报文的报文类型进行判别:

如果接收到的NDN报文是Interest Packet,则将该NDN报文的名称和SDN交换机a的IPv6地址的作为一对映射关系储存下来。

在该NDN报文为Interest Packet的情况下,如果IPv6网络B中包括两个以上与NDN网络C相连接的SDN交换机,SDN控制器将所有SDN交换机加入一个IPv6组播组,并确定所述IPv6组播组的IPv6组播地址为目的IPv6地址;在图1中,IPv6网络B中仅存在一个与NDN网络C相连接的SDN交换机b,此时,SDN控制器确定该SDN交换机b的IPv6地址为目的IPv6地址。

如果接收到的NDN报文为Data Packet,SDN控制器会在本地预先存储的NDN报文名称与IPv6地址的对应关系表中,查找出与该NDN报文的名称对应的IPv6地址,并确定与该NDN报文的名称对应的IPv6地址为目的IPv6地址。

然后,SDN控制器将对该NDN报文进行IPv6封装的指令以及封装中使用的IPv6报文头的流标签字段值下发给SDN交换机a。此外,SDN控制器将封装该NDN报文的相关信息和解封装的指令下发给SDN交换机b;该相关信息包括源IPv6地址、目的IPv6地址和该流标签字段值,其中,该源IPv6地址为SDN交换机a的IPv6地址,该目的IPv6地址为SDN控制器在上述步骤中确定的目的IPv6地址。

SDN交换机a接收到SDN控制器发送的封装命令和该流标签字段值后,对NDN报文封装IPv6报文头,该IPv6报文头中的IPv6目的地址为SDN控制器在上述步骤中确定的目的IPv6地址,IPv6源地址使用SDN交换机a的IPv6地址,流标签为上述流标签字段值。封装结束后,SDN交换机a将封装后的报文发送至IPv6网络B中,使该封装后的报被路由到SDN交换机b。

SDN交换机b接收到上述封装后的报文后,根据上述SDN控制器下发的封装该NDN报文的相关信息识别出封装后的报文。然后SDN交换机b根据对应的指令,先解除该封装后的报文的IPv6报文封装,然后再将解封装后的报文发送至NDN网络C,完成NDN报文跨IPv6网络传输。

本方案解决了现有技术中数据无法跨NDN网络和IPv6网络进行传输的问题。本方案中,当NDN报文需要从某一NDN网络跨越IPv6网络传输到另一NDN网络中时,通过SDN控制器控制SDN交换机对NDN报文封装IPv6报文头使该NDN报文得以在该IPv6网络中传输,最后通过另一SDN交换机解除封装在NDN报文上的IPv6报文头,并传输到上述另一NDN网络中,实现了NDN报文跨越IPv6网络传输的功能。本方案中使用SDN交换机连接IPv6网络和SDN网络,SDN交换机的部署可快速实现,且实现成本低,难度小;另外,使用SDN技术连接IPv6网络和NDN网络使得NDN报文可以跨IPv6网络传输,实现了对IPv6网络和NDN网络两种异构网络的全局的资源调配和流量管控。

可以理解,前述实施例中作为数据发送端的第一SDN交换机和作为数据接收端的第二SDN交换机,仅是为了方便说明具体操作而给定的名称,在实际应用中,根据业务需要,图1中的任何一个SDN交换机都可以作为发送数据的第一SDN交换机,也可以作为接收数据的第二SDN交换机。而且,同一个SDN交换机,在不同的时刻,既可能是发送数据的第一SDN交换机,也可能是接收数据的第二SDN交换机。

类似的,前述实施例中第一NDN网络、第二NDN网络是为了方便说明具体操作而给定的名称,其仅表示两个不同的NDN网络而已。在实际应用中,根据业务需要,第一NDN网络既可能向第二NDN网络传送数据,也可能接收来自第二NDN网络的数据。

本申请其他实施例中,也存在与前述类似的为了方便说明具体操作而给定名称的限定,其都是为了表述方便,并不是实质限定某个设备或网络仅具有什么功能。这里不再一一罗列。

本发明实施例提供的另一种数据传输方法,如图4所示,应用于数据传输系统,所述数据传输系统包括SDN控制器、作为数据发送端的第三SDN交换机和作为数据接收端的第四SDN交换机,所述SDN控制器通信控制所述第三SDN交换机和所述第四SDN交换机,所述第三SDN交换机连接第一IPv6网络和NDN网络,所述第四SDN交换机连接所述NDN网络和第二IPv6网络。

可以理解的是,上述数据发送端和数据接收端具体可以是指在图4所示的NDN网络中,第三SDN交换机可以用于发送数据,第四SDN交换机可以用于接收数据。

如图5所示,本发明实施例提供的一种数据传输方法包括:

S201:在所述第三SDN交换机接收到由所述第一IPv6网络路由的目标IPv6报文后,所述SDN控制器接收由第三SDN交换机发送的所述目标IPv6报文。

本领域技术人员可以理解的是,第三SDN交换机接收到由所述第一IPv6网络路由的目标IPv6报文后,若第三SDN交换机本地没有存储对应对该目标IPv6报文进行处理的流表时,会将该目标IPv6报文上送给SDN控制器。

S202:所述SDN控制器生成NDN报文用的名称。

应该强调的是,该NDN报文用的名称是唯一的,应保证该名称不与上述NDN网络中已有的名称相重复。

S203:所述SDN控制器基于接收到的所述目标IPv6报文和所述名称,向所述第三SDN交换机和所述第四SDN交换机分别下发第三指令和第四指令。

可以理解的是,该第三指令可以包括指令信息:第三SDN交换机在识别出所述目标IPv6报文后,将所述目标IPv6报文封装为Name字段为所述名称的NDN数据;在所述第四SDN交换机向所述NDN网络发送Name字段为所述名称的Interest Packet,并且第三SDN交换机接收到此Interest Packet后,第三SDN交换机将该NDN数据以Data Packet报文类型发送给所述第四SDN交换机。

所述第四指令包括指令信息:该第四SDN交换机向所述NDN网络发送Name字段为所述名称的Interest Packet,以及在接收到Name字段为所述名称的Data Packet后,该第四SDN交换机解除所述目标IPv6报文的NDN封装,并将解封后的所述目标IPv6报文发送至所述第二IPv6网络。

在本发明实施例中,为了避免属于同一个流的所有IPv6报文在通过该第三SDN交换机传输时均需要该第三SDN交换机与SDN控制器进行交互,所述第三指令可以包括第三流表,所述第四指令可以包括第四流表和发送Name字段为所述名称的Interest Packet的指令;

其中,所述第三流表包括同与所述目标IPv6报文属于同一报文流的所有IPv6报文相匹配的匹配规则信息;所述第三流表还包括处理动作指示信息:将相匹配的IPv6报文封装成Name字段为所述名称的NDN数据,在接收到Name字段为所述名称的Interest Packet后,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;所述第四流表包括同对应所述Interest Packet的所有Data Packet相匹配的匹配规则信息,所述第四流表还包括处理动作指示信息:解除相匹配的Data Packet的NDN封装,以及将解除封装后得到的IPv6报文发送至所述第二IPv6网络。

可以理解的是,解除封装后得到的IPv6报文即是上述封装前的IPv6报文。本领域技术人员公知的是,在实际的应用过程中,可以通过五元组:目的IPv6地址、源IPv6地址、目的端口号、源端口号以及传输层协议号来确定一条IPv6报文流,具体的确定方法可以参考现有技术。

S204:所述第三SDN交换机基于所述第三指令,将所述目标IPv6报文封装成Name字段为所述名称的NDN数据。

S205:所述第四SDN交换机基于所述第四指令,向所述NDN网络发送Name字段为所述名称的Interest Packet。

S206:所述第三SDN交换机在接收到所述Interest Packet后,基于所述第三指令,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机。

可以理解的是,发送给所述第四SDN交换机的Data Packet,其报文负载中包含有所述目标IPv6报文。显然的,上述传输的过程是发生在所述NDN网络中的。

另外,此处将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机,可以理解为,第三SDN交换机将该NDN数据被转换为Data Packet,然后将该Data Packet通过所述NDN网络发送给所述第四SDN交换机。

S207:所述第四SDN交换机基于所述第四指令,解除所述目标IPv6报文的NDN封装。

可以理解的是,解除封装后的报文即为所述目标IPv6报文。

S208:所述第四SDN交换机基于所述第四指令,将解除封装后的所述目标IPv6报文发送至所述第二IPv6网络。

为了清楚起见,本发明实施例结合图1和图4对IPv6报文跨NDN网络传输的具体过程进行简单叙述,在图1中,标号为D、E和F的网络可分别对应为图4中的第一IPv6网络、NDN网络和第二IPv6网络,标号为c和d的SDN交换机可对应为图4中的第三SDN交换机和第四SDN交换机。

参照图1所示,SDN交换机c接收到IPv6网络D路由的IPv6报文时,SDN交换机c首先在其本地查找流表,当其本地不存在对应该IPv6报文的流表时,SDN交换机c无法处理该IPv6报文,SDN交换机c将该IPv6报文上送给SDN控制器。

SDN控制器向SDN交换机c下发封装该IPv6报文的指令以及用于封装IPv6报文的名称,例如“a@IP”;而后,SDN交换机c将IPv6报文封装成名称为“a@IP”的NDN数据。

SDN控制器向NDN网络E中的SDN交换机d下发:发送名称为“a@IP”的Interest Packet的指令,以及对收到的名称为“a@IP”的Data Packet解封装的指令。而后,SDN交换机d向NDN网络E发送Name字段为“a@IP”的Interest Packet。

SDN交换机c接收到SDN交换机d所发送的该Interest Packet后,将在上述步骤中封装的名称为“a@IP”的NDN数据以Data Packet报文类型发送给SDN交换机d。

SDN交换机d将收到的名称为“a@IP”的Data Packet解去NDN封装,然后将解封获得的IPv6报文发送至IPv6网络F,完成IPv6报文跨NDN网络传输。

本方案解决了现有技术中数据无法跨NDN网络和IPv6网络进行传输的问题。本方案中,当IPv6报文需要从某一IPv6网络跨越NDN网络传输到另一IPv6网络中时,通过SDN控制器控制SDN交换机对IPv6报文封装NDN报文头使该IPv6报文得以在该NDN网络中传输,最后通过另一SDN交换机解除封装在IPv6报文上的NDN报文头,并传输到上述另一IPv6网络中,实现了IPv6报文跨越NDN网络传输的功能。本方案中使用SDN交换机连接IPv6网络和SDN网络,SDN交换机的部署可快速实现,且实现成本低,难度小;另外,使用SDN技术连接IPv6网络和NDN网络,使得IPv6报文可以跨NDN网络传输,实现了对IPv6网络和NDN网络两种异构网络的全局的资源调配和流量管控。

相应于图3所示的方法实施例,如图2和6所示,本发明实施例提供的一种数据传输系统,包括SDN控制器、作为数据发送端的第一SDN交换机和作为数据接收端的第二SDN交换机,所述SDN控制器通信控制所述第一SDN交换机和所述第二SDN交换机,所述第一SDN交换机连接第一NDN网络和IPv6网络,所述第二SDN交换机连接第二NDN网络和所述IPv6网络;

所述SDN控制器包括:

第一接收模块110,用于在所述第一SDN交换机接收到由所述第一NDN网络路由的目标NDN报文后,接收由第一SDN交换机发送的所述目标NDN报文;

确定模块120,用于基于接收到的所述目标NDN报文,确定目的IPv6地址;

第一生成模块130,用于生成IPv6报文头的流标签字段值;

第一下发模块140,用于向所述第一SDN交换机和所述第二SDN交换机分别下发第一指令和第二指令;

所述第一SDN交换机包括:

第一封装模块150,用于基于所述第一指令,对所述目标NDN报文封装包含目的IPv6地址和所述流标签字段值的IPv6报文头;

第一发送模块160,用于将封装有所述IPv6报文头的目标NDN报文通过所述IPv6网络发送给所述第二SDN交换机;

所述第二SDN交换机包括:

第一解除封装模块170,用于在接收到封装有所述IPv6报文头的目标NDN报文后,基于第二指令,解除封装在所述目标NDN报文上的所述IPv6报文头;

第二发送模块180:将解除封装后的所述目标NDN报文发送至所述第二NDN网络。

具体的,所述SDN控制器中的确定模块120,包括判断子模块和确定子模块(图中未示出):

判断子模块,用于基于接收到的所述目标NDN报文,判断所述目标NDN报文的报文类型。

确定子模块,用于在所述判断子模块判断出所述目标NDN报文为Interest Packet的情况下,若所述IPv6网络中包括两个以上与所述第二NDN网络相连接的第二SDN交换机,将所有所述第二SDN交换机加入一个IPv6组播组,并确定所述IPv6组播组的IPv6组播地址为目的IPv6地址;若IPv6网络中仅存在一个与所述第二NDN网络相连接的第二SDN交换机,确定该第二SDN交换机的IPv6地址为目的IPv6地址;

在所述判断子模块判断出所述目标NDN报文为Data Packet的情况下,在本地预先存储的NDN报文名称与IPv6地址的对应关系表中,查找出与所述目标NDN报文的名称对应的IPv6地址,并确定与所述目标NDN报文的名称对应的IPv6地址为目的IPv6地址。

具体的,所述SDN控制器,还包括:

存储模块(图中未示出),用于在所述目标NDN报文为Interest Packet的情况下,将所述目标NDN报文的名称与所述第一SDN交换机的IPv6地址作为一个对应关系存储到本地。

具体的,所述第一指令包括第一流表,所述第二指令包括第二流表;

其中,若所述目标NDN报文为Interest Packet,所述第一流表包括同所述目标NDN报文匹配的匹配规则信息;若所述目标NDN报文为Data Packet,所述第一流表包括同所述目标NDN报文对应的Interest Packet所对应的所有Data Packet相匹配的匹配规则信息;所述第一流表还包括处理动作指示信息:对所述NDN报文封装包含所述目的IPv6地址和所述流标签字段值的IPv6报文头,以及将封装有所述IPv6报文头的NDN报文通过所述IPv6网络发送给所述第二SDN交换机;所述第二流表包括同报文头中包含有所述流标签字段值的IPv6报文相匹配的匹配规则信息,所述第二流表还包括处理动作指示信息:解除封装在相匹配的IPv6报文的IPv6报文头,将解除封装后得到的NDN报文发送至所述第二NDN网络。

本方案解决了现有技术中数据无法跨NDN网络和IPv6网络进行传输的问题。本方案中,当NDN报文需要从某一NDN网络跨越IPv6网络传输到另一NDN网络中时,通过SDN控制器控制SDN交换机对NDN报文封装IPv6报文头使该NDN报文得以在该IPv6网络中传输,最后通过另一SDN交换机解除封装在NDN报文上的IPv6报文头,并传输到上述另一NDN网络中,实现了NDN报文跨越IPv6网络传输的功能。本方案中使用SDN交换机连接IPv6网络和SDN网络,SDN交换机的部署可快速实现,且实现成本低,难度小;另外,使用SDN技术连接IPv6网络和NDN网络使得NDN报文可以跨IPv6网络传输,实现了对IPv6网络和NDN网络两种异构网络的全局的资源调配和流量管控。

相应于图5所示的方法实施例,如图4和7所示,本发明实施例提供的一种数据传输系统,包括SDN控制器、作为数据发送端的第三SDN交换机和作为数据接收端的第四SDN交换机,所述SDN控制器通信控制所述第三SDN交换机和所述第四SDN交换机,所述第三SDN交换机连接第一IPv6网络和NDN网络,所述第四SDN交换机连接所述NDN网络和第二IPv6网络;

所述SDN控制器包括:

第二接收模块210,用于在所述第三SDN交换机接收到由所述第一IPv6网络路由的目标IPv6报文后,接收由第三SDN交换机发送的所述目标IPv6报文;

第二生成模块220,用于生成NDN报文用的名称;

第二下发模块230,用于基于接收到的所述目标IPv6报文和所述名称,向所述第三SDN交换机和所述第四SDN交换机分别下发第三指令和第四指令;

所述第三SDN交换机包括:

第二封装模块240,用于基于所述第三指令,将所述目标IPv6报文封装成Name字段为所述名称的NDN数据;

第三发送模块260,用于在接收到Name字段为所述名称的Interest Packet后,基于所述第三指令,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;

所述第四SDN交换机包括:

第四发送模块250,用于基于所述第四指令,向所述NDN网络发送Name字段为所述名称的Interest Packet;

第二解除封装模块270,用于基于所述第四指令,解除所述目标IPv6报文的NDN封装;

第五发送模块280,用于基于所述第四指令,将解除封装后的所述目标IPv6报文发送至所述第二IPv6网络。

具体的,所述第三指令包括第三流表,所述第四指令包括第四流表和发送Name字段为所述名称的Interest Packet的指令;

其中,所述第三流表包括同与所述目标IPv6报文属于同一报文流的所有IPv6报文相匹配的匹配规则信息;所述第三流表还包括处理动作指示信息:将相匹配的IPv6报文封装成Name字段为所述名称的NDN数据,在接收到Name字段为所述名称的Interest Packet后,将所述NDN数据以Data Packet报文类型发送给所述第四SDN交换机;所述第四流表包括同对应所述Interest Packet的所有Data Packet相匹配的匹配规则信息,所述第四流表还包括处理动作指示信息:解除相匹配的Data Packet的NDN封装,以及将解除封装后得到的IPv6报文发送至所述第二IPv6网络。

本方案解决了现有技术中数据无法跨NDN网络和IPv6网络进行传输的问题。本方案中,当IPv6报文需要从某一IPv6网络跨越NDN网络传输到另一IPv6网络中时,通过SDN控制器控制SDN交换机对IPv6报文封装NDN报文头使该IPv6报文得以在该NDN网络中传输,最后通过另一SDN交换机解除封装在IPv6报文上的NDN报文头,并传输到上述另一IPv6网络中,实现了IPv6报文跨越NDN网络传输的功能。本方案中使用SDN交换机连接IPv6网络和SDN网络,SDN交换机的部署可快速实现,且实现成本低,难度小;另外,使用SDN技术连接IPv6网络和NDN网络,使得IPv6报文可以跨NDN网络传输,实现了对IPv6网络和NDN网络两种异构网络的全局的资源调配和流量管控。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1