一种支持包头压缩的工业SDN网络数据传输方法与系统与流程

文档序号:12730464阅读:446来源:国知局
一种支持包头压缩的工业SDN网络数据传输方法与系统与流程

本发明涉及网络技术领域,更具体的说是涉及一种支持包头压缩的工业SDN网络数据传输方法与系统。



背景技术:

随着互联网技术的发展,工业信息互联和设备IP化逐渐成为未来工业网络的发展方向。IP协议的头部有大量的冗余信息,降低了信道利用率。对于信道带宽有限的网络和多种复杂头部的新协议的广泛使用,问题就变得更加突出。例如,一个基于TCP/IPv4协议的应用,其基本包头长度为40字节,当使用IPv6后,包头长度增加到60字节。而在工业网络中,传输的数据往往是温度、压力等传感数据,有效的数据负载只有几个字节,相对于几十字节的包头而言,有效负载的传输效率非常低。因此,对于此类数据的传输,希望能利用有限的带宽资源,提高有效传输效率。目前一种广泛采用的方式是采用头部压缩技术来减小IP协议封装引入的额外开销。

软件定义网络(SDN)是目前一种新型网络创新架构,将网络管理与物理网络拓扑分离,摆脱硬件对网络架构的限制,这样用户便可以像升级、安装软件一样对网络进行修改,而底层的数据层设备,如交换机、路由器等硬件则无需替换,节省大量的成本的同时,为核心网络及应用的创新提供了良好的平台。SDN网络固有的网络架构和“软件”属性可以方便的实现对交换机的控制和功能添加。但现有的SDN网络协议(openflow)并没有对数据包头压缩功能的支持,无法在SDN网络中进行数据压缩。而且SDN网络的流表查找是基于包头多元组的匹配,耗时长,降低了转发速度。因此亟需改进。



技术实现要素:

有鉴于此,本发明提供一种支持包头压缩的工业SDN网络数据传输方法与 系统,通过对数据包包头进行压缩和标识,能够节省带宽开销和数据转发速度,提高数据传输效率,从而提高工业网络的整体传输性能。

本发明为实现上述目的所采用的技术方案是:一种基于包头压缩的工业SDN网络数据传输方法,包括以下步骤:

传输准备阶段:边缘交换机接收数据,并将所述数据转发给控制器;控制器根据所述数据包头信息分配传输路径,为非实时数据分配标识ID,并将分配结果以流表的形式发送给所述传输路径上的交换机;所述传输路径上的交互机接收控制器发送的流表并存储在本地的流表存储单元;

数据传输阶段,边缘交换机区分接收到的数据的协议类型,对于实时数据,直接进行转发操作;对于非实时数据,进行包头压缩/解压缩,并在包头加入/去除标识ID后进行转发;核心交换机区分接收到的数据的协议类型,实时数据匹配L2层包头信息,非实时数据匹配标识ID,按照匹配流表进行转发。

所述传输准备阶段,包括以下步骤:

Ingress边缘交换机接收数据,并将所述数据转发给控制器。

控制器接收Ingress边缘交换机发送来的数据,对所述数据的包头进行解析,提取数据包的L2层源/目的地址、协议类型;

根据所述数据包的协议类型判断数据是否为非实时数据,如果是实时数据,则根据L2层源/目的地址为其分配传输路径;如果为非实时数据,则继续提取L2层以上各层包头信息,根据L2层源/目的地址和其他层次包头信息分配所述数据包的传输路径,并分配标识ID;

将所述传输路径和标识ID的分配的结果转换成流表形式,并分别为所述传输路径上的交换机生成流表项;

将所述流表项分发到所述传输路径上的各交换机;

所述各交换机接收控制器发送来的流表项并存储在本地流表存储单元内,以供数据传输阶段使用。

所述非实时数据的流表项包括:

包头域,包括:数据入端口、MAC源地址、MAC目的地址、协议类型、标识ID、预留元组;

计数器域,与原Openflow协议相同;

行动域,在原Openflow协议基础上添加操作:压缩、解压缩、添加标识ID、去除标识ID。

所述行动域添加的操作的组成结构为:

Compress压缩操作:压缩操作类型号+压缩方式;

UnCompress解压缩操作:解压缩操作类型号+解压缩方式+原包头内容;

Add_ID添加标识ID:添加标识ID操作类型号+标识ID;

Remove_ID去除标识ID:去除标识ID操作类型号。

所述数据传输阶段,包括Ingress边缘交换机处理方法、核心交换机处理方法和Egress边缘交换机处理方法;

所述Ingress边缘交换机处理方法包括:

Ingress边缘交换机接收数据,对所述数据进行包头解析,提取L2层包头的源/目的地址、数据协议类型;

根据所述数据协议类型进行数据包类别判断,是实时数据或者非实时数据;

如果是实时数据,则将所述源/目的地址作为包头匹配的key,在本地流表存储单元中查找匹配的流表项;如果是非实时数据,则继续提取L2层以上各层包头信息作为包头匹配的key,在本地流表存储单元中查找匹配的流表项;

对于没有找到匹配流表项的数据,将所述数据转发给控制器,进入传输准备阶段流程;

对于找到流表项的非实时数据,压缩L2层以上的包头,并将所述匹配流表项中action指示的标识ID加入到包头中作为转发标识,然后按照流表项中action指示端口转发给核心交换机;对于找到流表项的实时数据,直接按照流表项中action指示端口转发给核心交换机;

所述核心交换机处理方法包括:

核心交换机接收数据,对所述数据进行包头解析,提取L2层包头的源/目的地址、数据协议类型;

根据所述数据协议类型进行数据包类别判断,是实时数据或者非实时数据;

如果是实时数据,则将所述源/目的地址作为包头匹配的key;如果是非实时数据,则提取标识ID作为包头匹配的key;

根据提取的所述包头匹配的key在本地流表单元中查找匹配的流表项,并按照流表项中action指示进行转发;

所述Egress边缘交换机处理方法包括:

Egress边缘交换机接收数据,对所述数据进行包头解析,提取L2层包头的源/目的地址、数据协议类型;

根据所述数据协议类型进行数据包类别判断,是实时数据或者非实时数据;

如果是实时数据,则将所述源/目的地址作为包头匹配的key,在本地流表单元中查找匹配的流表项,按照流表项中action指示进行转发;如果是非实时数据,则继续提取标识ID作为包头匹配的key,在本地流表单元中查找匹配的流表项,按照流表项中action指示去除包头中标识ID,解压缩L2层以上的包头,后转发。

所述压缩/解压缩方法为:

Ingress边缘交换机借助压缩算法使数据包头所占用字节减少,在数据包传输过程中携带压缩后的包头,到Egress边缘交换机处再解压缩成原数据包;或,

在Ingress边缘交换机将要压缩的数据包头完全去除,传递过程中携带信息减少,到Egress边缘交换机处再将去除的包头还原。

一种基于包头压缩的工业SDN网络数据传输系统,包括:

控制器,用于对整体数据传输系统进行管理和传输控制,接收交换机发送的数据传输请求,为其分配数据传输路径和转发标识;

交换机,用于传输数据,根据控制器分配的转发标识和传输路径,对数据进行压缩/解压缩、包头修改和转发。

所述控制器,包括:

第一数据包解析单元,用于对从交换机发送来的无匹配流表项的数据包进行解析,提取L2层包头的源/目的地址、数据协议类型;

第一类型判定单元,用于对所述数据包的数据协议类型进行判定,区分实时数据和非实时数据;

第一包头提取单元,用于对非实时数据的标识ID、L3层包头信息进行提取;

路径分配单元,用于根据提取的所述包头信息为数据包分配传输路径,确定数据包传输经过的交换机和转发端口;

标识分配单元,为非实时数据分配标识ID作为在包头压缩期间进行数据转发的标识;

流表项生成单元,将分配的数据传输路径信息和标识ID信息转换成各交换机流表项的形式,并发送给所有数据包传输经过的交换机;

第一基本处理单元,用于控制器与交换机之间进行数据通讯的协议的处理;

交换机接口单元,为控制器与交换机进行信息通讯的接口。

所述交换机,包括:

控制器接口单元,为交换机与控制器进行信息通讯的接口。

第二基本处理单元,用于交换机与控制器之间进行数据通讯的协议的处理;

接收单元,用于接收其他交换机或者终端发送来的数据包;

第二数据包解析单元,用于对交换机接收到的数据包进行解析,提取L2层包头的源/目的地址、数据协议类型;

第二类型判定单元,用于对数据包的数据协议类型进行判定,区分实时数据和非实时数据;

第二包头提取单元,用于对非实时类型数据的标识ID、L3层包头信息进行提取;

流表匹配单元,用于将所述包头提取单元提取的数据包的key与所述流表存储单元中的所有流表的头域进行匹配,如果有匹配流表项,则由流表执行单 元进行处理;如果没有,则将数据包发送给控制器;

流表存储单元,用于存储本地流表项;

流表执行单元,用于按照流表的指定动作对数据包进行操作;

发送单元,用于将数据包从交换机指定端口发送出去。

所述流表执行单元按照流表的指定动作对数据包进行的操作,包括:为非实时数据添加\删除标识ID、L2层以上的包头信息进行压缩/解压缩、按指定端口转发。

本发明具有以下优点及有益效果:

经由上述的技术方案可知,与现有技术相比,本发明方法通过增加边缘交换机对数据包头的压缩/解压缩和标识添加/去除功能,使SDN网络能够对数据包进行压缩和基于标识的传输,加快转发速度,节省传输带宽,提升当前工业网络数据传输效率。

附图说明

图1为本发明在工业网络部署的一个实施例的示意图;

图2为本发明实时和非实时类型数据包帧格式的示意图;

图3为本发明工业SDN网络数据传输方法的一个实施例的流程示意图;

图4a为本发明工业SDN网络数据传输方法中的控制器处理流程示意图;

图4b为本发明工业SDN网络数据传输方法中的Ingress边缘交换机处理流程示意图;

图4c为本发明工业SDN网络数据传输方法中的核心交换机处理流程示意图;

图4d为本发明工业SDN网络数据传输方法中的Egress边缘交换机处理流程示意图;

图5为本发明在数据传输过程中流表和数据包状态的一个实施例示意图;

图6为本发明工业SDN网络数据传输系统的一个实施例的结构示意图。

具体实施方式

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

参见图1,示出了本发明在工业网络部署的一个实施例的示意图,整体网络系统分为两个层面,管理层和数据层。管理层由一个或多个分布式的管理器组成,负责管理域内的数据层设备的管理、路径分配和流表的制定;数据层由多个SDN交换机和终端设备组成,其中SDN交换机根据在数据链路中位置的不同分为三种:Ingress边缘交换机、核心交换机和Egress边缘交换机。Ingress边缘交换机位于数据链路的起始端,连接数据发送设备;核心交换机位于数据链路的中间部分,不直接连接数据终端;Egress边缘交换机位于数据链路的终端,连接数据接收设备。所有SDN交换机都接收管理器的流表,根据流表对数据进行操作。终端设备可以为普通的终端,如PC机,传输数据为标准的TCP/IP数据;也可以是工业控制设备,如Profinet设备和Profinet控制器,传输数据为标准的TCP/IP数据和实时数据。

参见图2,示出了实时和非实时类型数据包帧格式的示意图。

需要说明的是,本发明所指的实时数据和非实时数据泛指可通过某个或某几个标志位进行区分的两种的数据的统称。可以指代不同协议类型的数据,如profinet实时数据和非实时数据;也可以为不同内容的数据,如控制数据和视频数据。这里以工业领域中比较常见的profinet实时数据(实时数据)和普通TCP/IP数据(非实时数据)为例,对本发明方法进行说明。

profinet实时数据(以下统称为实时数据)帧格式见图2实时数据帧格式,在L2层包头之后封装了profinet专有数据负载。实时数据基于802.1Q协议。802.1Q定义了一个新的以太网帧字段,这个字段添加在以太网帧的源MAC之后,长度/类型字段之前。802.1Q封装共4个字节,包含2个部分:TPID(Etype), Tag Control Info;

TPID(Etype):长度为2个字节,固定为0x8100,标识报文的封装类型为以太网的802.1Q封装;

TCI:包含三个部分:用户优先级、CFI、VLAN-ID;

用户优先级(PCP):这3位指明帧的优先级,一共有8种优先级。

CFI:以太网交换机中,规范格式指示器总被设置为0。

VID:VLAN ID是对VLAN的识别字段。

普通TCP/IP数据(以下统称为非实时数据)帧格式见图2非实时数据,在L2层以太网包头之后封装了L3层IP包头及L4层TCP包头。L2层包头包括了以太网源MAC地址、目的MAC地址和Type字段。其中Type字段指明以太网帧所携带的上层数据类型。如IPv4为0x0800,ARP为0x0806,802.1Q为0x8100。

参照实时数据和非实时数据的包头格式,非实时数据L2层包头的type字段和实时数据L2层包头的TPID字段虽然在各自协议中代表的意义不同,但实质上都指明了上层数据包封装的协议。因此可以用数据L2层包头的MAC源地址后的2字节对数据类型进行区分:如果该字段的值为0x8100代表为802.1q封装,即为profinet实时数据;如果该字段的值为0x0800代表为IPv4,即为非实时数据。

参见图3,示出了本发明一种工业SDN网络数据传输方法的一个实施例的流程示意图,该方法包括:

步骤301:传输准备阶段,边缘交换机接收数据,并将所述数据转发给控制器。控制器根据所述数据包头信息分配传输路径,为非实时数据分配标识ID,并将分配结果以流表的形式发送给所述传输路径上的交换机。所述传输路径上的交互机接收控制器分配的流表并存储在本地的流表存储单元;

其中,传输准备阶段是指SDN网络第一次接收到传输数据,此时SDN网络中的交换机没有与所述数据相关的流表信息,因此需要将数据转发给控制器进行处理。传输准备阶段的控制器处理流程示参见图4a。

步骤401:控制器接收边缘交换机发送来的数据,对所述数据的包头进行解析,提取数据包的L2层源/目的地址、协议类型;

其中,提取的数据包头信息还可以包括L2层包头的其他信息,如用户优先级PCP、VLAN的识别字段VID。

步骤402:根据所述数据包的协议类型判断数据是否为非实时数据,如果是实时数据,根据L2层源/目的地址为其分配传输路径;如果为非实时数据,需要继续提取L2层以上各层包头信息,根据L2层源/目的地址和其他层次包头信息分配所述数据包的传输路径,并分配标识ID;

数据包协议类型的判断可以根据L2层的协议类型(Type)字段,如果该字段的数值为0x8100,判断为实时数据;如果该字段的值为0x0800判断为非实时数据。也可以加入其他多个标识进行综合判断,如根据L2层的协议类型(Type)字段、PCP、VID字段,进行更加细致的区分。本发明中该实施例为尽可能简单的说明方法和原理,仅按照Type字段进行判断,但是本发明方法同样适用于其他较为复杂的多标识综合判断。

标识ID为该数据流在SDN网络中进行传输的唯一识别标签,所有交换机都通过该标识ID对数据流进行识别和转发。需要说明的是,本发明所说的标识ID的分配可以为按数据流请求的先后顺序,如第一个数据流请求为1,依次累加;也可以按一定的算法编码,在这里不再详细说明。

步骤403:将所述传输路径和标识ID的分配的结果转换成流表形式,并分别为所述传输路径上的交换机生成流表项;

SDN网络目前主流协议为Openflow协议。Openflow协议的流表表项包括三个域,包头域(header field),计数器(counters),行动(actions)。Openflow1.0版本中规定,包头域包括数据入端口、MAC源地址、MAC目的地址、以太网帧类型、Vlan ID、PCP、IP源地址、IP目的地址、IP协议类型、IP Tos、TCP/UDP源端口、TCP/UDP目的端口等12个元组。这些元组包含了数据包各层的特征,是对数据包进行识别的关键值(key)。计数器用来进行数据统计。行动指明了 与包头域匹配的数据所要进行的操作,包括,发送到指定端口、丢弃、发送到控制器、修改包头等操作。一个流表项的行动可以有多个,按顺序执行,如先修改包头,再发送到指定端口。

实时数据的流表项不做修改,仍采用Openflow标准的流表项形式。非实时数据要进行包头压缩和解压缩和标签转发功能,需要对流表项进行修改,本发明设计的非实时数据的流表项如下:

包头域包括:数据入端口、MAC源地址、MAC目的地址、协议类型、标识ID、预留元组;

计数器域与原Openflow协议相同;

行动域在原Openflow协议基础上添加操作类型:压缩、解压缩、添加标识ID、去除标识ID。

具体的,设计添加的行动域操作的组成结构为:操作类型号+内容。

压缩操作:压缩操作类型号+压缩方式;

解压缩操作:解压缩操作类型号+解压缩方式+原包头内容(第二种压缩方式);

添加标识ID:添加标识ID操作类型号+标识ID;

去除标识ID:去除标识ID操作类型号;

其中,需要说明的是,压缩和解压缩操作有两种方式,一种为算法压缩,入口交换机借助一定的算法使数据包头所占用字节减少,在数据包传输过程中携带压缩后的包头,到出口交换机再解压缩成原数据包;另一种为彻底压缩,即在入口交换机将要压缩的数据包头完全去除,传递过程中携带信息更少,到出口处再将去除的包头还原。第一种方法无需流表存储过多的包头信息,但是需要边缘交换机进行压缩和解压缩计算,需要一定的系统计算资源和时间;第二种方法无需过多的计算资源,但是需要在边缘交换机中存储原包头信息,比较占用存储资源。

步骤404:将所述流表项分发到所述传输路径上的各交换机。

需要说明的是,交换机与控制器之间的数据通信,如数据包上报、流表项的分发,都按照openflow协议规范进行传递,由于openflow协议是现有技术,这里不再详细说明,详细过程参见openflow协议规范说明。

传输准备阶段的最后,各交换机接收控制器发送来的流表项并存储在本地流表存储单元内,以供数据传输阶段使用。

步骤302:数据传输阶段,边缘交换机区分接收到的数据的协议类型,对于实时数据,直接进行转发操作;对于非实时数据,进行包头压缩/解压缩,并在包头加入/去除标识ID后进行转发。核心交换机区分接收到的数据的协议类型,实时数据匹配L2层及以下包头信息,非实时数据匹配标识ID,按照匹配流表进行转发。

其中,数据传输阶段是指控制器将流表分配完成后,数据在交换机中进行传递的阶段。分为3个子阶段:Ingress边缘交换机处理阶段、核心交换机处理阶段和Egress边缘交换机处理阶段。

Ingress边缘交换机的处理流程示参见图4b。

Ingress边缘交换机接收数据,对所述数据进行包头解析,提取L2层包头的源/目的地址、数据协议类型;

根据所述数据协议类型进行数据包类别判断,是实时数据或者非实时数据;

如果是实时数据,将所述源/目的地址作为包头匹配的key,在本地流表存储单元中查找匹配的流表项。如果是非实时数据,需要继续提取L2层以上各层包头信息,作为包头匹配的key,在本地流表存储单元中查找匹配的流表项;

对于没有找到匹配流表项的数据,将所述数据转发给控制器,进入传输准备阶段流程;

对于找到流表项的非实时数据,按照流表项中action指示压缩L2层以上的包头,并将所述匹配流表项中action指示的标识ID加入到包头中作为转发标识,然后按照流表项中action指示端口转发给核心交换机。对于找到流表项的实时数据,直接按照流表项中action指示端口转发给核心交换机。

核心交换机的处理流程示参见图4c。

核心交换机接收数据,对所述数据进行包头解析,提取L2层包头的源/目的地址、数据协议类型;

根据所述数据协议类型进行数据包类别判断,是实时数据或者非实时数据;

如果是实时数据,将所述源/目的地址作为包头匹配的key;如果是非实时数据,需要提取标识ID作为包头匹配的key。

根据提取的所述包头匹配的key在本地流表单元中查找匹配的流表项,并按照流表项中action指示进行转发。

Egress边缘交换机的处理流程示参见图4d。

Egress边缘交换机接收数据,对该数据进行包头解析,提取L2层包头的源/目的地址、数据协议类型;

根据所述数据协议类型进行数据包类别判断,是实时数据或者非实时数据;

如果是实时数据,将所述源/目的地址作为包头匹配的key,在本地流表单元中查找匹配的流表项,按照流表项中action指示进行转发;如果是非实时数据,需要继续提取标识ID作为包头匹配的key,在本地流表单元中查找匹配的流表项,按照流表项中action指示去除包头中标识ID,解压缩L2层以上的包头,后转发。

为了更加清楚的介绍数据在SDN网络传递过程中包头和流表的具体格式和操作方法,下面一个具体实例进行介绍。参见图5,为本发明在数据传输过程中流表和数据包操作方法的一个实施例的示意图。

图5分别示出了一条实时数据流(灰色背景)和一条非实时数据流(白色背景)在SDN网络的传输过程中数据包和流表的情况。数据传输经过了Ingress边缘交换机、核心交换机和Egress边缘交换机,流表分别对应流表A、流表B和流表C。数据包状态经历了4个时期,分别为:

(1).Ingress边缘交换机处理前

(2).Ingress边缘交换机处理后(核心交换机处理前)

(3).核心交换机处理后(Egress边缘交换机处理前)

(4).Egress边缘交换机处理后

在(1)时段,实时数据的包头信息只有L2层,包括MAC源地址、MAC目的地址、数据协议类型、Vlan ID、PCP;非实时数据的包头信息除L2层MAC源地址、MAC目的地址、数据协议类型、Vlan ID、PCP外还包括L3层IP源地址、IP目的地址、IP协议类型、IP Tos和L4层TCP/UDP源端口、TCP/UDP目的端口等。Ingress边缘交换机在接收到数据包以后,将数据包头各层提取出的包头信息作为key与交换机中所有流表的包头项进行比较,如果没有任何一个流表项与数据包的key相同,则认为匹配失败,交换机会将数据包发送给管理器,进入传输准备阶段处理流程;如果完全相同,则匹配成功,交换机会按照与之匹配的流表项的action内容进行操作。在Ingress边缘交换机中已经存在控制器为数据流分配的流表项,实时数据流匹配流表A中第一条流表项,非实时数据流匹配流表A中第二条流表项。因此Ingress边缘交换机按照匹配的流表项的action内容依次进行操作。对于非实时数据,流表项1中action内容为Compress,Add_ID:c和Output:1。因此,Ingress边缘交换机先调用数据包处理单元将非实时数据包的L3和L4层包头进行压缩形成压缩包头,再将标识c添加到L2层包头之后压缩包头之前,最后将数据包按照Output:1在端口1发出。对于实时数据,流表项2中action内容为Enqueue:2:1,Ingress边缘交换机将数据包从端口2的队列1中发出。

其中,对于实时数据的发送需要交换机支持802.1q。

需要说明的是,如果采用的是第二种压缩方式,即彻底压缩,L3和L4层包头被完全去除,数据传递过程中没有压缩包头字段。

在(2)时段,由于在Ingress边缘交换机处进行了数据包头的压缩和标识ID的添加,非实时数据的包头已经改变,包头信息包括MAC源地址、MAC目的地址、数据协议类型、标识ID、压缩包头。可将MAC源地址、MAC目的地址、数据协议类型、标识ID作为包头匹配key,也可仅使用标识ID作为包头匹配 key。实时数据的包头不变。核心交换机在接收到数据包以后,对于非实时数据,提取MAC源地址、MAC目的地址和标识ID作为key进行流表匹配,见流表B中的第一个表项,查找到匹配流表项后按照action内容操作,即将数据包从3端口中发出;对于实时数据,匹配第二个流表项,action内容为Enqueue:4:1,核心交换机将数据包从端口4的队列1中发出。

在(3)时段,实时数据和非实时数据包头信息都与(2)时段相同,Egress边缘交换机接收到数据包以后,对于非实时数据,提取MAC源地址、MAC目的地址和标识ID作为key进行流表匹配,查找到匹配流表项(见流表C中的第一个表项),后按照action内容操作,UnCompress解压缩压缩包头字段,如果采用的是彻底压缩方式则按照UnCompress后内容将原数据包头恢复,再删除标识ID字段,最后将数据包从端口2发出。对于实时数据,匹配流表C中第二个流表项,action内容为Enqueue:3:1,核心交换机将数据包从端口3的队列1中发出。

在(4)时段,非实时数据的包头又转换成进入SDN网络前的原始数据包头。

对应本发明的方法,参见图6,示出了本发明一种工业SDN网络数据传输系统的一个实施例的结构示意图,该系统包括:控制器601和交换机602。

控制器601,用于对整体数据传输系统进行管理和传输控制,接收交换机发送的数据传输请求,为其分配数据传输路径和转发标识。具体包括:

第一数据包解析单元610,用于对从交换机发送来的无匹配流表项的数据包进行解析,提取L2层包头的源/目的地址、数据协议类型;

第一类型判定单元611,用于对所述数据包的数据协议类型进行判定,区分实时数据和非实时数据。

第一包头提取单元612,用于对非实时类型数据的标识ID、L3层包头信息进行提取。

路径分配单元613,用于根据提取的所述包头信息为数据包分配传输路径,确定数据包传输经过的交换机和转发端口。

标识分配单元614,为非实时数据分配标识ID作为在包头压缩期间进行数 据转发的标识。

流表项生成单元615,将分配的数据传输路径信息和标识ID信息转换成符合协议标准的各交换机流表项的形式,并发送给所有数据包传输经过的交换机。

第一基本处理单元616,用于控制器与交换机之间进行数据通讯的协议的相关处理。

交换机接口单元617,控制器与交换机进行信息通讯的接口。

交换机602,用于传输数据,根据控制器分配的转发标识和传输路径,对数据进行压缩/解压缩、包头修改和转发。具体包括:

控制器接口单元620,交换机与控制器进行信息通讯的接口。

第二基本处理单元621,用于交换机与控制器之间进行数据通讯的协议的相关处理。

接收单元622,用于接收其他交换机或者终端发送来的数据包。

第二数据包解析单元623,用于对交换机接收到的数据包进行解析,提取L2层包头的源/目的地址、数据协议类型;

第二类型判定单元624,用于对数据包的数据协议类型进行判定,区分实时数据和非实时数据。

第二包头提取单元625,用于对非实时类型数据的标识ID、L3层包头信息进行提取。

流表匹配单元626,用于将所述包头提取单元提取的数据包的关键信息(key)与所述流表存储单元中的所有流表的头域进行匹配,如果有匹配流表项,则由流表执行单元进行处理;如果没有,则将数据包发送给控制器;

流表存储单元627,用于存储本地流表项。

流表执行单元628,用于按照流表的指定动作对数据包进行操作,包括为非实时数据添加\删除标识ID、L2层以上的包头信息进行压缩/解压缩、按指定端口转发等操作。

发送单元629,用于将数据包从交换机指定端口发送出去。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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