网络交换目的端口确定方法、装置及基于该装置的交换机与流程

文档序号:16848161发布日期:2019-02-12 22:30阅读:224来源:国知局
网络交换目的端口确定方法、装置及基于该装置的交换机与流程

本发明属于网络通信技术领域,特别涉及一种网络交换目的端口确定方法、装置及基于该装置的交换机。



背景技术:

转发表,也叫转发数据库或路由目录。网桥依靠转发表来转发帧,转发表是二层网络交换芯片经常用到的核心部件之一,转发表的设计只针对于某一种网络协议或某一种应用场景,如mac转发表只适用于以太网二层的转发,无法实现其他协议帧的转发。

软件定义网络(softwaredefinednetwork,sdn),是emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术openflow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。sdn网络可以将网络设备的控制功能和转发功能分离,进而将控制功能全部集中到远程的控制器上,而网络设备只负责数据的转发。因此,采用sdn交换机可以实现混合网络协议数据帧的转发。但是,应用sdn网络需要改变现有的网络结构,导致应用多种网络协议的多个数据帧混合转发时的成本增加。



技术实现要素:

为此,本发明提供一种网络交换目的端口确定方法、装置及基于该装置的交换机,以缓解现有技术中存在的应用多种网络协议的多个数据帧混合转发时的成本增加问题,进一步提升sdn网络架构中数据通信的性能。

按照本发明所提供的设计方案,一种网络交换目的端口确定方法,包含如下内容:

接收待转发数据帧,并获取数据帧的网络协议类型、目的地址和源端口号,生成包含目的地址和源端口号的对比值;

通过对比值获取对应散列值,并以散列值为地址,在预设转发表中读取存储有所述地址的转发表项;

提取转发表项中已学习对比值和目标端口号,将所述对比值与所述已学习对比值进行匹配,若匹配成功,则将所述目标端口号作为用于转发所述待转发数据帧的目的端口,若未匹配成功,则输出匹配失败通知。

上述的,按照与所述网络协议类型对应的对比值生成规则,生成包含目的地址和源端口号的对比值,该对比值生成规则中至少预设有网络协议类型为以太网协议、rapidio协议和光纤通道fiberchannel协议相对应的目的地址存储。

上述的,利用散列值算法对对比值进行计算来获取对应散列值。

优选的,所述散列值算法为crc32算法,或为crc16算法,或为求余运算。

上述的,预设转发表中包含多个转发表项,每个转发表项中至少包括已学习对比值和目的端口号。

优选的,已学习对比值位宽为49位,目的端口号在所述转发表项中的位宽由目的端口数量确定。

一种网络交换目的端口确定装置,包含生成模块、读取模块和匹配模块,其中,

生成模块,用于接收待转发数据帧,并获取数据帧的网络协议类型、目的地址和源端口号,生成包含目的地址和源端口号的对比值;

读取模块,用于通过对比值获取对应散列值,并以散列值为地址,在预设转发表中读取存储有所述地址的转发表项;

匹配模块,用于提取转发表项中已学习对比值和目标端口号,将所述对比值与所述已学习对比值进行匹配,若匹配成功,则将所述目标端口号作为用于转发所述待转发数据帧的目的端口,若未匹配成功,则输出匹配失败通知。

上述的装置中,生成模块中,按照与所述网络协议类型对应的对比值生成规则,生成包含目的地址和源端口号的对比值,对比值生成规则为预先设定内容,该对比值生成规则中至少预设有网络协议类型分别为以太网协议、rapidio协议和光纤通道fiberchannel协议相对应的目的地址存储。

上述的装置中,读取模块中包含多个读取子模块,每个读取子模块均与生成模块和匹配模块连接,每个读取子模块包含哈希函数生成子模块和表项读取子模块,其中,

哈希函数生成子模块,用于利用散列值算法对接收到的对比值进行计算,获取对应散列值并反馈给表项读取子模块;

表项读取子模块,用于根据接收到的散列值并以散列值为地址,在预设转发表中读取存储有所述地址的转发表项。

一种交换机,包含如下内容:解析装置、端口确定装置和交换装置,其中,

解析装置,用于将解析得到的待转发数据帧发送给端口确定装置;

端口确定装置,用于依据接收到的数据帧提取其目的端口号并发送给交换装置;

交换装置,用于按照目的端口号将接收到的待转发数据帧进行网络转发;

端口确定装置,采用上述的网络交换目的端口确定装置实现。

本发明的有益效果:

本发明在网络数据转发过程中,通过对比值生成、匹配和表项确定来输出目标端口号,缓解现有技术中应用多种网络协议的多个数据帧混合转发时的成本增加的问题,可以同时支持应用多种网络协议的多个数据帧的转发查表过程,进而确定用于转发所述待转发数据帧的所述目的端口号,目的端口确定装置可以应用在现有的网络结构的节点上,不需要改变现有的整个网络结构,所避免由于改变现有的网络结构而导致的应用多种网络协议的多个数据帧混合转发时的成本增加的问题,达到降低应用多种网络协议的多个数据帧混合转发时成本的技术效果,提升sdn网络架构中数据通信性能,对sdn网络架构技术和发展具有重要的指导意义。

附图说明:

图1为实施例中sdn网络架构示意图;

图2为实施例中确定方法流程示意图;

图3为实施例中确定装置示意图之一;

图4为实施例中确定装置示意图之二;

图5为实施例中确定装置示意图之二;

图6为实施例中交换机示意图。

具体实施方式:

为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。

目前,转发表是二层网络交换芯片经常用到的核心部件之一,转发表的设计只针对于某一种网络协议或某一种应用场景,如mac转发表只适用于以太网二层的转发,无法实现其他协议帧的转发。sdn网络可以将网络设备的控制功能和转发功能分离,进而将控制功能全部集中到远程的控制器上,而网络设备只负责数据的转发。如图1所示,以sdn网络架构包括一个控制器和三个网络设备为例进行说明。图1中,sdn网络结构包括:一个控制器14和三个网络设备,三个网络设备分别为:网络设备11、网络设备12和网络设备13。网络设备11、网络设备12和网络设备13之间两两进行通信。控制器14分别对网络设备11、网络设备12和网络设备13进行远程控制。网络设备11、网络设备12和网络设备13只负责数据的转发。举例说明,控制器14可以控制网络设备11支持以太网网络协议,也可以控制网络设备11支持rapidio协议,还可以控制网络设备11支持fiberchannel协议。因此,采用sdn交换机可以实现混合网络协议数据帧的转发。但是,应用sdn网络需要改变现有的网络结构,导致应用多种网络协议的多个数据帧混合转发时的成本增加的问题,鉴于此,本发明实施例,参见图2所示,提供一种网络交换目的端口确定方法,包含如下内容:

s101、接收待转发数据帧,并获取数据帧的网络协议类型、目的地址和源端口号,生成包含目的地址和源端口号的对比值;

s102、通过对比值获取对应散列值,并以散列值为地址,在预设转发表中读取存储有所述地址的转发表项;

s103、提取转发表项中已学习对比值和目标端口号,将所述对比值与所述已学习对比值进行匹配,若匹配成功,则将所述目标端口号作为用于转发所述待转发数据帧的目的端口,若未匹配成功,则输出匹配失败通知。

针对sdn网络架构中应用多种网络协议的多个数据帧混合转发,通过对比值生成、匹配和表项确定来输出目标端口号,可以有效缓解现有技术中存在的应用多种网络协议的多个数据帧混合转发时的成本增加的技术问题,达到了降低应用多种网络协议的多个数据帧混合转发时的成本的技术效果。

针对对比值生成规则,本发明再一个实施例中,按照与所述网络协议类型对应的对比值生成规则,生成包含目的地址和源端口号的对比值,该对比值生成规则中至少预设有网络协议类型为以太网协议、rapidio协议和光纤通道fiberchannel协议相对应的目的地址存储。若所述网络协议类型为以太网协议,则目的地址为目的mac地址。若所述网络协议类型为rapidio协议,则目的地址为rapidio目的id地址。若所述网络协议类型为fiberchannel协议,则目的地址为fiberchannel目的id地址。示例性的,对比值的位宽可以为49位,通过预先设置多个对比值生成规则,多个对比值生成规则可以如表1所示。

表1

从表1中可以看出,若所述网络协议类型为以太网协议,则所述对比值的第1位至第48位可以用来存储所述目的地址,所述对比值的第49位可以用来存储数字0;若所述网络协议类型为rapidio协议,则所述对比值的第1位至第16位可以用来存储所述目的地址,所述对比值的第17位至第32位中的每一位均可以用来存储数字0,所述对比值的第33位至第47位可以用来存储所述源端口号,所述对比值的第48位可以用来存储数字0,所述对比值的第49位可以用来存储数字1;若所述网络协议类型为fiberchannel协议,则所述对比值的第1位至第32位可以用来存储所述目的地址,所述对比值的第33位至第47位可以用来存储所述源端口号,所述对比值的第48位可以用来存储数字1,所述对比值的第49位可以用来存储数字1。

针对生成得到的对比值,本发明又一实施例中,利用散列值算法对对比值进行计算来获取对应散列值。利用预设的散列值算法对所述对比值进行处理获取散列值。优选的,散列值算法可以为crc32算法或crc16算法,或为其他的计算散列值的方法,例如:求余运算。

进一步的,本发明实施例中预设转发表中可以包含多个转发表项,每个转发表项中至少包括已学习对比值和目的端口号。优选的,已学习对比值位宽为49位,目的端口号在所述转发表项中的位宽由目的端口数量确定。示例性的,若所述目的端口的数量大于2n-1,且小于或等于2n,其中n为正整数,则所述目的端口号在所述转发表项中的位宽为n位。举例说明,若目的端口的数量为15,则可以得到23<15<24,所以,目的端口号在所述转发表项中的位宽为4位。因此,转发表项的位宽为53位(已学习对比值的位宽加上目的端口号的位宽)。

基于上述的端口确定方法,本发明实施例还提供一种网络交换目的端口确定装置,参见图3所示,包含生成模块101、读取模块102和匹配模块103,其中,

生成模块101,用于接收待转发数据帧,并获取数据帧的网络协议类型、目的地址和源端口号,生成包含目的地址和源端口号的对比值;

读取模块102,用于通过对比值获取对应散列值,并以散列值为地址,在预设转发表中读取存储有所述地址的转发表项;

匹配模块103,用于提取转发表项中已学习对比值和目标端口号,将所述对比值与所述已学习对比值进行匹配,若匹配成功,则将所述目标端口号作为用于转发所述待转发数据帧的目的端口,若未匹配成功,则输出匹配失败通知。

通过重新定义转发表项的内容,将端口确定装置应用在网络结构的节点,无需改变现有的整个网络结构,就可以实现应用多种网络协议的多个数据帧的转发查表过程,具有通用性强、易移植、易实现和轻量级的优点。同时,由于避免对现有的整个网络结构进行改动,所以,部署起来非常方便,节约时间成本和人力成本。

进一步的,上述的装置中,生成模块中101,按照与所述网络协议类型对应的对比值生成规则,生成包含目的地址和源端口号的对比值,对比值生成规则为预先设定内容,该对比值生成规则中至少预设有网络协议类型分别为以太网协议、rapidio协议和光纤通道fiberchannel协议相对应的目的地址存储。

进一步的,如图4所示,读取模块102中包含多个读取子模块,如图中的23、24和25,每个读取子模块均与生成模块21和匹配模块22连接,每个读取子模块包含哈希函数生成子模块(如图中的31、33、35)和表项读取子模块(如图中的32、34、36),其中,

哈希函数生成子模块,用于利用散列值算法对接收到的对比值进行计算,获取对应散列值并反馈给表项读取子模块;

表项读取子模块,用于根据接收到的散列值并以散列值为地址,在预设转发表中读取存储有所述地址的转发表项。

本发明端口确定装置实施例中,生成模块用于接收待转发数据帧的a网络协议类型、目的地址和源端口号,按照与a网络协议类型对应的对比值生成规则,生成包含所述目的地址和所述源端口号的对比值;同时也用于接收待转发数据帧的b网络协议类型、目的地址和源端口号,按照与b网络协议类型对应的对比值生成规则,生成包含所述目的地址和所述源端口号的对比值。实现同时支持应用多种网络协议的多个数据帧的转发查表过程,进而确定用于转发所述待转发数据帧的所述目的端口号,目的端口确定装置可以应用在现有的网络结构的节点上,不需要改变现有的整个网络结构,所以避免由于改变现有的网络结构而导致的应用多种网络协议的多个数据帧混合转发时的成本增加的问题,因此,缓解了现有技术中存在的应用多种网络协议的多个数据帧混合转发时的成本增加的技术问题,达到了降低应用多种网络协议的多个数据帧混合转发时的成本的技术效果。进一步的,参见图5所示,以端口确定装置包括三个读取模块,即图中的表项确定单元为例进行说明,对比值生成模块21、匹配模块22和三个表项确定单元;三个表项确定单元分别为:表项确定单元23、表项确定单元24和表项确定单元26。表项确定单元23可以包括:哈希函数生成子模块31和读取子模块32。表项确定单元24可以包括:哈希函数生成子模块33和读取子模块34。表项确定单元26可以包括:哈希函数生成子模块37和读取子模块38。

基于上述的端口确定装置,本发明还提供一种交换机,参见图6所示,包含如下内容:解析装置41、端口确定装置42和交换装置43,其中,

解析装置41,用于将解析得到的待转发数据帧发送给端口确定装置;

端口确定装置42,用于依据接收到的数据帧提取其目的端口号并发送给交换装置;

交换装置43,用于按照目的端口号将接收到的待转发数据帧进行网络转发;

端口确定装置41,采用上述实施例中的网络交换目的端口确定装置实现,完成sdn网络架构中多种网络协议多个数据帧的混合转发需求,降低sdn网络部署成本,容易实现,通用性强,易移植,避免对现有网络结构的整体改动,节约人力和时间成本。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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