CN117751569A - 报文传输 - Google Patents
报文传输 Download PDFInfo
- Publication number
- CN117751569A CN117751569A CN202280002350.4A CN202280002350A CN117751569A CN 117751569 A CN117751569 A CN 117751569A CN 202280002350 A CN202280002350 A CN 202280002350A CN 117751569 A CN117751569 A CN 117751569A
- Authority
- CN
- China
- Prior art keywords
- message
- flow
- flow table
- network
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 47
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 39
- 230000032683 aging Effects 0.000 claims description 12
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 15
- 238000007493 shaping process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 241001522296 Erithacus rubecula Species 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5022—Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供报文传输,涉及通信技术领域,本申请的方案包括:接收来自第一网络中的上游网络设备的第一报文,将第一报文缓存到第一报文所属确定性流的调度队列中,按照调度队列的调度周期,将调度队列中的报文发送至第二网络中的下游网络设备。可以实现跨越不同确定性网络的端到端确定性传输。
Description
本申请涉及通信技术领域,尤其涉及报文传输。
确定性网络是指能保证业务的确定性带宽、时延、抖动、丢包率指标的网络,确定性网络技术是一种新型的服务质量(Quality of Service,QoS)保障技术。
在“智能电网场景”、“远程医疗”、“影音娱乐”和“工业远程控制”等场景中均可以采用确定性网络技术,从而实现报文的确定性传输,且在多业务、大流量和广域等复杂场景中也需要端对端的确定性传输。
目前的确定性网络有时间敏感网络(Time Sensitive Network,TSN)以及基于周期性排队转发(Cyclic Specific Queuing and Forwarding,CSQF)机制实现的网络等。在现实场景中,要求不同确定性网络间实现端对端的确定性传输,比如设备A和设备B之间包括TSN网络和使用CSQF机制的网络,要求实现设备A到设备B之间的确定性传输。然而不同确定性网络使用的技术和标准不一样,在跨越不同确定性网络的情况下,无法保证端对端的确定性传输。
发明内容
本申请实施例的目的在于报文传输,以实现在跨越不同确定性网络的情况下,保证端对端的确定性传输。具体技术方案如下:
第一方面,本申请实施例提供了一种报文传输方法,应用于网关,所述方法包括:
接收来自第一网络中的上游网络设备的第一报文;
将所述第一报文缓存到所述第一报文所属确定性流的调度队列中;
按照所述调度队列的调度周期,将所述调度队列中的报文发送至第二网络中的下游网络设备。
在一种可能的实现方式中,将所述第一报文缓存到所述第一报文所属确定性流的调度队列中,包括:
将所述第一报文与本地的流表进行匹配;
若本地存在与所述第一报文匹配的第一流表,则将所述第一报文缓存到所述第一流表对应的调度队列中;
若本地不存在与所述第一报文匹配的流表,且所述第一报文与预设流特征信息匹配,则基于所述预设流特征信息创建第二流表,所述第二流表用于指示所述网关将与所述预设流特征信息匹配的报文,缓存至所述第二流表对应的调度队列中;
将所述第一报文缓存到所述第二流表对应的调度队列中。
在一种可能的实现方式中,所述第一流表和所述第二流表的老化时间为预设时长。
在一种可能的实现方式中,所述接收来自第一网络中的上游网络设备的第一报文,包括:
通过多个入口接收来自所述第一网络中的上游网络设备的第一报文。
在一种可能的实现方式中,所述预设流特征信息为报文五元组;或者,所述预设流特征信息为报文所属确定性流的流标识。
第二方面,本申请实施例提供了一种报文传输装置,应用于网关,所述装置包括:
接收模块,用于接收来自第一网络中的上游网络设备的第一报文;
缓存模块,用于将所述第一报文缓存到所述第一报文所属确定性流的调度队列中;
发送模块,用于按照所述调度队列的调度周期,将所述调度队列中的报文发送至第二网络中的下游网络设备。
在一种可能的实现方式中,所述缓存模块,具体用于:
将所述第一报文与本地的流表进行匹配;
若本地存在与所述第一报文匹配的第一流表,则将所述第一报文缓存到所述第一流表对应的调度队列中;
若本地不存在与所述第一报文匹配的流表,且所述第一报文与预设流特 征信息匹配,则基于所述预设流特征信息创建第二流表,所述第二流表用于指示所述网关将与所述预设流特征信息匹配的报文,缓存至所述第二流表对应的调度队列中;
将所述第一报文缓存到所述第二流表对应的调度队列中。
在一种可能的实现方式中,所述第一流表和所述第二流表的老化时间为预设时长。
在一种可能的实现方式中,所述接收模块,具体用于:
通过多个入口接收来自所述第一网络中的上游网络设备的第一报文。
在一种可能的实现方式中,所述预设流特征信息为报文五元组;或者,所述预设流特征信息为报文所属确定性流的流标识。
第三方面,本申请实施例提供了一种网关,所述网关包括:
处理器;
收发器;
机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述机器可执行指令促使所述处理器执行以下步骤:
通过所述收发器接收来自第一网络中的上游网络设备的第一报文;
将所述第一报文缓存到所述第一报文所属确定性流的调度队列中;
按照所述调度队列的调度周期,通过所述收发器将所述调度队列中的报文发送至第二网络中的下游网络设备。
在一种可能的实现方式中,所述机器可执行指令还促使所述处理器执行以下步骤:
将所述第一报文与本地的流表进行匹配;
若本地存在与所述第一报文匹配的第一流表,则将所述第一报文缓存到所述第一流表对应的调度队列中;
若本地不存在与所述第一报文匹配的流表,且所述第一报文与预设流特征信息匹配,则基于所述预设流特征信息创建第二流表,所述第二流表用于指示所述网关将与所述预设流特征信息匹配的报文,缓存至所述第二流表对应的调度队列中;
将所述第一报文缓存到所述第二流表对应的调度队列中。
在一种可能的实现方式中,所述第一流表和所述第二流表的老化时间为预设时长。
在一种可能的实现方式中,所述机器可执行指令还促使所述处理器执行以下步骤:
通过所述收发器通过多个入口接收来自所述第一网络中的上游网络设备的第一报文。
在一种可能的实现方式中,所述预设流特征信息为报文五元组;或者,所述预设流特征信息为报文所属确定性流的流标识。
第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面所述的方法步骤。
第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品促使所述处理器:实现上述第一方面所述的方法步骤。
采用上述技术方案,网关接收来自第一网络中的上游网关设备的第一报文后,可以将第一报文缓存到第一报文所属确定性流的调度队列中,如此可以使得属于同一条确定性流的报文被缓存到同一调度队列中,避免因网关的入口和出口的调度周期不一致,而使得入口在一个调度周期接收到的报文,被转换到出口的两个不同调度周期中。进而可以在同一调度周期内向第二网络中的下游网络设备发送属于同一确定性流的报文,在跨越不同确定性网络的情况下,也能够保证端到端的确定性传输。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
为了更清楚地说明本申请实施例和现有技术的技术方案,下面对实施例和现有技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种TAS调度方法的示例性示意图;
图2为基于CSQF机制的报文转发示意图;
图3为本申请实施例提供的CSQF机制的多队列循环调度示意图;
图4为本申请实施例提供的一种跨越多个确定性网络的场景示意图;
图5为本申请实施例提供的一种调度整形机制的示例性示意图;
图6为本申请实施例提供的网络接口模型的示例性示意图;
图7a为本申请实施例提供的端口的内部资源的示例性示意图;
图7b为本申请实施例提供的网关的端口内部资源的一种示例性示意图;
图7c为本申请实施例提供的网关的端口内部资源的另一种示例性示意图;
图8为本申请实施例提供的一种报文传输方法的流程图;
图9为本申请实施例提供的另一种报文传输方法的流程图;
图10为本申请实施例提供的一种报文传输装置的结构示意图;
图11为本申请实施例提供的一种网关的结构示意图。
为使本申请的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,首先对本申请实施例中涉及的相关概念进行解释说明。
传统的互联网和工业网络可以通过以下四种方法对QoS服务质量提供保障:
1、对网络进行扩容,也就是扩大网络端口的带宽,使得网络处于轻载的状态,目前以太网已经能实现单端口400G带宽。
2、流量整形:通过令牌桶、信用整形等技术,对特定端口或者流量进行限速。比如上游网络设备的出端口带宽为8Gbps,下游网络设备的空余带宽只有2Gbps,则限制上游网络设备的传输带宽小于2Gbps,以免下游网络设备拥塞。
3、队列调度:队列调度是指在交换设备的出端口对流量进行调度。首先 把报文标记上不同的优先级,然后将报文加入对应的优先级队列,最后采用不同的队列调度算法对队列中的报文进行处理。例如,采用严格优先级(Strict Priority,SP)算法,按照队列优先级的高低顺序进行调度。再例如,采用加权循环调度(Weighted Round Robin,WRR)算法,为每个队列分配一个权重,按权重的比例依次对各队列中的报文进行转发,以免低优先级的报文长时间等待。
4、拥塞控制:当流量过多,缓冲队列的空间不足,网络出现拥塞丢包时,需要进行拥塞控制。可采用显式拥塞通知(Explicit Congestion Notification,ECN)或数据中心传输控制协议(Data Center Transmission Control Protocol,DCTCP)等基于显式拥塞标记的方法探测拥塞,或者采用Timely、Swift等基于往返时延(Round-Trip Time,RTT)的方法探测拥塞,让各上游网络设备及发送端设备降低发包速率。
然而,以上保障QoS技术的方案有两个核心问题:难以保证有界的时延抖动,以及难以应对聚播和突发流量。
其中,难以保证有界的时延抖动是指:网络设备通过复用出端口带宽资源对报文进行转发,缺少时延维度的QoS保障机制,网络设备在采用尽力而为(best-effort)的转发策略转发报文过程中,会存在排队等待和拥塞的情况,业务时延在50ms-1s的量级,并存在长尾时延,难以保证将时延抖动控制在一定的范围内。
难以应对聚播和突发流量是指:由于发送端的流量的大小和发送报文的时间不可控,网络中存在多条流在下游网络设备汇聚(Incast,即聚播)以及在某时刻流量激增(Burst,突发)的现象,导致网络拥塞丢包。
为了解决上面两个核心问题,在技术上引入了时分复用(Time Division Multiplexing,TDM)概念,通过进行时钟同步和时隙规划,使得全网按统一的节拍调度转发报文,从而实现确定的时延和抖动。例如,TSN网络利用了TDM技术。
其中,时隙,是指将时间按等分方式分成多个时隙,时隙是TSN中最小调度单位。
时钟同步,是指全网时钟同步。即终端设备和交换设备的时钟都相同, 网卡也要给报文打上时间戳。目前有两种时钟同步方式,一种是主从模式,选出一个最精准的时钟作为主时钟,其他从时钟都以主时钟为准;另一种是投票模式,比如一个域内有9台设备,5台设备的时钟是1:00,4台设备的时钟是1:01,基于少数服从多数的原则,将该域内的设备的时钟都调整为1:00。
时隙规划,是指将时间按等分方式分成多个时隙,时隙一般是指交换设备出端口的时间维度的传输资源。例如,某交换设备出端口带宽1Gbps,也就是1s可以传1G个bit,假设一个报文有1500字节(Byte),也就是12000bit,那该报文的传输占用出端口某一段12微秒(us)的时隙资源。占用哪一段时隙资源,由报文的传输开始时间决定。由于工业流量大多是周期性发送的小于最大传输单元(Maximum Transmission Unit,MTU)的报文,所以可以控制终端发送报文的开始时间,通过全局时隙规划(时分复用)的方式,使得各个报文在提前规划的时刻被“触发”发送,保证各报文在每跳网络设备的出端口传输时占用的时隙互不冲突,从而避免了聚播和突发的产生,实现“准时准确”传输。
目前可以通过TSN或CSQF机制实现确定性网络。
其中,TSN是一组以太网标准,通过精准时间同步、定时调度等核心技术,实现了时间同步的低延迟流服务,为***内各单元提供低时延的等时的标准数据,从而为控制、测量、配置、用户界面(User Interface,UI)和文件交换基础架构等的融合提供基础。
TSN可以采用感知整形器(Time-aware Shaper,TAS)机制进行队列调度。TAS机制是利用优先级门控队列,为优先级队列加上门控开关,通过门控时间表控制门控开关的打开和闭合,从而将时延抖动控制在一定范围内。
如图1所示,图1中示出了4个队列和以太网发射器(Ethernet Transmitter),队列0中包括5个报文,队列1中包括3个报文,队列2中包括2个报文,队列3中包括1个报文,以太网发射器用于传输4个队列中的报文。
每个队列分别有一个门控开关,队列0的门控开关在时隙0和时隙2000处于使能状态(enabled),在时隙500和时隙1000处于非使能状态(disabled),也就是说队列0中的报文在时隙0和时隙2000被传输。
同理,从图1中可知,队列1的门控开关在时隙1000和时隙2000处于使能状态;队列2的门控开关在时隙500处于使能状态;队列3的门控开关在时隙0处于使能状态。
CSQF机制是基于分段路由的周期性的排队转发机制。控制器为各个网络设备分配分段标识(Segmented Identification,SID),并指定SID对应的出端口和转发周期。网络设备接收到报文后,对报文头进行解析,通过栈顶的SID标签获得出端口和具体转发时间段(周期)信息。进而网络设备按照该转发周期,通过该出端口转发报文。
如图2所示,图2为基于CSQF机制的报文转发示意图;控制器可以为各网络设备分配SID,网络设备1接收到设备A发送的报文后,为报文添加SID标签,图2中的载荷部分为设备A发送的报文,载荷外层的1011、2032、3054和4076为SID标签,网络设备1可以基于栈顶的SID标签(1011)确定转发端口和转发周期,按照转发端口和转发周期将报文转发给网络设备2。其中,SID标签的第一位表示跳数,第三位表示出端口,第四位表示转发周期,比如1011表示在网络设备1的端口1的周期1传输该报文。
网络设备2接收到报文后,基于栈顶的SID标签(2032)确定转发端口和转发周期,按照转发端口和转发周期将报文转发给网络设备3,网络设备3和网络设备4也基于相同的方法进行报文转发,直至报文被转发到设备B。
CSQF是基于多周期的多队列循环调度机制,通过使网络设备间保持频率同步,并使网络设备的出端口队列循环排队转发的方式,实现端对端的确定性时延和抖动。
如图3所示,图3是CSQF机制的多队列循环调度示意图。图3中示例性地示出了周期1-周期3。在周期1发送队列7(Q7)中的报文,在周期2发送队列6(Q6)中的报文,在周期3发送队列5(Q5)中的报文。
通过对比可知,TSN使用的TAS机制是基于门控方式,周而复始地打开及关闭门控开关,从而控制队列中报文的发送。CSQF机制是采用多队列循环调度的方式控制队列中报文的发送。两者都采用了队列和周期性调度,不同之处在于:
1、TAS机制中,网络设备可以同时打开多个队列的门控开关;而CSQF 机制中,一个周期只发送一个队列中的报文。
2、TAS机制的门控开关周期与CSQF机制的每个周期的时长不同。
3、TAS机制和CSQF机制均为针对端口的调度,但不同端口的速率不同。
4、TAS机制既考虑了频率又考虑了相位差,CSQF机制只要求频率同步。
5、TAS机制中,网络设备在同一调度周期内,针对开启门控开关的队列,按照队列优先级从高到低的顺序依次发送各队列中的报文;而CSQF机制中,在同一调度周期中没有优先级概念,网络设备将当前调度周期对应队列中缓存的报文依次发送。
不同的确定性网络还具有一个相同的约束条件,比如采用TAS机制的TSN,在同一调度周期中,门控开关被打开的队列中的报文所占用空间不能超过该调度周期的最大发送容量。采用CSQF机制的确定性网络中,在同一调度周期中任何队列中的报文所占空间不能超过该调度周期的最大发送容量。否则会出现在该调度周期内无法清空队列的问题,即队列中的报文在指定调度周期内无法被发送出去,将影响业务流的时延和抖动。
虽然TAS机制和CSQF机制都可以实现同一确定性网络的端到端的确定性传输,但实际场景中,还需在不同确定性网络间实现端对端的确定性传输。例如,如图4所示,控制端和执行端之间包括不同的确定性网络,不同的确定性网络之间通过网关连接。其中,控制端、TSN局域网1、网关1、确定性网络(Deterministic Networking,DetNet)广域网、网关2、TSN局域网2和执行端依次连接。TSN局域网1和TSN局域网2均使用TAS机制,DetNet广域网使用CSQF机制,由于TAS机制和CSQF机制具有上述不同,所以只能在单一确定性网络中实现确定性传输,而并不能保证从控制端到执行端的端对端确定性传输。
TAS机制和CSQF机制使用的都是调度整形机制,调度整形机制是网络设备的服务质量保障机制。其中,调度是指队列调度,包括报文进入队列、根据调度算法选择发送队列和对报文进行出队传输。整形是指流量整形,通过限制端口的转发速率从而防止网络设备的内部或者网络设备的下一跳出现拥塞。
如图5所示,图5为一种调度整形机制的示例性示意图,网络设备可通 过入口接收各优先级的报文,对报文进行解封装处理和交换结构处理,其中,交换结构处理是指按照网络设备的配置对报文的报头进行修改。然后,网络设备可以将报文加入优先级队列,在调度时,利用传输选择算法(例如TAS算法)选择当前周期发送的队列。然后网络设备在对选择的队列中的报文进行出队处理时,利用流量整形(比如限制传输速率)的方法通过出端口发送队列中的报文。
本申请实施例中,网关也可采用调度整形机制,对确定性流进行映射和整形,从而实现不同的确定性网络之间的报文传输。
本申请实施例中的网关的网络接口模型如图6所示,网关两侧有多个网络节点端口(Network to Network Interface,NNI),每个端口承载多个业务流。
如图7a所示,图7a为端口的内部资源的示例性示意图,图7a中每个小圆柱代表一个调度队列,小圆柱的长度代表队列深度,调度队列用于缓存报文。一个大的调度周期由多个调度周期(cycle组成),每个调度周期用于传输一个调度队列中的报文。作为示例,每个调度周期可以为10微秒。
由于各网络设备的设备款型、端口速率以及面向场景不同,所以根据承载业务的不同,不同端口内的资源也会不同,比如不同端口的调度周期、队列深度等参数有差异。
例如,如图7b所示,图7b左侧为网关的入口资源,右侧为网关的出口资源,左侧入口的调度队列数量与右侧出口的调度队列数量相同,且每个调度周期的长度相同,但是左侧的调度队列深度与右侧的调度队列深度不同。
再例如,如图7c所示,图7c左侧为网关的入口资源,右侧为网关的出口资源,左侧入口的调度队列数量、调度周期、队列深度与右侧出口均不相同。
以图7b为例,假设图7b的入口与TSN局域网1连接,出口与DetNet局域网连接,即网关可以通过入口接收TSN局域网1发出的流量,并通过出口将接收到的流量发送给DetNet广域网。
虽然图7b示出的入口和出口的调度周期的长度相同,但是时钟可能不一致,导致流量经过中间的传输链路后,原本属于同一调度周期的数据,被分散在两个调度周期上。
例如,网关在入口的一个调度周期Q1接收到的属于同一条确定性流的数 据,被转换到两个调度周期中,分别为Q5的后半部分以及Q6的前半部分,导致同一条确定性流的数据被分散在两个调度周期被发送到DetNet广域网,不能实现对这条确定性流的确定性传输。
结合上述介绍,为了保证端到端的确定性传输,本申请实施例提供一种报文传输方法,应用于网关,如图8所示,该方法包括:
S801、接收来自第一网络中的上游网络设备的第一报文。
其中,第一网络为确定性网络,例如,可以为TSN网络,或者为使用CSQF机制的网络。
上游网络设备为转发路径中,位于网关上游的网络设备。
例如,在图4中,对于从控制端到执行端方向的转发路径,TSN局域网1中的网络设备为网关1的上游网络设备,DetNet广域网中的网络设备为网关2的上游网络设备。
对于从执行端到控制端方向的转发路径,DetNet广域网中的网络设备为网关1的上游网络设备,TSN局域网2中的网络设备为网关2的上游网络设备。
S802、将第一报文缓存到第一报文所属确定性流的调度队列中。
其中,该调度队列为网关的出口的调度队列。
S803、按照调度队列的调度周期,将调度队列中的报文发送至第二网络中的下游网络设备。
其中,第二网络为确定性网络,例如,可以为TSN网络,或者为使用CSQF机制的网络。
第一网络和第二网络为不同的确定性网络,即第一网络和第二网络使用的调度机制不同。
在本申请实施例中,可以将由多个不同的确定性网络组成的网络称为异构网络,例如,第一网络、网关和第二网络可以组成异构网络,图4示出的从控制端至执行端之间的网络也是异构网络。
下游网络设备为转发路径中,位于网关下游的网络设备。也就是说,本申请实施例中的上游网络设备和下游网络设备均是针对网关进行区分的。
例如,在图4中,对于从控制端到执行端方向的转发路径,网关1的下 游网络设备为DetNet广域网中的网络设备,网关2的下游网络设备为TSN局域网2中的网络设备。
对于从执行端到控制端方向的转发路径,网关1的下游网络设备为TSN局域网1中的网络设备,网关2的下游网络设备为DetNet广域网中的网络设备。
可选地,网关可以根据报文的目的地址,确定报文的转发路径,并沿转发路径向第二网络中的下游网络设备发送调度队列中的报文。确定报文转发路径的方法与报文所使用的协议相关,可基于协议规定确定报文转发路径,本申请实施例对此不作限定。
采用该方法,网关接收来自第一网络中的上游网络设备的第一报文后,可以将第一报文缓存到第一报文所属流的调度队列中,如此可以使得属于同一条确定性流的报文被缓存到同一调度队列中,避免因网关的入口和出口的调度周期不一致,而使得入口在一个调度周期接收到的报文,被转换到出口的两个不同调度周期中。进而可以在同一调度周期内向第二网络中的下游网络设备发送属于同一确定性流的报文,在跨越不同确定性网络的情况下,也能够保证端到端的确定性传输。
可选地,网关可以具有多个入口,网关入口可以为物理端口,也可以为虚拟接口,例如虚拟可扩展局域网(Virtual eXtensible Local Area Network,VxLAN)接口。上述S801中,网关可以通过多个入口接收来自第一网络中的上游网络设备的第一报文。如此,可以将多个入口接收到的属于同一条确定性流的报文缓存至同一调度队列,保证了从不同入口接收到的同一条确定性流的报文的端对端确定性传输。
本申请实施例中,网关可以通过匹配流表的方式将接收到的报文缓存至调度队列,如图9所示,在图8的基础上,S802、将第一报文缓存到第一报文所属确定性流的调度队列中,可以实现为以下步骤:
S8021、将第一报文与本地的流表进行匹配。
其中,本地的每个流表对应一个调度队列,即每个流表分别与一个调度队列具有关联关系。流表包括匹配域和动作项,流表的匹配域可以为流特征信息,动作项为将匹配的报文加入该流表对应的调度队列。
本申请实施例中的流特征信息可以为报文五元组,或者为报文所属确定性流的流标识(Flow ID),也可以为其他用于标识一条确定性流的信息,本申请实施例对此不作限定。
S8022、若本地存在与第一报文匹配的第一流表,则将第一报文缓存到第一流表对应的调度队列中。
若第一报文与第一流表中的流特征信息匹配,则可将第一报文缓存到第一流表对应的调度队列中,如此,可以使得属于同一条确定性流的报文被缓存到同一调度队列中。
S8023、若本地不存在与第一报文匹配的流表,且第一报文与预设流特征信息匹配,则基于预设流特征信息创建第二流表。
其中,第二流表用于指示网关将与预设流特征信息匹配的报文,缓存至第二流表对应的调度队列中。
网关中可以预先配置确定性流对应的流特征信息,若本地不存在与第一报文匹配的流表,则可将第一报文与预设流特征信息进行匹配,若第一报文与任意一条预设流特征信息匹配,则网关可确定第一报文属于确定性流,进而网关可以为该确定性流创建第二流表。需要说明的是,若本地不存在与第一报文匹配的预设流特征信息,即第一报文与本地的所有预设流特征信息均不匹配,则说明第一报文不属于确定性流,网关可以按照协议规定的对非确定性流的转发策略向第二网络设备中的下游网络设备转发第一报文。例如,可以采用尽力而为(best-effort)的转发策略转发第一报文。
可以理解的是,第二流表的匹配域为与第一报文匹配的预设流特征信息,第二流表包括的动作项为将匹配的报文加入第二流表对应的调度队列,相当于网关建立了第二流表与该调度队列之间的关联关系。
可选地,预设流特征信息可以为报文五元组,相应地,网关可以将第一报文的五元组与预设流特征信息的五元组进行匹配。
或者,预设流特征信息可以为报文所属确定性流的流标识,相应地,网关可以从第一报文的报头中获取流标识,进而将第一报文中的流标识与预设的流标识进行匹配。
预设流特征信息还可以为其他用于标识一条确定性流的信息,还可以从 空间维度和时间维度来区分确定性流,比如网关从相同入口接收到的与预设报文五元组匹配的报文属于同一条确定性流,或者网关在指定时间段内接收到的与预设报文五元组匹配的报文属于同一条确定性流。本申请实施例中的预设流特征信息可以为相关技术中任意一种用于区分确定性流的流特征信息,本申请实施例对此不作限定。
在为预设流特征信息创建第二流表之后,还可以为第二流表设置老化时间。第二流表的老化时间为预设时长。
该预设时长可以为一个调度周期的时长,如此,可以使得网关在一个调度周期内接收到的属于同一条确定性流的报文被缓存到同一调度队列中,避免网关将在一个调度周期内接收到的属于同一条确定性流的报文,分散在两个调度周期发出,起到平滑、整形的作用。
类似地,第一流表的老化时间也是一个调度周期的时长。
示例性地,一个调度周期的时长可以为10微秒(us),即第一流表和第二流表的老化时间均可以为10us。
或者,预设时长可以根据实际需求设置。
S8024、将第一报文缓存到第二流表对应的调度队列中。
可以理解的是,在一个调度周期的时长内,网关若再次接收到与第二流表匹配的报文,则可继续将报文缓存到第二流表对应的调度队列中。
采用该方法,可以基于预设流特征信息为接收到的确定性流创建流表,使得在预设时长内,属于同一条确定性流的报文被缓存到同一调度队列中,可以实现网关按确定性流对报文进行汇聚,避免在同一调度周期接收到的属于同一条确定性流的报文,被网关转换到两个不同调度周期的调度队列中,进而也可以避免报文传输至另一个确定性网络后被分散在两个不同调度周期中,使得报文传输更加符合业务特点,实现在异构网络中的确定性传输。
基于相同发明构思,本申请实施例还提供一种报文传输装置,应用于网关,如图10所示,该装置包括:
接收模块1001,用于接收来自第一网络中的上游网络设备的第一报文;
缓存模块1002,用于将第一报文缓存到第一报文所属确定性流的调度队 列中;
发送模块1003,用于按照调度队列的调度周期,将调度队列中的报文发送至第二网络中的下游网络设备。
可选的,缓存模块1002,具体用于:
将第一报文与本地的流表进行匹配;
若本地存在与第一报文匹配的第一流表,则将第一报文缓存到第一流表对应的调度队列中;
若本地不存在与第一报文匹配的流表,且第一报文与预设流特征信息匹配,则基于预设流特征信息创建第二流表,第二流表用于指示网关将与预设流特征信息匹配的报文,缓存至第二流表对应的调度队列中;
将第一报文缓存到第二流表对应的调度队列中。
可选的,第一流表和第二流表的老化时间为预设时长。
可选的,接收模块1001,具体用于:
通过多个入口接收来自第一网络中的上游网络设备的第一报文。
可选的,预设流特征信息为报文五元组;或者,预设流特征信息为报文所属确定性流的流标识。
本申请实施例还提供了一种网关,如图11所示,该网关包括:
处理器1101;
收发器1104;
机器可读存储介质1102,机器可读存储介质1102存储有能够被处理器1101执行的机器可执行指令;机器可执行指令促使处理器1101执行以下步骤:
通过收发器1104接收来自第一网络中的上游网络设备的第一报文;
将第一报文缓存到第一报文所属确定性流的调度队列中;
按照调度队列的调度周期,通过收发器1104将调度队列中的报文发送至第二网络中的下游网络设备。
可选的,机器可执行指令还促使处理器1101执行以下步骤:
将第一报文与本地的流表进行匹配;
若本地存在与第一报文匹配的第一流表,则将第一报文缓存到第一流表对应的调度队列中;
若本地不存在与第一报文匹配的流表,且第一报文与预设流特征信息匹配,则基于预设流特征信息创建第二流表,第二流表用于指示网关将与预设流特征信息匹配的报文,缓存至第二流表对应的调度队列中;
将第一报文缓存到第二流表对应的调度队列中。
可选的,第一流表和第二流表的老化时间为预设时长。
可选的,机器可执行指令还促使处理器1101执行以下步骤:
通过收发器1104通过多个入口接收来自第一网络中的上游网络设备的第一报文。
可选的,预设流特征信息为报文五元组;或者,预设流特征信息为报文所属确定性流的流标识。
如图11所示,网关还可以包括通信总线1103。处理器1101、机器可读存储介质1102及收发器1104之间通过通信总线1103完成相互间的通信,通信总线1103可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线1103可以分为地址总线、数据总线、控制总线等。
收发器1104可以为无线通信模块,收发器1104在处理器1101的控制下,与其他设备进行数据交互。
机器可读存储介质1102可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。另外,机器可读存储介质1102还可以是至少一个位于远离前述处理器的存储装置。
处理器1101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种发明构思,根据上述本申请实施例提供的报文传输方法,本申请实施例还提供了一种机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令。处理器被机器可执行指令促使实现上述任 一报文传输方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一报文传输方法的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (17)
- 一种报文传输方法,其特征在于,应用于网关,所述方法包括:接收来自第一网络中的上游网络设备的第一报文;将所述第一报文缓存到所述第一报文所属确定性流的调度队列中;按照所述调度队列的调度周期,将所述调度队列中的报文发送至第二网络中的下游网络设备。
- 根据权利要求1所述的方法,其特征在于,将所述第一报文缓存到所述第一报文所属确定性流的调度队列中,包括:将所述第一报文与本地的流表进行匹配;若本地存在与所述第一报文匹配的第一流表,则将所述第一报文缓存到所述第一流表对应的调度队列中;若本地不存在与所述第一报文匹配的流表,且所述第一报文与预设流特征信息匹配,则基于所述预设流特征信息创建第二流表,所述第二流表用于指示所述网关将与所述预设流特征信息匹配的报文,缓存至所述第二流表对应的调度队列中;将所述第一报文缓存到所述第二流表对应的调度队列中。
- 根据权利要求2所述的方法,其特征在于,所述第一流表和所述第二流表的老化时间为预设时长。
- 根据权利要求1所述的方法,其特征在于,所述接收来自第一网络中的上游网络设备的第一报文,包括:通过多个入口接收来自所述第一网络中的上游网络设备的第一报文。
- 根据权利要求2所述的方法,其特征在于,所述预设流特征信息为报文五元组;或者,所述预设流特征信息为报文所属确定性流的流标识。
- 一种报文传输装置,其特征在于,应用于网关,所述装置包括:接收模块,用于接收来自第一网络中的上游网络设备的第一报文;缓存模块,用于将所述第一报文缓存到所述第一报文所属确定性流的调度队列中;发送模块,用于按照所述调度队列的调度周期,将所述调度队列中的报文发送至第二网络中的下游网络设备。
- 根据权利要求6所述的装置,其特征在于,所述缓存模块,具体用于:将所述第一报文与本地的流表进行匹配;若本地存在与所述第一报文匹配的第一流表,则将所述第一报文缓存到所述第一流表对应的调度队列中;若本地不存在与所述第一报文匹配的流表,且所述第一报文与预设流特征信息匹配,则基于所述预设流特征信息创建第二流表,所述第二流表用于指示所述网关将与所述预设流特征信息匹配的报文,缓存至所述第二流表对应的调度队列中;将所述第一报文缓存到所述第二流表对应的调度队列中。
- 根据权利要求7所述的装置,其特征在于,所述第一流表和所述第二流表的老化时间为预设时长。
- 根据权利要求6所述的装置,其特征在于,所述接收模块,具体用于:通过多个入口接收来自所述第一网络中的上游网络设备的第一报文。
- 根据权利要求7所述的装置,其特征在于,所述预设流特征信息为报文五元组;或者,所述预设流特征信息为报文所属确定性流的流标识。
- 一种网关,其特征在于,所述网关包括:处理器;收发器;机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述机器可执行指令促使所述处理器执行以下步骤:通过所述收发器接收来自第一网络中的上游网络设备的第一报文;将所述第一报文缓存到所述第一报文所属确定性流的调度队列中;按照所述调度队列的调度周期,通过所述收发器将所述调度队列中的报文发送至第二网络中的下游网络设备。
- 根据权利要求11所述的网关,其特征在于,所述机器可执行指令还促使所述处理器执行以下步骤:将所述第一报文与本地的流表进行匹配;若本地存在与所述第一报文匹配的第一流表,则将所述第一报文缓存到所述第一流表对应的调度队列中;若本地不存在与所述第一报文匹配的流表,且所述第一报文与预设流特征信息匹配,则基于所述预设流特征信息创建第二流表,所述第二流表用于指示所述网关将与所述预设流特征信息匹配的报文,缓存至所述第二流表对应的调度队列中;将所述第一报文缓存到所述第二流表对应的调度队列中。
- 根据权利要求12所述的网关,其特征在于,所述第一流表和所述第二流表的老化时间为预设时长。
- 根据权利要求11所述的网关,其特征在于,所述机器可执行指令还促使所述处理器执行以下步骤:通过所述收发器通过多个入口接收来自所述第一网络中的上游网络设备的第一报文。
- 根据权利要求12所述的网关,其特征在于,所述预设流特征信息为报文五元组;或者,所述预设流特征信息为报文所属确定性流的流标识。
- 一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-5任一所述的方法步骤。
- 一种计算机程序产品,其特征在于,所述计算机程序产品促使所述处理器:实现权利要求1-5任一所述的方法步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/107433 WO2024016327A1 (zh) | 2022-07-22 | 2022-07-22 | 报文传输 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117751569A true CN117751569A (zh) | 2024-03-22 |
Family
ID=89616821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280002350.4A Pending CN117751569A (zh) | 2022-07-22 | 2022-07-22 | 报文传输 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117751569A (zh) |
WO (1) | WO2024016327A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113382442B (zh) * | 2020-03-09 | 2023-01-13 | ***通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
CN111786900B (zh) * | 2020-06-15 | 2022-04-29 | 北京交通大学 | 一种基于时间队列的时态感知流量整形器 |
WO2023283902A1 (zh) * | 2021-07-15 | 2023-01-19 | 新华三技术有限公司 | 一种报文传输方法及装置 |
-
2022
- 2022-07-22 WO PCT/CN2022/107433 patent/WO2024016327A1/zh active Application Filing
- 2022-07-22 CN CN202280002350.4A patent/CN117751569A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2024016327A1 (zh) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Laursen et al. | Routing optimization of AVB streams in TSN networks | |
WO2021180073A1 (zh) | 报文传输方法、装置、网络节点及存储介质 | |
EP4319055A1 (en) | Message transmission method and apparatus | |
JP7512456B2 (ja) | パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム | |
WO2019214561A1 (zh) | 一种报文发送的方法、网络节点和*** | |
CN109639560B (zh) | 改善实时计算机网络的可用性的方法 | |
WO2021089018A1 (zh) | 一种通信方法、装置及*** | |
WO2022022224A1 (zh) | 调度数据包的方法和相关装置 | |
CN115242728B (zh) | 一种报文传输方法及装置 | |
TWI756666B (zh) | 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體 | |
CN114615211A (zh) | 一种有线无线融合的航天器内时间敏感网络队列管理调度方法 | |
Wang et al. | Real time characteristics of Ethernet and its improvement | |
CN114221912B (zh) | 一种针对非周期时间触发业务流的时间敏感网络接入方法 | |
CN115643220B (zh) | 基于抖动时延的确定性业务传输方法和装置 | |
WO2023123104A1 (zh) | 一种报文传输方法及网络设备 | |
WO2022105686A1 (zh) | 报文处理方法以及相关装置 | |
CN117751569A (zh) | 报文传输 | |
Cavalieri | Modelling and analysing congestion in KNXnet/IP | |
JP2024507298A (ja) | イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 | |
Zhang et al. | Hard real-time communication over multi-hop switched ethernet | |
CN115396378B (zh) | 基于时隙映射的跨域协同时延敏感网络调度方法和*** | |
EP2942916A1 (en) | Contention avoidance in packet switched network equipments | |
US12028265B2 (en) | Software-defined guaranteed-latency networking | |
WO2024055897A1 (zh) | 报文处理方法、传递方法、通信设备、***、介质及产品 | |
CN116545947A (zh) | 多链路速率组网下的数据流传输方法及其相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |