一种转发流量的方法及节点与流程

文档序号:11206096阅读:401来源:国知局
一种转发流量的方法及节点与流程

本发明涉及通信技术领域,尤其涉及一种转发流量的方法及节点。



背景技术:

在当前数据中心建设中,机房拉远,资源池化,跨数据中心应用高可用,容灾切换自动化以及应用迁移与搬迁的需求都要求数据中心网络满足大二层,因此广泛使用vxlan(virtualextensiblelocalareanetwork,虚拟扩展局域网)技术组网。同时为了提高可靠性、保障业务不中断,在网关设计时,网关跨分区或跨数据中心双重部署是最普遍的做法。

vxlan是建立在物理网络之上的虚拟以太网,采用macinudp(userdatagramprotocol,)封装方式,是一种网络虚拟化技术。通过将vm(virtualmachine,虚拟机)或物理服务器发出的数据包封装在udp报文中,并使用物理网络的ip/mac作为报文头进行封装,然后在ip网络上传输,到达目的地后由隧道终结点解封装并将数据发送给目标虚拟机或物理服务器,如图1所示:

vtep(vxlantunnelendpoints,vxlan隧道端点),用于vxlan报文的封装和解封装。vtep与物理网络相连,分配有物理网络的ip地址,该地址与虚拟网络无关。

在采用vxlan技术,网关跨分区、跨数据中心多活组网时,业务流量通过此大二层广播域内节点间建立的隧道转发,流量模型一般可以简单分为三种,如图2所示:第一种是二层东西流量:指二层域内同子网互访流量,由源和目的vtep间建立隧道转发;第二种是三层东西流量:指二层域内跨子网互访流量,由源vtep和业务网关vtep以及业务网关和目的vtep间建立的隧道转发;第三种是南北流量:指进出此二层域的业务流量,由源vtep和业务 网关vtep间建立隧道转发到网关,再通过查找路由表获得到目的地址的转发路径。

目前的这种组网运行情形下,vtep不知道选择下级哪个vtep节点建立隧道进行流量转发,并且在网关故障时,vtep节点无法快速感知,存在业务中断风险,极大影响网络性能以及用户体验。



技术实现要素:

本发明实施例提供一种转发流量的方法及节点,用以解决目前组网运行情形下,普通节点不知道选择与下级哪个节点建立隧道进行流量转发,并且在网关故障时,普通节点无法快速感知网关节点,存在业务中断风险的问题。

第一方面,提供的一种转发流量的方法,包括:

第一节点与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan隧道,广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同;

第一节点基于第一vxlan隧道向第二节点发送探测报文,并接收第二节点返回的第一确认报文,探测报文用于探测第二节点的运行情况;

第一节点在确定第二节点运行正常之后,基于第一vxlan隧道通过第二节点转发流量。

结合第一方面,在第一方面的第一种可能的实现方式中,还包括:

第一节点获取分级广播域表,分级广播域表包括节点信息,节点信息包括流量转发优先级信息,或者流量转发优先级信息和角色信息;其中具有相同流量转发优先级的节点归属于同一子广播域;

第一节点根据分级广播域表与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan隧道。

结合第一方面,在第一方面的第二种可能的实现方式中,角色信息包括节 点类型信息用于确定广播域中的节点是网关节点还是普通节点;第二节点为流量转发优先级最高的子广播域中的网关节点。

结合第一方面或者第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,当流量转发优先级最高的子广播域中有多个网关节点时,第一节点向多个网关节点转发流量以实现负载分担或者第一节点根据选择策略向多个网关节点中的至少一个网关节点转发流量。

结合第一方面或者第一方面的第一种可能的实现方式至第三种可能的实现方式中任一种可能的实现方式,在第一方面的第四种可能的实现方式中,第一节点为vxlan组网中的普通vtep节点,第二节点为网关vtep节点。

结合第一方面或者第一方面的第一种可能的实现方式至第四种可能的实现方式中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,获取分级广播域表具体包括:

第一节点获取广播域内各节点的节点信息;

第一节点根据广播域内各节点的节点信息中的流量转发优先级信息,创建分级广播域表。

进一步地,第一节点根据广播域内各节点的节点信息中的角色信息以及流量转发优先级信息,创建分级广播域表。

结合第一方面或者第一方面的第一种可能的实现方式至第四种可能的实现方式中任一种可能的实现方式,在第一方面的第六种可能的实现方式中,获取分级广播域表具体包括:

第一节点获取自身的节点信息;

第一节点向广播域中流量转发优先级最高的子广播域中的第二节点发送第一协商报文,第一协商报文中包括第一节点的节点信息;

第一节点接收第二节点发送的第二确认报文,第二确认报文中携带第二节点的分级广播域表;

第一节点将分级广播域表进行存储。

结合第一方面或者第一方面的第一种可能的实现方式至第四种可能的实现方式中任一种可能的实现方式,在第一方面的第七种可能的实现方式中,获取分级广播域表具体包括:

第一节点获取自身的节点信息;

第一节点向广播域中流量转发优先级最高的子广播域中的第二节点发送第一协商报文,第一协商报文中包括第一节点的节点信息;

第一节点接收第二节点发送的第二确认报文,第二确认报文中携带第二节点的分级广播域表中各节点的节点信息;

第一节点根据第二节点的分级广播域表中各节点的节点信息中的流量转发优先级信息,创建分级广播域表。

结合第一方面或者第一方面的第一种可能的实现方式至第四种可能的实现方式中任一种可能的实现方式,在第一方面的第八种可能的实现方式中,方法进一步包括:

第一节点接收第二节点发送的协商报文,协商报文指示第二节点的流量转发优先级有更新;

第一节点根据更新后的流量转发优先级更新分级广播域表,并根据更新后的分级广播域表选择节点建立vxlan隧道以进行流量转发。

结合第一方面,在第一方面的第九种可能的实现方式中,方法还包括:

第一节点在确定第二节点运行不正常之后,与流量转发优先级次高的子广播域中的第三节点建立第二vxlan隧道,并通知收发单元基于第二vxlan隧道通过第三节点转发流量。

结合第一方面,在第一方面的第十种可能的实现方式中,还包括:

第一节点在确定第二节点运行不正常之后,若第一节点接收到第二节点发送的招呼报文,则与第二节点建立第三vxlan隧道,并基于第三vxlan隧道通过第二节点转发流量,招呼报文用于向第一节点通知第二节点运行正常。

结合第一方面,在第一方面的第十一种可能的实现方式中,第一节点向第 二节点发送探测报文,包括:

第一节点每间隔设定时长向第二节点发送一次探测报文。

第二方面,提供一种转发流量的方法,包括:

第二节点接收广播域中的第一节点发送的第一隧道建立请求,所述第一节点为待转发流量的节点;广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同,第二节点为广播域中流量转发优先级最高的子广播域中的节点;

第二节点根据第一节点发送的第一隧道建立请求与第一节点建立第一vxlan隧道;

第二节点接收第一节点发送的探测报文,并向第一节点返回第一确认报文第一确认报文用于指示第一节点该第二节点的运行情况;

第二节点通过第一vxlan隧道接收所述第一节点转发的流量。

结合第二方面,在第二方面的第一种可能的实现方式中,第二节点向第一节点返回第一确认报文,包括:

第二节点在确认自身运行正常时在规定时长内向第一节点返回第一确认报文。

结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,第二节点向第一节点返回第一确认报文,还包括:

若第二节点在确认自身运行不正常时在规定时长后向第一节点返回第一确认报文,并

第二节点在确认自身恢复到运行正常时,向第一节点发送招呼报文,招呼报文用于向第一节点通知自身运行正常。

结合第二方面,在第二方面的第三种可能的实现方式中,第二节点向第一节点发送招呼报文之后,还包括:

第二节点接收第一节点发送的第二隧道建立请求;

第二节点根据第一节点发送的第二隧道建立请求与第一节点建立第二vxlan隧道。

结合第二方面,在第二方面的第四种可能的实现方式中,第二节点与第一节点建立第一vxlan隧道之后,还包括:

第二节点接收第一节点发送的第一协商报文,第一协商报文中包括第一节点的节点信息;

第二节点根据第一节点的节点信息,确定第一节点是否为新增节点;

若是,则第二节点根据第一节点的节点信息更新第二节点的分级广播域表,并向第一节点发送第二确认报文,第二确认报文中携带更新后的分级广播域表;

否则第二节点向第一节点发送第三确认报文,第三确认报文中携带第二节点的分级广播域表。

结合第二方面,在第二方面的第五种可能的实现方式中,第二节点与第一节点建立第一vxlan隧道之后,还包括:

若第二节点确定自身的带宽占用率大于第一阈值时,则第二节点基于第一vxlan隧道向第一节点发送第二协商报文,第二协商报文用于指示第一节点将第一节点的分级广播域表存储的第二节点对应的节点信息所具备的流量转发优先级降低;或

若第二节点确定自身的带宽占用率小于第二阈值时,则第二节点基于第一vxlan隧道向第一节点发送第三协商报文,第三协商报文用于指示第一节点将第一节点的分级广播域表存储的第二节点对应的节点信息所具备的流量转发优先级修改为最高流量转发优先级,第二阈值小于第一阈值。

第三方面,提供一种转发流量的节点,包括:

处理单元,用于与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan隧道,广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先 级与该节点所在的子广播域的流量转发优先级相同;

收发单元,用于基于第一vxlan隧道向第二节点发送探测报文,并接收第二节点返回的第一确认报文,探测报文用于探测第二节点的运行情况;以及在处理单元确定第二节点运行正常之后,基于第一vxlan隧道通过第二节点转发流量。

结合第三方面,在第三方面的第一种可能的实现方式中,收发单元,还用于:

获取分级广播域表,分级广播域表包括节点信息,节点信息包括流量转发优先级信息以及角色信息;其中具有相同流量转发优先级的节点归属于同一子广播域;并根据分级广播域表与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan隧道。

结合第三方面,在第三方面的第二种可能的实现方式中,角色信息包括节点类型信息用于确定广播域中的节点是网关节点还是普通节点;第二节点为流量转发优先级最高的子广播域中的网关节点。

结合第三方面或者第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,处理单元,还用于:

当流量转发优先级最高的子广播域中有多个网关节点时,向多个网关节点转发流量以实现负载分担或者根据选择策略向多个网关节点中的至少一个网关节点转发流量。

结合第三方面或者第三方面的第一种可能的实现方式至第三种可能的实现方式中任一可能的实现方式,在第三方面的第四种可能的实现方式中,收发单元具体用于:

获取广播域内各节点的节点信息;

处理单元,还用于根据广播域内各节点的节点信息中的流量转发优先级信息,创建分级广播域表。

结合第三方面或者第三方面的第一种可能的实现方式至第三种可能的实 现方式中任一可能的实现方式,在第三方面的第五种可能的实现方式中,收发单元具体用于:

获取第一节点的节点信息,第一节点为待转发流量的节点;

向广播域中流量转发优先级最高的子广播域中的第二节点发送第一协商报文,第一协商报文中包括第一节点的节点信息;

接收第二节点发送的第二确认报文,第二确认报文中携带第二节点的分级广播域表;

存储单元,用于将分级广播域表进行存储。

结合第三方面或者第三方面的第一种可能的实现方式至第三种可能的实现方式中任一可能的实现方式,在第三方面的第六种可能的实现方式中,收发单元,还用于接收第二节点发送的第二协商报文,第二协商报文指示第二节点的流量转发优先级有更新;并

在处理单元根据更新后的流量转发优先级更新分级广播域表之后,根据更新后的分级广播域表选择节点建立vxlan隧道以进行流量转发。

结合第三方面,在第三方面的第七种可能的实现方式中,处理单元,还用于:

在确定第二节点运行不正常之后,与流量转发优先级次高的子广播域中的第三节点建立第二vxlan隧道,并基于第二vxlan隧道通过第三节点转发流量。

结合第三方面,在第三方面的第八种可能的实现方式中,处理单元,还用于:

在确定第二节点运行不正常之后,若收发单元接收到第二节点发送的招呼报文,则与第二节点建立第三vxlan隧道,并基于第三vxlan隧道通过第二节点转发流量,招呼报文用于向第一节点通知第二节点运行正常。

结合第三方面,在第三方面的第九种可能的实现方式中,收发单元具体用于:

每间隔设定时长向第二节点发送一次探测报文。

第四方面,提供一种转发流量的节点,包括处理单元和收发单元,其中:

收发单元,用于接收广播域中的第一节点发送的第一隧道建立请求,第一节点为待转发流量的节点;广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同,第二节点为广播域中流量转发优先级最高的子广播域中的节点;

处理单元,用于根据第一节点发送的第一隧道建立请求与第一节点建立vxlan隧道;

收发单元,还用于接收第一节点发送的探测报文,并向第一节点返回第一确认报文,第一确认报文用于指示第一节点第二节点的运行情况;并通过vxlan隧道接收第一节点转发的流量。

结合第四方面,在第四方面的第一种可能的实现方式中,收发单元具体用于:

在确认自身运行正常时在规定时长内向第一节点返回第一确认报文。

结合第四方面,在第四方面的第二种可能的实现方式中,收发单元,还用于:

若在处理单元确认第二节点运行不正常时,在规定时长后向第一节点返回第一确认报文,并

在处理单元确认第二节点恢复到运行正常时,向第一节点发送招呼报文,招呼报文用于向第一节点通知第二节点运行正常。

结合第四方面,在第四方面的第三种可能的实现方式中,收发单元,还用于:

在向第一节点发送招呼报文之后,接收第一节点发送的第二隧道建立请求;

处理单元,还用于根据第一节点发送的第二隧道建立请求与第一节点建立 第二vxlan隧道。

结合第四方面,在第四方面的第四种可能的实现方式中,收发单元,还用于在处理单元与第一节点建立第一vxlan隧道之后,接收第一节点发送的第一协商报文,第一协商报文中包括第一节点的节点信息;

处理单元,还用于根据第一节点的节点信息,确定第一节点是否为新增节点;

收发单元,还用于在处理单元确定第一节点为新增节点时,根据第一节点的节点信息更新第二节点的分级广播域表,并向第一节点发送第二确认报文,第二确认报文中携带更新后的分级广播域表;以及

在处理单元确定第一节点不为新增节点时,向第一节点发送第三确认报文,第三确认报文中携带第二节点的分级广播域表。

结合第四方面,在第四方面的第五种可能的实现方式中,收发单元,还用于在处理单元与第一节点建立第一vxlan隧道之后,若确定第二节点的带宽占用率大于第一阈值时,则基于第一vxlan隧道向第一节点发送第二协商报文,第二协商报文用于指示第一节点将第一节点的分级广播域表存储的第二节点对应的节点信息所具备的流量转发优先级降低;或

收发单元,还用于在处理单元与第一节点建立第一vxlan隧道之后,若确定第二节点的带宽占用率小于第二阈值时,则基于第一vxlan隧道向第一节点发送第三协商报文,第三协商报文用于指示第一节点将第一节点的分级广播域表存储的第二节点对应的节点信息所具备的流量转发优先级修改为最高流量转发优先级;

其中,第二阈值小于第一阈值。

第五方面,提供一种转发流量的网络设备,该网络设备可以执行上述各实施例中第一节点所实施的步骤或执行的功能。该从设备可包括:收发器、处理器和存储器。处理器用于控制节点的操作;存储器可以包括只读存储器和随机存取存储器,存储有处理器可以执行的指令和数据。存储器的一部分还可以包 括非易失行随机存取存储器(nvram)。收发器、处理器和存储器等各组件通过总线连接,其中总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线。

本发明实施例揭示的一种转发流量的方法可以应用于处理器中,或者由处理器实现。在实现过程中,处理流程的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中存储的信息,结合其硬件完成一种转发流量的方法的步骤。

所述处理器与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan虚拟扩展局域网隧道,所述广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同;所述收发器基于所述第一vxlan隧道向所述第二节点发送探测报文,并接收所述第二节点返回的第一确认报文,所述探测报文用于探测所述第二节点的运行情况;以及在所述处理器确定所述第二节点运行正常之后,基于所述第一vxlan隧道通过所述第二节点转发流量。

第六方面,提供一种转发流量的网络设备,该网络设备可以执行上述各实施例中第二节点所实施的步骤或执行的功能。该从设备可包括:收发器、处理器和存储器。处理器用于控制节点的操作;存储器可以包括只读存储器和随机存取存储器,存储有处理器可以执行的指令和数据。存储器的一部分还可以包 括非易失行随机存取存储器(nvram)。收发器、处理器和存储器等各组件通过总线连接,其中总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线。

本发明实施例揭示的一种转发流量的方法可以应用于处理器中,或者由处理器实现。在实现过程中,处理流程的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中存储的信息,结合其硬件完成一种转发流量的方法的步骤。

所述处理器与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan虚拟扩展局域网隧道,所述广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同;所述收发器基于所述第一vxlan隧道向所述第二节点发送探测报文,并接收所述第二节点返回的第一确认报文,所述探测报文用于探测所述第二节点的运行情况;以及在所述处理器确定所述第二节点运行正常之后,基于所述第一vxlan隧道通过所述第二节点转发流量。

本发明实施例表明,第一节点根据广播域内各节点所具备的流量转发优先级不同,优选选择广播域中流量转发优先级最高的子广播域中的第二节点建立vxlan隧道,在与广播域中流量转发优先级最高的子广播域中的第二节点建立vxlan隧道之后,向该第二节点发送探测报文,可以快速感知该第二节点 是否故障,避免出现业务中断风险,同时只与第二节点建立vxlan隧道可以避免转发流量的过程中在多个节点之间频繁的切换,防止出现流量迂回的现象。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为现有技术中一种vxlan组网结构示意图;

图2为现有技术中一种流量模型的结构示意图;

图3为本发明实施例中提供的一种系统架构示意图;

图4为本发明实施例中提供的一种转发流量的方法的流程示意图;

图5为本发明实施例中提供的第一节点与第二节点交互的流程示意图;

图6为本发明实施例中提供的第一节点与第二节点交互的流程示意图;

图7为本发明实施例中提供的一种转发流量的方法的流程示意图;

图8为本发明实施例中提供的一种转发流量的方法的流程示意图;

图9为本发明实施例中提供的一种转发流量的方法的流程示意图;

图10为本发明实施例中提供的一种转发流量的节点的结构示意图;

图11为本发明实施例中提供的一种转发流量的节点的结构示意图;

图12为本发明实施例中提供的一种节点的结构示意图;

图13为本发明实施例中提供的一种节点的结构示意图。

具体实施方式

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

本发明实施例适用于使用vxlan组网,pod(pointofdelivery,数据中心规划时的汇聚区域)或者跨数据中心多活部署的场景,如图3所示的系统架 构图,pod1和pod2分区网络二层打通,通过分布于两个分区内的多个网关节点(gw-1、gw-2、gw-3、gw-4)保障业务转发不中断。pod1分区内的网关节点gw-1和gw-2分别与普通节点vtep1、vtep2、vtep3连接,pod2分区内的网关节点gw-1和gw-2分别与普通节点vtep4、vtep5、vtep6连接,每个普通节点vtep管理一个或多个vm(virtualmachine,虚拟机)。

在本发明实施例中,第一节点可以是上述普通节点vtep,第二节点可以是上述网关节点。

基于上述描述,图4示例性的示出了本发明实施例提供的一种转发流量的方法流程,该方法流程可以由第一节点执行,该第一节点为待转发流量的节点。

如图4所示,该方法流程具体步骤包括:

步骤401,第一节点与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan虚拟扩展局域网隧道。

步骤402,第一节点基于第一vxlan隧道向第二节点发送探测报文,并接收第二节点返回的第一确认报文。

步骤403,第一节点在确定第二节点运行正常之后,基于第一vxlan隧道通过第二节点转发流量。

在上述流程中,广播域中包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同,其中具有相同流量转发优先级的节点归属于同一子广播域。每个节点都有与所述广播域相对应的分级广播域表,该分级广播域表包括广播域中各节点的节点信息,该节点信息包括流量转发优先级信息,该流量转发优先级信息表示节点所具有的流量转发优先级。进一步地,该节点信息还包括角色信息,该角色信息包括节点类型,可以用于确定广播域中的节点是网关节点还是普通节点。为了优先与本地网关节点建立vxlan隧道,本地网关节点的流量转发优先级信息可以是流量转发优先级最高,相应地该本地网关节点位于流量转发优先级最高的子广播域中。在本发明 实施例中,该第二节点为流量转发优先级最高的子广播域中的网关节点。

举例来说,广播域中的每个节点都有节点信息,该节点信息可以为一个二元属性因子。每个节点的节点信息包括该节点的两个属性因子,一个属性因子是该节点的角色信息,如用于区分节点的类型,可以分为普通节点和网关节点两类。另一个属性因子是该节点的流量转发优先级信息;可以根据该流量转发优先级信息进行选择第一节点优先与哪个节点建立隧道,流量转发优先级信息高的节点优先与第一节点建立隧道。该流量转发优先级信息的设置可以根据节点的位置或者具体需求设置,例如主备需求或负载分担需求时。

该节点信息可以使用二元属性因子(α,β)来表示,α表示节点的角色信息,如可以设置α=0是普通节点,α=1是网关节点。β表示节点具备的流量转发优先级信息,如可以设置β=0时优先级最高,β=1时,优先级次高,以此类推,可以设置多个优先级。此处的α,β取值仅是示意作用,实际应用中可以按此规则进行赋值。在实际使用时,可以通过将任意希望优先转发的节点的β的值设为0来实现优先转发的目的,而不一定是只能通过本地网关节点优先转发。具体的,如图3中所示的广播域内,对于pod1分区内的vtep1节点,该vtep1节点的节点信息为(0,0),gw-1、gw-2的节点信息为(1,0),gw-3、gw-4的节点信息为(1,1)。

上述广播域包括多个子广播域,根据节点信息中的流量转发优先级信息的不同,可以对广播域内的节点进行划分,可以将同一流量转发优先级的节点归属于同一个子广播域内,该子广播域对应的流量转发优先级与该子广播域内各节点的节点信息对应的流量转发优先级相同。如图3所示,在普通节点vtep1节点的分级广播域表分为两个优先级别的子广播域表,流量转发优先级最高的子广播域表中包括普通节点vtep2、vtep3、vtep4、vtep5、vtep6的节点信息以及网关节点gw-1和gw-2的节点信息,流量转发优先级次高的子广播域表中包括网关节点gw-3和gw-4的节点信息。

可选地,本发明实施例中第一节点可以是普通vtep节点,第二节点可以 是本地网关vtep节点。当第二节点为本地网关节点时,当三层东西流量与南北流量通过广播域内节点间建立的隧道转发时,普通节点优先选择与本地网关节点进行建立隧道和转发流量,可以使得本地三层东西向流量不会通过远端网关节点,从而避免在转发流量的过程中在本地网关节点和远端网关节点来回切换,造成流量迂回的现象。另外,也可以进一步的避免在南北流量场合所带来的出入数据中心流量来回路径不一致的问题。

在上述第一节点与第二节点建立第一vxlan隧道之前,第一节点还需要获取分级广播域表,然后根据该分级广播域表与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan隧道。该第一vxlan隧道用于向所述第二节点发送探测报文,并使得所述第二节点基于该第一vxlan隧道为第一节点转发流量。若存在多个相同流量转发优先级的第二节点时,可以选择其中至少一个第二节点建立第一vxlan隧道,也可以与每个第二节点建立第一vxlan隧道。

具体实施方式中,第一节点获取分级广播域表以下方式获取,以下实施例中的获取方式也仅仅是举例说明,其并不限制本发明的获取方式。

其中一种分级广播域表的获取方式是第一节点通过获取相应的信息创建分级广播域表。具体实施方式中可以包括:获取所述广播域内各节点的节点信息。然后该第一节点根据该广播域内各节点的节点信息中的流量转发优先级信息,创建分级广播域表。其中,第一节点获取的广播域内各节点的节点信息可以是人工设置或者控制器下发的。进一步地,该第一节点还可以根据该广播域内各节点的角色信息,对分级广播域表进行更新,具体的更新方式在后续流程中描述。

另一种获取分级广播域表的具体实施方式为:第一节点与第二节点进行协商,通过该第二节点获取广播域内各节点的节点信息。如图5所示的第一节点与第二节点交互的流程,该流程的具体步骤包括:

步骤s501,第一节点获取自身的节点信息。具体实现中,该第一节点的节 点信息是由人工配置或控制器下发的,广播域中各节点的节点信息都是由人工配置或控制器下发的,该第一节点的节点信息内包括该第一节点的流量转发优先级信息。进一步地,该第一节点的节点信息还包括该第一节点的角色信息,用于指示第二节点判断该第一节点是普通节点还是网关节点。

步骤s502,第一节点向广播域中的第二节点发送第一协商报文。该第一协商报文中包括该第一节的节点信息。

步骤s503,第一节点接收广播域中的第二节点发送的第二确认报文,该第二确认报文中携带所述第二节点的分级广播域表中各节点的节点信息。该第二节点在收到第一节点发送的第一协商报文之后,先判断该第一节点是否在自身的分级广播域表中,若自身的分级广播域表中不存在,则可以确定该第一节点为新增节点,然后根据该第一节点的节点信息更新自身的分级广播域表,并根据更新后的分级广播域表向第一节点发送第二确认报文。

步骤s504,第一节点创建分级广播域表。第一节点根据第二节点发送的该第二节点的分级广播域表中各节点的节点信息中的流量转发优先级信息,创建该分级广播域表。

进一步地,本发明实施例还提供了一种获取分级广播域表的具体实施方式,具体为:第一节点与第二节点进行协商,通过该第二节点获取广播域内各节点的节点信息。如图6所示的第一节点与第二节点交互的流程,该流程的具体步骤包括:

步骤s601,第一节点获取自身的节点信息。具体实现中,该第一节点的节点信息是由人工配置或控制器下发的,广播域中各节点的节点信息都是由人工配置或控制器下发的,该第一节点的节点信息内包括该第一节点的流量转发优先级信息。进一步地,该第一节点的节点信息还包括该第一节点的角色信息,用于指示第二节点判断该第一节点是普通节点还是网关节点。

步骤s602,第一节点向广播域中的第二节点发送第一协商报文。该第一协商报文中包括该第一节的节点信息。

步骤s603,第一节点接收广播域中的第二节点发送的第二确认报文,该第二确认报文中携带所述第二节点的分级广播域表。该第二节点在收到第一节点发送的第一协商报文之后,先判断该第一节点是否在自身的分级广播域表中,若自身的分级广播域表中不存在,则可以确定该第一节点为新增节点,然后根据该第一节点的节点信息更新自身的分级广播域表,并向第一节点发送第二确认报文,该第二确认报文中包括该第二节点更新后的分级广播域表。

步骤s604,第一节点存储分级广播域表。第一节点收到第二节点发送的该第二节点的分级广播域表之后,存储该分级广播域表,作为自己的分级广播域表。

具体的,在创建分级广播域表时,节点信息中β=0的节点对应的节点信息位于流量转发优先级最高的子广播域表内,节点信息中β=1的节点对应的节点信息位于流量转发优先级次高的子广播域表内,依次类推。通过设置流量转发优先级不同的子广播域表,节点在需要转发流量时,优先选择流量转发优先级最高的子广播域表中的节点信息对应的第二节点进行转发,而流量转发优先级最高的子广播域表中的节点信息对应的第二节点为本地网关节点,远端网关节点位于流量转发优先级次高的子广播域中,第一节点优先选择与本地网关节点进行流量转发,可以避免出现转发流量的过程中在本地网关节点与远端网关节点之间频繁的切换的问题以及出现的流量迂回问题。

在步骤402中,第一节点基于第一vxlan隧道向向流量转发优先级最高的子广播域中的第二节点发送探测报文,第一节点可以通过节点信息中的角色信息来确定是否为第二节点,该第一节点为普通节点,第二节点为本地网关节点,第一节点根据自身的分级广播域表中流量转发优先级最高的子广播域表中的节点信息识别出本地网关节点,先后向该本地网关节点发送探测报文。若该第二节点有多个,则可以选择其中一个发送,也可以是多个第二节点同时发送。在发送探测报文之后,第一节点需要接收该第二节点返回的第一确认报文。上述探测报文用于探测第二节点的运行情况。该第二节点若运行正常,则会按时 返回第一确认报文,若运行不正常,则会超时返回第一确认报文。该第一节点可以每隔设定时长向第二节点发送一次探测报文,该设定时长可以依据经验进行设置,比如可以设定1s。若第一确认报文返回不超时,则说明第二节点运行正常,若第一确认报文返回超时,则说明第二节点运行不正常。

在步骤403中,当第一节点确定第二节点运行正常时,则第一节点基于上述第一vxlan隧道通过该第二节点转发流量。具体的,当流量转发优先级最高的子广播域中有多个第二节点时,第一节点可以通过vxlan隧道向该多个第二节点转发流量以实现负载分担。或者第一节点根据选择策略向多个网关节点中至少一个网关节点转发流量。该选择策略可以依据经验进行设置,比如,可以根据第二节点与第一节点的位置关系,来确定选择策略,距离第一节点近的第二节点优先选择。

第一节点在确定第二节点运行不正常之后,还可以与流量转发优先级次高的子广播域中的第三节点建立第二vxlan隧道,并基于第二vxlan隧道通过该第三节点转发流量。该第三节点为远端网关节点,流量转发优先级低于本地网关节点的流量转发优先级。

相应地,第一节点在确定第二节点运行不正常之后,若第一节点接收到第二节点发送的招呼报文,则与第二节点建立第三vxlan隧道,并基于第三vxlan隧道通过第二节点转发流量,该招呼报文用于向第一节点通知第二节点运行正常。

为了更好的管理自身的分级广播域表,第一节点还可以接收第二节点发送的第二协商报文,该第二协商报文用于指示该第二节点的流量转发优先级有更新,第一节点根据更新后的流量转发优先级更新自身的分级广播域表,并根据更新后的分级广播域表选择节点建立vxlan隧道以进行流量转发。

具体的,第二协商报文指示第二节点的流量转发优先级降低,则第一节点将自身的分级广播域表中存储的该第二节点对应的节点信息中的流量转发优先级信息降低,并将该第二节点的节点信息存储在降低后的流量转发优先级相 对应的子广播域表中。若第二协商报文指示第二节点的流量转发优先级修改为最高流量转发优先级,则第一节点将自身的分级广播域表中存储的该第二节点对应的节点信息中的流量转发优先级信息修改为最高流量转发优先级,并将该第二节点的节点信息存储在流量转发优先级最高的子广播域表中。

上述实施例表明,第一节点与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan隧道,第一节点基于该第一vxlan隧道向第二节点发送探测报文,并接收第二节点返回的第一确认报文,在确定第二节点运行不正常之后,基于第一vxlan隧道通过第二节点转发流量。第一节点根据广播域内各节点所具备的流量转发优先级不同,在转发流量时,优先选择广播域中流量转发优先级最高的子广播域中的本地网关节点建立vxlan隧道,并基于该vxlan隧道通过该本地网关节点转发流量,可以避免转发流量的过程中在本地网关节点与远端网关节点之间频繁的切换的问题;并且第一节点只通过本地网关节点转发流量,不会在多个网关节点之间来回的流转,避免了出现流量迂回的现象,解决了链路带宽浪费和性能下降的问题。

为了更好的解释本发明实施例,下面以图3中普通节点vtep1为例描述上述转发流量的具体流程。

如图7所示,该流程步骤具体包括:

步骤701,初始状态。普通节点vtep1在初始化时,可以获取人工配置或控制器下发的广播域内各节点的节点信息。

步骤702,普通节点vtep1创建分级广播域表。该分级广播域表包括多个子广播域表,不同的子广播域表对应的流量转发优先级不同。普通节点vtep1根据获取的广播域内各节点的节点信息中的流量转发优先级信息创建该分级广播域表。

步骤703,普通节点vtep1与广播域中流量转发优先级最高的本地网关节点建立vxlan隧道。普通节点vtep1根据自身分级广播域表的流量转发优先级最高的子广播域表中节点信息,与节点信息为(α=1,β=0)对应的本地网 关建立vxlan隧道节点定时发送探测报文。

步骤704,普通节点vtep1向本地网关节点定时发送探测报文。

步骤705,普通节点vtep1确定本地网关节点返回的ack报文是否超时,若是,则转入步骤706,若否,则转入步骤707。本地网关节点在收到探测报文之后会返回ack报文,普通节点vtep1根据设定时间阈值确定ack报文是否超时。

步骤706,普通节点vtep1基于与本地网关节点建立的vxlan隧道进行转发流量。本地网关节点有多个时,南北流量与三层东西流量会在多个本地网关节点间进行负载分担。

步骤707,普通节点vtep1与广播域中流量转发优先级次高的子广播域中的远端网关节点建立vxlan隧道。普通节点vtep1在确定本地网关节点返回的ack报文超时之后,认为该本地网关节点故障,普通节点vtep1跟据自身分级广播域表中流量转发优先级次高的子广播域表中的节点信息,与节点信息为(α=1,β=1)对应的远端网关节点建立vxlan隧道。

步骤708,在本地网关节点故障恢复之后,会向普通节点vtep1发送hello报文,普通节点vtep1收到该hello报文之后,重新与本地网关节点建立vxlan隧道。

基于相同的技术构思,图8示例性的示出了本发明实施例提供的一种转发流量的方法流程,该方法流程可以由第二节点执行,该第二节点可以为网关节点。

如图8所示,该方法流程的具体步骤包括:

步骤801,第二节点接收广播域中的第一节点发送的第一隧道建立请求,第一节点为待转发流量的节点。

步骤802,第二节点根据第一节点发送的第一隧道建立请求与第一节点建立第一vxlan隧道。

步骤803,第二节点接收第一节点发送的探测报文,并向第一节点返回第 一确认报文。

步骤804,第二节点通过第一vxlan隧道接收第一节点转发的流量。

在步骤801中,第二节点接收的第一节点发送的第一隧道建立请求,是该第一节点需要转发流量时发送的,该第一节点选择了广播域内流量转发优先级最高的子广播域中的第二节点发送的第一隧道建立请求。该广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同,第二节点为广播域中流量转发优先级最高的子广播域中的节点。第二节点设有分级广播域表,该分级广播域表包括广播域中各节点的节点信息,该节点信息包括流量转发优先级信息和角色信息,该流量转发优先级信息表示节点所具有的流量转发优先级,该角色信息包括节点类型,可以用于确定广播域中的节点是网关节点还是普通节点。第二节点首先与流量转发优先级最高的子广播域中的第一节点建立第一vxlan隧道,该第一vxlan隧道用于为第一节点转发流量。该第一节点为待转发流量的普通节点,如可以为普通vtep节点,该第二节点为网关节点,可以是本地网关节点或远端网关节点。

在步骤802中,第二节点根据第一节点发送的第一隧道建立请求,可以与该第一节点建立第一vxlan隧道,该第二节点可以基于该第一vxlan隧道与该第一节点进行交互通信。

在步骤803中,第二节点在于第一节点建立第一vxlan隧道之后,基于该第一vxlan隧道接收第一节点发送的探测报文,该探测报文用于探测第二节点的运行情况。该第一确认报文用于向第一节点通知第二节点的运行情况。

具体的,该第二节点是在确认自身运行正在时在规定时长内向第一节点返回第一确认报文的。相应地,若第二节点在确认自身运行不正常时在规定时长后向第一节点返回第一确认报文,并在确认自身恢复到运行正常时,向第一节点发送招呼报文,该招呼报文用于向第一节点指示该第二节点运行正常。

相应地,在第二节点向第一节点发送招呼报文之后,第二节点接收第一节 点发送的第二隧道建立请求,第二节点根据该第二隧道建立请求与第一节点建立第二vxlan隧道,从而实现在第二节点恢复运行正常之后,可以通过该第二vxlan隧道接收该第一节点转发的流量。本发明实施例中的第二vxlan隧道相当于上述第一节点实施的流程中的第三vxlan隧道,vxlan隧道的建立过程相同,在此不再赘述。

在步骤804中,第二节点通过上述第一vxlan隧道可以转发接收到的第一节点转发过来的流量,根据第一节点确定的目标节点,将接收到的第一节点转发的流量向该目标节点转发。

可选地,在第二节点与第一节点建立第一vxlan隧道之后,该第二节点接收该第一节点发送的第一协商报文,该第一协商报文包括第一节点的节点信息。该第二节点根据该第一节点的节点信息的角色信息,对比自身分级广播域表,来确定该第一节点是否为新增节点。若自身分级广播域表中没有该第一节点的节点信息,说明该第一节点为新增节点,则根据第一节点的节点信息更新自身的分级广播域表,并根据更新后的分级广播域表向该第一节点发送第二确认报文,该第二确认报文中携带自身的分级广播域表中各节点的节点信息。若自身分级广播域表中有该第一节点的节点信息,则该第二节点根据自身的分级广播域表向该第一节点发送第三确认报文,该第三确认报文中携带自身的分级广播域表中各节点的节点信息。该携带自身的分级广播域表中各节点的节点信息用于使得第一节点创建分级广播域表。

可选地,在第二节点与第一节点建立第一vxlan隧道之后,该第二节点接收该第一节点发送的第一协商报文,该第一协商报文包括第一节点的节点信息。该第二节点根据该第一节点的节点信息的角色信息,对比第二节点自身的分级广播域表,来确定该第一节点是否为新增节点。若第二节点的分级广播域表中没有该第一节点的节点信息,说明该第一节点为新增节点,则根据第一节点的节点信息更新自身的分级广播域表,并根据更新后的分级广播域表向该第一节点发送第二确认报文,该第二确认报文中携带更新后的分级广播域表。若 第二节点自身的分级广播域表中有该第一节点的节点信息,则该第二节点向该第一节点发送第三确认报文,该第三确认报文中携带第二节点的分级广播域表。

为了更好的解决链路带宽浪费的问题,第二节点在与第一节点建立第一vxlan隧道之后,若该第二节点确定自身的带宽占用率大于第一阈值时,则该第二节点基于第一vxlan隧道向该第一节点发送第二协商报文,该第二协商报文用于指示第一节点将第一节点的分级广播域表存储的该第二节点对应的节点信息所具备的流量转发优先级降低。

相应地,若该第二节点确定自身的带宽占用率小于第二阈值时,则该第二节点基于第一vxlan隧道向该第一节点发送第三协商报文,该第三协商报文用于指示第一节点将第一节点的分级广播域表存储的该第二节点对应的节点信息所具备的流量转发优先级修改为最高流量转发优先级,其中,第二阈值小于第一阈值,该第一阈值和第二阈值可以依据经验进行设置。

具体的,当第一vxlan隧道建立之后,进入流量转发时,若网关节点检测到自身带宽占用率超过80%时,触发向指定的普通vtep节点发送一个协商报文,通知该普通vtep节点将自身分级广播域表中存储的网关节点对应的节点信息中的流量转发优先级信息修改为低优先级,并触发普通vtep节点与流量转发优先级次高的网关节点建立vxlan隧道并转发流量。

当网关节点检测到自身带宽占用率低于40%时,通过协商报文通过普通vtep节点将其分级广播域表中存储的该网关节点对应的节点信息中流量转发优先级信息修改为最高优先级。通过上述流程可以实现对网络流量转发状态的感知与自动均衡,解决链路带宽浪费的问题。

为了更好的解释本发明实施例,下面以图3中网关节点gw-1为例描述上述转发流量的具体流程。

如图9所示,该流程步骤具体包括:

步骤901,初始状态。网关节点获取人工配置或控制器下发的广播域内各 节点的节点信息。

步骤902,网关节点创建分级广播域表。网关节点根据广播域内各节点的节点信息中的流量转发优先级信息,创建自身的分级广播域表。

步骤903,网关节点与广播域中流量转发优先级最高的子广播域中的普通节点vtep1建立vxlan隧道。网关节点根据自身的分级广播域表中的流量转发优先级最高的子广播域表中的节点信息,与节点信息为(α=0,β=0)对应的普通节点vtep1建立vxlan隧道。

步骤904,网关节点接收普通节点vtep1发送的探测报文,并确定自身是否运行正常,若是,则转入步骤905,若否,则转入步骤906。网关节点基于该vxlan隧道接收普通节点vtep1发送的探测报文。

步骤905,网关节点在规定时长内向普通节点vtep1发送ack报文,并为所述第一节点转发流量。网关节点在确认自身运行正常之后,在规定时长内向普通节点vtep1发送ack报文。

步骤906,网关节点在故障恢复之后向普通节点vtep1发送hello报文。

基于相同的技术构思,图10示例性的示出了本发明实施例提供的一种转发流量的节点的结构,该节点可以执行转发流量的方法流程,该节点可以为待转发流量的节点,该节点可以是上述各实施例中所描述的第一节点1001。

如图10所示,该节点具体包括:

处理单元10011,用于与广播域中流量转发优先级最高的子广播域中的第二节点1002建立第一vxlan虚拟扩展局域网隧道,所述广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同;

收发单元10012,用于基于所述第一vxlan隧道向所述第二节点1002发送探测报文,并接收所述第二节点1002返回的第一确认报文,所述探测报文用于探测所述第二节点1002的运行情况;以及在所述处理单元确定所述第二 节点1002运行正常之后,基于所述第一vxlan隧道通过所述第二节点1002转发流量。

可选地,所述收发单元10012,还用于:

获取分级广播域表,所述分级广播域表包括节点信息,所述节点信息包括流量转发优先级信息以及角色信息;其中具有相同流量转发优先级的节点归属于同一子广播域;所述处理单元,还用于根据所述分级广播域表与所述广播域中流量转发优先级最高的子广播域中的第二节点1002建立第一vxlan隧道。

可选地,所述角色信息包括节点类型信息用于确定所述广播域中的节点是网关节点还是普通节点;所述第二节点1002为所述流量转发优先级最高的子广播域中的网关节点。

可选地,所述收发单元10012,还用于:

当所述流量转发优先级最高的子广播域中有多个网关节点时,向所述多个网关节点转发流量以实现负载分担或者根据选择策略向所述多个网关节点中的至少一个网关节点转发流量。

可选地,所述收发单元10012具体用于:

获取所述广播域内各节点的节点信息;

所述处理单元10011,还用于根据所述广播域内各节点的节点信息中的流量转发优先级信息,创建所述分级广播域表。

可选地,所述收发单元10012具体用于:

获取第一节点1001的节点信息,所述第一节点1001为待转发流量的节点;

向所述广播域中流量转发优先级最高的子广播域中的第二节点1002发送第一协商报文,所述第一协商报文中包括所述第一节点1001的节点信息;

接收所述第二节点1002发送的第二确认报文,所述第二确认报文中携带所述第二节点1002的分级广播域表;

存储单元10013,用于存储所述分级广播域表。

可选地,所述收发单元10012,还用于接收所述第二节点1002发送的第二 协商报文,所述第二协商报文指示所述第二节点1002的流量转发优先级有更新;并

在所述处理单元10011根据更新后的流量转发优先级更新所述分级广播域表之后,根据更新后的分级广播域表选择节点建立vxlan隧道以进行流量转发。

可选地,所述处理单元10011,还用于:

在确定所述第二节点1002运行不正常之后,与流量转发优先级次高的子广播域中的第三节点(图中未示出)建立第二vxlan隧道,并通知所述收发单元10012基于所述第二vxlan隧道通过所述第三节点转发流量。

可选地,所述处理单元10011,还用于:

在确定所述第二节点1002运行不正常之后,若所述收发单元10012接收到所述第二节点1002发送的招呼报文,则与所述第二节点1002建立第三vxlan隧道,并基于所述第三vxlan隧道通过所述第二节点1002转发流量,所述招呼报文用于向第一节点1001通知所述第二节点1002运行正常。

可选地,所述收发单元10012具体用于每间隔设定时长向所述第二节点1002发送一次所述探测报文。

基于相同的技术构思,图11示例性的示出了本发明实施例提供的一种转发流量的节点的结构,该节点可以执行转发流量的方法流程,该节点可以是上述各实施例中描述的第二节点1102,例如该节点可以为本地网关节点或远端网关节点。

如图11所示,该节点具体包括处理单元11021和收发单元11022,其中:

所述收发单元11022,用于接收广播域中的第一节点1101发送的第一隧道建立请求,所述第一节点1101为待转发流量的节点;所述广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个所述子广播域中包括多个节点,每个所述节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同,所述第二节点1102为所述广播域中流量转发优先级最高的 子广播域中的节点;

所述处理单元11021,用于根据所述第一节点1101发送的第一隧道建立请求与所述第一节点1101建立第一vxlan隧道;

所述收发单元11022,还用于接收第一节点1101发送的探测报文,并向所述第一节点1101返回第一确认报文,所述第一确认报文用于指示所述第一节点1101该第二节点1102的运行情况;并通过所述第一vxlan隧道接收所述第一节点1101转发的流量。

可选地,所述收发单元11022具体用于:

在所述处理单元11021确认自身运行正常时在规定时长内向所述第一节点1101返回所述第一确认报文。

可选地,所述收发单元11022,还用于若在所述处理单元11021确认第二节点1102运行不正常时,在规定时长后向所述第一节点1101返回第一确认报文,并在所述处理单元11021确认所述第二节点1102恢复到运行正常时,向所述第一节点1101发送招呼报文,所述招呼报文用于向所述第一节点1101通知所述第二节点1102运行正常。

可选地,所述收发单元11022,还用于:

向所述第一节点1101发送招呼报文之后,接收所述第一节点1101发送的第二隧道建立请求;

所述处理单元11021,还用于根据所述第一节点1101发送的第二隧道建立请求与所述第一节点1101建立第二vxlan隧道。

可选地,所述收发单元11022,还用于所述处理单元11021与所述第一节点1101建立第一vxlan隧道之后,接收所述第一节点1101发送的第一协商报文,所述第一协商报文中包括所述第一节点1101的节点信息;

所述处理单元11021,还用于根据所述第一节点1101的节点信息,确定所述第一节点1101是否为新增节点;

所述收发单元11022,还用于在所述处理单元11021确定所述第一节点1101 为新增节点时,根据所述第一节点1101的节点信息更新第二节点1102的分级广播域表,并向所述第一节点1101发送第二确认报文,所述第二确认报文中携带更新后的分级广播域表;以及

在所述处理单元11021确定所述第一节点1101不为新增节点时,根据向所述第一节点1101发送第三确认报文,所述第三确认报文中携带所述第二节点1102的分级广播域表。

一种可选方案,所述收发单元11022,还用于在所述处理单元11021与所述第一节点建立第一vxlan隧道之后,若确定所述第二节点1102的带宽占用率大于第一阈值时,则基于所述第一vxlan隧道向所述第一节点1101发送第二协商报文,所述第二协商报文用于指示所述第一节点1101将所述第一节点1101的分级广播域表存储的所述第二节点1102对应的节点信息所具备的流量转发优先级降低;或

另一种可选方案,所述收发单元11022,还用于在所述处理单元11021与所述第一节点1101建立第一vxlan隧道之后,若确定所述第二节点1102的带宽占用率小于第二阈值时,则基于所述第一vxlan隧道向所述第一节点1101发送第三协商报文,所述第三协商报文用于指示所述第一节点1101将所述第一节点1101的分级广播域表存储的所述第二节点1102对应的节点信息所具备的流量转发优先级修改为最高流量转发优先级;

其中,所述第二阈值小于所述第一阈值。

基于相同构思,参见图12,为本发明实施例提供的一种网络设备1200。该网络设备1200可以执行上述各实施例中第二节点所实施的步骤或执行的功能。该从设备可包括:收发器1201、处理器1202和存储器1203。处理器1202用于网络设备1200的操作;存储器1203可以包括只读存储器和随机存取存储器,存储有处理器1202可以执行的指令和数据。存储器1203的一部分还可以包括非易失行随机存取存储器(nvram)。收发器1201、处理器1202和存储器1203等各组件通过总线1209连接,其中总线1209除包括数据总线之外, 还可以包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线1209。

本发明实施例揭示的一种转发流量的方法可以应用于处理器1202中,或者由处理器1202实现。在实现过程中,处理流程的各步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1202可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1203,处理器1202读取存储器1203中存储的信息,结合其硬件完成一种转发流量的方法的步骤。

所述处理器1202与广播域中流量转发优先级最高的子广播域中的第二节点建立第一vxlan虚拟扩展局域网隧道,所述广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个子广播域中包括多个节点,每个节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同;所述收发器1201基于所述第一vxlan隧道向所述第二节点发送探测报文,并接收所述第二节点返回的第一确认报文,所述探测报文用于探测所述第二节点的运行情况;以及在所述处理器1202确定所述第二节点运行正常之后,基于所述第一vxlan隧道通过所述第二节点转发流量。

可选地,所述收发器1201获取分级广播域表,所述分级广播域表包括节点信息,所述节点信息包括流量转发优先级信息以及角色信息;其中具有相同流量转发优先级的节点归属于同一子广播域;所述处理器1202根据所述分级广播域表与所述广播域中流量转发优先级最高的子广播域中的第二节点建立 第一vxlan隧道。

可选地,当所述流量转发优先级最高的子广播域中有多个网关节点时,所述收发器1201向所述多个网关节点转发流量以实现负载分担或者根据选择策略向所述多个网关节点中的至少一个网关节点转发流量。

可选地,所述收发器1201获取所述广播域内各节点的节点信息;并根据所述广播域内各节点的节点信息中的流量转发优先级信息,创建所述分级广播域表。

可选地,所述收发器1201获取第一节点的节点信息,所述第一节点为待转发流量的节点;向所述广播域中流量转发优先级最高的子广播域中的第二节点发送第一协商报文,所述第一协商报文中包括所述第一节点的节点信息;接收所述第二节点发送的第二确认报文,所述第二确认报文中携带所述第二节点的分级广播域表;所述存储器1203存储所述分级广播域表。

可选地,所述收发器1201接收所述第二节点发送的第二协商报文,所述第二协商报文指示所述第二节点的流量转发优先级有更新;并在所述处理器1202根据更新后的流量转发优先级更新所述分级广播域表之后,根据更新后的分级广播域表选择节点建立vxlan隧道以进行流量转发。

可选地,所述处理器1202在确定所述第二节点运行不正常之后,与流量转发优先级次高的子广播域中的第三节点建立第二vxlan隧道,并通知所述收发器1201基于所述第二vxlan隧道通过所述第三节点转发流量。

可选地,所述处理器1202在确定所述第二节点运行不正常之后,若所述收发器1201接收到所述第二节点发送的招呼报文,则与所述第二节点建立第三vxlan隧道,并基于所述第三vxlan隧道通过所述第二节点转发流量,所述招呼报文用于向第一节点通知所述第二节点运行正常。

可选地,所述收发器1201每间隔设定时长向所述第二节点发送一次所述探测报文。

基于相同构思,参见图13,为本发明实施例提供的一种网络设备1300。 该网络设备1300可以执行上述各实施例中第一节点所实施的步骤或执行的功能.该网络设备1300可包括:收发器1301、处理器1302和存储器1303。处理器1302用于网络设备1300的操作;存储器1303可以包括只读存储器和随机存取存储器,存储有处理器1302可以执行的指令和数据。存储器1303的一部分还可以包括非易失行随机存取存储器(nvram)。收发器1301、处理器1302和存储器1303等各组件通过总线1309连接,其中总线1309除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线1309。

本发明实施例揭示的一种转发流量的方法可以应用于处理器1302中,或者由处理器1302实现。在实现过程中,处理流程的各步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1302可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1303,处理器1302读取存储器1303中存储的信息,结合其硬件完成一种转发流量的方法的步骤。

所述收发器1301接收广播域中的第一节点发送的第一隧道建立请求,所述第一节点为待转发流量的节点;所述广播域包括多个子广播域,不同的子广播域对应的流量转发优先级不同,每个所述子广播域中包括多个节点,每个所述节点的流量转发优先级与该节点所在的子广播域的流量转发优先级相同,所述第二节点为所述广播域中流量转发优先级最高的子广播域中的节点;所述处理器1302根据所述第一节点发送的第一隧道建立请求与所述第一节点建立第 一vxlan隧道;所述收发器1301接收第一节点发送的探测报文,并向所述第一节点返回第一确认报文,所述第一确认报文用于指示所述第一节点该第二节点的运行情况;并通过所述第一vxlan隧道接收所述第一节点转发的流量。

可选地,在所述处理器1302确认自身运行正常时在规定时长内向所述第一节点返回所述第一确认报文。

可选地,若在所述处理器1302确认所述第二节点运行不正常时,所述收发器1301在规定时长后向所述第一节点返回第一确认报文,并

在所述处理器1302确认所述第二节点恢复到运行正常时,所述收发器1301向所述第一节点发送招呼报文,所述招呼报文用于向所述第一节点通知所述第二节点运行正常。

可选地,所述收发器1301向所述第一节点发送招呼报文之后,接收所述第一节点发送的第二隧道建立请求;所述处理器1302根据所述第一节点发送的第二隧道建立请求与所述第一节点建立第二vxlan隧道。

可选地,所述收发器1301在所述处理器1302与所述第一节点建立第一vxlan隧道之后,接收所述第一节点发送的第一协商报文,所述第一协商报文中包括所述第一节点的节点信息;所述处理器1302根据所述第一节点的节点信息,确定所述第一节点是否为新增节点;所述收发器1301在所述处理器1302确定所述第一节点为新增节点时,根据所述第一节点的节点信息更新第二节点的分级广播域表,并向所述第一节点发送第二确认报文,所述第二确认报文中携带更新后的分级广播域表;以及在所述处理器1302确定所述第一节点不为新增节点时,向所述第一节点发送第三确认报文,所述第三确认报文中携带所述第二节点的分级广播域表。

可选地,所述收发器1301在所述处理器1302与所述第一节点建立第一vxlan隧道之后,若确定所述第二节点的带宽占用率大于第一阈值时,则基于所述第一vxlan隧道向所述第一节点发送第二协商报文,所述第二协商报文用于指示所述第一节点将所述第一节点的分级广播域表存储的所述第二节 点对应的节点信息所具备的流量转发优先级降低;或

所述收发器1301在所述处理器1302与所述第一节点建立第一vxlan隧道之后,若确定所述第二节点的带宽占用率小于第二阈值时,则基于所述第一vxlan隧道向所述第一节点发送第三协商报文,所述第三协商报文用于指示所述第一节点将所述第一节点的分级广播域表存储的所述第二节点对应的节点信息所具备的流量转发优先级修改为最高流量转发优先级;其中,所述第二阈值小于所述第一阈值。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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