CN114513477A - 报文处理方法以及相关装置 - Google Patents
报文处理方法以及相关装置 Download PDFInfo
- Publication number
- CN114513477A CN114513477A CN202011287339.6A CN202011287339A CN114513477A CN 114513477 A CN114513477 A CN 114513477A CN 202011287339 A CN202011287339 A CN 202011287339A CN 114513477 A CN114513477 A CN 114513477A
- Authority
- CN
- China
- Prior art keywords
- queue
- burst
- network device
- data stream
- time
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 122
- 238000012545 processing Methods 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 69
- 238000013507 mapping Methods 0.000 claims description 42
- 238000010586 diagram Methods 0.000 description 33
- 230000005540 biological transmission Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 9
- 239000004744 fabric Substances 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000001125 extrusion Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation 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
-
- 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/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- 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/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/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种报文处理方法,该方法包括:第一网络设备在第一时刻接收网络中的第一报文,第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,第一网络设备为对第一数据流包括的一个或多个报文进行处理的首跳网络设备;第一网络设备根据所述第一时刻从第一网络设备的第一队列系统包括的多个队列中确定第一目标队列;第一网络设备按照第一突发包括的一个或多个报文的顺序将第一突发包括一个或多个报文加入第一目标队列;第一网络设备根据多个队列的调度规则,对第一目标队列进行处理。这样实现数据流的报文在网络中的网络设备的端到端抖动为零。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法以及相关装置。
背景技术
时延确定性是指对于某条数据流内的任意一个报文来说,其在网络中经历的端到端时延均不超过某个值,即网络为该数据流保证确定的时延上界。时延确定性代表网络能否“及时”将报文送达的能力。数据流的抖动是指该数据流内的报文所可能经历的时延上界和时延下界的差值。抖动确定性既规定了数据流内的报文的时延上界,还规定了数据流内的报文的时延下界,代表网络能否“准时”将报文送达,既不过早,也不过晚。
在很多工业控制场景中,控制器需要远程控制机械臂完成很多精细的操作,要求控制器和机械臂之间的时延小于1ms(毫秒),抖动小于1us(微秒),甚至零抖动。目前的调度方法(例如,基于Damper模型的方案、循环排队和转发(cyclic queueing and forwarding)的方案)可以做到端到端确定性的时延,但是其抖动仍然较大,无法满足这类业务极低抖动的要求。
发明内容
本申请实施例提供了一种报文处理方法以及相关装置,用于保证报文的确定性时延上界和端到端零抖动。
本申请实施例第一方面提供一种报文处理方法,该报文处理方法包括:
第一网络设备在第一时刻接收网络中的第一报文,该第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,第一网络设备为对第一数据流包括的一个或多个报文进行处理的首跳网络设备;然后,第一网络设备根据第一时刻从第一队列系统包括的多个队列中确定第一目标队列;第一网络设备按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列;第一网络设备根据多个队列的调度规则,对第一目标队列进行处理。
本实施例中,第一网络设备通过接收第一突发的首个报文的第一时刻确定第一目标队列,并第一网络设备以突发粒度的入队方式将该第一突发包括的一个或多个报文顺序加入第一目标队列。而对第一突发包括的一个或多个报文进行处理的末跳网络设备可以确定对应的第三目标队列,再将该第一突发包括一个或多个报文顺序加入第三目标队列。即通过首跳网络设备和末跳网络设备之间的第一目标队列与第三目标队列的映射进行入队和调度,保证了数据流进入网络设备和离开网络设备的形状相同,从而保证报文的确定性时延上界和端到端零抖动。
一种可能的实现方式中,第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。
在该实现方式中,第一队列系统中相邻的两个队列的开启时间之间的第一时间间隔相等,以便于配置每条数据流中相邻两个突发到达第一网络设备的时间间隔等于门控粒度的整数倍,为方案的实施提供基础,从而保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一数据流包括的多个突发中相邻的两个突发到达第一网络设备的第二时间间隔相等,第二时间间隔为第一时间间隔的整数倍。
在该实现方式中,第一数据流中相邻两个突发到达第一网络设备的时间间隔等于门控粒度的整数倍,以保证第一数据流进入首跳网络设备的形状与后续第一数据流离开末跳网络设备的形状相同,从而保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一数据流包括的多个突发的比特数相同。
在该可能的实现方式中,如果多个数据流同时进入第一网络设备时,那么每条数据流包括的突发的比特数应当相同,从而避免在末跳网络设备上由于数据流的突发的比特数不同导致报文在网络中的网络设备经历的时延不同导致报文的端到端抖动。
另一种可能的实现方式中,该第一突发包括多个报文大小相同。
在该可能的实现方式中,第一突发包括多个报文大小相同,这样可以避免由于报文大小导致不同报文在网络中的网络设备经历的时间不同导致报文的端到端抖动。
另一种可能的实现方式中,该方法还包括:该第一网络设备在第二时刻接收网络中的第二报文,该第二报文为第二数据流的第二突发的首个报文,该第二突发为该第一网络设备接收的该第二数据流包括的多个突发中的一个突发,该第二突发包括一个或多个报文;该第一网络设备根据该第二时刻从该第一队列系统包括的多个队列中确定第二目标队列;该第二目标队列为该第一目标队列,或者,该第二目标队列位于该第一目标队列之后;以及,该第一目标队列为该第一队列系统的最后一个队列,或者,该第一目标队列为该第一队列系统的最后一个队列之前。
在该可能的实现方式中,针对第一网络设备接收多条数据流的情况,第一网络设备仍可以根据不同数据流的突发的首个报文的接收时刻确定对应的目标队列,并加入该目标队列。不同数据流的两个突发可以加入同一目标队列中。
另一种可能的实现方式中,第二数据流包括的多个突发中相邻的两个突发到达该第一网络设备的第三时间间隔相等,第三时间间隔为第一时间间隔的整数倍。
在该可能的实现方式中,第二数据流中相邻两个突发到达第一网络设备的时间间隔等于门控粒度的整数倍,以保证第二数据流进入首跳网络设备的形状与后续第二数据流离开末跳网络设备的形状相同,从而保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一目标队列加入N个突发包括的报文,该N个突发包括第一突发,该N个突发中每个突发对应一个数据流且该N个突发中不同突发对应的数据流不同,该N个突发的比特数小于该第一目标队列所能容纳的比特数,该第一目标队列所能容纳的比特数等于该第一网络设备的端口速率乘以该第一目标队列的开启时间与该第一目标队列的结束时间之间的时间间隔。
在该可能的实现方式中,第一目标队列可以加入N个突发的报文,并且该N个突发的比特数小于该第一目标队列所能容纳的比特数,从而保证在第一目标队列的开启时间至结束时间之间的时间间隔将N个突发的报文发送完毕,避免影响其他目标队列的报文的发送,从而保证报文的确定性时延和端到端零抖动。
另一种可能的实现方式中,第一报文包括第一目标队列的队列信息;或者,第一突发包括的一个或多个报文分别包括第一目标队列的队列信息。
在该可能的实现方式中,第一报文或第一突发的每个报文都携带第一目标队列的队列信息,以便于末跳网络设备根据该队列信息确定第一目标队列对应的目标队列,实现首跳网络设备和末跳网络设备之间的第一目标队列与第三目标队列的映射进行入队和调度,从而保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一目标队列的队列信息包括第一目标队列的队列编号。
在该可能的实现方式中,示出了第一目标队列的队列信息通过队列编号的形式表示。
另一种可能的实现方式中,第一突发包括的一个或多个报文分别还包括用于指示第二网络设备加入第一突发包括的一个或多个报文的队列所属的队列组编号,该第二网络设备为对第一数据流包括的一个或多个报文进行处理的最后一跳网络设备。
在该可能的实现方式中,为了实现报文在网络中的网络设备的端到端抖动为零,第一网络设备接收到多条数据流且多条数据流中存在不同数据流的突发落入第一网络设备的第一队列系统的同一目标队列的情况,第一网络设备可以携带用于指示第二网络设备加入第一突发包括的一个或多个报文的队列所属的队列组编号。由于每个队列组对应一个优先级,不同队列组对应不同优先级,末跳网络设备根据用于指示第一突发包括的一个或多个报文的队列所属的队列组编号确定对应的队列组,并通过队列组的调度规则,对队列组进行处理,从而避免不同数据流之间的相互挤压,保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一突发包括的一个或多个报文中每个报文包括该每个报文的第一时间信息,第一时间信息用于指示该每个报文的第一剩余处理时间,该第一剩余处理时间为该第一网络设备处理该每个报文的第一理论时间上限和第一实际时间的差;该第一理论时间上限为第一参考时刻开始至第二参考时刻该每个报文经过网络设备的内部经历的理论时间上限;该第一参考时刻为该第一网络设备释放该每个报文给该第一队列系统的参考时刻,或者,该第一参考时刻为该第一网络设备接收到该每个报文的时刻;该第二参考时刻为该每个报文进入对该第一突发包括的一个或多个报文进行处理的第二个网络设备的队列系统的参考时刻;该第一实际时间为该每个报文在该第一参考时刻至该每个报文从该第一网络设备输出的时刻为止,该每个报文在该第一网络设备内部经历的实际时间。
在该可能的实现方式中,在基于Damper模型的方案下,第一突发的每个报文可以携带每个报文的第一时间信息,以便于第二个对第一数据流进行处理的网络设备确定每个报文在该第二个对第一数据流进行处理的网络设备的参考时刻,并根据该参考时刻为该每个报文选择对应的目标队列。
另一种可能的实现方式中,第一时间信息包括每个报文的第一参考时刻以及每个报文从第一网络设备输出的时刻。
在该可能的实现方式中,第一时间信息具体可以包括每个报文在第一网络设备的第一参考时刻和每个报文从第一网络设备输出的时刻,以便于网络中第二个对第一数据流进行处理的网络设备确定每个报文在该第二个对第一数据流进行处理的网络设备的参考时刻,并根据该参考时刻为该每个报文选择对应的目标队列。
另一种可能的实现方式中,第一时间信息还包括每个报文的第一理论时间上限。
在该可能的实现方式中,第一时间信息还包括每个报文的第一理论时间上限,以便于网络中第二个对第一数据流进行处理的网络设备确定每个报文在该第二个对第一数据流进行处理的网络设备的参考时刻。
另一种可能的实现方式中,第一报文包括该第一报文的第一时间信息,该第一时间信息用于指示该第一报文的第一剩余处理时间,该第一剩余处理时间为该第一网络设备处理该第一报文的第一理论时间上限和第一实际时间的差;该第一理论时间上限为第一参考时刻开始至第二参考时刻该第一报文经过网络设备内部经历的理论时间上限;该第一参考时刻为该第一网络设备释放该第一报文给该第一队列系统的参考时刻,该第二参考时刻为该第一报文进入对该第一突发包括的一个或多个报文进行处理的第二个网络设备的队列系统的参考时刻。
在该可能的实现方式中,对第一数据流进行处理的中间节点可以以突发的粒度将第一数据流的突发加入对应的目标队列中。因此,第一网络设备可以在第一突发的首个报文携带第一报文的第一时间信息,网络中第二个对第一数据流进行处理的网络设备根据第一报文的第一时间信息就可以确定第一突发所对应的目标队列,并将该第一突发加入该目标队列,从而减少报文传输的开销。
另一种可能的实现方式中,第二时间信息包括第一报文的第一参考时刻和第一报文从第一网络设备输出的时刻。
在该可能的实现方式中,第一时间信息具体可以包括第一报文在第一网络设备的第一参考时刻和第一报文从第一网络设备输出的时刻,以便于网络中第二个对第一数据流进行处理的网络设备确定第一报文在该第二个对第一数据流进行处理的网络设备的参考时刻,并根据该参考时刻为第一突发选择对应的目标队列。
另一种可能的实现方式中,第一时间信息还包括第一报文的第一理论时间上限。
在该可能的实现方式中,第一时间信息还包括第一报文的第一理论时间上限,以便于网络中第二个对第一数据流进行处理的网络设备确定第一报文在该第二个对第一数据流进行处理的网络设备的参考时刻,并根据该参考时刻为第一突发选择对应的目标队列。
本申请实施例第二方面提供一种报文处理方法,该报文处理方法包括:
第二网络设备接收第一数据流,该第一数据流包括一个或多个突发,该多个突发中的第一突发包括一个或多个报文,该多个突发中的第三突发包括一个或多个报文,该第一突发和该第三突发为第一数据流中相邻的两个突发,该第二网络设备为对该第一数据流包括的一个或多个报文进行处理的最后一跳网络设备;然后,该第二网络设备从该第二网络设备的第二队列系统中确定第三目标队列和第四目标队列;该第二网络设备按照该第一突发包括的一个或多个报文的顺序将该第一突发包括的一个或多个报文加入该第三目标队列;该第二网络设备按照该第三突发包括的一个或多个报文的顺序将该第三突发包括的一个或多个报文加入该第四目标队列;该第二网络设备根据该第三目标队列和该第四目标队列的调度规则,对该第三目标队列和该第四目标队列进行处理。
本实施例中,第二网络设备以突发粒度的入队方式将第一数据流的第一突发和第三突发加入第三目标队列和第四目标队列,第三目标队列与在第一网络设备上第一突发加入的第一目标队列对应,第四目标队列与在第一网络设备上第三突发加入的目标队列对应。即通过首跳网络设备和末跳网络设备之间的第一目标队列与第三目标队列的映射进行入队和调度,保证了数据流进入网络设备和离开网络设备的形状相同,从而保证报文的确定性时延上界和端到端零抖动。
一种可能的实现方式中,第三目标队列和所述第四目标队列为该第二队列系统中相邻或不相邻的两个队列。
在该可能的实现方式中,同一数据流相邻的两个突发在末跳网络设备加入的目标队列可以是相邻的两个队列,也可以是非相邻的两个队列,具体应当由首跳网络设备对该数据流的突发与目标队列的映射方式,以及该数据流相邻的两个突发到达首跳网络设备的时间间隔决定。
另一种可能的实现方式中,该第二网络设备释放该第一突发包括的一个或多个报文给该第二队列系统的时刻和该第二网络设备释放该第三突发包括的一个或多个报文给该第二队列系统的时刻之间的时间间隔为第四时间间隔,该第三目标队列的开启时间与该第四目标队列的开启时间之间的时间间隔为第五时间间隔,该第四时间间隔与该第五时间间隔相等。
在该可能的实现方式中,上述第四时间间隔与第五时间间隔相等,以实现报文的确定性时延和端到端零抖动。
另一种可能的实现方式中,该方法还包括:该第二网络设备接收第二数据流,该第二数据流包括一个或多个突发,该多个突发中的第二突发包括一个或多个报文,该第二数据流到达该第二网络设备的时刻在该第一数据流的首个突发到达该第二网络设备的时刻之后,并且在该第一数据流的最后一个突发到达该第二网络设备的时刻之前;该第二网络设备从该第二队列系统中选择第一队列组,按照该第一数据流包括的一个或多个突发的顺序将该第一数据流包括的一个或多个突发加入该第一队列组;该第二网络设备从该第二队列系统中选择第二队列组,按照该第二数据流包括的一个或多个突发的顺序将该第二数据流包括的一个或多个突发加入该第二队列组;该第一队列组的优先级高于该第二队列组的优先级;该第二网络设备根据该第二队列系统的多个队列的调度规则,对该第一队列组和该第二队列组进行处理。
在该可能的实现方式中,第二网络设备接收到多条数据流,且不同数据流的突发映射至同一目标队列时,第二网络设备可以将不同数据流分别映射至不同队列组,每个队列组对应一个优先级,不同队列组对应不同优先级,从而避免不同数据流之间的相互挤压,保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,该第二网络设备从该第二网络设备的第二队列系统中确定第三目标队列,包括:该第二网络设备确定第一目标队列,第一目标队列为第一网络设备中第一突发包括的一个或多个报文加入的队列,第一网络设备为对第一数据流包括一个或多个报文进行处理的首跳网络设备;然后,该第二网络设备根据第一映射关系从第二队列系统中确定第一目标队列对应的第三目标队列,第一映射关系包括第一网络设备的第一队列系统中的队列与第二队列系统中的队列之间的映射关系。
在该可能的实现方式中,第二网络设备可以根据第一队列系统的队列与第二队列系统的队列之间的映射关系确定第一目标队列对应的第三目标队列,这样通过首跳网络设备和末跳网络设备之间的第一目标队列与第三目标队列的映射进行入队和调度,从而保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一突发的首个报文包括该第一目标队列的队列信息;第二网络设备确定第一目标队列,包括:第二网络设备根据该第一目标队列的队列信息确定第一目标队列。
在该可能的实现方式中,第二网络设备可以根据第一突发的首个报文携带的第一目标队列的队列信息确定第一突发在第一网络设备中加入的第一目标队列,以便于第二网络设备确定第一目标队列对应的第三目标队列。
另一种可能的实现方式中,第三目标队列加入N个突发包括的报文,该N个突发包括第一突发,该N个突发中每个突发对应一个数据流,该N个突发中不同突发对应的数据流不同;该N个突发对应的N个队列组,N个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
在该可能的实现方式中,当多条数据流的突发同时落入同一目标队列时,每条数据流的突发应当分配至对应的队列组,再通过每个队列组的调度规则对每个队列组进行处理,从而避免多条数据流的突发之间的传输冲突,以保证报文的确定性时延上界和端到端零抖动。
另一种可能的实现方式中,第一数据流包括的多个突发的比特数相同。
在该可能的实现方式中,如果多个数据流同时进入第一网络设备时,那么每条数据流包括的突发的比特数应当相同,从而避免在末跳网络设备上由于数据流的突发的比特数不同导致报文在网络中的网络设备经历的时延不同导致报文的端到端抖动。
另一种可能的实现方式中,该第一突发包括多个报文大小相同。
在该可能的实现方式中,第一突发包括多个报文大小相同,这样可以避免由于报文大小导致不同报文在网络中的网络设备经历的时间不同导致报文的端到端抖动。
本申请实施例第三方面提供一种第一网络设备,该第一网络设备包括:
接收单元,用于在第一时刻接收网络中的第一报文,该第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,第一网络设备为对第一数据流包括的一个或多个报文进行处理的首跳网络设备;
处理单元,用于根据第一时刻从第一队列系统包括的多个队列中确定第一目标队列;按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列;
发送单元,用于根据多个队列的调度规则,对第一目标队列进行处理。
一种可能的实现方式中,第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。
另一种可能的实现方式中,第一数据流包括的多个突发中相邻的两个突发到达第一网络设备的第二时间间隔相等,第二时间间隔为第一时间间隔的整数倍。
另一种可能的实现方式中,第一数据流包括的多个突发的比特数相同。
另一种可能的实现方式中,该第一突发包括多个报文大小相同。
另一种可能的实现方式中,该接收单元还用于:
在第二时刻接收网络中的第二报文,该第二报文为第二数据流的第二突发的首个报文,该第二突发为该第一网络设备接收的该第二数据流包括的多个突发中的一个突发,该第二突发包括一个或多个报文;
该处理单元还用于:
根据该第二时刻从该第一队列系统包括的多个队列中确定第二目标队列;
该第二目标队列为该第一目标队列,或者,该第二目标队列位于该第一目标队列之后;以及,该第一目标队列为该第一队列系统的最后一个队列,或者,该第一目标队列为该第一队列系统的最后一个队列之前。
另一种可能的实现方式中,第二数据流包括的多个突发中相邻的两个突发到达该第一网络设备的第三时间间隔相等,第三时间间隔为第一时间间隔的整数倍。
另一种可能的实现方式中,第一目标队列加入N个突发包括的报文,该N个突发包括第一突发,该N个突发中每个突发对应一个数据流且该N个突发中不同突发对应的数据流不同,该N个突发的比特数小于该第一目标队列所能容纳的比特数,该第一目标队列所能容纳的比特数等于该第一网络设备的端口速率乘以该第一目标队列的开启时间与该第一目标队列的结束时间之间的时间间隔。
另一种可能的实现方式中,第一报文包括第一目标队列的队列信息;或者,第一突发包括的一个或多个报文分别包括第一目标队列的队列信息。
另一种可能的实现方式中,第一目标队列的队列信息包括第一目标队列的队列编号。
另一种可能的实现方式中,第一突发包括的一个或多个报文分别还包括用于指示第二网络设备加入第一突发包括的一个或多个报文的队列所属的队列组编号,该第二网络设备为对第一数据流包括的一个或多个报文进行处理的最后一跳网络设备。
另一种可能的实现方式中,第一突发包括的一个或多个报文中每个报文包括该每个报文的第一时间信息,第一时间信息用于指示该每个报文的第一剩余处理时间,该第一剩余处理时间为该第一网络设备处理该每个报文的第一理论时间上限和第一实际时间的差;该第一理论时间上限为第一参考时刻开始至第二参考时刻该每个报文经过网络设备的内部经历的理论时间上限;该第一参考时刻为该第一网络设备释放该每个报文给该第一队列系统的参考时刻,或者,该第一参考时刻为该第一网络设备接收到该每个报文的时刻;该第二参考时刻为该每个报文进入对该第一突发包括的一个或多个报文进行处理的第二个网络设备的队列系统的参考时刻;该第一实际时间为该每个报文在该第一参考时刻至该每个报文从该第一网络设备输出的时刻为止,该每个报文在该第一网络设备内部经历的实际时间。
另一种可能的实现方式中,第一时间信息包括每个报文的第一参考时刻以及每个报文从第一网络设备输出的时刻。
另一种可能的实现方式中,第一时间信息还包括每个报文的第一理论时间上限。
另一种可能的实现方式中,第一报文包括该第一报文的第一时间信息,该第一时间信息用于指示该第一报文的第一剩余处理时间,该第一剩余处理时间为该第一网络设备处理该第一报文的第一理论时间上限和第一实际时间的差;该第一理论时间上限为第一参考时刻开始至第二参考时刻该第一报文经过网络设备内部经历的理论时间上限;该第一参考时刻为该第一网络设备释放该第一报文给该第一队列系统的参考时刻,该第二参考时刻为该第一报文进入对该第一突发包括的一个或多个报文进行处理的第二个网络设备的队列系统的参考时刻。
另一种可能的实现方式中,第二时间信息包括第一报文的第一参考时刻和第一报文从第一网络设备输出的时刻。
另一种可能的实现方式中,第一时间信息还包括第一报文的第一理论时间上限。
本申请实施例第四方面提供一种报文处理方法,该报文处理方法包括:
接收单元,用于接收第一数据流,该第一数据流包括一个或多个突发,该多个突发中的第一突发包括一个或多个报文,该多个突发中的第三突发包括一个或多个报文,该第一突发和该第三突发为第一数据流中相邻的两个突发,该第二网络设备为对该第一数据流包括的一个或多个报文进行处理的最后一跳网络设备;
处理单元,用于从该第二网络设备的第二队列系统中确定第三目标队列和第四目标队列;按照该第一突发包括的一个或多个报文的顺序将该第一突发包括的一个或多个报文加入该第三目标队列;该第二网络设备按照该第三突发包括的一个或多个报文的顺序将该第三突发包括的一个或多个报文加入该第四目标队列;
发送单元,用于根据该第三目标队列和该第四目标队列的调度规则,对该第三目标队列和该第四目标队列进行处理。
一种可能的实现方式中,第三目标队列和所述第四目标队列为该第二队列系统中相邻或不相邻的两个队列。
另一种可能的实现方式中,该第二网络设备释放该第一突发包括的一个或多个报文给该第二队列系统的时刻和该第二网络设备释放该第三突发包括的一个或多个报文给该第二队列系统的时刻之间的时间间隔为第四时间间隔,该第三目标队列的开启时间与该第四目标队列的开启时间之间的时间间隔为第五时间间隔,该第四时间间隔与该第五时间间隔相等。
另一种可能的实现方式中,该接收单元还用于:
接收第二数据流,该第二数据流包括一个或多个突发,该多个突发中的第二突发包括一个或多个报文,该第二数据流到达该第二网络设备的时刻在该第一数据流的首个突发到达该第二网络设备的时刻之后,并且在该第一数据流的最后一个突发到达该第二网络设备的时刻之前;
该处理单元还用于:
从该第二队列系统中选择第一队列组,按照该第一数据流包括的一个或多个突发的顺序将该第一数据流包括的一个或多个突发加入该第一队列组;从该第二队列系统中选择第二队列组,按照该第二数据流包括的一个或多个突发的顺序将该第二数据流包括的一个或多个突发加入该第二队列组;该第一队列组的优先级高于该第二队列组的优先级;
该发送单元还用于:
根据该第二队列系统的多个队列的调度规则,对该第一队列组和该第二队列组进行处理。
另一种可能的实现方式中,该处理单元具体用于:
确定第一目标队列,第一目标队列为第一网络设备中第一突发包括的一个或多个报文加入的队列,第一网络设备为对第一数据流包括一个或多个报文进行处理的首跳网络设备;
根据第一映射关系从第二队列系统中确定第一目标队列对应的第三目标队列,第一映射关系包括第一网络设备的第一队列系统中的队列与第二队列系统中的队列之间的映射关系。
另一种可能的实现方式中,第一突发的首个报文包括该第一目标队列的队列信息;该处理单元具体用于:
根据该第一目标队列的队列信息确定第一目标队列。
另一种可能的实现方式中,第三目标队列加入N个突发包括的报文,该N个突发包括第一突发,该N个突发中每个突发对应一个数据流,该N个突发中不同突发对应的数据流不同;该N个突发对应的N个队列组,N个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
另一种可能的实现方式中,第一数据流包括的多个突发的比特数相同。
另一种可能的实现方式中,该第一突发包括多个报文大小相同。
本申请实施例第五方面提供一种网络设备,网络设备包括处理器,用于执行存储中存储的程序,当该程序被执行时,使得该网络设备执行上述第一方面或第一方面的任一种可能的设计的方法。
一种可能的实现方式中,该存储器位于该网络设备之外。
本申请实施例第六方面提供一种网络设备,网络设备包括处理器,用于执行存储中存储的程序,当该程序被执行时,使得该网络设备执行上述第二方面或第二方面的任一种可能的设计的方法。
一种可能的实现方式中,该存储器位于该网络设备之外。
本申请实施例第七方面提供一种计算机可读存储介质,包括计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如第一方面和第二方面中的任一种可能的设计的方法。
本申请实施例第八方面提供一种包括计算机指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得该计算机执行如第一方面至第二方面中任一种可能的设计的方法。
本申请实施例第九方面提供一种网络设备,该网络设备包括处理器、存储器以及存储在该存储器上并可在该处理器上运行的计算机指令,当该计算机指令被运行时,使得该网络设备执行如第一方面或第一方面中的任一种可能的设计的方法。
本申请实施例第十方面提供一种网络设备,该网络设备包括处理器、存储器以及存储在该存储器上并可在该处理器上运行的计算机指令,当该计算机指令被运行时,使得该网络设备执行如第二方面或第二方面中的任一种可能的设计的方法。
本申请实施例第十一方面提供一种网络系统,该网络系统包括如第三方面的第一网络设备和如第四方面的第二网络设备。
从以上技术方案可以看出,本申请实施例具有以下优点:
经由上述技术方案可知,第一网络设备在第一时刻接收网络中的第一报文,该第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,第一网络设备为对第一数据流包括的一个或多个报文进行处理的首跳网络设备;然后,第一网络设备根据第一时刻从第一队列系统包括的多个队列中确定第一目标队列,并按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列;该第一网络设备根据多个队列的调度规则,对第一目标队列进行处理。由此可知,本申请实施例的技术方案中,第一网络设备通过接收第一突发的首个报文的第一时刻确定第一目标队列,并第一网络设备以突发粒度的入队方式将该第一突发包括的一个或多个报文顺序加入第一目标队列。而对第一突发包括的一个或多个报文进行处理的末跳网络设备可以确定对应的第三目标队列,再将该第一突发包括一个或多个报文顺序加入第三目标队列。即通过首跳网络设备和末跳网络设备之间的第一目标队列与第三目标队列的映射进行入队和调度,从而保证报文的确定性时延上界和端到端零抖动。
附图说明
图1为突发累积形成原因的示意图;
图2是能够应用本申请实施例的系统的示意图;
图3A是能够实现本申请实施例的路由器的示意性结构框图;
图3B为队列系统的多个队列的开启时间的示意图;
图4A为本申请实施例报文处理方法的一个实施例示意图;
图4B为本申请实施例报文处理方法的另一个实施例示意图;
图4C为本申请实施例报文处理方法的另一个实施例示意图;
图5A为本申请实施例第一数据流在首跳网络设备与末跳网络设备的一个传输场景示意图;
图5B为本申请实施例第一数据流在首跳网络设备与末跳网络设备的另一个传输场景示意图;
图5C为本申请实施例第一数据流在首跳网络设备与末跳网络设备的另一个传输场景示意图;
图6示出了入口边缘设备231和网络设备232处理报文的时序图;
图7示出了网络设备232和网络设备233处理报文的时序图;
图8是本申请实施例提供的报文通过网络设备转发后的确定性时延的示意图;
图9A为本申请实施例第一数据流和第二数据流在首跳网络设备与末跳网络设备的一个传输场景示意图;
图9B为本申请实施例第一数据流和第二数据流在首跳网络设备与末跳网络设备的另一个传输场景示意图;
图10为本申请实施例第一数据流和第二数据流在首跳网络设备与末跳网络设备的另一个传输场景示意图;
图11为本申请实施例报文处理方法的另一个实施例示意图;
图12为本申请实施例第一数据流、第二数据流和第三数据流在首跳网络设备与末跳网络设备的一个传输场景示意图;
图13为本申请实施例报文处理方法的另一个实施例示意图;
图14为本申请实施例第一网络设备的一个结构示意图;
图15为本申请实施例第二网络设备的一个结构示意图;
图16为本申请实施例网络系统的一个示意图。
具体实施方式
本申请实施例提供一种报文处理方法和网络设备,用于保证报文的确定性时延上界和和端到端零抖动。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
互联网协议(Internet Protocol,IP)网络中,由于突发累积的存在,导致其无法为某条流提供确定性的端到端时延和抖动。
突发累积是导致时延不确定的根本原因。突发累积形成的原因是不同数据包纸巾的相互挤压。
图1是突发累积形成原因的示意图。
如图1中三条流(流1、流2和流3)同时到达节点101的时候是完全均匀的,由于节点101只能线速处理报文,导致流2受到其他两条流的挤压,从而两个连续报文紧挨在了一起,突发度增加。以上过程若干次循环之后,会导致某跳的流形成一个难以预测大突发,大突发进一步会挤压其他流,导致其他流的时延增加,并且难以预测,微突发逐跳累计是时延不确定性的根本原因。现有解决上述问题的方法要么依赖于全网设备的时间同步,要么对传输距离有限制,很难适用于大规模IP网络。
因此,在传输IP网络中,由于突发累积的存在,导致无法为某条流提供确定性的端到端时延和抖动。
图2为应用本申请实施例的系统的一个示意图。如图2所示的网络200可以由边缘网络210、边缘网络220和核心网络230组成。
边缘网络210中包括用户设备211。边缘网络220包括用户设备221。核心网络230包括入口边缘(ingress edge)设备231、网络设备232、网络设备233、网络设备234和出口边缘(egress edge)设备235。如图2所示,用户设备211可以通过核心网络与用户设备221进行通信。
需要说明的是,能够实现本申请实施例的设备可以是路由器、交换机等。
图3A是能够实现本申请实施例的路由器的示意性结构框图。如图3A所示,路由器300包括上行板301、交换结构302和下行板303。
上行板也可以称为上行接口板。上行板301可以包括多个输入端口。上行板可以对输入端口接收到的报文进行拆封等处理,利用转发表查找输出端口。一旦查找到输出端口(为了便于描述,以下将查找到的输出端口称为目标输出端口),报文就会被发送至交换结构302。
交换结构302将接收到的报文转发到一个该目标输出端口。具体地,交换结构302将接收到的报文转发到包括该目标输出端口的下行板303上。下行板也可以称为下行接口板。下行板303中包括多个输出端口。下行板303接收来自于交换结构302的报文。下行板可以对接收到的报文进行缓存管理、封装等处理,然后通过该目标输出端口将该报文发送至下一节点。
可以理解的是,如图3A所示的路由器仅示出了一个上行板301和一个下行板303。在一些实施例中,路由器可以包括多个上行板和/或多个下行板。
图4A是根据本申请实施例提供的报文处理方法的示意性流程图。图4A是结合图2对本申请实施例提供的报文处理方法进行描述的。假设本申请实施例中报文处理方法应用于图2所示的核心网络230中。
入口边缘设备231可以接收到多个数据流。入口边缘设备231对多个数据流中的每个数据流的处理方式是相同的。假设入口边缘设备231接收到的多个数据流的路径是依次经过:入口边缘设备231是该多个数据流进入核心网络230中的第一个网络设备。因此,入口边缘设备231也可以称为第一跳的网络设备或者首跳网络设备。相应的,网络设备232是第二跳的网络设备,网络设备233是第三跳的网络设备,网络设备234是第四跳的网络设备,出口边缘设备235是末跳网络设备或最后一跳的网络设备。
对于多个数据流中的第i条数据流,路径中的每个网络设备的输出端口为第i条数据流预留的平均带宽为ri。多个数据流满足流量模型,流量模型可以通过以下公式4.1表示:
Gi=ri*t+Di (公式4.1)
其中,t为时间;Gi为t时间内第i条数据流的数据总流量;Di为第i条数据流的最大突发度。
为了便于更好地理解本申请的技术方案,下面对本申请涉及的一些概念进行介绍。其中,在介绍每个概念时结合第一报文为例进行介绍,对于其他报文同样类似。
1、参考时刻。
入口边缘设备231有一个队列系统,该队列系统包括多个队列。对于首跳网络设备(即入口边缘设备231)来说,网络设备接收到报文的时刻可以称为该报文在网络设备的参考时刻;或者,网络设备会根据一个时刻将接收到的报文加入该网络设备的队列系统中的队列中,这个时刻可以称为该报文在首跳网络设备的参考时刻。
网络设备232、网络设备233、网络设备234和出口边缘设备235中分别都有一个队列系统,该队列系统包括多个队列。对于非首跳网络设备(即网络设备232、网络设备233、网络设备234和出口边缘设备235)来说,网络设备会根据一个时刻确定将接收到的报文加入到队列系统中的队列中。这个时刻可以称为该报文在非首跳网络设备的参考时刻。
2、理论时间上限。
理论时间上限基于网络演算(network calculus)理论计算得到相邻两个网络设备处理报文需要的最大时间。换句话说,相邻两个网络设备处理报文的时间不会大于理论时间上限。理论时间上限并不包括相邻两个网络设备之间传输报文的传输时延。
例如,报文从网络设备中的第1个网络设备到网络设备中的第2个网络设备的理论时间上限是指从报文在第1个网络设备的参考时刻到报文在第2个网络设备的参考时刻之间的理论时间上限。报文从网络设备中的第2个网络设备到网络设备中的第3个网络设备的理论时间上限是指从报文在第2个网络设备的参考时刻到报文在网络设备中的第3个网络设备的参考时刻之间的理论时间上限。
本申请中,将报文从网络设备中的第1个网络设备到网络设备中的第2个网络设备的理论时间上限称为第1个网络设备的理论时间上限。报文从网络设备中的第2个网络设备到网络设备中的第3个网络设备的理论时间上限称为第2个网络设备的理论时间上限,对于其他网络设备的理论时间上限同样类似。
3、实际时间。
实际时间是指报文在某个网络设备的参考时刻开始至该报文从该网络设备输出的时刻为止,该报文在该网络设备内部经历的实际时间。
例如,第一报文的第一实际时间指第一报文在入口边缘设备231的参考时刻开始至该第一报文从该入口边缘设备231输出的时刻为止,第一报文在入口边缘设备231内部经历的实际时间。第一报文的第二实际时间指第一报文在网络设备232的参考时刻开始至第一报文从网络设备232输出的时刻为止,第一报文在网络设备232内部经历的实际时间。
下面介绍核心网络230中的网络设备的队列系统。
入口边缘设备231、网络设备232、网络设备233、网络设备234、和出口边缘设备235都有一个队列系统。
队列系统中的队列开启和报文发送都满足以下准则:队列在规定时刻开启,开启之后才允许发送报文。多个队列可以同时保持开启状态,但是先开启的队列先发送该先开启的队列加入的报文,该先开启的队列发送该先开启的队列中加入的报文完毕后,才允许下一个开启的队列发送该下一个开启的队列中加入的报文。
下面结合图3B介绍队列系统的多个队列的开启时间。
请参阅图3B,队列系统包括M个队列,分别为队列Q1至队列QM。Δ为M个队列中相邻两个队列的开启时间之间的时间间隔。假设起始时刻为T,那么队列Q1的开启时间为T+Δ,队列Q2的开启时间为T+2Δ,队列Q3的开启时间为T+3Δ,以此类推,队列QM的开启时间为T+Δ+Dmax。M等于(Δ+Dmax)/Δ。当队列满足条件时关闭,并将该队列的优先级设置为队列系统中优先级最低的队列。例如,如图3B所示,队列Q1关闭后,将该队列Q1的开启时间设置为T+2Δ+Dmax。对于其他队列同样类似。
其中,Dmax应当结合网络设备的理论时间上限来设定。例如,对于入口边缘设备231来说,入口边缘设备231的理论时间上限为D1 max,则入口边缘设备231的队列系统的Dmax应当不小于D1 max。对于网络设备232来说,网络设备232的理论时间上限为D2 max,则网络设备232的队列系统的Dmax应当不小于D2 max。
下面示出队列系统中队列动态调整两个可能的调整方式:
1、队列同时满足第一条件和第二条件后关闭。第一条件为该队列至少开启时间间隔Δ,第二条件为该队列为空,即该队列的报文已经排空。而队列关闭后,将该队列下一次的开启时间重置为Tlast+Δ,Tlast为当前优先级最低的队列的开启时间;或者,将该队列设置为队列系统中优先级最低的队列,该队列系统的其他队列的优先级相应升级。
2、确定当前最高优先级队列,该最高优先级队列开启Δ时间后,该最高优先级队列的开启时间为Tnow。如果该最高优先级队列中的报文已经排空,则将该最高优先级队列的开启时间重置为Tnow+Δ+Dmax;然后,将该最高优先级队列的优先级设置为最低优先级队列。
入口边缘设备231、网络设备232、网络设备233、网络设备234和出口边缘设备235分别所对应的队列系统可以在上行板实现,也可以在下行板实现,具体本申请不做限定。
本申请实施例中,网络设备中用于实现队列系统的单元可以称为队列系统单元,队列系统单元用于将报文加入相应的目标队列。网络设备中用于报文主动延迟或停留一段时长的单元可以称为主动延迟单元。
下面结合图4A以第一数据流为例介绍对网络中的网络设备如何处理接收到的第一数据流进行描述,第一数据流是入口边缘设备231接收到的多个数据流中的任一个。图4A中步骤401至步骤410以第一数据流的第一突发的处理过程为例进行介绍,对于第一数据流的其他突发同样适用。
请参阅图4A,图4A为本申请实施例报文处理方法的一个实施例示意图。在图4A中,报文处理方法包括:
401、入口边缘设备231在第一时刻接收第一报文。
其中,第一报文为第一数据流的第一突发的首个报文,第一突发为入口边缘设备231接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文。入口边缘设备231为对第一数据流包括的一个或多个报文进行处理的首跳网络设备。
例如,如图5A所示,入口边缘设备231接收第一数据流包括的多个突发,分别为突发B1、突发B2、突发B3、突发B4。第一突发为突发B1,突发B1包括一个或多个报文,例如,突发B1包括3个报文,3个报文的报文大小相同或不同。那么可知,第一时刻为突发B1的首个报文到达入口边缘设备231的时刻。
第一数据流中每个突发包括的报文大小相同或不同。当每个突发包括的报文大小相同时,则可以避免由于数据流的报文大小导致报文在网络中的端到端的抖动。
入口边缘设备231确定第一报文为第一突发的首个报文的确定方式有多种,下面示出两种可能的实现方式。
1、入口边缘设备231预先和发送方(sender)协商确定报文到达的时间。
2、入口边缘设备231实时监测第一数据流,当发现第一数据流的报文到达不连续时,则入口边缘设备231可以确定第一数据流的不同突发,并确定每个突发的首个报文。
3、每个突发的首个报文中携带特殊标识符,该特殊标识符用于标识该报文为该突发的首个报文。入口边缘设备231根据特殊标识符确定每个突发的首个报文。
入口边缘设备231确定第一数据流的每个突发的首个报文的方式都类似。后文中网络设备232、网络设备233、网络设备234和出口边缘设备235确定每个突发的首个报文的方式也类似,具体后续不再一一说明。
402、入口边缘设备231根据第一时刻从入口边缘设备231的队列系统单元包括的多个队列中确定第一目标队列。
其中,入口边缘设备231的队列系统单元包括的多个队列中相邻两个队列的开启时间之间的第一时间间隔相等。
例如,如图5A所示,在入口边缘设备231的队列系统单元中,队列x与队列x+1为相邻的两个队列,队列x+1与队列x+2为相邻的两个队列,队列x+2与队列x+3为相邻的两个队列。队列x的开启时间与队列x+1的开启时间之间的时间间隔等于队列x+1的开启时间与队列x+2的开启时间之间的时间间隔。队列x+1的开启时间与队列x+2的开启时间之间的时间间隔等于队列x+2的开启时间与队列x+3的开启时间之间的时间间隔。
具体的,入口边缘设备231选择入口边缘设备231的队列系统单元中在第一时刻之后开启的第k个队列作为第一目标队列,k为大于或等于1的整数。
例如,如图5A所示,入口边缘设备231选择入口边缘设备231的队列系统单元中的在第一时刻之后首个开启的队列x。
例如,如图5B所示,入口边缘设备231选择入口边缘设备231的队列系统单元中的在第一时刻之后的第二个开启的队列x+1。
403、入口边缘设备231按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列。
其中,第一突发包括的一个或多个报文的顺序可以理解为该一个或多个报文到达入口边缘设备231的顺序。
例如,第一突发包括报文1、报文2和报文3,报文1在报文2之前到达入口边缘设备231,报文3在报文2之前到达入口边缘设备231。那么入口边缘设备231顺序将报文1、报文2和报文3加入第一目标队列。那么当第一目标队列开启之后,入口边缘设备231首先发送报文1,再发送报文2,最后发送报文3。
入口边缘设备231采用突发为入队粒度的入队方式将第一突发包括的一个或多个报文顺序加入第一目标队列。例如,如图5A所示,第一突发为突发B1,入口边缘设备231将突发B1包括的一个或多个报文顺序加入入口边缘设备231的队列系统单元中的队列x中。
可选的,第一突发包括的一个或多个报文中每个报文都包括第一目标队列的队列信息;或者,第一报文(第一突发的首个报文)包括第一目标队列的队列信息。
其中,第一目标队列的队列信息包括第一目标队列的队列编号。例如,如图5A所述,第一突发为B1,第一目标队列的队列信息包括队列编号x。
若网络设备232采用报文为入队粒度的入队方式,则可选的,第一突发包括的一个或多个报文中每个报文包括每个报文对应的第一时间信息。
其中,每个报文的第一时间信息用于指示每个报文的第一剩余处理时间。
每个报文的第一剩余处理时间为每个报文的第一理论时间上限与每个报文的第一实际时间的差。
每个报文的第一理论时间上限为从每个报文在入口边缘设备231的参考时刻与每个报文在网络设备232的参考时刻为止的每个报文经过网络设备的理论上限。
第一实际时间为从每个报文在入口边缘设备231的参考时刻与每个报文从入口边缘设备231输出的时刻为止,每个报文在入口边缘设备231内部经历的实际时间。关于参考时刻的相关介绍请参阅前述术语的介绍。
例如,如图6所示,第一报文在入口边缘设备231的参考时刻为E1,第一报文从入口边缘设备231输出的时刻为t1 out,即第一实际时间为参考时刻E1与时刻t1 ou之间的时间间隔,第一理论时间上限为D1 max。那么第一报文的第一剩余处理时间为D1 max减去参考时刻E1与时刻t1 ou之间的时间间隔。
具体的,每个报文的第一时间信息包括每个报文在入口边缘设备231的参考时刻、每个报文从入口边缘设备231输出的时刻和每个报文的第一理论时间上限。
例如,以第一报文的第一时间信息为例进行介绍,第一报文的第一时间信息包括第一报文在入口边缘设备231的参考时刻、第一报文从入口边缘设备231输出的时刻和第一理论时间上限,即D1 max。对于第一突发的其他报文同样类似。
若网络设备232采用突发为入队粒度的入队方式,则可选的,第一报文包括第一报文的第一时间信息。第一报文的第一时间信息用于指示第一报文的第一剩余处理时间。
由于网络设备232采用突发为入队粒度的入队方式,因此网络设备232只需要确定第一突发的首个报文的第一时间信息即可,具体网络设备232使用第一报文的第一时间信息以及确定目标队列的相关过程请参阅后文介绍。第一报文的第一时间信息包括的内容请参阅前述介绍,这里不再赘述。
需要说明的是,D1 max可以是预先配置在网络设备232中的或者是一个预设的默认值。在此情况下,每个报文的第一时间信息或第一报文的第一时间信息可以不包括D1 max。
404、入口边缘设备231根据第一目标队列的调度规则,向网络设备232发送第一突发包括的一个或多个报文。
具体的,入口边缘设备231按照入口边缘设备231的队列系统单元中第一目标队列的调度规则,向网络设备232发送第一突发包括的一个或多个报文。关于第一目标队列的调度规则可以结合图3B中对队列系统的M个队列的相关介绍了解队列的调度规则。
图6示出了入口边缘设备231和网络设备232处理第一报文的时序图。
如图6所示,第一报文在时刻t1 in到达入口边缘设备231,第一报文进入入口边缘设备231的队列系统单元。第一报文在时刻t1 out从入口边缘设备231中输出。在图6中,第一报文在时刻t2 in输入网络设备232。第一报文在时刻t’2 in离开网络设备232的交换结构,进入网络设备232的主动延迟单元。网络设备232根据第一报文的第一时间信息确定第一报文在网络设备232的参考时刻E2,并根据第一报文在网络设备232的参考时刻E2从网络设备232的队列系统单元中选择目标队列,第一报文在时刻t2 out从网络设备232输出。
可以理解的是,图6以及后续附图中所示的队列系统单元Q和主动延迟单元D仅仅是逻辑上划分的不同单元。具体设备形态上二者可以是相同的物理单元。
需要说明的是,图6中第一报文在入口边缘设备231的参考时刻E1设定为入口边缘设备231接收第一报文的第一时刻t1 in。
第一报文的第一理论时间上限就是从第一报文在入口边缘设备231的参考时刻E1开始到第一报文在网络设备232的参考时刻E2为止,第一报文在入口边缘设备231以及网络设备232经历的理论时间上限。第一报文的第一理论时间上限不包括第一报文从入口边缘设备231到网络设备232之间的传输时延。
第一报文的第一实际时间是从第一报文在入口边缘设备231的参考时刻E1到时刻t1 out为止,第一报文在入口边缘设备231经历的时间。
405、网络设备232向网络设备233发送第一突发包括的一个或多个报文。
网络设备232可以采用突发为入队粒度的入队方式将第一突发包括的一个或多个报文加入目标队列,也可以采用报文为入队粒度的入队方式将第一突发包括的一个或多个报文加入目标队列。下面分别结合两种不同的入队方式介绍步骤405。
一、下面结合图4B介绍基于网络设备232采用突发为入队粒度的入队方式介绍步骤405。
请参阅图4B,在步骤405之前,本实施例还包括步骤405a至步骤405b。
405a:网络设备232根据第一报文包括第一报文的第一时间信息从网络设备232的队列系统单元中确定第六目标队列。
第一报文的第一时间信息用于指示第一报文的第一剩余处理时间。网络设备232可以通过第一报文的第一剩余处理时间确定第一报文在入口边缘设备231的参考时刻。那么网络设备232根据第一报文在入口边缘设备231的参考时刻选择第六目标队列,第六目标队列的开启时间在参考时刻E2之后。
具体的,第一报文对应的第一时间信息包括第一报文在入口边缘设备231的参考时刻和第一报文的第一理论时间上限。例如,如图6所示,第一报文在入口边缘设备231的参考时刻为E1,第一理论时间上限为D1 max,那么可知网络设备232通过D1 max和E1可以确定第一报文在网络设备232的参考时刻E2。由图6可知,第一报文在时刻t’2 in进入网络设备232的主动延迟单元,网络设备232可以根据时刻t’2 in和参考时刻E2确定第一报文在网络设备232的主动延迟单元中停留的时长。那么,网络设备232可以根据第一报文在网络设备232的参考时刻E2选择第六目标队列,第六目标队列在参考时刻E2之后开启。
405b:网络设备232按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第六目标队列。
其中,加入第六目标队列的第一报文包括第一报文的第二时间信息,第一报文的第二时间信息用于指示第一报文的第二剩余处理时间。
第一报文的第二剩余处理时间为第一报文的第二理论时间上限与第一报文的第二实际时间的差。第一报文的第二理论时间上限为从第一报文在网络设备232的参考时刻至第一报文在网络设备233的参考时刻为止的第一报文经过网络设备的理论时间上限。第二实际时间为从第一报文在网络设备232的参考时刻与第一报文从网络设备232输出的时刻为止,第一报文在网络设备232内部经历的实际时间。
具体的,网络设备232采用突发为入队粒度的入队方式将第一突发包括的一个或多个报文顺序加入第六目标队列。
可选的,第一报文的第二时间信息包括第一报文在网络设备232的参考时刻、第一报文从网络设备232输出的时刻和第一报文的第二理论时间上限。
例如,如图6和图7所示,第一报文在网络设备232的参考时刻为参考时刻E2,第一报文的第二理论时间上限为D2 max。对于第一报文来说,D2 max为第一报文被网络设备232入队至网络设备232的队列系统单元至该第一报文入队至网络设备233的队列系统单元的最大时延。
需要说明的是,D2 max可以是预先配置在网络设备233中,或者是一个预设的默认值。在此情况下,第一报文的第二时间信息可以不包括D2 max。
若步骤404中第一突发包括的一个或多个报文分别包括第一目标队列的队列信息,则加入第六目标队列的第一突发的一个或多个报文也分别都包括第一目标队列的队列信息。若步骤404中第一报文包括第一目标队列的队列信息,则加入第六目标队列的第一突发的第一报文包括第一目标队列的队列信息。
那么上述步骤405具体包括步骤405c。
405c:网络设备232根据第六目标队列的调度规则,向网络设备233发送第一突发包括的一个或多个报文。
具体的,网络设备232按照网络设备232的队列系统单元中第六目标队列的调度规则,向网络设备233发送第一突发包括的一个或多个报文。关于第六目标队列的调度规则可以结合前述对图3B对队列系统的M个队列的相关介绍了解队列的调度规则。
图7示出了网络设备232和网络设备233处理第一报文的时序图。第一报文在时刻t2 in到达网络设备232,第一报文在时刻t’2 in离开网络设备232的交换结构,进入网络设备232的主动延迟单元。网络设备232根据第一报文的第一时间信息确定第一报文在网络设备232的参考时刻E2,并根据第一报文在网络设备232的参考时刻E2从网络设备232的队列系统单元中选择第六目标队列,第一报文在时刻t2 out从网络设备232输出。
一、下面结合图4B介绍基于网络设备232采用报文为入队粒度的入队方式介绍步骤405。下面通过图4C以第一突发的第一报文为例介绍报文的入队和发送。
请参阅图4C,步骤405之前,本实施例还包括步骤405d至步骤405e。
405d:网络设备232根据第一报文包括的第一时间信息从网络设备232的队列系统单元确定第六目标队列。
步骤405d与步骤405a类似,具体请参阅前述步骤405a的相关介绍。
405e:网络设备232将第一报文加入第六目标队列。
其中,加入第六目标队列的第一报文包括第一报文的第二时间信息。第二时间信息的相关介绍请参阅前述步骤405b。
若步骤404中第一报文包括第一目标队列的队列信息,则加入第六目标队列的第一报文也包括第一目标队列的队列信息。
那么上述步骤405具体包括步骤405f。
步骤405f:网络设备232根据第六目标队列的调度规则,向网络设备233发送第一报文。
对于第一突发的其他报文的处理流程也类似,网络设备232根据该第一突发的其他报文中每个报文包括每个报文对应的第一时间信息确定该每个报文对应的目标队列,并将该每个报文加入该每个报文对应的目标队列,再通过该每个报文对应的目标队列的调度规则向网络设备233发送该每个报文。
406、网络设备233向网络设备234发送第一突发包括的一个或多个报文。
步骤406与前述步骤405类似,具体请参阅前述步骤405的相关介绍。
图7示出了网络设备232和网络设备233处理第一报文的时序图。第一报文在时刻t3 in到达网络设备233,第一报文在时刻t’3 in离开网络设备233的交换结构,进入网络设备233的主动延迟单元。网络设备233根据第一报文的第二时间信息确定第一报文在网络设备232的参考时刻E3,并根据第一报文在网络设备233的参考时刻E3从网络设备233的队列系统单元中选择目标队列,第一报文在时刻t3 out从网络设备233输出。
407、网络设备234向出口边缘设备235发送第一突发包括的一个或多个报文。
步骤407与步骤405的处理过程类似,具体请参阅前述步骤405的相关介绍。
不同的地方在于,本实施例中,出口首跳网络设备和末跳网络设备之间的通过队列的映射进行入队和调度,从而保证报文的确定性时延上界和端到端零抖动。因此,步骤407中网络设备234向出口边缘设备235发送的第一突发包括的一个或多个报文可以不携带报文的时间信息。
若网络设备234接收到网络设备233发送的第一突发包括的一个或多个报文分别包括第一目标队列的队列信息时,则网络设备234向出口边缘设备235发送的第一突发包括的一个或多个报文分别都包括第一目标队列的队列信息。
若网络设备234接收到网络设备233发送的第一突发中的第一报文包括第一目标队列的队列信息时,则网络设备234向出口边缘设备235发送的第一突发的第一报文包括第一目标队列的队列信息。
408、出口边缘设备235从出口边缘设备235的队列系统单元确定第三目标队列。
具体的,出口边缘设备235确定第一突发包括的一个或多个报文在入口边缘设备231中加入的第一目标队列;然后,出口边缘设备235根据第一映射关系确定第一目标队列对应的第三目标队列。第一映射关系包括入口边缘设备231的队列系统单元的队列与出口边缘设备235的队列系统单元的队列之间的映射关系。
可选的,第一映射关系可以预先配置在出口边缘设备235中,也可以是出口边缘设备235可以通过数据面学习的方式或控制面配置的方式获取到的,具体本申请不做限定。并且,入口边缘设备231的队列系统单元的队列与出口边缘设备235的队列系统单元的队列之间的映射关系可以是通过实验数据确定的。
一种可能的实现方式中,出口边缘设备235可以根据网络设备234发送的第一报文包括的第一目标队列的队列信息确定第一目标队列;然后,出口边缘设备235根据第一映射关系确定第一目标队列对应的第三目标队列。
例如,如图5A所示,第一目标队列的队列信息包括队列编号x。出口边缘设备235根据第一映射关系确定队列编号x对应的队列编号y,即第三目标队列为出口边缘设备235的队列系统单元中队列编号为y的队列。由此可知,第一映射关系可以包括入口边缘设备231的队列系统单元的队列的队列编号与出口边缘设备235的队列系统单元的队列的队列编号之间的映射关系。例如,结合图5A所示的示例,第一映射关系可以表示为:
表1
由表1可知,入口边缘设备231的队列系统单元中队列编号x的队列对应出口边缘设备235的队列系统单元中队列编号y的队列。入口边缘设备231的队列系统单元中队列编号x+1的队列对应出口边缘设备235的队列系统单元中队列编号y+1的队列。入口边缘设备231的队列系统单元中队列编号x+2的队列对应出口边缘设备235的队列系统单元中队列编号y+2的队列。入口边缘设备231的队列系统单元中队列编号x+3的队列对应出口边缘设备235的队列系统单元中队列编号y+3的队列。
409、出口边缘设备235按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第三目标队列。
具体的,出口边缘设备235以突发为入队粒度的入队方式将第一突发包括的一个或多个报文加入第三目标队列。第一突发包括的一个或多个报文的顺序的相关介绍请参阅步骤403的相关介绍。
例如,如图5A所示,第一突发为突发B1,第一目标队列为队列x。出口边缘设备235根据第一映射关系确定队列x对应队列y。出口边缘设备235按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入队列y。
例如,如图5B所示,第一突发为突发B1,第一目标队列为队列x+1。出口边缘设备235确定队列x+1对应队列y+1。出口边缘设备235按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入队列y+1。
410、出口边缘设备235根据第三目标队列的调度规则,发送第一突发包括的一个或多个报文。
具体的,出口边缘设备235按照出口边缘设备235的队列系统单元中第三目标队列的调度规则,向出口边缘设备235发送第一突发包括的一个或多个报文。关于第三目标队列的调度规则可以结合前述图3B对队列系统的M个队列的相关介绍了解队列的调度规则。
本申请实施例中,入口边缘设备231在第一时刻接收网络中的第一报文,该第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,入口边缘设备231为对第一数据流包括的一个或多个报文进行处理的首跳网络设备;然后,入口边缘设备231根据第一时刻从入口边缘设备231的队列系统单元包括的多个队列中确定第一目标队列,并按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列;入口边缘设备231根据入口边缘设备231的队列系统单元的多个队列的调度规则,对第一目标队列进行处理。由此可知,本申请实施例的技术方案中,入口边缘设备231通过接收第一突发的首个报文的第一时刻确定第一目标队列;并且,入口边缘设备231以突发粒度的入队方式将该第一突发包括的一个或多个报文顺序加入第一目标队列。而对第一突发包括的一个或多个报文进行处理的末跳网络设备可以确定对应的第三目标队列,再将该第一突发包括一个或多个报文顺序加入第三目标队列。即通过首跳网络设备和末跳网络设备之间的第一目标队列与第三目标队列的映射进行入队和调度,保证了数据流进入网络设备和离开网络设备的形状相同,并且能够保证报文的确定性时延上界和和端到端零抖动。
可选的,第一数据流包括多个突发,第一数据流中相邻的两个突发到达入口边缘设备231的第二时间间隔相等,且第二时间间隔等于第一时间间隔的整数倍。该相邻的两个突发在出口边缘设备231分别所映射至的目标队列的开启时间之间的第五时间间隔等于第二时间间隔。
下面结合步骤401至步骤420示出网络中的网络设备对第一数据流中相邻的两个突发(第一突发和第三突发)的处理过程,对于第一数据流的其他相邻的两个突发的处理过程同样适用。
411、入口边缘设备231在第三时刻接收第三报文。
其中,第三报文为第三突发的首个报文,第三突发为第一数据流的一个突发,第一突发与第三突发为第一数据流中相邻的两个突发。
例如,如图5A所示,第一突发为第一数据流的突发B1,第二突发为第一数据流的突发B2,突发B1和突发B2为第一数据流中相邻的两个突发。或者,第一突发为第二数据流的突发B2,第二突发为第一数据流的突发B3,突发B2和突发B3为第一数据流中相邻的两个突发。
第一数据流的相邻两个突发到达入口边缘设备231的第二时间间隔相等,而第二时间间隔为第一时间间隔的整数倍。
例如,如图5A,第一突发为突发B1,第三突发为突发B2。突发B1在第一时刻到达入口边缘设备231,突发B2在第三时刻到达入口边缘设备231。第一时刻与第三时刻之间的第二时间间隔等于第一时间间隔,即等于入口边缘设备231的队列系统单元的队列的门控粒度(即门控粒度等于入口边缘设备231的队列系统单元中一个队列的时长)。
例如,如图5C,第一突发为B1,第三突发为B2。突发B1在第一时刻到达入口边缘设备231,突发B2在第三时刻到达入口边缘设备231。第一时刻与第三时刻之间的第二时间间隔等于两倍第一时间间隔。即等于入口边缘设备231的队列系统单元的队列的两倍门控粒度。
其中,第一数据流包括的多个突发的比特数相同或不相同。
例如,如图5A所示,第一数据流包括的突发B1、突发B2、突发B3和突发B4均包括相同的比特数。即可以理解为突发B1、突发B2、突发B3和突发B4分别包含的数据量相同。
多个突发包括的报文数量相同或不相同。例如,突发B1包括3个报文,突发B2包括4个报文,突发B3包括3个报文。即突发B1包括的报文数量与突发B3包括的报文数量相同,而突发B1包括的报文数量与突发B2包括的报文数量不同。
可选的,每个突发包括的报文大小相同。若每个突发包括的报文大小相同,则可以避免由于报文大小不同导致报文的端到端抖动。例如,如图5A所示,突发B1包括3个报文,该3个报文中每个报文包括的比特数相同,这样网络中的网络设备中传输时可以避免由于该3个报文大小导致该3个报文在网络中的网络设备经历的时间不同导致报文的端到端抖动。
412、入口边缘设备231根据第三时刻从入口边缘设备231的队列系统单元包括的多个队列中确定第五目标队列。
具体的,入口边缘设备231选择入口边缘设备231的队列系统单元中在第三时刻之后开启的第k个队列作为第五目标队列。
例如,如图5A所示,第一突发为突发B1,第三突发为突发B2。入口边缘设备231确定突发B1映射至队列x,确定突发B2映射至队列x+1。
例如,如图5B所示,第一突发为突发B1,第三突发为突发B2。入口边缘设备231确定突发B1映射至队列x+1,突发B2映射至队列x+2。
413、入口边缘设备231按照第三突发包括的一个或多个报文的顺序将第三突发包括的一个或多个报文将第三突发包括的一个或多个报文加入第五目标队列。
414、入口边缘设备231根据第五目标队列的调度规则,向网络设备232发送第三突发包括的一个或多个报文。
步骤413至步骤414与前述步骤403至步骤404类似,具体请参阅前述步骤403至步骤404的相关介绍。
415、网络设备232向网络设备233发送第三突发包括的一个或多个报文。
416、网络设备233向网络设备234发送第三突发包括的一个或多个报文。
417、网络设备234向出口边缘设备235发送第三突发包括的一个或多个报文。
步骤415至步骤417与前述步骤405至步骤407类似,具体请参阅前述步骤405至步骤407的相关介绍。
418、出口边缘设备235从出口边缘设备235的队列系统单元确定第四目标队列。
出口边缘设备235释放第一突发包括的一个或多个报文给出口边缘设备235的队列系统单元的时刻与出口边缘设备235释放第三突发包括的一个或多个报文给出口边缘设备235的队列系统单元的时刻之间的时间间隔为第四时间间隔。
例如,如图5C所示,第一突发为突发B1,第三突发为突发B2。出口边缘设备235释放突发B1给出口边缘设备235的队列系统单元的时刻为T13,出口边缘设备235释放突发B2给出口边缘设备235的队列系统单元的时刻为T31,时刻T13与时刻T31之间的时间间隔为第四时间间隔。
第三目标队列的开启时间与第四目标队列的开启时间之间的时间间隔为第五时间间隔。第四时间间隔与第五时间间隔相等。
例如,如图5C所示,突发B1映射至队列y,突发B2映射至队列y+2。队列y的开启时间为T12,队列y+2的开启时间为T22。开启时间T12与开启时间T22之间的时间间隔为第五时间间隔。时刻T13与时刻T31之间的时间间隔为第四时间间隔,第四时间间隔与第五时间间隔相等。
出口边缘设备235的队列系统单元包括的多个队列中相邻两个队列的开启时间之间的时间间隔为第六时间间隔。
例如,如图5C所示,出口边缘设备235的队列系统单元中队列y与队列y+1是相邻的两个队列,队列y的开启时间与队列y+1的开启时间之间的时间间隔为第六时间间隔。
第三目标队列与第四目标队列为相邻或不相邻的两个队列。第三目标队列的开启时间与第四目标队列的开启时间之间的第五时间间隔为第六时间间隔的整数倍。
例如,如图5A所示,第三目标队列为队列y,第四目标队列为队列y+1,队列y与队列y+1是相邻的两个队列。队列y的开启时间与队列y+1的开启时间之间的第五时间间隔等于第六时间间隔。
例如,如图5C所示,第三目标队列为队列y,第四目标队列为队列y+2,队列y与队列y+2为不相邻的两个队列。队列y的开启时间与队列y+2的开启时间之间的第五时间间隔等于第六时间间隔的两倍。
为了使得报文在网络中的网络设备的端到端抖动为零,第二时间间隔与第五时间间隔有如下关系:第二时间间隔等于第五时间间隔。
下面结合图5C进行说明。例如,如图5C所示,突发B1的首个报文到达入口边缘设备231的时刻为T11,突发B2的首个报文到达入口边缘设备231的时刻为T21。突发B1的首个报文离开出口边缘设备235的时刻为T12,突发B2的首个报文离开出口边缘设备235的时刻为T22。
那么可知,突发B1的首个报文在网络中的网络设备经历的时间为T12-T11,突发B2的首个报文在网络中的网络设备经历的时间为T22-T21。为了使得报文在网络中的网络设备的端到端抖动为零,所以T12-T11应当等于T22-T21。即具体如公式4.2表示:
T12-T11=T22-T21(公式4.2)
将公式4.2进行变换,得到T12-T22=T11-T21。而T12-T22为第五时间间隔,T11-T21为第二时间间隔。因此可知确定第二时间间隔等于第五时间间隔。
由于第二时间间隔等于第一时间间隔的整数倍,第五时间间隔等于第六时间间隔的整数倍。而第二时间间隔等于第五时间间隔,因此可知第一时间间隔等于第六时间间隔。即入口边缘设备231的队列系统单元的队列的门控粒度等于出口边缘设备235的队列系统单元的队列的门控粒度。
419、出口边缘设备235按照第三突发包括的一个或多个报文的顺序将第三突发包括的一个或多个报文加入第四目标队列。
420、出口边缘设备235根据第四目标队列的调度规则,发送第一突发包括的一个或多个报文。
步骤419至步骤420与前述步骤409至步骤410类似,具体请参阅前述步骤409至步骤410的相关介绍,这里不再赘述。
由此可知,结合图8所示,D1 max为报文在入口边缘设备231接收到报文至报文入队至网络设备232的队列系统单元的最大时延。D2 max为报文被网络设备232入队至网络设备232的队列系统单元至报文入队至网络设备233的队列系统单元的最大时延。D3 max为报文被网络设备233入队至网络设备233的队列系统单元至该报文入队至网络设备234的队列系统单元的最大时延。D4 max为报文被网络设备234入队至网络设备234的队列系统单元至该报文入队至出口边缘设备235的队列系统单元的最大时延。Dh为报文在出口边缘设备235的队列系统单元和调度单元的最大时延。经由本申请实施例的技术方案可知,不同的报文在出口边缘设备235的Dh都相同,从而保证不同的报文在入口边缘设备231至出口边缘设备235经历的时间相同,以实现报文在网络中的网络设备的端到端抖动为零,从而解决采用Damper方案下由于调度而引起报文的端到端抖动。
需要说明的是,上述是以中间节点(网络设备232、网络设备233和网络设备234)采用Damper方案介绍本申请实施例的技术方案,以解决采用Damper方案下由于调度而引起报文的端到端抖动。实际应用中,本申请实施例的技术方案也可以基于其他方案实施,只要该其他方案能够保证同一数据流的不同报文在入口边缘231至网络设备234的抖动为零即可,具体本申请不做限定。本申请实施例主要在于使得不同报文在出口边缘设备235的Dh都相同,从而实现报文在网络中的网络设备的端到端抖动为零。
本申请实施例中,入口边缘设备231可以接收多条数据流。下面以入口边缘设备231接收第一数据流和第二数据流为例进行介绍。
第一数据流的相关介绍可以参阅前述图4A所示的实施例。入口边缘设备231在第二时刻接收第二报文,并根据第二时刻从入口边缘设备231的队列系统单元包括的多个队列中确定第二目标队列;然后,入口边缘设备231按照第二突发包括的一个或多个报文的顺序将第二突发包括的一个或多个报文加入第二目标队列,再根据第二目标队列的调度规则,发送第二突发包括的一个或多个报文。
第二报文为第二数据流的第二突发的首个报文,第二突发为入口边缘设备231接收到的第二数据流包括的多个突发中的一个突发,第二突发包括一个或多个报文。
例如。如图9A所示,第二数据流包括多个突发,分别为突发A1、突发A2、突发A3和突发A4。若第二突发为突发A2,那么第二时刻为突发A2到达入口边缘设备231的时刻。
第二数据流包括的多个突发中相邻两个突发到达入口边缘设备231的第三时间间隔相等,且第三时间间隔为第一时间间隔的整数倍。第一时间间隔为入口边缘设备231的队列系统单元中相邻两个队列的开启时间之间的时间间隔。
例如,如图9A所示,第二数据流包括突发A1、突发A2、突发A3、突发A4。以突发A1、突发A2和突发A3为例进行介绍。突发A1与突发A2为第二数据流中相邻的两个突发,突发2与突发3为第二数据流中相邻的两个突发。
突发A1到达入口边缘设备231的时刻与突发2到达入口边缘设备231的时刻之间的时间间隔与突发A2到达入口边缘设备231的时刻与突发A3到达入口边缘设备231的时刻之间的时间间隔相等。并且,突发A1到达入口边缘设备231的时刻与突发A2到达入口边缘设备231的时刻的时间间隔等于第一时间间隔。突发A2到达入口边缘设备231的时刻与突发A3到达入口边缘设备231的时刻之间的时间间隔等于第一时间间隔。即第三时间间隔等于第一时间间隔。
出口边缘设备235将第二数据流的相邻两个突发释放给出口边缘设备235的队列系统单元的时刻之间的时间间隔等于该相邻的两个突发在出口边缘设备235分别映射的目标队列的开启时间之间的时间间隔。
例如,如图9A所示,第二数据流的突发A1映射至队列y,第二数据流的突发A2映射至队列y+1。出口边缘设备235将第二数据流的突发A1释放给出口边缘设备235的队列系统单元的时刻为T1,出口边缘设备235将第二数据流的突发A2释放给出口边缘设备235的队列系统单元的时刻为T2,时刻T1与时刻T2之间的时间间隔等于队列y的开启时间与队列y+1的开启时间之间的时间间隔。
该相邻的两个突发在出口边缘设备235分别映射的目标队列的开启时间之间的时间间隔等于该相邻的两个突发分别到达入口边缘设备231的时刻之间的时间间隔。
例如,如图9A所示,第二数据流的突发A1到达入口边缘设备231的时刻与第二数据流的突发A2到达入口边缘设备231的时刻为第三时间间隔。第二数据流的突发A1映射至队列y,第二数据流的突发A2映射至队列y+1。队列y的开启时间与队列y+1的开启时间之间的时间间隔等于第三时间间隔。
上述第二数据流的一些相关时间间隔的关系与第一数据流类似,具体设置原因的说明可以参阅前述图4A所示的实施例中第一数据流的相关说明。
其中,第一目标队列为第二目标队列,或者,第二目标队列位于第一目标队列之后;以及第一目标队列为入口边缘设备231的队列系统单元中的最后一个队列,或者,第一目标队列为入口边缘设备231的队列系统单元的最后一个队列之前。
第二数据流中至少存在一个突发与第一数据流的一个突发同时加入入口边缘设备231的队列系统单元中的同一目标队列的情况。
例如,如图9A所示,第一数据流的首个突发为突发B1,第二数据流的首个突发A1在第一数据流的首个突发B1到达入口边缘设备231之后到达入口边缘设备231。如图9A可知,突发A与突发B1都加入入口边缘设备231的队列系统单元的队列x。第二数据的第二个突发A2在第一数据流的第二个突发B2到达入口边缘设备231之后到达入口边缘设备231,如图9A可知,突发A2和突发B2都加入入口边缘设备231的队列系统单元的队列x+1。
例如,如图9B所示,第一数据流的首个突发为突发B1,第二数据流的首个突发A1的部分报文与突发B1的部分报文同时到达入口边缘设备231。如图9B可知,突发A与突发B1都加入入口边缘设备231的队列系统单元的队列x。
为了实现报文在网络中的网络设备的端到端抖动为零,出口边缘设备235接收多条数据流且多条数据流中存在不同数据流的突发落入出口边缘设备235中的队列系统单元的同一目标队列的情况(在入口边缘设备231上该不同数据流的突发落入入口边缘设备231中的队列系统单元的同一目标队列),出口边缘设备235可以为每个数据流选择对应的队列组,并通过队列组的调度规则,对队列组进行处理。
下面介绍出口边缘设备235的队列系统单元包括的多个队列组以及队列组的优先级。
每个队列组包括的多个队列与前述图3B中介绍的队列系统包括的多个队列的工作原理和设置机制是一致的,而多个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
例如,如图10所示,出口边缘设备235包括第一队列组和第二队列组。第一队列组高于第二队列组是指:第一队列组和第二队列组中相同队列编号(即同时开启的两个队列)的两个队列中,第一队列组的队列的优先级高于第二队列组的队列。例如,第一队列组的队列y的优先级高于第二队列组的队列y,第一队列组的队列y和第二队列组的队列y同时开启,但是只有当第一队列组的队列y中的报文排空之后,第二队列组的队列y的报文才开始发送。对于第一队列组和第二队列组中相同队列编号的队列的报文发送方式也类似,这里不再一一说明。
下面结合图11所示的实施例进行介绍。其中,图11所示的实施例中以第二数据流的第二突发与第一数据流的第一突发都加入入口边缘设备231的第一目标队列为例进行介绍,即第二目标队列为第一目标队列。
需要说明的是,图11所示的实施例仅仅是一种示例,第二数据流的第二突发也可能是与第一数据流的其他突发加入同一目标队列。例如,第二数据流的第二突发与第一数据流的第三突发都加入入口边缘设备231的第五目标队列,即第二目标队列为第五目标队列。并且,图11仅仅以第二数据流的第二突发与第一数据流的第一突发都加入同一目标队列的情况进行介绍,实际应用中,第二数据流可以存在两个或两个以上突发与第一数据流的突发同时加入入口边缘设备231的队列系统单元中的同一目标队列,具体本申请不做限定。
请参阅图11,图11为本申请实施例报文处理方法的另一个实施例示意图。在图11中,报文处理方法包括:
1101、入口边缘设备231在第一时刻接收第一报文。
1102、入口边缘设备231根据第一时刻从入口边缘设备231的队列系统单元中确定第一目标队列。
1103、入口边缘设备231按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列。
步骤1101至步骤1103与前述图4A所示的实施例中的步骤401至步骤403类似,具体请参阅前述图4A所示的实施例中的步骤401至步骤403的相关介绍。
本实施例中,可选的,加入第一目标队列的第一突发包括的一个或多个报文中还分别包括用于指示出口边缘设备235将第一突发包括的一个或多个报文加入的队列所属的第一队列组的队列组编号;或者,加入第一目标队列的第一报文包括第一队列组的队列组编号。
具体的,入口边缘设备231根据第二映射关系确定第一数据流所对应的第一队列组,并将该第一队列组的队列组编号携带在第一突发的每个报文或第一突发的第一报文中。
第二映射关系包括出口边缘设备2的队列系统单元中队列组与数据流之间的映射关系,每个数据流对应一个队列组,每个队列组对应一个优先级。
可选的,第二映射关系可以是预先配置在入口边缘设备231中的,也可以是入口边缘设备231通过数据面学习或控制面配置获取到的,具体本申请不做限定。
数据流的优先级可以是根据用户等级或数据流对应的业务的重要程度等因素确定的。例如,某用户的用户等级越高,该用户的数据流的优先级越高。某数据流的业务的重要程度较高,则该数据流的优先级越高。而数据流的优先级越高,则该数据流对应的队列组的优先级也越高。
入口边缘设备231可以通过报文的五元组识别不同突发所属的数据流类型。
1104、入口边缘设备231在第二时刻接收第二报文。
1105、入口边缘设备231根据第二时刻从入口边缘设备231的队列系统单元包括的多个队列确定第一目标队列。
1106、入口边缘设备231按照第二突发包括的一个或多个报文的顺序将第二突发包括的一个或多个报文加入第一目标队列。
步骤1104至步骤1105与前述图4A所示的实施例中的步骤401至步骤403类似,具体请参阅前述图4A所示的实施例中的步骤401至步骤403的相关介绍。
例如,如图9A所示,第一突发为突发B1,第二突发为突发A1。由图9A可知,第二时刻在第一时刻之后。入口边缘设备231确定突发B1映射至入口边缘设备231的队列系统单元中的队列x,以及确定突发A1映射至入口边缘设备231的队列系统单元中的队列x。由于突发B1在突发A1之前到达入口边缘设备231,因此入口边缘设备231可以先将突发B1加入队列x,再将突发A1加入队列x,具体如图9所示。
也就是当队列x开启后,入口边缘设备231先按照突发B1包括的一个或多个报文的顺序向网络设备232发送突发B1包括的一个或多个报文;当突发B1包括的一个或多个报文发送完毕后,入口边缘设备231再按照突发B1包括的一个或多个报文的顺序向网络设备232发送突发A1包括的一个或多个报文。在实际应用中,入口边缘设备231将突发A1和突发B1加入队列x的顺序也可以不限定。例如,入口边缘设备231将突发A包括的一个或多个报文先加入队列x,再将突发B1包括的一个或多个报文加入队列x。
例如,如图10所示,第一突发为突发B2,第二突发为突发A1,由图10可知,第二时刻在第一时刻之前。入口边缘设备231确定突发A1映射至入口边缘设备231的队列系统单元中的队列x+1,确定突发B2映射至入口边缘设备231的队列系统单元中的队列x+1。由于突发A1在突发B2之前到达入口边缘设备231,因此入口边缘设备231可以先将突发A1包括的一个或报文优先按照报文的顺序加入队列x+1,再按照报文顺序加入第一突发B2包括的一个或多个报文,具体如图10所示。实际应用中,入口边缘设备231将突发A1和突发B2加入队列x+1的顺序可以不限定。例如,入口边缘设备231可以先将突发B1包括的一个或多个报文加入队列x+1,再将突发A1包括的一个或多个报文加入队列x+1。
可选的,加入第一目标队列的第二突发包括的一个或多个报文中还分别包括用于指示出口边缘设备235将第二突发包括的一个或多个报文加入的队列所属的第二队列组的队列组编号;或者,加入第一目标队列的第二报文包括第二队列组的队列组编号。
步骤1103中的第一队列组的优先级高于第二队列组的优先级。
例如,第一数据流的优先级高于第二数据流的优先级,而第一队列组的优先级高于第二队列组的优先级,因此第一数据流的数据可以通过第一队列组的队列进行传输,第二数据流可以通过第二队列组的队列进行传输。
具体的,入口边缘设备231根据第二映射关系确定第二数据流所对应的第二队列组,并将该第二队列组的队列组编号携带在第二突发的每个报文或第二突发的第一报文中。第二映射关系包括出口边缘设备2的队列系统单元中队列组与数据流之间的映射关系。
1107、入口边缘设备231根据第一目标队列的调度规则,向网络设备232发送第一突发包括的一个或多个报文和第二突发包括的一个或多个报文。
需要说明的是,第一突发的比特数和第二突发的比特数之和小于或等于第一目标队列所能容纳的比特数。
其中,第一目标队列所能容纳的比特数等于入口边缘设备231的端口速率乘以第一目标队列的开启时间与第一目标队列的结束时间之间的时间间隔。
例如,如图9A所示,突发B1对应第一数据流,突发A1对应第二数据流。突发B1的比特数和突发A1的比特数之和应当小于在第一目标队列的开启时间与第一目标队列的结束时间之间的时间间隔内入口边缘设备231能够传输的比特数。
1108、网络设备232向网络设备233发送第一突发包括的一个或多个报文和第二突发包括的一个或多个报文。
1109、网络设备233向网络设备234发送第一突发包括的一个或多个报文和第二突发包括的一个或多个报文。
1110、网络设备234向出口边缘设备235发送第一突发包括的一个或多个报文和第二突发包括的一个或多个报文。
步骤1107至步骤1110与前述图4A所示的实施例中的步骤404至步骤407类似,具体请参阅前述图4A所示的实施例中的步骤404至步骤407的相关介绍。
需要说明的是,若入口边缘设备231发送的第一突发包括的一个或多个报文中分别包括用于指示出口边缘设备235将第一突发包括的一个或多个报文加入的队列所属的第一队列组的队列组编号,以及第二突发包括的一个或多个报文中分别包括用于指示出口边缘设备235将第二突发包括的一个或多个报文加入的队列所属的第二队列组的队列组编号,则中间节点(网络设备232、网络设备233和网络设备234)在传输第一突发和第二突发时,第一突发包括的一个或多个报文均分别包括用于指示出口边缘设备235将第一突发包括的一个或多个报文加入的队列所属的第一队列组的队列组编号,第二突发包括的一个或多个报文中均分别包括用于指示出口边缘设备235将第二突发包括的一个或多个报文加入的队列所属的第二队列组的队列组编号。
若入口边缘设备231发送的第一报文包括指示出口边缘设备235将第一突发包括的一个或多个报文加入的队列所属的第一队列组的队列组编号,第二报文包括指示出口边缘设备235将第二突发包括的一个或多个报文加入的队列所属的第二队列组的队列组编号,则中间节点(网络设备232、网络设备233和网络设备234)在传输第一突发和第二突发时,第一报文包括指示出口边缘设备235将第一突发包括的一个或多个报文加入的队列所属的第一队列组的队列组编号,第二报文包括指示出口边缘设备235将第二突发包括的一个或多个报文加入的队列所属的第二队列组的队列组编号。
1111、出口边缘设备235从出口边缘设备235的队列系统单元确定第一队列组。
下面示出口边缘设备235确定第一队列组的两种可能的实现方式。
1、出口边缘设备235接收网络设备234发送的第一突发包括的一个或多个报文。该第一突发包括的一个或多个报文分别包括第一队列组的队列组编号,或者,第一报文包括第一队列组的队列组编号。出口边缘设备235根据该队列组编号从出口边缘设备235的队列系统单元确定第一队列组。
2、出口边缘设备235根据第二映射关系从出口边缘设备235的队列系统单元确定第一数据流所对应的第一队列组。
可选的,第二映射关系可以是预先配置在出口边缘设备235中,也可以是出口边缘设备235通过数据面学习或控制面配置的方式获取的,具体本申请不做限定。
出口边缘设备235可以通过报文的五元组识别不同突发所属的数据流。
1112、出口边缘设备235从出口边缘设备235的队列系统单元确定第二队列组。
步骤1112与前述步骤1111类似,具体请参阅步骤1111的相关介绍,这里不再赘述。
1113、出口边缘设备235从出口边缘设备235的队列系统单元确定第三目标队列。
步骤1113与前述图4A所示的实施例中步骤408类似,具体可以参阅前述图4A所示的实施例中步骤408的相关介绍。
1114、出口边缘设备235按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一队列组的第三目标队列。
1115、出口边缘设备235按照第二突发包括的一个或多个报文的顺序将第二突发包括的一个或多个报文加入第二队列组的第三目标队列。
1116、出口边缘设备235根据第一队列组的第三目标队列的调度规则,发送第一突发包括的一个或多个报文。
1117、出口边缘设备235根据第二队列组的第三目标队列的调度规则,发送第二突发包括的一个或多个报文。
下面结合具体示例介绍步骤1116和步骤1117。例如,如图9A所示,第一突发为第一数据流的突发B1,第二突发为第二数据流的突发A1。第一队列组的队列y与第二队列组的队列y同时开启,由于第一队列组的优先级高于第二队列组的优先级,因此出口边缘设备235先发送第一队列组的队列y中第一突发包括的一个或多个报文,当出口边缘设备235将第一队列组的队列y中的第一突发包括的一个或多个报文排空后,出口边缘设备235再发送第二队列组的队列y的第二突发包括的一个或多个报文。
本实施例中,第一数据流的多个突发的比特数相同。
例如,如图10所示,第一数据流包括突发B1、突发B2、突发B3和突发B4。第二数据流包括突发A1、突发A2、突发A3和突发A4。突发B2落入第一队列组的队列y+1,突发A1落入第二队列组的队列y+1。突发B3落入第一队列组的队列y+2,突发A2落入第二队列组的队列y+2。突发B4落入第一队列组的队列y+3,突发A3落入第二队列组的队列y+3。
为了保证第二数据流的报文的确定性时延,使得第二数据流的报文在网络中的网络设备的端到端抖动为零,那么应当满足以下条件1:突发A1的首个报文离开出口边缘设备235的时刻与突发A2的首个报文离开出口边缘设备235的时刻之间时间间隔等于突发A2的首个报文离开出口边缘设备235的时刻与突发A3的首个报文离开出口边缘235的时刻之间的时间间隔。
而出口边缘设备235的端口速率是一定的,所以第一数据流的突发B1、突发B2、突发B3、突发B4分别包括的比特数应当相同,这样才能保证时长1、时长2、时长3和时长4均相等,以满足上述条件1。时长1为入口边缘设备235将突发B1从第一队列组的队列y中发送出去所占用的发送时长。时长2为入口边缘设备235将突发B2从第一队列组的队列y+1发送出去所占用的发送时长相等。时长3为入口边缘设备235将突发B3从第一队列组的队列y+3发送出去所占用的发送时长。时长4为入口边缘设备235将突发B4从第一队列组的队列y+3发送出去所占用的发送时长。因此,第一数据流的多个突发包括的比特数相同。
本申请实施例中,由上述图11所示的实施例可知,当第一数据流的第一突发与第二数据流的第二突发都映射至出口边缘设备235的第三目标队列时,出口边缘设备235可以为每个数据流选择对应的队列组,每个队列组对应一个优先级;然后出口边缘设备235通过每个数据流选择对应的队列组的调度规则,对每个数据流选择对应的队列组进行处理,从而实现不同数据流的报文在网络中的网络设备的确定性时延和端到端零抖动。
入口边缘设备231可以接收多条数据流,该多条数据流中每条数据流中相邻的两个突发到达入口边缘设备231的时间间隔等于该相邻的两个突发在出口边缘设备235分别映射至的目标队列的开启时间之间的时间间隔。
可选的,第一目标队列加入N个突发包括的报文,第一目标队列包括第一突发和第二突发,N个突发中每个突发对应一条数据流且N个突发中不同突发对应的数据流不同,N个突发的比特数小于第一目标队列所能容纳的比特数,N为大于或等于2的整数。
其中,第一目标队列所能容纳的比特数等于出口边缘设备231的端口速率乘以第一目标队列的开启时间与第一目标队列的结束时间之间的时间间隔。
N个突发对应的N个条数据流中每条数据流包括的多个突发的比特数相同,具体的原理介绍请参阅前述图11所示的实施例中对第一数据流包括的多个突发的比特数相同的设置原理的相关介绍。
在出口边缘设备235中,第三目标队列加入N个突发包括的报文,N个突发中每个突发对应一条数据流,且N个突发中不同突发对应的数据流不同。N个突发对应N个队列组,N个队列组中每个队列组对应一个优先级,N个队列组中不同队列组对应的优先级不同。
例如,如图12所示,第一目标队列为入口边缘设备231的队列x+1。第一目标队列加入三个突发,分别为突发A1、突发B2和突发C1。突发B2对应第一数据流,突发A1对应第二数据流,突发C1对应第三数据流。突发A1的比特数、突发B2的比特数和突发C1的比特数之和小于或等于入口边缘设备231在第一时间间隔(队列x+1的开启时间至队列x+1的结束时间之间的时间间隔)内传输的比特数。
第一数据流的优先级高于第二数据流的优先级,第二数据流的优先级高于第三数据流的优先级。第一队列组的优先级高于第二队列组的优先级,第二队列组的优先级高于第三队列组的优先级。因此,出口边缘设备235将突发B2映射至第一队列组的队列y+1,并根据第一队列组的队列y+1的调度规则,发送突发B2包括的一个或多个报文;出口边缘设备235将突发A1映射至第二队列组的队列y+1,并根据第二队列组的队列y+1的调度规则,发送突发A1包括的一个或多个报文;出口边缘设备235将突发C1映射至第二队列组的队列y+1,并根据第三队列组的队列y+1的调度规则发送突发C1包括的一个或多个报文。
请参阅图13,图13是根据本申请实施例提供的一种报文处理方法的示意性流程图。
1301、第一网络设备在第一时刻接收网络中的第一报文。
其中,第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收到第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,第一网络设备为对第一数据流包括的一个或多个报文进行处理的首跳网络设备。
1302、第一网络设备根据第一时刻从第一网络设备的第一队列系统包括的多个队列中确定第一目标队列。
其中,第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。第一数据流包括的多个突发中相邻的两个突发到达第一网络设备的第二时间间隔相等,且第二时间间隔为第一时间间隔的整数倍。
在一些实施例中,第一数据流包括的多个突发的比特数相同。第一突发包括的多个报文大小相同。
1303、第一网络设备按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列。
在一些实施例中,第一突发包括的一个或多个报文分别包括第一目标队列的队列信息;或者,第一报文包括第一目标队列的队列信息。
在一些实施例中,第一突发包括的一个或多个报文中每个报文包括每个报文的第一时间信息,第一时间信息用于指示该每个报文的第一剩余处理时间,该每个报文的第一剩余处理时间为该每个报文的第一理论时间上限与每个报文的第一实际时间的差。
每个报文的第一理论时间上限为第一参考时刻与第二参考时刻为止的该每个报文经过网络设备的理论上限。第一参考时刻为该第一网络设备释放该每个报文给第一队列系统的参考时刻,或者,第一参考时刻为该第一网络设备接收到该每个报文的时刻;第二参考时刻为该每个报文进入对该每个报文进行处理的第二个网络设备的队列系统的参考时刻。第一参考时刻可以称为该每个报文在第一网络设备的参考时刻,第二参考时刻可以称为该每个报文在对该每个报文进行处理的第二个网络设备的参考时刻。
每个报文的第一实际时间为从每个报文在第一网络设备的第一参考时刻与每个报文从第一网络设备输出的时刻为止,该每个报文在第一网络设备内部经历的实际时间。
可选的,每个报文的第一时间信息包括该每个报文在第一网络设备的参考时刻、该每个报文从第一网络设备输出的时刻和该每个报文的第一理论时间上限。
在一些实施例中,第一报文包括第一报文的第一时间信息。第一报文的第一时间信息用于指示第一报文的第一剩余处理时间。第一报文的第一剩余处理时间为该第一报文的第一理论时间上限与第一报文的第一实际时间的差。
第一报文的第一理论时间上限为第一参考时刻与第二参考时刻为止的该每个报文经过网络设备的理论上限。第一参考时刻为该第一网络设备释放该第一报文给第一队列系统的参考时刻,或者,第一参考时刻为该第一网络设备接收到该第一报文的时刻;第二参考时刻为该第一报文进入对该第一报文进行处理的第二个网络设备的队列系统的参考时刻。第一参考时刻可以称为该第一报文在第一网络设备的参考时刻,第二参考时刻可以称为该第一报文在对该第一报文进行处理的第二个网络设备的参考时刻。
第一报文的第一实际时间为从第一报文在第一网络设备的第一参考时刻与该第一报文从第一网络设备输出的时刻为止,第一报文在第一网络设备内部经历的实际时间。
可选的,第一报文的第一时间信息包括第一报文在第一网络设备的第一参考时刻、第一报文从第一网络设备输出的时刻和第一报文的第一理论时间上限。
1304、第一网络设备根据第一队列系统包括的多个队列的调度规则,对第一目标队列进行处理。
在一些实施例中,图13还包括步骤1304a至步骤1304d。
1304a、第一网络设备在第二时刻接收网络中的第二报文。
第二报文为第二数据流的第二突发的首个报文,第二突发为第一网络设备接收的第二数据流包括的多个突发中的一个突发,第二突发包括一个或多个报文。
第二数据流包括的多个突发中相邻的两个突发到达第一网络设备的第三时间间隔相等,第三时间间隔为第一时间间隔的整数倍。
1304b、第一网络设备根据第二时刻从第一队列系统包括的多个队列中确定第二目标队列;
1304c、第一网络设备按照第二突发包括的一个或多个报文的顺序将第二突发包括的一个或多个报文加入第二目标队列。
1304d、第一网络设备根据第一队列系统包括的多个队列的调度规则,对第二目标队列进行处理。
在一些实施例中,第一目标队列加入N个突发包括的报文,N个突发包括第一突发,N个突发中每个突发对应一个数据流且N个突发中不同突发对应的数据流不同,N个突发的比特数小于第一目标队列所能容纳的比特数,第一目标队列所能容纳的比特数等于第一网络设备的端口速率乘以第一目标队列的开启时间与第一目标队列的结束之间的时间间隔。
上述步骤1301至步骤1304示出了第一网络设备对第一数据流的第一突发的处理过程。对于第一数据流的其他突发的处理过程类似,这里不一一说明。
需要说明的是,第一网络设备为对第一数据流进行处理的首跳网络设备。第一数据流经过第一网络设备,再经过中间节点设备,最后传输到对第一数据流进行处理的末跳网络设备,即第二网络设备。其中,第一数据流经过中间节点设备的处理过程可以参阅前述图4A所示的实施例中的相关介绍。下面结合步骤1305至步骤1308介绍末跳网络设备对第一数据流的处理过程。
1305、第二网络设备接收第一数据流。
第一数据流包括一个或多个突发,该多个突发中的第一突发包括一个或多个报文,该多个突发中的第三突发包括一个或多个报文,第一突发和第三突发为第一数据流中相邻的两个突发。第二网络设备为对第二数据流包括的一个或多个报文进行处理的最后一跳网络设备。
1306第二网络设备从第二网络设备的第二队列系统中确定第三目标队列和第四目标队列。
第二队列系统中相邻两个队列的开启时间之间的第六时间间隔等于第一时间间隔,第一时间间隔为第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的时间间隔。
其中,第三目标队列和第四目标队列为相邻或不相邻的两个队列。
第二网络设备将第一突发包括的一个或多个报文释放给第一队列系统的时刻与第二网络设备将第二突发包括的一个或多个报文释放给第一队列系统的时刻之间的时间间隔为第四时间间隔。
第三目标队列的开启时间与第四目标队列的开启时间之间的时间间隔为第五时间间隔。第四时间间隔等于第五时间间隔,第五时间间隔等于第二时间间隔,第二时间间隔为第一数据流包括的多个突发中相邻的两个突发到达第一网络设备的时间间隔。
在一些实施例中,第二网络设备从第二网络设备的第二队列系统中确定第三目标队列包括:第二网络设备确定第一目标队列,第一目标队列为第一网络设备中第一突发包括的一个或多个报文加入的队列;然后,第二网络设备根据第一映射关系从第二队列系统中确定第一目标队列对应的第三目标队列;第一映射关系包括第一网络设备的第一队列系统中的队列与第二队列系统中的队列之间的映射关系。
在一些实施例中,第一突发的首个报文包括第一目标队列的队列信息;第二网络设备确定第一目标队列包括:第二网络设备根据第一目标队列的队列信息确定第一目标队列。
1307、第二网络设备按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第三目标队列,按照第三突发包括的一个或多个报文的顺序将第二突发包括的一个或多个报文加入第四目标队列。
1308、第二网络设备根据第三目标队列的调度规则和第四目标队列的调度规则,对第三目标队列和第四目标队列进行处理。
在一些实施例中,第一数据流包括的多个突发的比特数相同。第一突发包括的多个报文大小相同。
在一些实施例中,第三目标队列加入N个突发包括的报文,N个突发包括第一突发,N个突发中每个突发对应一个数据流,N个突发中不同突发对应的数据流不同;N个突发对应N个队列组,N个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
在一些实施例中,上述步骤1305至步骤1308替换为步骤1309至步骤1312。
1309、第二网络接收第二数据流。
第二数据流包括一个或多个突发,多个突发中的第二突发包括一个或多个报文,第二数据流到达第二网络设备的时刻在所述第一数据流的首个突发到达第二网络设备的时刻之后,并且在第一数据流的最后一个突发到达第二网络设备的时刻之前。
1310、第二网络设备从第二队列系统中选择第一队列组,按照第一数据流包括的一个或多个突发的顺序将第一数据流包括的一个或多个突发加入第一队列组;
1311、第二网络设备从第二队列系统中选择第二队列组,按照第二数据流包括的一个或多个突发的顺序将第二数据流包括的一个或多个突发加入第二队列组;
第一队列组的优先级高于第二队列组的优先级。
1312、第二网络设备根据第二队列系统的多个队列的调度规则,对第一队列组和所述第二队列组进行处理。
在一些实施例中,第一数据流包括的多个突发的比特数相同。第一突发包括的多个报文大小相同。
请参阅图14,图14是根据本申请实施例提供的一种第一网络设备的示意性结构框图。如图14所示的第一网络设备1400包括接收单元1401、处理单元1402和发送单元1403。
接收单元1401,用于在第一时刻接收网络中的第一报文,该第一报文为第一数据流的第一突发的首个报文,第一突发为第一网络设备接收的第一数据流包括的多个突发中的一个突发,第一突发包括一个或多个报文,第一网络设备为对第一数据流包括的一个或多个报文进行处理的首跳网络设备;
处理单元1402,用于根据第一时刻从第一队列系统包括的多个队列中确定第一目标队列;按照第一突发包括的一个或多个报文的顺序将第一突发包括的一个或多个报文加入第一目标队列;
发送单元1403,用于根据多个队列的调度规则,对第一目标队列进行处理。
一种可能的实现方式中,第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。
另一种可能的实现方式中,第一数据流包括的多个突发中相邻的两个突发到达第一网络设备的第二时间间隔相等,第二时间间隔为第一时间间隔的整数倍。
另一种可能的实现方式中,第一数据流包括的多个突发的比特数相同。
另一种可能的实现方式中,该第一突发包括多个报文大小相同。
另一种可能的实现方式中,该接收单元1401还用于:
在第二时刻接收网络中的第二报文,该第二报文为第二数据流的第二突发的首个报文,该第二突发为该第一网络设备接收的该第二数据流包括的多个突发中的一个突发,该第二突发包括一个或多个报文;
该处理单元1402还用于:
根据该第二时刻从该第一队列系统包括的多个队列中确定第二目标队列;
该第二目标队列为该第一目标队列,或者,该第二目标队列位于该第一目标队列之后;以及,该第一目标队列为该第一队列系统的最后一个队列,或者,该第一目标队列为该第一队列系统的最后一个队列之前。
另一种可能的实现方式中,第二数据流包括的多个突发中相邻的两个突发到达该第一网络设备的第三时间间隔相等,第三时间间隔为第一时间间隔的整数倍。
另一种可能的实现方式中,第一目标队列加入N个突发包括的报文,该N个突发包括第一突发,该N个突发中每个突发对应一个数据流且该N个突发中不同突发对应的数据流不同,该N个突发的比特数小于该第一目标队列所能容纳的比特数,该第一目标队列所能容纳的比特数等于该第一网络设备的端口速率乘以该第一目标队列的开启时间与该第一目标队列的结束时间之间的时间间隔。
另一种可能的实现方式中,第一报文包括第一目标队列的队列信息;或者,第一突发包括的一个或多个报文分别包括第一目标队列的队列信息。
另一种可能的实现方式中,第一目标队列的队列信息包括第一目标队列的队列编号。
另一种可能的实现方式中,第一突发包括的一个或多个报文分别还包括用于指示第二网络设备加入第一突发包括的一个或多个报文的队列所属的队列组编号,该第二网络设备为对第一数据流包括的一个或多个报文进行处理的最后一跳网络设备。
另一种可能的实现方式中,第一突发包括的一个或多个报文中每个报文包括该每个报文的第一时间信息,第一时间信息用于指示该每个报文的第一剩余处理时间,该第一剩余处理时间为该第一网络设备处理该每个报文的第一理论时间上限和第一实际时间的差;该第一理论时间上限为第一参考时刻开始至第二参考时刻该每个报文经过网络设备的内部经历的理论时间上限;该第一参考时刻为该第一网络设备释放该每个报文给该第一队列系统的参考时刻,或者,该第一参考时刻为该第一网络设备接收到该每个报文的时刻;该第二参考时刻为该每个报文进入对该第一突发包括的一个或多个报文进行处理的第二个网络设备的队列系统的参考时刻;该第一实际时间为该每个报文在该第一参考时刻至该每个报文从该第一网络设备输出的时刻为止,该每个报文在该第一网络设备内部经历的实际时间。
另一种可能的实现方式中,第一时间信息包括每个报文的第一参考时刻以及每个报文从第一网络设备输出的时刻。
另一种可能的实现方式中,第一时间信息还包括每个报文的第一理论时间上限。
另一种可能的实现方式中,第一报文包括该第一报文的第一时间信息,该第一时间信息用于指示该第一报文的第一剩余处理时间,该第一剩余处理时间为该第一网络设备处理该第一报文的第一理论时间上限和第一实际时间的差;该第一理论时间上限为第一参考时刻开始至第二参考时刻该第一报文经过网络设备内部经历的理论时间上限;该第一参考时刻为该第一网络设备释放该第一报文给该第一队列系统的参考时刻,该第二参考时刻为该第一报文进入对该第一突发包括的一个或多个报文进行处理的第二个网络设备的队列系统的参考时刻。
另一种可能的实现方式中,第二时间信息包括第一报文的第一参考时刻和第一报文从第一网络设备输出的时刻。
另一种可能的实现方式中,第一时间信息还包括第一报文的第一理论时间上限。
请参阅图15,图15是根据本申请实施例提供的一种第二网络设备的示意性结构框图。如图15所示的第二网络设备1500包括接收单元1501、处理单元1502和发送单元1503。
接收单元1501,用于接收第一数据流,该第一数据流包括一个或多个突发,该多个突发中的第一突发包括一个或多个报文,该多个突发中的第三突发包括一个或多个报文,该第一突发和该第三突发为第一数据流中相邻的两个突发,该第二网络设备为对该第一数据流包括的一个或多个报文进行处理的最后一跳网络设备;
处理单元1502,用于从该第二网络设备的第二队列系统中确定第三目标队列和第四目标队列;按照该第一突发包括的一个或多个报文的顺序将该第一突发包括的一个或多个报文加入该第三目标队列;该第二网络设备按照该第三突发包括的一个或多个报文的顺序将该第三突发包括的一个或多个报文加入该第四目标队列;
发送单元1503,用于根据该第三目标队列和该第四目标队列的调度规则,对该第三目标队列和该第四目标队列进行处理。
一种可能的实现方式中,第三目标队列和所述第四目标队列为该第二队列系统中相邻或不相邻的两个队列。
另一种可能的实现方式中,该第二网络设备释放该第一突发包括的一个或多个报文给该第二队列系统的时刻和该第二网络设备释放该第三突发包括的一个或多个报文给该第二队列系统的时刻之间的时间间隔为第四时间间隔,该第三目标队列的开启时间与该第四目标队列的开启时间之间的时间间隔为第五时间间隔,该第四时间间隔与该第五时间间隔相等。
另一种可能的实现方式中,该接收单元1501还用于:
接收第二数据流,该第二数据流包括一个或多个突发,该多个突发中的第二突发包括一个或多个报文,该第二数据流到达该第二网络设备的时刻在该第一数据流的首个突发到达该第二网络设备的时刻之后,并且在该第一数据流的最后一个突发到达该第二网络设备的时刻之前;
该处理单元1502还用于:
从该第二队列系统中选择第一队列组,按照该第一数据流包括的一个或多个突发的顺序将该第一数据流包括的一个或多个突发加入该第一队列组;从该第二队列系统中选择第二队列组,按照该第二数据流包括的一个或多个突发的顺序将该第二数据流包括的一个或多个突发加入该第二队列组;该第一队列组的优先级高于该第二队列组的优先级;
该发送单元1503还用于:
根据该第二队列系统的多个队列的调度规则,对该第一队列组和该第二队列组进行处理。
另一种可能的实现方式中,该处理单元1502具体用于:
确定第一目标队列,第一目标队列为第一网络设备中第一突发包括的一个或多个报文加入的队列,第一网络设备为对第一数据流包括一个或多个报文进行处理的首跳网络设备;
根据第一映射关系从第二队列系统中确定第一目标队列对应的第三目标队列,第一映射关系包括第一网络设备的第一队列系统中的队列与第二队列系统中的队列之间的映射关系。
另一种可能的实现方式中,第一突发的首个报文包括该第一目标队列的队列信息;该处理单元具体用于:
根据该第一目标队列的队列信息确定第一目标队列。
另一种可能的实现方式中,第三目标队列加入N个突发包括的报文,该N个突发包括第一突发,该N个突发中每个突发对应一个数据流,该N个突发中不同突发对应的数据流不同;该N个突发对应的N个队列组,N个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
另一种可能的实现方式中,第一数据流包括的多个突发的比特数相同。
另一种可能的实现方式中,该第一突发包括多个报文大小相同。
本申请实施例还提供了一种处理装置,包括处理器和接口。所述处理器可用于执行上述方法实施例中的方法。
应理解,上述处理装置可以是一个芯片。例如,该处理装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(applicationspecific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(networkprocessor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logicdevice,PLD)、其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令或程序代码完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令或程序代码完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种网络系统。请参阅图16,图16为本申请实施例网络系统的一个示意图。该网络系统包括如图14所示的第一网络设备和如图15所示的第二网络设备。图14所示的第一网络设备用于执行前述方法实施例中第一网络设备执行的部分或全部步骤。图15所示的第二网络设备用于执行前述方法实施例中第二网络设备执行的部分或全部步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述任意一个实施例的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (28)
1.一种报文处理方法,其特征在于,所述方法包括:
第一网络设备在第一时刻接收网络中的第一报文,所述第一报文为第一数据流的第一突发的首个报文,所述第一突发为所述第一网络设备接收的所述第一数据流包括的多个突发中的一个突发,所述第一突发包括一个或多个报文,所述第一网络设备为对所述第一数据流包括的一个或多个报文进行处理的首跳网络设备;
所述第一网络设备根据所述第一时刻从所述第一网络设备的第一队列系统包括的多个队列中确定第一目标队列;
所述第一网络设备按照所述第一突发包括的一个或多个报文的顺序将所述第一突发包括的一个或多个报文加入所述第一目标队列;
所述第一网络设备根据所述多个队列的调度规则,对所述第一目标队列进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。
3.根据权利要求1或2所述的方法,其特征在于,所述第一数据流包括的多个突发中相邻的两个突发到达所述第一网络设备的第二时间间隔相等,所述第二时间间隔为所述第一时间间隔的整数倍。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一数据流包括的多个突发的比特数相同。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备在第二时刻接收网络中的第二报文,所述第二报文为第二数据流的第二突发的首个报文,所述第二突发为所述第一网络设备接收的所述第二数据流包括的多个突发中的一个突发,所述第二突发包括一个或多个报文;
所述第一网络设备根据所述第二时刻从所述第一队列系统包括的多个队列中确定第二目标队列;
所述第二目标队列为所述第一目标队列,或者,所述第二目标队列位于所述第一目标队列之后;以及,所述第一目标队列为所述第一队列系统的最后一个队列,或者,所述第一目标队列为所述第一队列系统的最后一个队列之前。
6.根据权利要求5所述的方法,其特征在于,所述第二数据流包括的多个突发中相邻的两个突发到达所述第一网络设备的第三时间间隔相等,所述第三时间间隔为所述第一时间间隔的整数倍。
7.一种报文处理方法,其特征在于,所述方法包括:
第二网络设备接收第一数据流,所述第一数据流包括一个或多个突发,所述多个突发中的第一突发包括一个或多个报文,所述多个突发中的第三突发包括一个或多个报文,所述第一突发和所述第三突发为第一数据流中相邻的两个突发,所述第二网络设备为对所述第一数据流包括的一个或多个报文进行处理的最后一跳网络设备;
所述第二网络设备从所述第二网络设备的第二队列系统中确定第三目标队列和第四目标队列;
所述第二网络设备按照所述第一突发包括的一个或多个报文的顺序将所述第一突发包括的一个或多个报文加入所述第三目标队列;
所述第二网络设备按照所述第三突发包括的一个或多个报文的顺序将所述第三突发包括的一个或多个报文加入所述第四目标队列;
所述第二网络设备根据所述第三目标队列和所述第四目标队列的调度规则,对所述第三目标队列和所述第四目标队列进行处理。
8.根据权利要求7所述的方法,其特征在于,所述第二网络设备释放所述第一突发包括的一个或多个报文给所述第二队列系统的时刻和所述第二网络设备释放所述第三突发包括的一个或多个报文给所述第二队列系统的时刻之间的时间间隔为第四时间间隔,所述第三目标队列的开启时间与所述第四目标队列的开启时间之间的时间间隔为第五时间间隔,所述第四时间间隔与所述第五时间间隔相等。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述第二网络设备接收第二数据流,所述第二数据流包括一个或多个突发,所述多个突发中的第二突发包括一个或多个报文,所述第二数据流到达所述第二网络设备的时刻在所述第一数据流的首个突发到达所述第二网络设备的时刻之后,并且在所述第一数据流的最后一个突发到达所述第二网络设备的时刻之前;
所述第二网络设备从所述第二队列系统中选择第一队列组,按照所述第一数据流包括的一个或多个突发的顺序将所述第一数据流包括的一个或多个突发加入所述第一队列组;
所述第二网络设备从所述第二队列系统中选择第二队列组,按照所述第二数据流包括的一个或多个突发的顺序将所述第二数据流包括的一个或多个突发加入所述第二队列组;
所述第一队列组的优先级高于所述第二队列组的优先级;
所述第二网络设备根据所述第二队列系统的多个队列的调度规则,对所述第一队列组和所述第二队列组进行处理。
10.根据权利要求7至9中任一项所述的方法,其特征在于,所述第二网络设备从所述第二网络设备的第二队列系统中确定第三目标队列,包括:
所述第二网络设备确定第一目标队列,所述第一目标队列为第一网络设备中所述第一突发包括的一个或多个报文加入的队列,所述第一网络设备为对所述第一数据流包括一个或多个报文进行处理的首跳网络设备;
所述第二网络设备根据第一映射关系从所述第二队列系统中确定所述第一目标队列对应的所述第三目标队列,所述第一映射关系包括所述第一网络设备的第一队列系统中的队列与所述第二队列系统中的队列之间的映射关系。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述第三目标队列加入N个突发包括的报文,所述N个突发包括所述第一突发,所述N个突发中每个突发对应一个数据流,所述N个突发中不同突发对应的数据流不同;
所述N个突发对应的N个队列组,N个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
12.根据权利要求7至11中任一项所述的方法,其特征在于,所述第一数据流包括的多个突发的比特数相同。
13.一种第一网络设备,其特征在于,所述第一网络设备包括:
接收单元,用于在第一时刻接收网络中的第一报文,所述第一报文为第一数据流的第一突发的首个报文,所述第一突发为所述第一网络设备接收的所述第一数据流包括的多个突发中的一个突发,所述第一突发包括一个或多个报文,所述第一网络设备为对所述第一数据流包括的一个或多个报文进行处理的首跳网络设备;
处理单元,用于根据所述第一时刻从所述第一网络设备的第一队列系统包括的多个队列中确定第一目标队列;按照所述第一突发包括的一个或多个报文的顺序将所述第一突发包括的一个或多个报文加入所述第一目标队列;
发送单元,用于根据所述多个队列的调度规则,对所述第一目标队列进行处理。
14.根据权利要求13所述的第一网络设备,其特征在于,所述第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。
15.根据权利要求13或14所述的第一网络设备,其特征在于,所述第一队列系统包括的多个队列中相邻的两个队列的开启时间之间的第一时间间隔相等。
16.根据权利要求13至15中任一项所述的第一网络设备,其特征在于,所述第一数据流包括的多个突发的比特数相同。
17.根据权利要求13至16中任一项所述的第一网络设备,其特征在于,所述接收单元还用于:
在第二时刻接收网络中的第二报文,所述第二报文为第二数据流的第二突发的首个报文,所述第二突发为所述第一网络设备接收的所述第二数据流包括的多个突发中的一个突发,所述第二突发包括一个或多个报文;
所述处理单元,用于根据所述第二时刻从所述第一队列系统包括的多个队列中确定第二目标队列;所述第二目标队列为所述第一目标队列,或者,所述第二目标队列位于所述第一目标队列之后;以及,所述第一目标队列为所述第一队列系统的最后一个队列,或者,所述第一目标队列为所述第一队列系统的最后一个队列之前。
18.根据权利要求17所述的第一网络设备,其特征在于,所述第二数据流包括的多个突发中相邻的两个突发到达所述第一网络设备的第三时间间隔相等,所述第三时间间隔为所述第一时间间隔的整数倍。
19.一种第二网络设备,其特征在于,所述第二网络设备包括:
接收单元,用于接收第一数据流,所述第一数据流包括一个或多个突发,所述多个突发中的第一突发包括一个或多个报文,所述多个突发中的第三突发包括一个或多个报文,所述第一突发和所述第三突发为第一数据流中相邻的两个突发,所述第二网络设备为对所述第一数据流包括的一个或多个报文进行处理的最后一跳网络设备;
处理单元,用于从所述第二网络设备的第二队列系统中确定第三目标队列和第四目标队列;按照所述第一突发包括的一个或多个报文的顺序将所述第一突发包括的一个或多个报文加入所述第三目标队列;按照所述第三突发包括的一个或多个报文的顺序将所述第三突发包括的一个或多个报文加入所述第四目标队列;
发送单元,用于根据所述第三目标队列和所述第四目标队列的调度规则,对所述第三目标队列和所述第四目标队列进行处理。
20.根据权利要求19所述的第二网络设备,其特征在于,所述第二网络设备释放所述第一突发包括的一个或多个报文给所述第二队列系统的时刻和所述第二网络设备释放所述第三突发包括的一个或多个报文给所述第二队列系统的时刻之间的时间间隔为第四时间间隔,所述第三目标队列的开启时间与所述第四目标队列的开启时间之间的时间间隔为第五时间间隔,所述第四时间间隔与所述第五时间间隔相等。
21.根据权利要求19或20所述的第二网络设备,其特征在于,所述接收单元还用于:
接收第二数据流,所述第二数据流包括一个或多个突发,所述多个突发中的第二突发包括一个或多个报文,所述第二数据流到达所述第二网络设备的时刻在所述第一数据流的首个突发到达所述第二网络设备的时刻之后,并且在所述第一数据流的最后一个突发到达所述第二网络设备的时刻之前;
所述处理单元还用于:
从所述第二队列系统中选择第一队列组,按照所述第一数据流包括的一个或多个突发的顺序将所述第一数据流包括的一个或多个突发加入所述第一队列组;
从所述第二队列系统中选择第二队列组,按照所述第二数据流包括的一个或多个突发的顺序将所述第二数据流包括的一个或多个突发加入所述第二队列组;
所述第一队列组的优先级高于所述第二队列组的优先级;
所述发送单元还用于:
根据所述第二队列系统的多个队列的调度规则,对所述第一队列组和所述第二队列组进行处理。
22.根据权利要求19至21中任一项所述的第二网络设备,其特征在于,所述处理单元具体用于:
确定第一目标队列,所述第一目标队列为第一网络设备中所述第一突发包括的一个或多个报文加入的队列,所述第一网络设备为对所述第一数据流包括一个或多个报文进行处理的首跳网络设备;
根据第一映射关系从所述第二队列系统中确定所述第一目标队列对应的所述第三目标队列,所述第一映射关系包括所述第一网络设备的第一队列系统中的队列与所述第二队列系统中的队列之间的映射关系。
23.根据权利要求19至22中任一项所述的第二网络设备,其特征在于,所述第三目标队列加入N个突发包括的报文,所述N个突发包括所述第一突发,所述N个突发中每个突发对应一个数据流,所述N个突发中不同突发对应的数据流不同;
所述N个突发对应的N个队列组,N个队列组中每个队列组对应一个优先级,不同队列组的优先级不同。
24.根据权利要求19至23中任一项所述的第二网络设备,其特征在于,所述第一数据流包括的多个突发的比特数相同。
25.一种网络设备,其特征在于,所述网络设备包括处理器,用于执行存储器中存储的程序,当所述程序被执行时,使得所述网络设备执行如权利要求1至6中任一项所述的方法;或者,使得所述网络设备执行如权利要求7至12中任一项所述的方法。
26.根据权利要求25所述的网络设备,其特征在于,所述存储器位于所述网络设备之外。
27.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得如权利要求1至6中任一项所述的方法被执行;或者,使得如权利要求7至12中任一项所述的方法被执行。
28.一种网络设备,其特征在于,所述网络设备包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机指令,当所述计算机指令被运行时,使得所述网络设备执行如权利要求1至6中任一项所述的方法;或者,使得所述网络设备执行如权利要求7至12中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287339.6A CN114513477A (zh) | 2020-11-17 | 2020-11-17 | 报文处理方法以及相关装置 |
EP21893833.0A EP4239975A4 (en) | 2020-11-17 | 2021-11-12 | PACKET PROCESSING METHOD AND RELATED APPARATUS |
PCT/CN2021/130315 WO2022105686A1 (zh) | 2020-11-17 | 2021-11-12 | 报文处理方法以及相关装置 |
US18/318,016 US20230283566A1 (en) | 2020-11-17 | 2023-05-16 | Packet processing method and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287339.6A CN114513477A (zh) | 2020-11-17 | 2020-11-17 | 报文处理方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114513477A true CN114513477A (zh) | 2022-05-17 |
Family
ID=81546693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287339.6A Pending CN114513477A (zh) | 2020-11-17 | 2020-11-17 | 报文处理方法以及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230283566A1 (zh) |
EP (1) | EP4239975A4 (zh) |
CN (1) | CN114513477A (zh) |
WO (1) | WO2022105686A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12068968B2 (en) * | 2022-01-30 | 2024-08-20 | Mellanox Technologies, Ltd. | Efficient scattering to buffers |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5282196A (en) * | 1991-10-15 | 1994-01-25 | Hughes Aircraft Company | Bursted and non-bursted data router |
US7162418B2 (en) * | 2001-11-15 | 2007-01-09 | Microsoft Corporation | Presentation-quality buffering process for real-time audio |
CN100550821C (zh) * | 2003-03-13 | 2009-10-14 | 华为技术有限公司 | 用于消除ip语音数据抖动的自适应抖动缓存实现方法 |
US7298973B2 (en) * | 2003-04-16 | 2007-11-20 | Intel Corporation | Architecture, method and system of multiple high-speed servers to network in WDM based photonic burst-switched networks |
CN100356736C (zh) * | 2004-10-27 | 2007-12-19 | 华为技术有限公司 | 一种ip网络抖动模拟的方法 |
CN108259383B (zh) * | 2016-12-29 | 2021-10-01 | 北京华为数字技术有限公司 | 一种数据的传输方法和网络设备 |
CN112866135A (zh) * | 2018-01-26 | 2021-05-28 | 华为技术有限公司 | 发送报文的方法、第一网络设备及计算机可读存储介质 |
EP3734919A1 (en) * | 2019-04-30 | 2020-11-04 | Mitsubishi Electric R&D Centre Europe B.V. | In-band signalling for dynamic transmission time window control |
-
2020
- 2020-11-17 CN CN202011287339.6A patent/CN114513477A/zh active Pending
-
2021
- 2021-11-12 WO PCT/CN2021/130315 patent/WO2022105686A1/zh unknown
- 2021-11-12 EP EP21893833.0A patent/EP4239975A4/en active Pending
-
2023
- 2023-05-16 US US18/318,016 patent/US20230283566A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4239975A1 (en) | 2023-09-06 |
US20230283566A1 (en) | 2023-09-07 |
WO2022105686A1 (zh) | 2022-05-27 |
EP4239975A4 (en) | 2024-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Laursen et al. | Routing optimization of AVB streams in TSN networks | |
Meyer et al. | Extending IEEE 802.1 AVB with time-triggered scheduling: A simulation study of the coexistence of synchronous and asynchronous traffic | |
CN110474853B (zh) | 一种报文发送的方法、网络节点和系统 | |
Ramabhadran et al. | Stratified round robin: A low complexity packet scheduler with bandwidth fairness and bounded delay | |
US7957285B1 (en) | Inter-device flow control | |
EP2684321B1 (en) | Data blocking system for networks | |
WO2022022224A1 (zh) | 调度数据包的方法和相关装置 | |
CN113366805A (zh) | 报文调度方法、调度器、网络设备和网络系统 | |
US9985910B2 (en) | Adaptive flow prioritization | |
CA2338778A1 (en) | A link-level flow control method for an atm server | |
US11038799B2 (en) | Per-flow queue management in a deterministic network switch based on deterministically transmitting newest-received packet instead of queued packet | |
Addanki et al. | Moving a step forward in the quest for Deterministic Networks (DetNet) | |
US20230283566A1 (en) | Packet processing method and related apparatus | |
CN101212417B (zh) | 一种基于时间粒度的互联网服务质量保证方法 | |
CN115604193B (zh) | 一种热轧控制系统中确定性资源调度方法及系统 | |
US20120127858A1 (en) | Method and apparatus for providing per-subscriber-aware-flow qos | |
Vila-Carbó et al. | An evaluation of switched ethernet and Linux traffic control for real-time transmission | |
Chen et al. | Credit-based low latency packet scheduling algorithm for real-time applications | |
Nisar et al. | An efficient voice priority queue (VPQ) scheduler architectures and algorithm for VoIP over WLAN networks | |
WO2022022222A1 (zh) | 发送数据包的方法及网络设备 | |
EP4425870A1 (en) | Packet transmission | |
Yao et al. | Burst-Aware Mixed Flow Scheduling in Time-Sensitive Networks for Power Business | |
Fu | A study on differentiated service queuing scheme with an overflow buffer allocation within a UMTS core network | |
CN113746746A (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 |