一种基于以太网封装的VXLAN实现方法及终端与流程

文档序号:13890181阅读:199来源:国知局

本发明涉及电子技术领域,尤其涉及一种基于以太网封装的vxlan实现方法及终端。



背景技术:

目前,在传统的vxlan封装报文格式中,网卡需要处理24比特(bits)的虚拟网络标识(virtualnetworkidentifier,vni)字段,并且还需要对vxlan封装报文进行加载和卸载处理,这样不仅增加了网卡的运算负荷,同时还会降低网卡的处理效率,并且对于配置了相对应网卡的服务器会带来更多的成本消耗。



技术实现要素:

有鉴于此,本发明实施例提供一种基于以太网封装的vxlan实现方法及终端。

一种基于以太网封装的vxlan实现方法,该方法包括:

获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段;

在所述数据帧中设置选择字段和vxlanid字段;

将所述vxlanid字段与所述vlanid字段进行合并形成vni字段;

若转发所述数据帧,解析所述选择字段;

根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

具体的,所述在所述数据帧中设置选择字段和vxlanid字段,具体包括:

在所述数据帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段。

具体的,所述若转发所述数据帧,解析所述选择字段,具体包括:

获取所述选择字段中的标识位;

根据所述标识位确定所述选择字段的解析结果。

具体的,所述根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧,具体包括:

根据所述解析结果在预先设置的映射表中查找到与所述vlanid字段相对应的映射关系以转发所述数据帧;

或者,

根据所述解析结果在预先设置的映射表中查找到与所述vni字段相对应的映射关系以转发所述数据帧。

具体的,所述选择字段为4比特,其中将所述选择字段的末位设置为标识位,所述vxlanid字段为12比特。

一种终端,该终端包括:

第一获取单元,用于获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段;

设置单元,用于在所述数据帧中设置选择字段和vxlanid字段;

合并单元,用于将所述vxlanid字段与所述vlanid字段进行合并形成vni字段;

解析单元,用于若转发所述数据帧,解析所述选择字段;

第一确定单元,用于根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

具体的,所述设置单元,具体用于:

在所述数据帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段。

具体的,所述解析单元,具体包括:

第二获取单元,用于获取所述选择字段中的标识位;

第二单元,用于根据所述标识位确定所述选择字段的解析结果。

具体的,所述第一确定单元,具体包括:

第一查找单元,用于根据所述解析结果在预先设置的映射表中查找到与所述vlanid字段相对应的映射关系以转发所述数据帧;

或者,

第二查找单元,用于根据所述解析结果在预先设置的映射表中查找到与所述vni字段相对应的映射关系以转发所述数据帧。

具体的,所述选择字段为4比特,其中将所述选择字段的末位设置为标识位,所述vxlanid字段为12比特。

由以上可见,本发明实施例在数据帧中设置选择字段和vxlanid字段,并将vxlanid字段与数据帧中的vlanid字段进行合并得到新封装的数据帧,在这种数据帧封装格式下,网卡只需要处理选择字段和vxlanid字段,不再需要对vxlan封装进行加载和卸载,这样可以降低网卡的运算负荷,同时也能够提高网卡的处理效率;当转发封装后的数据帧时,通过解析选择字段并判断数据帧的转发逻辑转发数据帧,这样可以提高转发效率,节省成本消耗。

附图说明

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

图1是本发明实施例提供的一种基于以太网封装的vxlan实现方法的示意流程图。

图2是本发明实施例提供的数据帧格式示意图。

图3是本发明实施例提供的另一数据帧格式示意图。

图4是本发明实施例提供的另一数据帧格式示意图。

图5是本发明实施例提供的一种基于以太网封装的vxlan实现方法的另一示意流程图。

图6是本发明实施例提供的一种基于以太网封装的vxlan实现方法的另一示意流程图。

图7是本发明实施例提供的一种基于以太网封装的vxlan实现方法的另一示意流程图。

图8是本发明实施例提供的一种终端的示意性框图。

图9是本发明实施例提供的一种终端的另一示意性框图。

图10是本发明实施例提供的一种终端的另一示意性框图。

图11是本发明实施例提供的一种终端的另一示意性框图。

图12是本发明实施例提供的一种终端的另一实施例的结构组成示意图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

如图1所示,为本发明实施例提供的一种基于以太网封装的vxlan实现方法的示意流程图。该方法包括步骤s101~s105。

s101,获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16比特(bits),用户优先级字段为3比特(bits),标准格式指示字段为1比特(bit),vlanid字段为12比特(bits)。

s102,在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4比特(bits),所述vxlanid字段为12比特(bits)。

s103,将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

s104,若转发所述数据帧,解析所述选择字段。

具体的,在本发明实施例中,将所述选择字段的末位设置为标识位,将所述选择字段的前三位作为预留位,其中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位的设置不限制于0或者1,也可以根据实际需要设置为其它能够起到标识作用的数字。

s105,根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

具体的,在本发明实施例中,对所述选择字段进行解析,若解析结果为标识位为0,表示使用vni字段中的vlanid字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段中的vlanid字段的映射关系转发该vlan帧;若解析结果为标识位为1,表示使用vni字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段的映射关系转发该vlan帧。

由以上可见,本发明实施例在数据帧中设置选择字段和vxlanid字段,并将vxlanid字段与数据帧中的vlanid字段进行合并得到新封装的数据帧,在这种数据帧封装格式下,网卡只需要处理选择字段和vxlanid字段,不再需要对vxlan封装进行加载和卸载,这样可以降低网卡的运算负荷,同时也能够提高网卡的处理效率;当转发封装后的数据帧时,通过解析选择字段并判断数据帧的转发逻辑转发数据帧,这样可以提高转发效率,节省成本消耗。

如图5所示,为本发明实施例提供的一种基于以太网封装的vxlan实现方法的示意流程图。该方法包括步骤s201~s206。

s201,获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

s202,在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

s203,将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

s204,获取所述选择字段中的标识位。

具体的,在本发明实施例中,先获取所述选择字段中的标识位,利用标识位中对应的标识确定所述选择字段的解析结果。

s205,根据所述标识位确定所述选择字段的解析结果。

具体的,在本发明实施例中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位也可以填充为1或者0,当标识位填充1时,表示使用vni字段中的vlanid字段进行映射转发,当填充0时,表示使用vni字段进行映射转发;所述标识位还可以根据实际需要设置为其它能够起到标识作用的数字。

s206,根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

具体的,在本发明实施例中,对所述选择字段进行解析,若解析结果为标识位为0,表示使用vni字段中的vlanid字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段中的vlanid字段的映射关系转发该vlan帧;若解析结果为标识位为1,表示使用vni字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段的映射关系转发该vlan帧。

由以上可见,本发明实施例通过获取选择字段中的标识位,并通过所获取的标识位确定解析结果,通过该解析结果确定vlan帧的转发逻辑,提高了vlan帧的转发效率。

如图6所示,为本发明实施例提供的一种基于以太网封装的vxlan实现方法的示意流程图。该方法包括步骤s301~s305。

s301,获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

s302,在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

s303,将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

s304,若转发所述数据帧,解析所述选择字段。

具体的,在本发明实施例中,将所述选择字段的末位设置为标识位,将所述选择字段的前三位作为预留位,其中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位的设置不限制于0或者1,也可以根据实际需要设置为其它能够起到标识作用的数字。

s305,根据所述解析结果在预先设置的映射表中查找到与所述vlanid字段相对应的映射关系以转发所述数据帧。

具体的,在本发明实施例中,所述预先设置的映射表为vlan与vxlan映射表,该映射表放置在芯片层,该芯片层为交换机中的芯片层,在该映射表中对应设置有vlan帧的映射关系;当解析结果为标识位为0时,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段中的vlanid字段的映射关系,并由交换机转发该vlan帧。

由以上可见,本发明实施例通过放置在交换机芯片层的映射表中的映射关系转发所述vlan帧,可以节省成本消耗。

如图7所示,为本发明实施例提供的一种基于以太网封装的vxlan实现方法的示意流程图。该方法包括步骤s401~s405。

s401,获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

s402,在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

s403,将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

s404,若转发所述数据帧,解析所述选择字段。

具体的,在本发明实施例中,将所述选择字段的末位设置为标识位,将所述选择字段的前三位作为预留位,其中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位的设置不限制于0或者1,也可以根据实际需要设置为其它能够起到标识作用的数字。

s405,根据所述解析结果在预先设置的映射表中查找到与所述vni字段相对应的映射关系以转发所述数据帧。

具体的,在本发明实施例中,所述预先设置的映射表为vlan与vxlan映射表,该映射表放置在芯片层,该芯片层为交换机中的芯片层,在该映射表中对应设置有vlan帧的映射关系;当解析结果为标识位为1时,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段的映射关系,并由交换机转发该vlan帧。

由以上可见,本发明实施例通过放置在交换机芯片层的映射表中的映射关系转发所述vlan帧,可以节省成本消耗。

如图8所示,为本发明实施例提供的一种终端的示意性框图。该终端500包括:第一获取单元501、设置单元502、合并单元503、解析单元504、第一确定单元505。

其中第一获取单元501,用于获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

设置单元502,用于在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

合并单元503,用于将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

解析单元504,用于若转发所述数据帧,解析所述选择字段。

具体的,在本发明实施例中,将所述选择字段的末位设置为标识位,将所述选择字段的前三位作为预留位,其中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位的设置不限制于0或者1,也可以根据实际需要设置为其它能够起到标识作用的数字。

确定单元505,用于根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

具体的,在本发明实施例中,对所述选择字段进行解析,若解析结果为标识位为0,表示使用vni字段中的vlanid字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段中的vlanid字段的映射关系转发该vlan帧;若解析结果为标识位为1,表示使用vni字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段的映射关系转发该vlan帧。

由以上可见,本发明实施例在数据帧中设置选择字段和vxlanid字段,并将vxlanid字段与数据帧中的vlanid字段进行合并得到新封装的数据帧,在这种数据帧封装格式下,网卡只需要处理选择字段和vxlanid字段,不再需要对vxlan封装进行加载和卸载,这样可以降低网卡的运算负荷,同时也能够提高网卡的处理效率;当转发封装后的数据帧时,通过解析选择字段并判断数据帧的转发逻辑转发数据帧,这样可以提高转发效率,节省成本消耗。

如图9所示,为本发明实施例提供的一种终端的示意性框图。该终端600包括:第一获取单元601、设置单元602、合并单元603、第二获取单元604、第二确定单元605、第一确定单元606。

其中第一获取单元601,用于获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

设置单元602,用于在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

合并单元603,用于将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

第二获取单元604,用于获取所述选择字段中的标识位。

具体的,在本发明实施例中,先获取所述选择字段中的标识位,利用标识位中对应的标识确定所述选择字段的解析结果。

第二确定单元605,用于根据所述标识位确定所述选择字段的解析结果。

具体的,在本发明实施例中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位也可以填充为1或者0,当标识位填充1时,表示使用vni字段中的vlanid字段进行映射转发,当填充0时,表示使用vni字段进行映射转发;所述标识位还可以根据实际需要设置为其它能够起到标识作用的数字。

第一确定单元606,用于根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

具体的,在本发明实施例中,对所述选择字段进行解析,若解析结果为标识位为0,表示使用vni字段中的vlanid字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段中的vlanid字段的映射关系转发该vlan帧;若解析结果为标识位为1,表示使用vni字段进行映射转发,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段的映射关系转发该vlan帧。

如图10所示,为本发明实施例提供的一种终端的示意性框图。该终端700包括:第一获取单元701、设置单元702、合并单元703、解析单元704、第一查找单元705。

其中所述第一获取单元701,用于获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

设置单元702,用于在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

合并单元703,用于将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

解析单元704,用于若转发所述数据帧,解析所述选择字段。

具体的,在本发明实施例中,将所述选择字段的末位设置为标识位,将所述选择字段的前三位作为预留位,其中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位的设置不限制于0或者1,也可以根据实际需要设置为其它能够起到标识作用的数字。

第一查找单元705,用于根据所述解析结果在预先设置的映射表中查找到与所述vlanid字段相对应的映射关系以转发所述数据帧。

具体的,在本发明实施例中,所述预先设置的映射表为vlan与vxlan映射表,该映射表放置在芯片层,该芯片层为交换机中的芯片层,在该映射表中对应设置有vlan帧的映射关系;当解析结果为标识位为0时,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段中的vlanid字段的映射关系,并由交换机转发该vlan帧。

如图11所示,为本发明实施例提供的一种终端的示意性框图。该终端800包括:第一获取单元801、设置单元802、合并单元803、解析单元804、第二查找单元805。

其中第一获取单元801,用于获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段。

具体的,在本发明实施例中,所述数据帧为传统的vlan帧,如图2所示,传统的vlan帧的帧结构由4个部分组成,包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段,其中,以太网协议字段为16bits,用户优先级字段为3bits,标准格式指示字段为1bit,vlanid字段为12bits。

设置单元802,用于在所述数据帧中设置选择字段和vxlanid字段。

具体的,在本发明实施例中,请参照图3,为对所述vlan帧进行vlan封装的示意图,如图中所示,在所述传统的vlan帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;或者,请参照图4,为对所述vlan帧进行vlan封装的另一示意图,如图中所示,还可以在所述传统的vlan帧中的vlanid字段之后设置所述选择字段和所述vxlanid字段,且保证vxlanid字段与vlanid字段相邻,并得到封装后的vlan帧;需要说明的是,所述选择字段与所述vxlanid字段总共用2个字节表示,其中,所述选择字段为4bits,所述vxlanid字段为12bits。

合并单元803,用于将所述vxlanid字段与所述vlanid字段进行合并形成vni字段。

具体的,在传统的vlan封装格式中,vni字段为24bits,使得vxlanid的个数可以达到2^24=16m个,以满足云平台中多租房网络隔离的需求;在本发明实施例中,将设置在vlan帧中的vxlanid字段与vlan帧的帧格式中的vlanid字段进行合并,其中设置在vlan帧中的vxlanid字段为12bits,vlanid字段为12bits,合并后的vxlanid字段和vlanid字段总共为24bits作为vin字段,且相当于传统的vlan封装格式中的vni字段,通过这种新的vlan封装方式得到的vlan帧,灵活存在24bits的vni字段,即使得vlan帧存在扩展位可以兼容扩展,网卡只需要处理选择字段和vxlanid字段,也就是说网卡只需要处理16bits的扩展字段,该扩展字段即为选择字段和vxlanid字段,使得网卡不再需要对vlan帧进行加载和卸载,这样可以降低网卡的运算负荷。

解析单元804,用于若转发所述数据帧,解析所述选择字段。

具体的,在本发明实施例中,将所述选择字段的末位设置为标识位,将所述选择字段的前三位作为预留位,其中,标识位可以填充0或者1,当标识位填充0时,表示使用vni字段中的vlanid字段进行映射转发,当填充1时,表示使用vni字段进行映射转发。

其中,标识位的设置不限制于0或者1,也可以根据实际需要设置为其它能够起到标识作用的数字。

第二查找单元805,用于根据所述解析结果在预先设置的映射表中查找到与所述vni字段相对应的映射关系以转发所述数据帧。

具体的,在本发明实施例中,所述预先设置的映射表为vlan与vxlan映射表,该映射表放置在芯片层,该芯片层为交换机中的芯片层,在该映射表中对应设置有vlan帧的映射关系;当解析结果为标识位为1时,根据预先放置在芯片层中的vlan与vxlan映射表,在该映射表中找到对应所述vlan帧中vni字段的映射关系,并由交换机转发该vlan帧。

图12为本发明的终端的另一实施例的结构组成示意图。如图12所示,其可包括:输入装置99、输出装置88、收发装置77、存储器66以及处理器55,其中:

所述输入装置99,用于接收外部访问控制设备的输入数据。具体实现中,本发明实施例所述的输入装置99可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等。

所述输出装置88,用于对外输出访问控制设备的输出数据。具体实现中,本发明实施例所述的输出装置88可包括显示器、扬声器、打印机等。

所述收发装置77,用于通过通信链路向其他设备发送数据或者从其他设备接收数据。具体实现中,本发明实施例的收发装置77可包括射频天线等收发器件。

所述存储器66,用于存储带有各种功能的程序数据。本发明实施例中存储器66存储的数据包括可调用并运行的程序数据。具体实现中,本发明实施例的存储器66可以是系统存储器,比如,挥发性的(诸如ram),非易失性的(诸如rom,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器66还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。

所述处理器55,用于调用所述存储器66中存储的程序数据,并执行如下操作:

获取数据帧,所述数据帧包括以太网协议字段、用户优先级字段、标准格式指示字段以及vlanid字段;在所述数据帧中设置选择字段和vxlanid字段;将所述vxlanid字段与所述vlanid字段进行合并形成vni字段;若转发所述数据帧,解析所述选择字段;根据所述选择字段的解析结果确定与所述数据帧相对应的数据帧转发逻辑以转发所述数据帧。

进一步地,所述处理器55还执行如下操作:

在所述数据帧中的标准格式指示字段与vlanid字段之间设置所述选择字段和所述vxlanid字段。

进一步地,所述处理器55还执行如下操作:

获取所述选择字段中的标识位;根据所述标识位确定所述选择字段的解析结果。

进一步地,所述处理器55还执行如下操作:

根据所述解析结果在预先设置的映射表中查找到与所述vlanid字段相对应的映射关系以转发所述数据帧;

或者,

根据所述解析结果在预先设置的映射表中查找到与所述vni字段相对应的映射关系以转发所述数据帧。

本发明所有实施例中的单元可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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