CN117560304A - 一种网络状态监测方法、系统、设备和介质 - Google Patents

一种网络状态监测方法、系统、设备和介质 Download PDF

Info

Publication number
CN117560304A
CN117560304A CN202410035438.7A CN202410035438A CN117560304A CN 117560304 A CN117560304 A CN 117560304A CN 202410035438 A CN202410035438 A CN 202410035438A CN 117560304 A CN117560304 A CN 117560304A
Authority
CN
China
Prior art keywords
network
feedback information
state
protocol stack
quic
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.)
Granted
Application number
CN202410035438.7A
Other languages
English (en)
Other versions
CN117560304B (zh
Inventor
金发华
杨竹炜
丰志飞
张佳兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yingyun Technology Co ltd
Original Assignee
Hangzhou Yingyun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Yingyun Technology Co ltd filed Critical Hangzhou Yingyun Technology Co ltd
Priority to CN202410035438.7A priority Critical patent/CN117560304B/zh
Publication of CN117560304A publication Critical patent/CN117560304A/zh
Application granted granted Critical
Publication of CN117560304B publication Critical patent/CN117560304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种网络状态监测方法、系统和介质,其中,该方法通过QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0;QUIC协议栈将可靠数据报和非可靠数据报封装成QUIC数据包,并发送至物联网网络;QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。本申请通过使用长度为0的非可靠数据报在QUIC带内发送可以使服务端和客户端在弱网情况下更方便,更低成本且有效地监测物联网网络的状态。解决相关技术中网络状态监测效率低的问题,提高了网络状态监测的效率。

Description

一种网络状态监测方法、系统、设备和介质
技术领域
本申请涉及通信技术领域,特别是涉及一种网络状态监测方法、系统、设备和介质。
背景技术
在物联网应用中,存在多种问题,包括网络状态和传输层异常状态。网络状态包括丢包、错包、网络乱序、带宽受限和延时抖动等,这些问题可能会威胁数据的可靠传输。然而,在实际应用中,获取物联网网络状态并不容易。物联网涉及到复杂的网络层次结构,需要对不同层次的网络进行监测。
以传统 IP 网络为例,为了监测网络状态是否异常,一种常见的方法是在 IP 层使用 ICMP echo 请求和 ICMP echo 回复来测量延时。然而,使用 ICMP Ping 作为探测工具时,ICMP 请求容易被防火墙或网络安全策略所屏蔽,从而导致网络状态监测效率低,且ICMP 受限于 OSI 模型 3 层不能反映整体传输性能具有局限性。其次,尽管在传输层中可以使用TCP心跳来进行连接状态的监测,但TCP心跳通常只提供连接和断开状态的信息,而在连接期间可能存在中间状态,传输层未能提供及时反馈,从而使应用层在某些情况下难以了解网络的实时状态,导致网络状态监测效率低。因此,现有技术中对网络状态的监测存在效率低的问题。
发明内容
本申请实施例提供了一种网络状态监测方法、系统和介质,以至少解决相关技术中网络状态监测效率低的问题。
第一方面,本申请实施例提供了一种网络状态监测方法,应用层通过QUIC协议栈与物联网网络电性连接;所述方法包括:
所述QUIC协议栈接收可靠数据报和非可靠数据报,其中,所述非可靠数据报的长度为0;
所述QUIC协议栈将所述可靠数据报和所述非可靠数据报封装成QUIC数据包,并发送至所述物联网网络;
所述QUIC协议栈接收所述物联网网络基于所述QUIC数据包的反馈信息,根据所述反馈信息,确定网络状态。
在一实施例中,根据所述反馈信息,确定网络状态,包括:
响应于接收所述反馈信息超出第一预设时长,确定所述网络状态为延时状态;和或,
响应于接收所述反馈信息超出第二预设时长或接收所述反馈信息为错误信息,确定所述网络状态为丢包状态;和或,
响应于接收所述反馈信息为顺序错乱信息,确定所述网络状态为乱序状态;
响应于接收所述反馈信息未超出所述第一预设时长、接收所述反馈信息符合预设标准信息且接收所述反馈信息符合预设顺序信息,确定所述网络状态为正常状态。
在一实施例中,响应于接收所述反馈信息超出第二预设时长,或接收所述反馈信息为错误信息,确定所述网络状态为丢包状态,包括:
判断接收所述反馈信息是否超出第二预设时长,若接收所述反馈信息超出第二预设时长,则确定所述网络状态为丢包状态;若接收所述反馈信息未超出第二预设时长,则确定所述网络状态为正常状态;或者,
判断接收所述反馈信息是否为错误信息;若接收所述反馈信息是错误信息,则确定所述网络状态为丢包状态;若接收所述反馈信息不是错误信息,则确定所述网络状态为正常状态。
在一实施例中,响应于接收所述反馈信息为顺序错乱信息,确定所述网络状态为乱序状态,包括:
判断接收所述反馈信息是否为顺序错乱信息;
若接收所述反馈信息是顺序错乱信息,则确定所述网络状态为乱序状态;若接收所述反馈信息不是顺序错乱信息,则确定所述网络状态为正常状态。
在一实施例中,根据所述反馈信息,确定网络状态之后,所述方法还包括:
所述QUIC协议栈将所述可靠数据报封装发送至物联网网络,停止所述非可靠数据报发送至所述物联网网络。
在一实施例中,所述QUIC协议栈通过带内通信传输所述非可靠数据报。
在一实施例中,所述QUIC协议栈包括S缓冲区、UD缓冲区和拥塞控制器;
所述S缓冲区,用于接收并存储所述应用层发送的所述可靠数据报,若所述可靠数据报在传输过程中丢失和或损坏,所述QUIC协议栈则进行重新传输所述可靠数据报;
所述UD缓冲区,用于接收并存储所述应用层发送的所述非可靠数据报,若所述非可靠数据报在传输过程中丢失和或损坏,所述QUIC协议栈则停止重新传输所述非可靠数据报;
所述拥塞控制器,用于向所述应用层反馈当前网络的拥塞情况。
第二方面,本申请实施例提供了一种网络状态监测系统,应用层通过QUIC协议栈与物联网网络电性连接;所述系统包括接收模块、发送模块、确定模块,其中:
所述接收模块,所述QUIC协议栈接收可靠数据报和非可靠数据报,其中,所述非可靠数据报的长度为0 ;
所述发送模块,所述QUIC协议栈将所述可靠数据报和所述非可靠数据报封装成QUIC数据包,并发送至所述物联网网络;
所述确定模块,用于所述QUIC协议栈接收所述物联网网络基于所述QUIC数据包的反馈信息,根据所述反馈信息,确定网络状态。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种网络状态监测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种网络状态监测方法。
本申请实施例提供的一种网络状态监测方法、系统和介质至少具有以下技术效果。
通过QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0;QUIC协议栈将可靠数据报和非可靠数据报封装成QUIC数据包,并发送至物联网网络;QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。本申请通过使用长度为0的非可靠数据报在QUIC带内发送可以使服务端和客户端在弱网情况下更方便,更低成本且有效地监测物联网网络的状态。解决相关技术中网络状态监测效率低的问题,提高了网络状态监测的效率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是一种网络状态监测方法的流程图;
图2是根据一示例性实施例示出的物联网网络连接的系统示意图;
图3是根据一示例性实施例示出的S103的流程示意图;
图4是根据一示例性实施例示出的网络延时状态的流程示意图;
图5是根据一示例性实施例示出的网络丢包状态的流程示意图;
图6是根据一示例性实施例示出的网络乱序状态的流程示意图;
图7是根据一示例性实施例示出的一种网络状态监测系统的结构框图;
图8是根据一示例性实施例示出的电子设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
第一方面,本申请实施例提供了一种网络状态监测方法,图1是一种网络状态监测方法的流程图,如图1所示,一种网络状态监测方法,应用层通过QUIC协议栈与物联网网络电性连接,该包括:
步骤S101、QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0。
步骤S102、QUIC协议栈将可靠数据报和非可靠数据报封装成QUIC数据包,并发送至物联网网络。
步骤S103、QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。
综上,本申请实施例提供的一种网络状态监测方法,通过QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0;QUIC协议栈将可靠数据报和非可靠数据报封装,并发送至物联网网络;QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。本申请通过使用长度为0的非可靠数据报在QUIC带内发送可以使服务端和客户端在弱网情况下更方便,更低成本且有效地监测物联网网络的状态。解决相关技术中网络状态监测效率低的问题,提高了网络状态监测的效率。
图2是根据一示例性实施例示出的物联网网络连接的系统示意图,如图2所示,应用层通过QUIC协议栈与物联网网络电性连接,具体包括:
应用层通过接口调用将可靠数据报(例如传感器信息)发送到 QUIC 协议栈,值得注意的是,QUIC 协议栈可以是标准的协议栈实现,IETF QUIC 的标准协议引用:RFC9000(第一版协议)RFC9002(丢失恢复补充)和 RFC 9221 (不可靠数据报扩展)如图2中的1a,应用层是客户端或是服务端,处理器负责应用层的数据处理。对于可靠数据报QUIC 协议栈保证投递,重新打包且发送未确认接收的数据。构建可定制的网络对应用层的反馈回路,以满足不同物联网应用的需求。应用层通过接口调用将非可靠传输报文(例如视频流报文)发送到 QUIC 协议栈。如图2中的2b,对于非可靠传输报文QUIC 协议栈尝试投递,但不会进行重复投递。QUIC 协议栈中的S缓冲区接收并存储应用层发送的可靠数据报,QUIC 协议栈中UD缓冲区接收并存储应用层发送的非可靠数据报,QUIC协议栈中的worker将可靠数据报和非可靠数据报封装,并发送至物联网网络,物联网网络接收封装信息,并通过确认接收报文确认接收。QUIC协议栈中的work收集确认接收报文并通知拥塞控制器,拥塞控制器根据确认接收的报文和未确认接收的报文生成反馈信息。拥塞控制器和丢失恢复器将反馈信息传输至应用层。值得注意的是,QUIC协议栈包括S缓冲区、UD缓冲区和拥塞控制器、worker和丢失恢复器(CC);其中,S缓冲区,用于接收并存储应用层发送的可靠数据报,若可靠数据报在传输过程中丢失和或损坏,QUIC协议栈则进行重新传输可靠数据报;UD缓冲区,用于接收并存储应用层发送的非可靠数据报,若非可靠数据报在传输过程中丢失和或损坏,QUIC协议栈则停止重新传输非可靠数据报(即不重传);worker,用于处理数据包的打包、发送和接收;拥塞控制器,用于向应用层反馈当前网络的拥塞情况。丢失恢复器,用于恢复丢失的数据包。
通过构建可定制的网络对应用层的反馈回路,以满足不同物联网应用的需求。具有高效、灵活且高度可定制的优点,不仅可以提高网络性能和可靠性,还能有效解决拥塞控制和应用层的需求之间的平衡问题。通过该反馈回路,可以实现更智能、更适应性强的物联网应用,提供更好的用户体验和网络管理。
在一实施例中,步骤S101、QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0。具体包括:
可选地,QUIC协议栈接收应用层发送的可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0。可靠数据报为 RFC 9000 中提及的 stream data ,非可靠数据报为RFC9221 ( RFC9000的扩展) 中的unreliable datagram。本实施例中,长度为0的非可靠数据报只是非可靠数据报的特例,长度为 0 非可靠数据报也可称为:探测报文。
采用长度为 0(也即空包)的非可靠数据报,具有的目的为:传统的网络协议层都支持ping包,ping包本身有长度,在同一通道内需要传输的双方协同才能工作, 而且会影响应用层的数据。 本实施例汇总采用的空包指 payload 长度为0 的非可靠传输报也就是不带任何应用层数据的空报文。占用的带宽最小,且不会污染应用层的数据。当接收到空报文时协议栈一般不对空报文做处理。此外,发空包的机制可以是非对称的。 也就是客户端或服务端可以分别打开或关闭而不需要对端(物联网端)配合。这对于部署受限的IoT 网络设备有极大的优势。
值得注意的是,本申请实施例中采用非可靠数据报的目的为:根据IETF QUIC协议规范,协议栈不需要对非可靠数据报做重传。因此,相比于使用可靠传输如TCP或者QUIC中的可靠传输流(stream),使用非可靠数据报(unreliable datagram)有如下优势:1.由于之上不重传原则,相比于可靠传输的重传机制,不重传原则大大减少对网络的影响。特别是不会因为多次重传导致网络拥塞加重也不会加重对端处理压力。2.协议栈会将丢失或乱序信息以事件形式反馈给应用层。从而应用层能得到及时响应(一般为毫秒级)而不会像可靠传输那样只有在多次重传丢失后才可能得到丢包的反馈(一般为秒级别)。
在一实施例中,QUIC协议栈将可靠数据报和非可靠数据报封装成QUIC数据包,并发送至物联网网络。具体包括:
可选地,QUIC协议栈中的worker将可靠数据报和非可靠数据报封装,并发送至物联网网络。通过发送至物流网网络能够根据物联网网络反馈的信息,确定网络状态。
图3是根据一示例性实施例示出的S103的流程示意图,如图3所示,步骤S103、QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。其中,反馈信息是从协议栈中收到的,确认报文是QUIC 协议内的确认报文,根据反馈信息,确定网络状态包括:将所述反馈信息发送至所述应用从层,所述应用层根据接收的所述反馈信息,确定网络状态。具体包括:
步骤S1031、响应于接收反馈信息超出第一预设时长,确定网络状态为延时状态;和或,
步骤S1032、响应于接收反馈信息超出第二预设时长或接收反馈信息为错误信息,确定网络状态为丢包状态;和或,
步骤S1033、响应于接收反馈信息为顺序错乱信息,确定网络状态为乱序状态。
步骤S1034、响应于接收所述反馈信息未超出所述第一预设时长、接收所述反馈信息符合预设标准信息且接收所述反馈信息符合预设顺序信息,确定所述网络状态为正常状态。
上述步骤S1031、响应于接收反馈信息超出第一预设时长,确定网络状态为延时状态,具体包括:
判断接收反馈信息是否超出第一预设时长,若接收反馈信息超出第一预设时长,则确定网络状态为延时状态;若接收反馈信息未超出第一预设时长,则确定网络状态为正常状态。其中,第一预设时长由应用层的传输特性给定,本实施例中根据应用层的传输特性第一预设时长为:50毫秒。具体地,图4是根据一示例性实施例示出的网络延时状态的流程示意图,如图4所示,
第一步、应用层监控组件发送基于非可靠传输的空报文。
第二步、QUIC协议栈将此打包为普通标准协议QUIC数据包并从网络端发出。
第三步、QUIC协议栈告知应用层监控组件报文已打包发出。
第四步、QUIC协议栈接收到从网络返回的确认接收报文ACK(也即反馈信息)。
第五步、QUIC协议栈通知应用层监控组件报文已确认接收。
由此应用层监控组件可推算出网络的延时 (DG_send timestamp - DG_ackedtimestamp)。判断接收反馈信息是否超出100毫秒,若接收反馈信息超出100毫秒,则确定网络状态为延时状态;若接收反馈信息未超出100毫秒,则确定网络状态为正常状态。通过响应于接收反馈信息超出第一预设时长,确定网络状态为延时状态,能够快速获取到网络状态。
上述步骤S1032、响应于接收反馈信息超出第二预设时长或接收反馈信息为错误信息,确定网络状态为丢包状态。具体包括:
可选地,判断接收反馈信息是否超出第二预设时长,若接收反馈信息超出第二预设时长,则确定网络状态为丢包状态;若接收反馈信息未超出第二预设时长,则确定网络状态为正常状态,其中,第二预设时长由应用层的传输特性给定,本实施例中应用层的传输特性,第二预设时长是70毫秒。或者,
判断接收反馈信息是否为错误信息;若接收反馈信息是错误信息,则确定网络状态为丢包状态;若接收反馈信息不是错误信息,则确定网络状态为正常状态。
具体地,图5是根据一示例性实施例示出的网络丢包状态的流程示意图,如图5所示:
第一步、应用层发送基于可靠流 (如控制信令数据)或非可靠报文的普通应用数据 (如视频帧)。
第二步、应用层监控组件按配置定时发送基于非可靠传输的空报文。
第三步、QUIC协议栈将应用层数据和基于非可靠传输的空报文打包进同一普通标准QUIC协议报文并从网络端发出。
第四步、QUIC协议栈告知应用层监控组件报文已打包发出。
第五步、QUIC协议栈未在设定最大可接受时间内(超出预设时长200毫秒)接收到确认接收报文ACK或者因为其他错误如操作系统返回错误码。
第六步、QUIC协议栈通知应用层监控组件报文确认报文丢失。由此应用层感知网络丢包情况正在发生传输阻塞。
第七步、QUIC协议栈会将应用层可靠流数据重新打包成标准QUIC协议报文Packet2,并从网络端发出(也可能和后续的应用层数据一同打包)。值得注意的是,根据非可靠数据报不重传原则,基于非可靠传输的空报文不会被打包进Packet2。因此非可靠传输的空报文不会有额外的重传开销。
上述步骤S1033、响应于接收反馈信息为顺序错乱信息,确定网络状态为乱序状态。具体包括:
判断接收反馈信息是否为顺序错乱信息。
若接收反馈信息是顺序错乱信息,则确定网络状态为乱序状态;若接收反馈信息不是顺序错乱信息,则确定网络状态为正常状态。
具体地,图6是根据一示例性实施例示出的网络乱序状态的流程示意图,如图6所示:
第一步、应用层发送基于可靠流或非可靠报文的普通应用数据,如控制信令数据。
第二步、应用层监控组件按配置定时发送基于非可靠传输的空报文。
第三步、QUIC 协议栈将应用层数据和基于非可靠传输的空报文打包进同一普通标准 QUIC 协议报文 P1 并从网络端发出。
第四步、QUIC 协议栈告知应用层监控组件报文已打包发出。
第五步、应用层发送基于可靠流的普通应用数据,如控制信令数据。第六步、QUIC协议栈将应用层数据打包进同一普通标准 QUIC 协议报文P2并从网络端发出。
第七步、应用层发送基于可靠流 (如控制信令数据)第八步、QUIC 协议栈将应用层数据打包进普通标准QUIC协议报文P3并从网络端发出。
第九步、QUIC 协议栈从网络端接收到了P2的确认接收信息。QUIC协议栈收到了未预期的确认报文(预期接收对 P1 的 确认接收报文)。
第十步、QUIC 协议栈异步上报可能丢失事件 (DG_lost_spurious) 给应用监控组件。由此应用层感知网络丢包情况正在发生传输阻塞或网络传输乱序。
第十一步、QUIC 协议栈从网络端接收到了P3的确认接收信息。
第十二步、QUIC 协议栈从网络端接收到了P1的确认接收信息。
第十三步、QUIC 协议栈上报确认接收事件(DG_ack_spurious)给应用监控组件。判断接收反馈信息为顺序错乱信息,则确定网络状态为乱序状态。由此应用层感知网络包乱序情况正在发生且传输可以继续。
上述步骤S1034、响应于接收所述反馈信息未超出所述第一预设时长、接收所述反馈信息符合预设标准信息且接收所述反馈信息符合预设顺序信息,确定所述网络状态为正常状态。具体包括:
判断接收反馈信息是否超出第一预设时长,若接收反馈信息未超出第一预设时长,判断接收所述反馈信息符合预设标准信息且接收所述反馈信息符合预设顺序信息,则确定网络状态为正常状态。
在一实施例中,根据反馈信息,确定网络状态之后,网络状态监测方法还包括:
QUIC协议栈将可靠数据报封装发送至物联网网络,停止非可靠数据报发送至物联网网络。
可选地,根据IETF QUIC协议规范,QUIC协议栈不需要对非可靠数据报做重传因此,相比于使用可靠传输如TCP或者QUIC中的可靠传输stream流,使用非可靠数据报(unreliable datagram)有如下优势:1. 由于之上不重传原则,相比于可靠传输的重传机制,不重传原则大大减少对网络的影响。特别是不会因为*多次*重传导致网络拥塞加重也不会加重对端处理压力。2.协议栈会将丢失或乱序信息以事件形式反馈给应用层。从而应用层能得到及时响应(一般为毫秒级)而不会像可靠传输那样只有在多次重传丢失后才可能得到丢包的反馈(一般为秒级别)。
在一实施例中,QUIC协议栈通过带内通信传输非可靠数据报。
具体地,本实施例是在使用 QUIC 协议的应用中,充分利用其多路复用特性,通过在带内(QUIC 连接内)发送基于不可靠数据报的探测包(长度为0),利用拥塞控制器回调以异步方式向应用层反馈拥塞控制对当前连接的工作状态。关于带内监控:相比于一般的带外监控比如之前提到的ICMP,带内指复用同一QUIC连接,在连接内监控有以下优点:耦合性:即监控不会因为带外原因而失效,比方如果使用icmp做带外检测,icmp检测会因为防火墙的屏蔽而失效。或者说只要QUIC连接能成功,监测机制就可以工作。经济性:带内监控容易实现,无须太多额外资源开销,无需太多额外开发成本。资源开销指:不需要额外连接做监控。额外开发成本指:不需要修改标准协议栈和/或修改标准协议无须网络中间节点的配合。且支持标准的QUIC协议栈,无须额外修改。非对称性:客户端与服务端可以各自打开或关闭监控不需要协同工作。亲缘性:通过应用层向 QUIC 协议栈下发长度为0的非可靠传输报,带内监控的结果更接近应用层的实际情况。而带外监会使用不同的连接或对其他网络层监控,由于防火墙的不同偏好配置,丢包率有可能与应用层实际收到的限制有较大偏差甚至完全不准确。
综上,本申请实施例提供的一种网络状态监测方法,通过QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0;QUIC协议栈将可靠数据报和非可靠数据报封装成QUIC数据包,并发送至物联网网络;QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。本申请通过使用长度为0的非可靠数据报在QUIC带内发送可以使服务端和客户端在弱网情况下更方便,更低成本且有效地监测物联网网络的状态,无须修改标准的QUIC协议栈实现。解决相关技术中网络状态监测效率低的问题,提高了网络状态监测的效率。
第二方面,本申请实施例提供了一种网络状态监测系统。图7是根据一示例性实施例示出的一种网络状态监测系统的框图。如图7所示,应用层通过QUIC协议栈与物联网网络电性连接;系统包括接收模块、发送模块、确定模块,其中:
接收模块,QUIC协议栈接收可靠数据报和非可靠数据报,其中,非可靠数据报的长度为0 ;
发送模块,QUIC协议栈将可靠数据报和非可靠数据报封装成QUIC数据包,并发送至物联网网络;
确定模块,用于QUIC协议栈接收物联网网络基于QUIC数据包的反馈信息,根据反馈信息,确定网络状态。
综上,本申请提供的一种网络状态监测系统。通过接收模块、发送模块、确定模块,具体地,通过使用长度为0的非可靠数据报在QUIC带内发送可以使服务端和客户端在弱网情况下更方便,更低成本且有效地监测物联网网络的状态。解决相关技术中网络状态监测效率低的问题,提高了网络状态监测的效率。
在一个实施例中,确定模块在根据反馈信息,确定网络状态时,用于:
响应于接收反馈信息超出第一预设时长,确定网络状态为延时状态;和或,
响应于接收反馈信息超出第二预设时长或接收反馈信息为错误信息,确定网络状态为丢包状态;和或,
响应于接收反馈信息为顺序错乱信息,确定网络状态为乱序状态。
在一个实施例中,确定模块在响应于接收反馈信息超出第二预设时长,或接收反馈信息为错误信息,确定网络状态为丢包状态时,还用于:
判断接收反馈信息是否超出第二预设时长,若接收反馈信息超出第二预设时长,则确定网络状态为丢包状态;若接收反馈信息未超出第二预设时长,则确定网络状态为正常状态;或者,
判断接收反馈信息是否为错误信息;若接收反馈信息是错误信息,则确定网络状态为丢包状态;若接收反馈信息不是错误信息,则确定网络状态为正常状态。
在一个实施例中,确定模块在响应于接收反馈信息为顺序错乱信息,确定网络状态为乱序状态时,还用于:
判断接收反馈信息是否为顺序错乱信息;
若接收反馈信息是顺序错乱信息,则确定网络状态为乱序状态;若接收反馈信息不是顺序错乱信息,则确定网络状态为正常状态。
在一个实施例中,根据反馈信息,确定网络状态之后,系统还包括:
发送模块,QUIC协议栈将可靠数据报封装发送至物联网网络,停止非可靠数据报发送至物联网网络。
在一个实施例中,QUIC协议栈通过带内通信传输非可靠数据报。
在一个实施例中,QUIC协议栈包括S缓冲区、UD缓冲区和拥塞控制器;
S缓冲区,用于接收并存储应用层发送的可靠数据报,若可靠数据报在传输过程中丢失和或损坏,QUIC协议栈则进行重新传输可靠数据报;
UD缓冲区,用于接收并存储应用层发送的非可靠数据报,若非可靠数据报在传输过程中丢失和或损坏,QUIC协议栈则停止重新传输非可靠数据报;
拥塞控制器,用于向应用层反馈当前网络的拥塞情况。
综上,本申请提供的一种网络状态监测系统。通过接收模块、发送模块、确定模块,具体地,通过使用长度为0的非可靠数据报在QUIC带内发送可以使服务端和客户端在弱网情况下更方便,更低成本且有效地监测物联网网络的状态。解决相关技术中网络状态监测效率低的问题,提高了网络状态监测的效率。
需要说明的是,本实施例提供的一种网络状态监测系统用于实现上述实施方式,已经进行过说明的不再赘述。如以上所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以上实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
第三方面,本申请实施例提供了一种电子设备,图8是根据一示例性实施例示出的电子设备的框图。如图8所示,该电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种网络状态监测方法。
在一实施例中,一种网络状态监测设备还可包括通信接口83和总线80。其中,如图8所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将一种网络状态监测设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有程序,程序被处理器执行时,实现第一方面中提供的一种网络状态监测方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现第一方面提供的一种网络状态监测方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种网络状态监测方法,其特征在于,应用层通过QUIC协议栈与物联网网络电性连接,构建网络对应用层的反馈回路;所述方法包括:
所述QUIC协议栈接收可靠数据报和非可靠数据报,其中,所述非可靠数据报的长度为0;
所述QUIC协议栈将所述可靠数据报和所述非可靠数据报封装成QUIC数据包,并发送至所述物联网网络;
所述QUIC协议栈接收所述物联网网络基于所述QUIC数据包的反馈信息,根据所述反馈信息,确定网络状态。
2.根据权利要求1所述的方法,其特征在于,根据所述反馈信息,确定网络状态,包括:
响应于接收所述反馈信息超出第一预设时长,确定所述网络状态为延时状态;和或,
响应于接收所述反馈信息超出第二预设时长或接收所述反馈信息为错误信息,确定所述网络状态为丢包状态;和或,
响应于接收所述反馈信息为顺序错乱信息,确定所述网络状态为乱序状态;
响应于接收所述反馈信息未超出所述第一预设时长、接收所述反馈信息符合预设标准信息且接收所述反馈信息符合预设顺序信息,确定所述网络状态为正常状态。
3.根据权利要求2所述的方法,其特征在于,响应于接收所述反馈信息超出第二预设时长,或接收所述反馈信息为错误信息,确定所述网络状态为丢包状态,包括:
判断接收所述反馈信息是否超出第二预设时长,若接收所述反馈信息超出第二预设时长,则确定所述网络状态为丢包状态;若接收所述反馈信息未超出第二预设时长,则确定所述网络状态为正常状态;或者,
判断接收所述反馈信息是否为错误信息;若接收所述反馈信息是错误信息,则确定所述网络状态为丢包状态;若接收所述反馈信息不是错误信息,则确定所述网络状态为正常状态。
4.根据权利要求2所述的方法,其特征在于,响应于接收所述反馈信息为顺序错乱信息,确定所述网络状态为乱序状态,包括:
判断接收所述反馈信息是否为顺序错乱信息;
若接收所述反馈信息是顺序错乱信息,则确定所述网络状态为乱序状态;若接收所述反馈信息不是顺序错乱信息,则确定所述网络状态为正常状态。
5.根据权利要求1所述的方法,其特征在于,根据所述反馈信息,确定网络状态之后,所述方法还包括:
所述QUIC协议栈将所述可靠数据报封装发送至物联网网络,停止所述非可靠数据报发送至所述物联网网络。
6.根据权利要求1所述的方法,其特征在于,所述QUIC协议栈通过带内通信传输所述非可靠数据报。
7.根据权利要求1所述的方法,其特征在于,所述QUIC协议栈包括S缓冲区、UD缓冲区和拥塞控制器;
所述S缓冲区,用于接收并存储所述应用层发送的所述可靠数据报,若所述可靠数据报在传输过程中丢失和或损坏,所述QUIC协议栈则进行重新传输所述可靠数据报;
所述UD缓冲区,用于接收并存储所述应用层发送的所述非可靠数据报,若所述非可靠数据报在传输过程中丢失和或损坏,所述QUIC协议栈则停止重新传输所述非可靠数据报;
所述拥塞控制器,用于向所述应用层反馈当前网络的拥塞情况。
8.一种网络状态监测系统,其特征在于,应用层通过QUIC协议栈与物联网网络电性连接;所述系统包括接收模块、发送模块、确定模块,其中:
所述接收模块,所述QUIC协议栈接收可靠数据报和非可靠数据报,其中,所述非可靠数据报的长度为0 ;
所述发送模块,所述QUIC协议栈将所述可靠数据报和所述非可靠数据报封装成QUIC数据包,并发送至所述物联网网络;
所述确定模块,用于所述QUIC协议栈接收所述物联网网络基于所述QUIC数据包的反馈信息,根据所述反馈信息,确定网络状态。
9.一种电子设备,其特征在于,包括存储器和处理器,存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的一种网络状态监测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的一种网络状态监测方法。
CN202410035438.7A 2024-01-10 2024-01-10 一种网络状态监测方法、系统、设备和介质 Active CN117560304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410035438.7A CN117560304B (zh) 2024-01-10 2024-01-10 一种网络状态监测方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410035438.7A CN117560304B (zh) 2024-01-10 2024-01-10 一种网络状态监测方法、系统、设备和介质

Publications (2)

Publication Number Publication Date
CN117560304A true CN117560304A (zh) 2024-02-13
CN117560304B CN117560304B (zh) 2024-04-02

Family

ID=89815018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410035438.7A Active CN117560304B (zh) 2024-01-10 2024-01-10 一种网络状态监测方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN117560304B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112438038A (zh) * 2019-02-02 2021-03-02 华为技术有限公司 一种传输数据的方法和装置
US20210203763A1 (en) * 2019-12-30 2021-07-01 Cloudflare, Inc. Method and system for reliable application layer data transmission through unreliable transport layer connections in a network
CN114172948A (zh) * 2022-02-09 2022-03-11 北京数码视讯技术有限公司 基于udp的ip透传网关传输系统和方法
CN115914438A (zh) * 2022-09-14 2023-04-04 浙江大华技术股份有限公司 多通道数据传输方法及装置
CN117135148A (zh) * 2023-10-21 2023-11-28 北京蔚领时代科技有限公司 一种基于WebRTC的音视频传输方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112438038A (zh) * 2019-02-02 2021-03-02 华为技术有限公司 一种传输数据的方法和装置
US20210203763A1 (en) * 2019-12-30 2021-07-01 Cloudflare, Inc. Method and system for reliable application layer data transmission through unreliable transport layer connections in a network
CN114172948A (zh) * 2022-02-09 2022-03-11 北京数码视讯技术有限公司 基于udp的ip透传网关传输系统和方法
CN115914438A (zh) * 2022-09-14 2023-04-04 浙江大华技术股份有限公司 多通道数据传输方法及装置
CN117135148A (zh) * 2023-10-21 2023-11-28 北京蔚领时代科技有限公司 一种基于WebRTC的音视频传输方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王维;谢泰荣;胡宪华;: "一种基于UDP的物联网终端掉线检测机制", 电子世界, no. 23, 15 December 2019 (2019-12-15) *

Also Published As

Publication number Publication date
CN117560304B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
US8169914B2 (en) Method and node for transmitting data over a communication network using negative acknowledgment
CN108494782B (zh) 一种基于udp的数据传输方法、终端设备及存储介质
JP5816718B2 (ja) 通信装置、通信システム、およびデータ通信の中継方法
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
US9043486B2 (en) Data transfer method, system and protocol
US7103674B2 (en) Apparatus and method of reducing dataflow distruption when detecting path maximum transmission unit (PMTU)
WO2009021417A1 (fr) Procédé, système et dispositif de transmission et de réception de données de réseau
CN106982108A (zh) 一种数据传输的方法以及相关设备
CN101159520A (zh) 数据传输方法
CN104025550B (zh) 从数据项获得信息的方法及装置
CN104093170A (zh) 基于tcp的数据传输方法和tcp代理装置
CN109981385B (zh) 一种实现丢包检测的方法、装置和系统
CN111404872A (zh) 一种报文处理方法、装置及系统
CN101695067B (zh) 基于tcp的数据处理方法、装置、数字电视接收终端和系统
CN117560304B (zh) 一种网络状态监测方法、系统、设备和介质
CN116074401B (zh) 一种在可编程交换机上的传输层协议实现方法
CN116647518A (zh) 一种数据传输方法、装置、电子设备及存储介质
JP5636574B2 (ja) 通信装置、パケット転送方法及びそのプログラム
US20220368765A1 (en) Universal Transport Framework For Heterogeneous Data Streams
CN111447046B (zh) 业务数据传输方法、装置、设备和存储介质
JP2014147011A5 (zh)
CN113132069A (zh) 一种丢包重传的通信机制及基于fpga实现其的方法
US11811877B2 (en) Universal transport framework for heterogeneous data streams
TWI839155B (zh) 電腦裝置以及應用於電腦裝置的傳輸控制協定封包處理方法
US11588925B2 (en) Method for transferring large amounts of data through a telematic network in an efficient and reliable manner at a high-speed

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
GR01 Patent grant
GR01 Patent grant