一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

报文转发方法、设备及介质与流程

2022-03-09 07:22:58 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种报文转发方法、设备及介质。


背景技术:

2.在软件定义网络(software defined network,sdn)中,sdn网络架构分为数据平面(data plane)和控制平面(control plane)两个部分。控制面下发转发策略到数据面,转发行为发生在数据面。当数据面没有转发策略的时候,会向控制面发送packet in报文,然后控制面根据请求报文下发转发策略,同时把原来packet in报文按照转发策略packet out。
3.在云计算的环境中,当新建虚拟机时,发送packet in报文和packet out处理的整个过程通常需要几百毫秒到几秒,会引起秒级延时。随着云原生,容器时代的微服务一般都是毫秒级的存在时间,微服务启动发起后在毫秒级别内会被销毁,因此秒级延时会对微服务有严重的影响。


技术实现要素:

4.本技术提供的一种报文转发方法、设备和介质,能够避免sdn环境中的新建虚拟机的延时。
5.本技术的第一方面公开了一种报文转发方法,用于转发面设备,所述方法包括:接收待转发的报文;在没有与所述报文对应的转发策略的情况下,将所述报文发给预先配置了转发策略的集群网关,并向控制面设备发送packet in消息。
6.在上述第一方面的一种可能的实现中,所述集群网关为可编程p4交换机集群网关,,所述集群网关中的所述转发策略包含所有云主机的隧道和物理位置信息。
7.本技术的第二方面公开了一种转发面设备,所述设备包括:接收模块,用于接收待转发的报文;发送模块,用于在没有与所述报文对应的转发策略的情况下,将所述报文发给预先配置了转发策略的集群网关。
8.本技术的第三方面公开了一种转发面设备,包括存储有计算机可执行指令的存储器和处理器;当所述指令被所述处理器执行时,使得所述设备实施本技术第一方面的方法。
9.本技术的第四方面公开了一种计算机可读存储介质,计算机可读存储介质存储有一个或多个计算机程序,一个或多个计算机程序被一个或多个处理器执行,使得处理器执行上述第一方面实施例的方法。
10.本技术提供的报文发送方法、设备及介质,在没有与报文对应的转发策略时,控制平面通过将待转发的报文发给集群网关和发送包含待转发报文的packet in消息至控制面,控制面收到处理packet in的时间段,报文能依靠集群网关进行快速转发;当控制面处理完packet in消息下发转发策略后,后续报文在数据平面上直接转发,避免了sdn环境中新建虚拟机后的首包延时。另外,因为原始报文已经靠集群网关成功转发,控制面对原先packet in的报文无需做packet out处理。
附图说明
11.图1为相关技术中的报文转发示意图;
12.图2为本技术的一个实施例中的报文转发示意图;
13.图3为本技术一个实施例的报文转发方法流程图;
14.图4为本技术一个实施例的报文发送系统的示意图;
15.图5为本技术一个实施例的用户设备的结构示意图。
具体实施方式
16.下面结合具体实施例和附图对本技术做进一步说明。可以理解的是,本公开的说明性实施例包括但不限于报文转发方法、系统、设备及介质,此处描述的具体实施例仅仅是为了解释本技术,而非对本技术的限定。此外,为了便于描述,附图中仅示出了与本技术相关的部分而非全部的结构或过程。
17.以下由特定的具体实施例说明本技术的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本技术的其他优点及功效。虽然本技术的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本技术的权利要求而有可能延伸出的其它选择或改造。为了提供对本技术的深度了解,以下描述中将包含许多具体的细节。本技术也可以不使用这些细节实施。此外,为了避免混乱或模糊本技术的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
18.此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个离散操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。特别是,这些操作不需要按呈现顺序执行。
19.除非上下文另有规定,否则术语“包含”,“具有”和“包括”是同义词。短语“a/b”表示“a或b”。短语“a和/或b”表示“(a和b)或者(a或b)”。
20.如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。
21.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质的途径分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制、但不限于、软盘、光盘、光盘、只读存储器(cd-rom)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于通过电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)通过因特网传输信息的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
22.在附图中,以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可以不需要这样的特定布置和/或排序。在一些实施例中,这些特征可以以不同于说明性附图中
所示的方式和/或顺序来布置。另外,在特定图中包含结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
23.应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元或是数据,但是这些单元或数据不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
24.应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
25.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
26.在sdn网络架构中,控制平面与数据平面分离,网络的管理和状态在逻辑上集中到一起,底层的网络基础从应用中独立,网络可获得较佳的可编程、可控制和自动化能力,使得用户可以根据业务需求建立高度可扩展的网络。
27.参考图1,图1示出了在相关技术中当在sdn环境中新建虚拟机时的报文发送示意图。因为新建虚拟机后数据平面中没有与该新建虚拟机匹配的转发策略,数据平面在接收待转发的报文(101)后,需要数据平面会向控制平面发送packet in消息(102)。转发策略可以包括与新建虚拟机对应的转发规则。packet in指的是交换机收到一个网络数据包,在流表中没有匹配项,则发送packet in消息给控制器。控制平面通常需要进行业务查询(103),再根据请求下发转发策略,同时把packet in消息中的报文按照转发策略packet out(104)。packet out指用于通过交换机特定端口发送通过packet in消息接收到的报文。通常packet out消息包含整个之前接收到的packet in消息所携带的报文或者用于指示存储在交换机内的特定报文。数据平面在接收到转发策略后,再将报文按照转发策略转发出去(105)。
28.在整个packet in的过程中,首先将报文传递给用户态处理程序,此时用户态处理程序也没有相应的转发策略,需要将报文上送给控制平面程序,整个过程涉及了内核到用户态的转发,而且由于控制平面通常需要进行业务查询(103)导致处理比较慢,导致整个过程十分的耗时,通常要几百毫秒到几秒,这将引起秒级延时。对于传统应用来说,在新建虚拟机的情况下,数据首包的秒级访问不会发生延时。然而随着云原生,容器时代的微服务一般都是毫秒级的存在时间,微服务启动发起后在毫秒级别内会被销毁,所以秒级的延时对服务来说是不可接受的。
29.为了解决上述问题,本技术的一个实施例提供了一种报文转发方法200,参考图2。数据平面在接收待转发的报文(201)之后,因数据平面中没有与该报文对应的转发策略,数据平面向控制平面发送packet in消息(202),同时,数据平面将报文转发给集群网关(203),因集群网关中包含了集群的所有虚拟机的隧道和物理位置信息,所以集群网关可以将报文转发出去(204)。控制平面在接收到packet in消息之后,通过业务查询(205),向数据平面下发转发策略(206)。因数据平面上已收到了转发策略,后续再收到与该转发策略对应的报文时,可以直接将报文转发出去(207)。
30.图3示出了图2中的应用于转发面设备的报文转发方法步骤,在图3中方法300包括:s310,转发面设备接收待转发的报文。
31.s320,在没有与所述报文对应的转发策略的情况下,转发面设备将所述报文发给预先配置了转发策略的集群网关。集群网关根据预先配置的转发策略完成所述报文的转发。
32.在控制面设备上,与图2对应的报文转发方法包括:控制面设备接收packet in消息,通过业务查询,控制面设备下发转发策略。因为对应于packet in消息的报文已通过集群网关转发,因此控制面设备对所述packet in消息不做packet out处理。
33.根据图2-3示出的报文转发方法,在没有与报文对应的转发策略时,控制平面通过将待转发的报文发给集群网关和发送包含待转发报文的packet in消息至控制面,控制面收到处理packet in的时间段,报文能依靠集群网关进行快速转发;当控制面处理完packet in消息下发转发策略后,后续报文在数据平面上直接转发,避免了sdn环境中新建虚拟机后的首包延时。另外,因为原始报文已经靠集群网关成功转发,控制面对原先packet in的报文无需做packet out处理。
34.在一些实施方式中,集群网关按照预先设置的转发策略将报文转发至目标宿主机后,可以将目标宿主机的转发规则发送给转发面设备,因为转发面存储了相应的转发规则,后续转发面设备可以直接发送针对该目标宿主机的报文。
35.在一些实施方式中,集群网关为可编程p4交换机集群网关,所述集群网关包含虚拟机的隧道和物理位置信息。
36.参考图4,本技术的一个实施例提供了一种报文发送系统400,报文发送系统400包括:
37.接收模块410,用于接收待转发的报文;
38.发送模块420,用于在没有与所述报文对应的转发策略的情况下,将所述报文发给预先配置了转发策略的集群网关。
39.在一些实施方式中,发送模块420还用于在接收到控制平面发送的转发规则之后,直接转发报文。
40.现在参考图5,所示为根据本技术的一个实施例的电子设备500的框图。电子设备500可以包括一个或多个处理器502,与处理器502中的至少一个连接的系统控制逻辑508,与系统控制逻辑508连接的系统内存504,与系统控制逻辑508连接的非易失性存储器(nvm)506,以及与系统控制逻辑508连接的网络接口510。
41.处理器502可以包括一个或多个单核或多核处理器。处理器502可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本文的实施例中,处理器502可以被配置为执行根据如图2所示的各种实施例的一个或多个实施例。
42.在一些实施例中,系统控制逻辑508可以包括任意合适的接口控制器,以向处理器502中的至少一个和/或与系统控制逻辑508通信的任意合适的设备或组件提供任意合适的接口。
43.在一些实施例中,系统控制逻辑508可以包括一个或多个存储器控制器,以提供连接到系统内存504的接口。系统内存504可以用于加载以及存储数据和/或指令。在一些实施例中设备500的内存504可以包括任意合适的易失性存储器,例如合适的动态随机存取存储
器(dram)。
44.nvm/存储器506可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm/存储器506可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(hard disk drive,硬盘驱动器),cd(compact disc,光盘)驱动器,dvd(digital versatile disc,数字通用光盘)驱动器中的至少一个。
45.nvm/存储器506可以包括安装在设备500的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口510通过网络访问nvm/存储506。
46.特别地,系统内存504和nvm/存储器506可以分别包括:指令520的暂时副本和永久副本。指令520可以包括:由处理器502中的至少一个执行时导致设备500实施如图2所示的方法的指令。在一些实施例中,指令520、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑508,网络接口510和/或处理器502中。
47.网络接口510可以包括收发器,用于为设备500提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口510可以集成于设备500的其他组件。例如,网络接口510可以集成于处理器502的,系统内存504,nvm/存储器506,和具有指令的固件设备(未示出)中的至少一种,当处理器502中的至少一个执行所述指令时,设备500实现图2所示的各种实施例的一个或多个实施例。
48.网络接口510可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口510可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
49.在一个实施例中,处理器502中的至少一个可以与用于系统控制逻辑508的一个或多个控制器的逻辑封装在一起,以形成系统封装(sip)。在一个实施例中,处理器502中的至少一个可以与用于系统控制逻辑508的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(soc)。
50.设备500可以进一步包括:输入/输出(i/o)设备512。i/o设备512可以包括用户界面,使得用户能够与设备500进行交互;外围组件接口的设计使得外围组件也能够与设备500交互。
51.在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
52.在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
53.本技术的各方法实施方式均可以以软件、磁件、固件等方式实现。
54.可将程序代码应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
55.程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统
通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
56.至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“ip核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献