CN115037399A - 报文转发方法、电子设备和存储介质 - Google Patents
报文转发方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115037399A CN115037399A CN202110235437.3A CN202110235437A CN115037399A CN 115037399 A CN115037399 A CN 115037399A CN 202110235437 A CN202110235437 A CN 202110235437A CN 115037399 A CN115037399 A CN 115037399A
- Authority
- CN
- China
- Prior art keywords
- time slot
- flow
- node
- message
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013507 mapping Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 description 16
- 125000004122 cyclic group Chemical group 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/562—Attaching a time tag to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/17—Interaction among intermediate nodes, e.g. hop by hop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/568—Calendar queues or timing rings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/801—Real time traffic
Abstract
本发明公开了一种报文转发方法、电子设备和存储介质,所述方法包括:业务流的转发路径经过的第一节点确定所述业务流的流标识;第一节点根据流标识确定业务流中的第一报文的基础时隙编号;第一节点根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;第一节点根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。如此,第一节点根据业务流的流标识确定业务流的第一报文对应的基础时隙编号和时隙偏移量,进而根据基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号,通过转发面为报文提供有界时延和抖动的确定性转发服务。本方案不需要转发路径上的各个节点之间的时间同步,尤其适合大规模网络应用。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种报文转发方法、电子设备和存储介质。
背景技术
IEEE时间敏感网络(Time Sensitive Networking,TSN)工作组于802.1Qch草案中提出的循环入队和转发(Cyclic Queuing and Forwarding,CQF)机制能够为TSN业务提供确定性的转发服务。CQF要求节点间时间同步,然而在大规模三层确定性网络中,节点之间往往难以时间同步,因此在大规模网络中无法直接复用CQF技术提供有效的确定性转发服务。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种报文转发方法、电子设备和存储介质,能够实现大规模网络的确定性传输。
第一方面,本发明实施例提供了一种报文转发方法,应用于业务流的转发路径经过的第一节点,所述方法包括:
确定所述业务流的流标识;
根据所述流标识确定所述业务流中的第一报文的基础时隙编号;
根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;
根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
第二方面,本发明实施例提供了一种第一节点,所述第一节点为业务流的转发路径经过的节点,其特征在于,包括:
第一确定模块,用于确定所述业务流的流标识;
第二确定模块,用于根据所述流标识确定所述业务流中的第一报文的基础时隙编号;
第三确定模块,用于根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;
第四确定模块,用于根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或者第二方面所述的传输方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或者第二方面所述的传输方法。
本发明实施例的方案,业务流的转发路径经过的第一节点确定所述业务流的流标识;第一节点根据所述流标识确定业务流中的第一报文的基础时隙编号;第一节点根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;第一节点根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。如此,第一节点在接收到业务流后,根据业务流的流标识确定业务流的第一报文对应的基础时隙编号和时隙偏移量,进而根据基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号,通过转发面为报文提供有界时延和抖动的确定性转发服务。本方案不需要转发路径上的各个节点之间的时间同步,因此尤其适合大规模网络应用。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和得到。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是CQF机制的循环调度示意图;
图2是本发明实施例提供的一种报文转发方法的流程图;
图3是图2中步骤S100的子步骤流程图;
图4是本发明实施例提供的循环调度参数列表示意图;
图5是图2中步骤S200的子步骤流程图;
图6a是图2中步骤S300的子步骤流程图;
图6b是图2中步骤S300的子步骤流程图;
图7a是本发明实施例的示例一中的循环调度参数列表示意图;
图7b是本发明实施例的示例一中每个报文对应的基础时隙编号示意图;
图7c是本发明实施例的示例一中每个报文对应的入队时隙编号示意图;
图8是本发明实施例提供的一种第一节点的结构示意图;
图9是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
应了解,在本发明实施例的描述中,如果有描述到“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为便于理解,首先对本发明实施例的相关技术进行介绍。
请参见图1,在CQF机制中,每个节点设置有多个用于缓存报文的缓存队列,每个队列对应一个时隙编号。这些缓存队列组成一个循环队列,队列之间按循环调度方式转发。在某一个时隙,处于发送状态的队列在确定的时隙时长内(例如10μS)发送报文,而其余队列均接收报文。通过循环入队和转发,端到端的时延与跳数和时隙时长相关,抖动仅和时隙时长相关,且有上界。然而这种方案要求节点间时间同步,因而仅适应于小规模网络。
相关技术,提出了基于上下游节点间时隙标签映射的转发面解决方案,下游节点需在上游时隙序号和下游时隙序号间维护时隙映射关系,并使所有携带同一时隙序号的报文在同一出时隙中发送出去,从而为业务提供有界时延和抖动的确定服务。然而,该解决方案需要在报文中携带时隙标签信息,要求修改现有报文封装,带来设备互通和协议兼容性问题。
本发明实施例提供了一种报文转发方法、电子设备和存储介质,能够实现大规模网络的确定性传输。
可以理解,在用户部署确定性业务流前,首先通过用户网络接口将业务流相关信息提交给控制器,其中,控制器可以是软件定义网络(Software Defined Network,SDN)控制器,业务流相关信息可以包括但不限于应用标识(app ID)、业务流标识(Flow ID)、流量模型、网络服务质量(Quality of Service,QoS)要求等。控制器读取网络参数,包括但不限于:带宽和时延、端口维护的循环队列模板、节点支持的报文头到基础时隙映射策略等信息,然后根据业务流QoS中对于时延和抖动的要求,确定转发该业务流的转发路径。该转发路径经过多个节点,例如:节点A-节点B-节点C-节点D-节点E,节点之间通过链路连接。本发明实施例描述的节点可以为一个具体的网络设备,例如:路由器或交换机等。
请参见图2,示出了本发明实施例提供的一种报文转发方法。该报文转发方法应用于业务流的转发路径经过的第一节点,这里的第一节点可以是转发路径中的任一个节点。如图2所示,本发明实施例的报文转发方法包括以下步骤:
S100,确定业务流的流标识。
可以理解,为了不改变现有报文的封装以避免设备互通和协议兼容性问题,本发明实施例的业务流的流标识(Flow ID)可以采用报文头的字段或者字段的组合。例如确定性网络(DetNet)的多协议标签交换(Multi-Protocol Label Switching,MPLS)报文可采用s-label、d-cw作为Flow ID,DetNet IPv4/IPv6报文可采用源IP地址、目的IP地址、源端口、目的端口、传输层协议类型、优先级等字段作为Flow ID。
请参见图3,确定业务流的流标识,可以包括以下步骤:
S101,识别接收到的业务流的类型。
作为示例,第一节点接收到业务流后,对业务流的类型进行识别,业务流的类型可以是MPLS报文、IPv4/IPv6报文等。
S102,根据业务流的类型确定流标识所在字段。
具体实现时,可以预先建立业务流类型和流标识所在字段的映射关系,在识别到当前接收的业务流的类型后,根据业务流类型和流标识所在字段的映射关系,确定当前接收的业务流的流标识所在字段。例如,识别到业务流的类型为MPLS报文时,确定流标识所在字段为s-label和/或d-cw;识别到业务流的类型为Pv4/IPv6报文时,确定流标识所在字段为源IP地址、目的IP地址、源端口、目的端口、传输层协议类型、优先级中的一个或多个字段的组合。
S103,根据流标识所在字段从业务流的报文头中提取流标识。
可以理解,当确定了流标识所在字段之后,从业务流的报文头对应的字段中提取该流标识。
S200,根据流标识确定业务流中的第一报文的基础时隙编号。
作为示例,可以由控制器预先建立基于业务流的流标识和基础时隙编号的映射规则,控制器在确定业务流的转发路径后,将流标识和基础时隙编号的映射规则下发给该转发路径经过的每一个节点。第一节点在确定当前业务流的流标识后,即可根据流标识确定业务流的第一报文映射的基础时隙编号。这里,第一报文属于该业务流,该业务流包括一个或者多个报文,第一报文为该业务流中的任一个报文。
可以理解,在流标识存在于业务流的报文头字段的情况下,相当于基于报文头字段进行基础时隙的映射,如此,解决了相关技术在报文中携带时隙标签信息而需要修改现有报文封装所带来的问题。
作为一种示例,控制器构建针对确定性业务流的循环调度参数列表,该循环调度参数列表的具体形式可以参考图4所示的表格。如图4所示,循环调度参数列表可以包括以下的字段:
Flow ID:表项的键值字段,用于配置确定性业务流ID,当节点收到业务流报文时,首先需要匹配表Flow ID,判断是否需要为其提供确定性转发服务;
Flow Interval:若业务流为周期性的业务流,配置业务流的周期至FlowInterval字段,否则该字段为Null;
Max Packets PerInterval:若业务流为为周期性的业务流,配置单个周期内最大发送报文数量至该字段,否则该字段为Null;
Slot Interval:表示循环队列时隙时长;
Slot Number:表示循环队列的时隙个数;
Slot Mapping Strategy:表示报文头字段到基础时隙编号的映射规则;
ΔT:时隙偏移量,由转发面的节点自学习得到,初始值为Null。
需说明的是,图4所示的循环调度参数列表仅是示意性的,具体实现时,循环调度参数列表可以比图4所示的模板包含更多或者更少的字段,本发明实施例对此不作过多限定。
可以理解,控制器将针对确定性业务流的循环调度参数列表下发至归属于该控制器的每个节点中,通过该循环调度参数列表指导每个节点进行循环轮询调度。当有确定性业务流需进行确定性转发时,由于此前控制器已将循环调度参数列表下发至各个节点,即该循环调度参数列表已预先设置在业务流的转发路径经过的每个节点中,从而使转发路径经过的每个节点根据统一的循环调度参数列表针对该确定性业务流进行循环轮询调度。
可以理解,转发路径的上、下游节点间均采用相同的循环调度参数列表,即有相同的时隙时长和缓存队列个数,并且时隙轮询频率同步。
可选的,当第一节点确定业务流的流标识,还根据业务流的流标识查找预置的循环调度参数列表,如果查找成功,根据流标识确定业务流中的第一报文的基础时隙编号,否则按原有转发流程处理该业务流。
例如,第一节点接收到业务流时,先确定业务流的Flow ID,例如针对DetNet MPLS报文是s-label,针对DetNet IPv4/IPv6报文为n-tuple;然后以Flow ID为键去查找循环调度参数列表,若查找成功,则表明需要为该业务流提供确定性转发服务,否则按原有转发流程处理。
请参见图5,示例性的,根据流标识确定业务流中的第一报文的基础时隙编号,可以包括:
S201,根据流标识从预置的循环调度参数列表中查找与流标识对应的映射规则,映射规则包括用于映射的关键字段指示信息;
S202,根据关键字段指示信息从第一报文的报文头中确定关键字段值;
S203,根据映射规则确定关键字段值映射的基础时隙编号。
例如,第一节点确定当前接收到的业务流1的Flow ID后,从预置的循环调度参数列表中查找到与该Flow ID对应的映射规则(Slot Mapping Strategy)指示基于报文序列号确定报文的基础时隙编号。这里,与该Flow ID对应的映射规则所包含的关键字段指示信息为报文序列号。当确定关键字段指示信息为报文序列号之后,从第一报文的报文头中提取报文序列号,然后根据映射规则确定该报文序列号映射的基础时隙编号。
S300,根据流标识确定第一节点针对业务流的时隙偏移量。
请参见图6a,在一些实施例中,根据流标识确定第一节点针对业务流的时隙偏移量,包括:
S310,根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙偏移量。
可以理解,第一节点在确定当前接收到的业务流的流标识(Flow ID)后,可以从预置的循环调度参数列表中查找与当前Flow ID对应的ΔT,若ΔT字段不为Null,即可确定与该流标识对应的时隙偏移量。
可以理解,若预置的循环调度参数列表中与当前Flow ID对应的ΔT字段为Null,则需要第一节点自学习自身对于当前业务流的时隙偏移量。
请参见图6b,在一些实施例中,根据流标识确定第一节点针对业务流的时隙偏移量,包括:
S320,根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙时长和时隙个数;
例如,结合图4,从该循环调度参数列表中查找与当前Flow ID对应的SlotInterval字段和Slot Number字段,即可得到与流标识对应的时隙时长和时隙个数。
S321,获取第一节点的时延参考值,并根据时延参考值和时隙时长确定时延间隔;
例如,时延参考值可以由第一节点的入端口到出端口之间的最大转发时延值决定,假设时延参考值为maxdelay,根据该时延参考值maxdelay和循环调度参数列表中指示的时隙时长t,即可通过以下公式(1)确定时延间隔Δt:
Δt=maxdelay/t (1)
S322,获取第一节点当前调度的时隙编号。
例如,第一节点当前处于发送状态的队列对应的时隙编号为3,即第一节点当前调度的时隙编号为3。
S323,根据基础时隙编号、当前调度的时隙编号、时延间隔和时隙个数确定时隙偏移量。
示例性的,在确定了当前的第一报文的基础时隙编号、第一节点当前调度的时隙编号、时延间隔和时隙个数后,即可确定当前第一报文的时隙偏移量,具体可以通过以下公式计算得到:
ΔT=(T2+Δt-T1+N)%N (2)
其中,ΔT表示时隙偏移量,T1表示基础时隙编号,T2表示当前调度的时隙编号,Δt表示时延间隔,N表示时隙个数。
需说明的是,本发明实施例提供的采用公式(2)计算时隙偏移量的方式仅是示意性的,还可以采用对公式(2)进行变形得到的其它计算公式来计算时隙偏移量,本发明实施例对此不作过多限制。
可以理解,通过以上步骤S320至S323,第一节点即可实现对当前业务流的时隙偏移量的自学习。
可以理解,第一节点在确定针对业务流的时隙偏移量之后,还将该时隙偏移量记录在预置的循环调度参数列表中,以便后续的报文使用。
S400,根据基础时隙编号和时隙偏移量确定第一报文的入队时隙编号。
可以理解,确定时隙偏移量之后,根据该时隙偏移量对基础时隙编号进行偏移,即可确定第一报文的入队时隙编号。如此得到的入队时隙编号能避免第一节点无法做到及时调度,从而保证报文在第一节点的排队时延。
可以理解,当轮询调度至第一报文的入队时隙编号,将第一报文发送至下一跳节点,即完成第一报文在当前的第一节点的转发。
以下通过示例对本发明实施例的报文转发方法进行具体的说明。
示例一:
假设节点A的最大处理时延maxDelay为40us,且节点A配置的循环调度参数列表如图7a所示,该列表包含一条业务流的循环调度参数。
假设节点A收到两条IPv4业务流,业务流1的五元组为{192.168.2.1,192.168.3.1,500,1000,10},业务流2的五元组为{192.168.1.1,192.168.2.2,1000,2000,10}。
对业务流1报文,节点A提取报文的五元组,并查找循环调度参数列表,匹配失败,因此根据原有方式处理报文,例如基于优先级将报文送入出端口队列。
对业务流2报文,节点A提取报文的五元组,并查找循环调度参数列表,匹配成功,表明需要按本发明实施例的方案处理业务流2的报文。根据表项中Slot Mapping Strategy字段指示基于报文序列号(Sequence Number)计算基础时隙映射,假设采用的时隙映射计算公式为:
其中T1表示基础时隙编号,cycle1表示业务周期,t表示时隙时长。
结合图7b,本示例中每个报文的基础时隙编号计算结果如下:
对Sequence Number=1,基础时隙编号为T11=(1*150/20/3)%5=2;
对Sequence Number=2,基础时隙编号为T12=(2*150/20/3)%5=0;
对Sequence Number=3,基础时隙编号为T13=(3*150/20/3)%5=2;
对Sequence Number=4,基础时隙编号为T14=(4*150/20/3)%5=0;
对Sequence Number=5,基础时隙编号为T15=(5*150/20/3)%5=2;
......
根据上述计算结果,Sequence Number=1的报文的基础时隙编号为2。再查找表项中ΔT字段,发现ΔT为Null,因此按节点本身自学习方式计算ΔT,查询当前处于调度的时隙序号为3,根据前面描述的公式(2),则计算得到ΔT=(3+2-2+5)%5=3。节点将计算得到的ΔT值保存进业务流对应的循环调度参数列表的表项中。
然后对于Sequence Number=1的报文,容易计算其入队时隙编号为:cycle入1=(T11+ΔT)%N=(2+3)%5=0,节点按计算结果将Sequence Number=1的报文缓存进时隙编号为0的队列中,当调度轮询到时隙编号为0的队列时,将业务流的第一个报文调度发送出去。
对收到的业务流2第二个报文(Sequence Number=2),基础时隙编号映射计算方式与第一个报文相同,根据上述计算结果,基础时隙编号为0。当查找表项中ΔT字段时发现ΔT=3,则直接对时隙进行偏移得到第二个报文的入队时隙编号为:cycle入2=(T12+ΔT)%N=(0+3)%5=3。
对收到的业务流2第三个报文(Sequence Number=3),基础时隙编号映射计算方式与第一个报文相同,根据上述计算结果,基础时隙编号为2。当查找表项中ΔT字段时发现ΔT=3,则直接对时隙进行偏移得到第三个报文的入队时隙编号为:cycle入3=(T13+ΔT)%N=(2+3)%5=0。
对后续收到的业务流2的第四、五、六、……个报文,其基础时隙编号映射和时隙偏移计算入队时隙编号的方式均与上述第二个和第三个报文相同,因而不再一一赘述,最后得到的每个报文的入队时隙编号可参见图7c。
实例二:
本实施例举例说明采用哈希算法基于报文头Flow ID计算基础时隙映射的策略,即基础时隙编号T1=hash(FlowID)%N,表示先基于Flow ID做哈希计算,然后对循环队列个数取模得到基础时隙编号。
假设有五条DetNet MPLS业务流,其业务流Flow ID分别为s-label=1,2,3,4和5,假设循环调度参数列表的时隙个数为N=5。
假设由循环调度参数列表相应字段指示采用哈希算法基于业务流报文头Flow ID进行基础时隙映射,且各个DetNet MPLS业务流的Flow ID的哈希计算结果为:
对于第一条业务流,hash(1)=150;
对于第二条业务流,hash(2)=12;
对于第三条业务流,hash(3)=34;
对于第四条业务流,hash(4)=14;
对于第五条业务流,hash(5)=53。
易根据T1=hash(FlowID)%N计算各业务流报文的基础时隙映射,计算结果如下:
对于Flow ID=1,基础时隙编号为150%5=0;
对于Flow ID=2,基础时隙编号为12%5=2;
对于Flow ID=3,基础时隙编号为34%5=4;
对于Flow ID=4,基础时隙编号为14%5=4;
对于Flow ID=5,基础时隙编号为53%5=4。
需说明的是,可以根据实际应用场景需求,灵活采用相应的基础时隙编号计算策略,本实施例中取值示例仅作解释说明,不作为对本发明实施例的限定。
实例三:
本实例进一步举例说明时隙偏移量ΔT的计算。
假设ΔT的计算公式为:ΔT=(T2+Δt-T1+N)%N
其中,ΔT表示时隙偏移量,T1表示基础时隙编号,T2表示当前调度的时隙编号,Δt表示时延间隔,N表示时隙个数。
这里,由于其中(T2+Δt-T1)可能为负值,因此在对时隙个数N取模前,需要先加上N。
假设节点的最大处理时延maxDelay为20us,根据时隙计算策略计算得到第一个报文的基础时隙编号T1为4,节点接收到第一个报文时当前正处于调度状态的时隙序号为0,循环调度参数列表的时隙个数为N=5,时隙时长为t=10us。计算该业务流时隙偏移量为:
ΔT=(T2+Δt-T1+N)%N=(0+20/10-4+5)%5=3;
则对于该业务第一个报文,经过偏移调整ΔT=3后,该报文的入队时隙为:
cycle入=(T1+ΔT)%N=(4+3)%5=2;
假设后续接收到该业务的另一个报文,根据时隙映射计算策略得到的基础时隙编号T1为3,则经过时隙偏移调整ΔT=3后,该报文的入队时隙为:
cycle入=(T1+ΔT)%N=(3+3)%5=1。
本发明实施例的方案,第一节点在接收到业务流后,根据业务流的流标识确定业务流的第一报文对应的基础时隙编号和时隙偏移量,进而根据基础时隙编号和时隙偏移量确定第一报文的入队时隙编号,通过转发面为报文提供有界时延和抖动的确定性转发服务。本方案不需要转发路径上的各个节点之间的时间同步,因此尤其适合大规模网络应用。采用本发明实施例提供的转发方法,中间节点不会引入额外抖动,业务端到端最大抖动为2*t,其中t为循环调度参数列表的时隙时长。
请参见图8,本发明实施例还提供了一种第一节点400,第一节点为业务流的转发路径经过的节点,其特征在于,包括:
第一确定模块410,用于确定业务流的流标识;
第二确定模块420,用于根据流标识确定业务流中的第一报文的基础时隙编号;
第三确定模块430,用于根据流标识确定第一节点针对业务流的时隙偏移量;
第四确定模块440,用于根据基础时隙编号和时隙偏移量确定第一报文的入队时隙编号。
示例性的,第一确定模块410具体包括:
识别单元,用于识别接收到的业务流的类型;
第一确定单元,根据业务流的类型确定流标识所在字段;
提取单元,根据流标识所在字段从业务流的报文头中提取流标识。
示例性的,第二确定模块420具体包括:
第一查找单元,用于根据流标识从预置的循环调度参数列表中查找与流标识对应的映射规则,映射规则包括用于映射的关键字段指示信息;
第二确定单元,用于根据关键字段指示信息从第一报文的报文头中确定关键字段值;
第三确定单元,用于根据映射规则确定关键字段值映射的基础时隙编号。
示例性的,第三确定模块430具体包括:
第二查找单元,用于根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙时长和时隙个数;
第四确定单元,用于获取第一节点的时延参考值,并根据时延参考值和时隙时长确定时延间隔;
获取单元,用于获取第一节点当前调度的时隙编号;
第五确定单元,用于根据基础时隙编号、当前调度的时隙编号、时延间隔和时隙个数确定时隙偏移量。
示例性的,第二查找单元还用于:根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙偏移量。
示例性的,第三确定模块430还包括:
记录单元,用于将时隙偏移量记录在预置的循环调度参数列表中。
示例性的,本发明实施例的第一节点400还包括:
调度模块,用于当轮询调度至第一报文的入队时隙编号,将第一报文发送至下一跳节点。
示例性的,循环调度参数列表预置在业务流的转发路径经过的每个节点中,循环调度参数列表用于指导每个节点进行循环轮询调度。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
请参见图9,示出了本发明实施例提供的一种电子设备500,包括:存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序。
处理器520和存储器510可以通过总线或者其他方式连接。
存储器510作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器510可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至该处理器520。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的传输方法所需的非暂态软件程序以及指令存储在存储器510中,当被处理器520执行时,执行上述任意实施例中的报文转发方法。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被一个处理器或控制器执行,当计算机程序被处理器或控制器执行时,执行上述任意实施例中的报文转发方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (11)
1.一种报文转发方法,应用于业务流的转发路径经过的第一节点,所述方法包括:
确定所述业务流的流标识;
根据所述流标识确定所述业务流中的第一报文的基础时隙编号;
根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;
根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
2.根据权利要求1所述的方法,其特征在于,根据所述流标识确定所述业务流中的第一报文的基础时隙编号,包括:
根据所述流标识从预置的循环调度参数列表中查找与所述流标识对应的映射规则,所述映射规则包括用于映射的关键字段指示信息;
根据所述关键字段指示信息从所述第一报文的报文头中确定关键字段值;
根据所述映射规则确定所述关键字段值映射的所述基础时隙编号。
3.根据权利要求1所述的方法,其特征在于,根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量,包括:
根据所述流标识从预置的循环调度参数列表中查找与所述流标识对应的时隙偏移量。
4.根据权利要求1所述的方法,其特征在于,根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量,包括:
根据所述流标识从预置的循环调度参数列表中查找与所述流标识对应的时隙时长和时隙个数;
获取所述第一节点的时延参考值,并根据所述时延参考值和所述时隙时长确定时延间隔;
获取所述第一节点当前调度的时隙编号;
根据所述基础时隙编号、所述当前调度的时隙编号、所述时延间隔和所述时隙个数确定所述时隙偏移量。
5.根据权利要求4所述的方法,其特征在于,在根据所述基础时隙编号、所述当前调度的时隙编号、所述时延间隔和所述时隙个数确定所述时隙偏移量之后,所述方法还包括:
将所述时隙偏移量记录在所述预置的循环调度参数列表中。
6.根据权利要求2-5任一所述的方法,其特征在于,所述循环调度参数列表预置在所述业务流的转发路径经过的每个节点中,所述循环调度参数列表用于指导所述每个节点进行循环轮询调度。
7.根据权利要求1所述的方法,其特征在于,还包括:
当轮询调度至所述第一报文的入队时隙编号,将所述第一报文发送至下一跳节点。
8.根据权利要求1所述的方法,其特征在于,确定所述业务流的流标识,包括:
识别接收到的所述业务流的类型;
根据所述业务流的类型确定流标识所在字段;
根据所述流标识所在字段从所述业务流的报文头中提取所述流标识。
9.一种第一节点,所述第一节点为业务流的转发路径经过的节点,其特征在于,包括:
第一确定模块,用于确定所述业务流的流标识;
第二确定模块,用于根据所述流标识确定所述业务流中的第一报文的基础时隙编号;
第三确定模块,用于根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;
第四确定模块,用于根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述的报文转发方法。
11.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的报文转发方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110235437.3A CN115037399A (zh) | 2021-03-03 | 2021-03-03 | 报文转发方法、电子设备和存储介质 |
PCT/CN2022/074957 WO2022183879A1 (zh) | 2021-03-03 | 2022-01-29 | 报文转发方法、电子设备和存储介质 |
EP22762347.7A EP4250669A4 (en) | 2021-03-03 | 2022-01-29 | PACKET RETRANSMISSION METHOD, ELECTRONIC DEVICE AND STORAGE MEDIUM |
US18/258,904 US20240048502A1 (en) | 2021-03-03 | 2022-01-29 | Packet forwarding method, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110235437.3A CN115037399A (zh) | 2021-03-03 | 2021-03-03 | 报文转发方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115037399A true CN115037399A (zh) | 2022-09-09 |
Family
ID=83118031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110235437.3A Pending CN115037399A (zh) | 2021-03-03 | 2021-03-03 | 报文转发方法、电子设备和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240048502A1 (zh) |
EP (1) | EP4250669A4 (zh) |
CN (1) | CN115037399A (zh) |
WO (1) | WO2022183879A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024060601A1 (zh) * | 2022-09-23 | 2024-03-28 | 中兴通讯股份有限公司 | 报文发送方法及装置、存储介质及电子装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100800881B1 (ko) * | 2006-08-11 | 2008-02-04 | 삼성전자주식회사 | 동기식 이더넷 시스템에서 서비스 품질 보장 방법 및 장치 |
CN113162853A (zh) * | 2016-05-27 | 2021-07-23 | 华为技术有限公司 | 转发数据的方法和设备 |
CN112202685A (zh) * | 2017-11-06 | 2021-01-08 | 华为技术有限公司 | 报文转发方法、转发设备和网络设备 |
CN115714742A (zh) * | 2018-05-11 | 2023-02-24 | 华为技术有限公司 | 一种报文发送的方法、网络节点和系统 |
-
2021
- 2021-03-03 CN CN202110235437.3A patent/CN115037399A/zh active Pending
-
2022
- 2022-01-29 WO PCT/CN2022/074957 patent/WO2022183879A1/zh active Application Filing
- 2022-01-29 US US18/258,904 patent/US20240048502A1/en active Pending
- 2022-01-29 EP EP22762347.7A patent/EP4250669A4/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024060601A1 (zh) * | 2022-09-23 | 2024-03-28 | 中兴通讯股份有限公司 | 报文发送方法及装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240048502A1 (en) | 2024-02-08 |
EP4250669A4 (en) | 2024-04-24 |
WO2022183879A1 (zh) | 2022-09-09 |
EP4250669A1 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9270598B1 (en) | Congestion control using congestion prefix information in a named data networking environment | |
US8705363B2 (en) | Packet scheduling method and apparatus | |
EP2904745B1 (en) | Method and apparatus for accelerating forwarding in software-defined networks | |
EP3468123B1 (en) | Method and device for use in processing low-latency traffic | |
WO2021249021A1 (zh) | 信息通告方法、通信节点、计算机可读介质 | |
CN110545241B (zh) | 一种报文处理方法和装置 | |
WO2016198013A1 (zh) | 一种报文传输方法及装置 | |
CN107454000B (zh) | 网络数据传输装置及方法 | |
CN103873378A (zh) | 具有集中控制的聚合网络 | |
CN102857491A (zh) | 集管理方案 | |
US10560383B2 (en) | Network latency scheduling | |
WO2017124709A1 (zh) | 流量工程隧道建立方法和装置 | |
CN112511988B (zh) | 报文转发方法、设备、系统、网络设备和存储介质 | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN113676412A (zh) | 网络控制方法及设备 | |
CN105376292A (zh) | 基于名称的转发中的显式策略反馈 | |
CN113765825B (zh) | 一种链式业务流调度的规划方法和系统架构 | |
WO2022183879A1 (zh) | 报文转发方法、电子设备和存储介质 | |
Cavalieri | Modelling and analysing congestion in KNXnet/IP | |
US20230412522A1 (en) | Control apparatus, resource allocation method and program | |
WO2015004287A1 (en) | Interworking between first protocol entity of stream reservation protocol and second protocol entity of routing protocol | |
US20220191147A1 (en) | Computer Program and Method for Data Communication | |
JP2007318497A (ja) | 無線アクセス制御装置及び方法、無線装置、および、ネットワーク | |
CN115473812A (zh) | 流量报文转发方法、客户端、控制器及存储介质 | |
Wenbin et al. | QoS-oriented packet scheduling scheme for opportunistic networks |
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 |