CN113411228A - 一种网络状况的确定方法及服务器 - Google Patents
一种网络状况的确定方法及服务器 Download PDFInfo
- Publication number
- CN113411228A CN113411228A CN202110623110.3A CN202110623110A CN113411228A CN 113411228 A CN113411228 A CN 113411228A CN 202110623110 A CN202110623110 A CN 202110623110A CN 113411228 A CN113411228 A CN 113411228A
- Authority
- CN
- China
- Prior art keywords
- node
- time delay
- delay
- target connection
- data
- 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
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及电子政务技术领域,公开了一种网络状况的确定方法及服务器,用于提高网络状况监测的效率,方法包括:第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息;所述第一节点确定所述套接字信息对应的时延瞬时数据;所述第一节点根据所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据;所述第一节点根据所述时延判断数据,确定所述目标连接的网络状况。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种网络状况的确定方法及服务器。
背景技术
代理服务器可以代理客户端的所有流量并帮忙回源及网络加速,当用户数达到一定量级,所代理的流量将变得多而杂,而且游戏应用流量对网络质量非常敏感,如果在游戏期间出现网络抖动,则用户能立刻感知,导致用户体验变差。
上述过程中,当流量经过代理服务器去源站访问时,如果出现了网络抖动或者链路质量变差时,需要同时检查客户端到代理服务器以及代理服务器到源站之间的网络质量。在实际排查问题的时候,会出现信息滞后,运维人员往往无法在第一时间获知该些异常并进行分析,以精准定位网络问题的位置。例如,可能网络延迟或者抖动只在某一时间段发生,而运维人员只能在事后发现此问题,因此无法精确定位问题,更进一步的,如果出现网络问题的用户变多,需要一一排查问题,会出现效率低下等问题。
发明内容
本发明实施例提供了一种网络状况的确定方法及装置,用于提高网络状况监测的效率。
本发明实施例提供了一种网络状况的确定方法,包括:
第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息;
所述第一节点确定所述套接字信息对应的时延瞬时数据;
所述第一节点基于所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据;
所述第一节点根据所述时延判断数据,确定所述目标连接的网络状况。
可选的,所述第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息之前,还包括:
所述第一节点接收所述第二节点发送的连接请求消息,所述连接请求中包含所述第一节点与所述第二节点之间的目标连接对应的套接字信息;
所述第一节点向所述第二节点发送连接响应消息。
可选的,所述第一节点确定所述套接字信息对应的时延瞬时数据,包括:
所述第一节点向所述第二节点发送传输数据;
所述第一节点接收所述第二节点基于所述传输数据发送的确认字符;
所述第一节点基于所述确认字符,确定所述套接字信息对应的时延瞬时数据。
可选的,所述时延瞬时数据至少包括所述第一节点当前接收到所述确认字符时对应的瞬时往返时延、所述第一节点接收到上一个确认字符时对应的前一个瞬时往返时延、所述第一节点确定所述瞬时往返时延之前的历史瞬时往返时延;
所述第一节点基于所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据,包括:
所述第一节点基于所述瞬时往返时延和所述前一个瞬时往返时延,计算平滑往返时延;
所述第一节点基于所述平滑往返时延和历史瞬时往返时延,确定时延偏差参考值,并将所述时延偏差参考值作为所述时延判断数据。
可选的,所述第一节点基于所述瞬时往返时延和所述前一个瞬时往返时延,计算平滑往返时延之后,还包括:
所述第一节点基于所述瞬时往返时延和所述平滑往返时延,计算平均偏差;
所述第一节点将所述平均偏差作为所述时延判断数据。
可选的,所述第一节点确定所述套接字信息对应的时延瞬时数据,包括:
所述第一节点接收所述第二节点发送的数据访问请求;
所述第一节点对所述数据访问请求进行校验;
所述第一节点确定所述数据访问请求的内容符合所述第一节点的设定规则后,确定所述套接字信息对应的时延瞬时数据。
可选的,所述目标连接为基于TCP协议建立的网络连接。
可选的,所述方法还包括所述第一节确定所述目标连接的网络状况出现异常时,记录并输出异常相关信息。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本发明实施例提供的网络状况的确定方法的步骤。
本发明实施例提供了一种服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得计算机执行本发明实施例提供的网络状况的确定方法的步骤。
本发明实施例中的第一节点与第二节点之间通过发送消息建立起连接。其中,第一节点与第二节点建立目标连接后,获取目标连接对应的套接字信息。第一节点根据该套接字信息,获取该套接字信息对应的时延瞬时数据,并基于套接字信息对应的时延瞬时数据,计算目标连接对应的时延判断数据。第一节点根据得到的时延判断数据,确定目标连接的网络状况。本发明实施例通过第一节点自动确定与第二节点之间的时延信息,并对连接的网络状况进行判断,可以在出现网络抖动或者网络时延时,快速定位到出现问题的链路,从而提高网络时延排查的效率和准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例中的一种网络时延的确定系统的系统架构图;
图2为本发明实施例中的一种网络状况的确定方法的流程图;
图3为本发明实施例中第一节点对数据访问请求的信息进行校验的过程的示意图;
图4为本发明实施例中的应用层与内核之间连接关系的示意图;
图5示出了本发明一个实施例提供的服务器的结构方框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本发明文件中记载的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
请参考图1,其示出了本发明一个实施例提供的网络状况的确定方法的系统架构图,该系统中包括操作终端11、代理服务器12、以及源服务器13。图1中所示的实施例中,代理服务器12可以是一个独立的设备,也可以是多个服务器所形成的服务器集群,用于对操作终端11发出的流量进行代理。源服务器可以是提供用户访问资源的源站设备,优选地,源服务器13可以采用云计算技术进行信息处理。源服务器13可以是一台服务器,也可以是若干台服务器组成的服务器集群或云计算中心。代理服务器12与源服务器13之间的网络可以为局域网、广域网或英特网等通信网络中的任意一种。
操作终端11上安装有源服务器13支持的客户端程序或可访问源服务器13的浏览器,用户可基于操作终端11安装的客户端程序或浏览器向源服务器请求数据资源,操作终端11可以通过局域网、广域网或英特网中的一种与代理服务器12进行通信。
在一次请求会话中,用户通过操作终端11上的客户端程序或浏览器向源服务器发起访问请求的过程中,代理服务器12会与操作终端11建立TCP连接,之后再与客户端请求的源服务器13建立TCP连接,其中,该源服务器13可以是访问请求中指定的目的源服务器,也可以是能提供客户端所请求的资源的源服务器,例如,访问请求中的请求域名指向的源服务器,或缓存服务器。代理服务器12通过与操作终端建立的TCP连接获取到用户发出的访问请求,并通过与源服务器建立的TCP连接转发该访问请求,以从源服务器获取响应消息,并将响应消息返回给操作终端11。
操作终端11可以是手机、平板电脑等手持设备等,也可以是个人计算机(personalcomputer,简称PC)、笔记本电脑、智能电视等电子设备,该写设备可基于无线或有线的接入方式连接上网。
需要注意的是,上文提及的应用场景仅是为了便于理解本发明的精神和原理而示出,本发明实施例在此方面不受任何限制。相反,本发明实施例可以应用于适用的任何场景。
下面结合图1所示的应用场景,对本发明实施例提供的网络状况的确定方法进行说明。
请参考图2,为本发明实施例提供的一种网络状况的确定方法的流程图。
如图2所示,本发明实施例提供了一种网络状况的确定方法,其中网络时延的确定方为第一节点,方法包括:
步骤S201:第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息。
其中,套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。
本发明实施例中第一节点与第二节点之间建立目标连接,会各自对应创建套接字,基于套接字实现目标连接的建立,其中,套接字信息包含目标连接对应的四元组信息。其中,第一节点与第二节点之间的目标连接可以是基于TCP(传输控制协议,TransmissionControl Protocol)协议创建的。
在本发明实施例中,第一节点可以是代理服务器,第二节点可以是源服务器,或者操作终端,值得注意的是,在第二节点是操作终端的情况下,该目标连接是由操作终端主动发起的,即操作终端向代理服务器发送TCP连接请求;在第二节点是源服务器的情况下,该目标连接是由代理服务器发起的,即代理服务器向源服务器发送TCP连接请求,具体而言,代理服务器可在接收到操作终端发出的数据访问请求时,根据数据访问请求中的目的地址来确定需要建连的源服务器,或者可根据数据访问请求中的URL信息来确定存有该资源的源服务器,或缓存服务器,并与其建立目标连接。
第一节点可在与第二节点建立目标连接的过程中,从接收到的连接请求消息中获取套接字信息。
具体地,第一节点与第二节点之间可以通过三次握手实现连接建立,即通信双方执行三次TCP报文的交换过程。这时,所述第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息之前,还包括:
所述第一节点接收所述第二节点发送的连接请求消息,所述连接请求消息中包含所述第一节点与所述第二节点之间的目标连接对应的套接字信息;
所述第一节点向所述第二节点发送连接响应消息。
值得注意的是,连接请求消息具体指代的内容与第二节点相关。以下,以第一节点为代理服务器,第二节点为操作终端为例,结合第一节点与第二节点建立TCP连接的过程,进行说明,其中,代理服务器与操作终端之间目标连接的建立包括三次握手,具体过程如下:
第一次握手:建立连接时,操作终端发送SYN(同步序列编号,SynchronizeSequence Numbers)包,即第二节点向第一节点发送的连接请求消息,到代理服务器,并进入SYN_SENT(信号发送)状态,等待代理服务器确认。值得注意的是,在透明代理的实施中,由于代理服务器对操作终端来说是无感知的,因此操作终端发送的SYN包的目的地址指向的是它想访问的源服务器,此时,代理服务器可在接收到该SYN包时,伪装成源服务器,对该SYN包进行响应,从而实现与操作终端建立目标连接。
第二次握手:代理服务器收到SYN包后,向操作终端发送SYN+ACK包,即连接响应消息,此时代理服务器进入SYN_RECV(信号接收)状态。
第三次握手:操作终端收到代理服务器的SYN+ACK包,向代理服务器发送确认包ACK(ack=k+1),此包发送完毕,操作终端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
完成三次握手,第一节点与第二节点可以基于该目标连接进行数据交互。
可以理解的是,上述操作终端与代理服务器建立目标连接的过程中,由操作终端主动发起,第一次握手过程中的SYN包是由操作终端向代理服务器发送的,因此,代理服务器可将接收到的SYN作为连接请求消息,并将发送的SYN+ACK包作为连接响应消息;而当第二节点为源服务器时,该目标连接是由代理服务器主动发出的,因此在此应用场景下,代理服务器可将接收到的SYN+ACK包作为连接请求消息,并将确认包ACK作为连接响应消息。值得注意的是,无论在哪个应用场景下,连接请求消息都是第一节点从第二节点处接收到的数据包,换言之,第一节点在接收到连接请求消息时,已成功完成了与第二节点的一次交互,说明第一节点与第二节点之间的网络通信是正常的,因此,基于该连接请求消息来获取套接字信息,可保证获取到的套接字信息对应的套接字所创建的TCP连接是大概率有效的,从而保证第一节点可基于该套接字信息获取到相关的时延数据。
步骤S202:所述第一节点确定所述套接字信息对应的时延瞬时数据。
一种具体的实施例中,所述第一节点确定所述套接字信息对应的时延瞬时数据,包括:
所述第一节点向所述第二节点发送传输数据;
所述第一节点接收所述第二节点基于所述传输数据发送的确认字符;
所述第一节点基于所述确认字符,确定所述套接字信息对应的时延瞬时数据。
具体实施过程中,当第一节点与第二节点建立完三次握手建立连接之后,第一节点的应用层代理程序可向内核传递套接字信息,指示内核采集该套接字信息对应的套接字的时延数据,其中内核是指第一节点上运行的操作系统的内核,如Linux系统内核。
内核接收到该信息,便会开始采集对应套接字的相关时延数据。在一次TCP连接会话中,第一节点往往会向第二节点多次发送传输数据,第二节点每一次接收到传输数据时,会回复一个确认字符(ACK)。每次第一节点收到ACK后,内核都会生成一个瞬时RTT(往返时延,Round-Trip Time)并作为时延瞬时数据进行记录。
这里的往返时延的时长即为从第一节点向第二节点发送传输数据的时间点开始,到第一节点接收到第二节点反馈的确认字符结束。
本发明实施例中的第一节点可确定目标连接上每次数据传输对应生成的瞬时RTT,作为该套接字信息对应的时延瞬时数据,进而根据时延瞬时数据计算时延判断数据。
步骤S203:所述第一节点根据所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据。
一种具体的实施例中,基于步骤S202可获取到每次数据传输对应的瞬时RTT数据,所述第一节点基于所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据,包括:
所述第一节点基于所述瞬时往返时延和前一个瞬时往返时延,计算平滑往返时延,其中,所述前一个瞬时往返时延为第一节点接收到上一个确认字符时对应的瞬时往返时延;
所述第一节点基于所述平滑往返时延和历史瞬时往返时延,确定时延偏差参考值,并将所述时延偏差参考值作为所述时延判断数据,其中,历史瞬时往返时延包括所有获取到的瞬时网络时延中的最大值和最小值。
具体实施过程中,内核可基于TCP协议提供的SRTT(平滑往返时延)的计算方式计算得到SRTT值,具体地,SRTT的计算满足以下公式:
其中,srtt为当前的平滑往返时延,srtt′为前一个平滑往返时延,mrtt为当前接收到ACK时确定的瞬时往返时延。
由公式1可以看出,平滑往返时延为根据当前接收到ACK时确定的瞬时往返时延和前一个瞬时往返时延确定。
在一次TCP连接会话中,每次第一节点收到ACK后,内核都能输出一个mrtt值,每次输出新的mrtt值时,都将当前获取的mrtt先前记录的最大mrtt和最小mrtt值进行对比,并保留其中更大值作为新的最大mrtt,以及更小的值作为新的最小mrtt。这样,在TCP连接结束时,如在完成四次挥手过程后,便能确定出该TCP连接对应的一个最大mrtt以及一个最小mrtt,同时在TCP连接结束的时候,内核会输出关于此条TCP连接的srtt。最终将获取最大mrtt、最小mrtt、srtt的值作为时延判断数据进行保存。
进一步地,本发明实施例中可设置一个时延偏差参考值(DDRV,Delay deviationreference value)作为时延判断数据之一,用于判断节点之间网络时延的抖动情况。具体地,时延偏差参考值的计算满足以下公式:
ddrv={[ln(srtt/10+e)](maxrtt-minrtt)/srtt—1}×100……公式2
其中,ddrv为时延偏差参考值,maxrtt为最大RTT,minrtt为最小RTT。内核可在TCP连接结束时,基于该公式计算出对应的ddrv值,并作为时延判断数据进行保存。
当内核获取到所有时延判断数据后,可将该些数据输出给应用层的代理程序,使得应用层代理程序可基于该些时延判断数据对网络状况进行判断。
步骤S204:所述第一节点根据所述时延判断数据,确定所述目标连接的网络状况。
一种可选的实施例中,应用层代理程序可以基于内核输出的最大mrtt、最小mrtt、srtt的值对网络时延的抖动情况进行初步评估。例如,对比最大RTT、最小RTT和srtt,如果三个值的差距超过预设阈值,则认为存在网络抖动,而超出的值越大,抖动则越严重,网络越不稳定。
更进一步的,应用层代理程序还可以基于ddrv对网络状况进行再次评估,具体可将ddrv值与阈值进行对比,以判断网络时延的抖动情况。例如,设置2个阈值,分别为10、50。当ddrv小于或等于10时,认为网络时延的抖动情况并不严重,在可接受范围;当ddrv大于10且小于或等于50时,认为网络时延抖动较为严重,可能会出现问题,需要进行关注与处理;当ddrv大于50时,认为网络时延的抖动情况非常严重,当前线路不可用。
基于此,应用层代理程序可基于时延判断数据自动对网络状况进行评估,以实时获取各TCP连接在数据传输过程中的网络状况,可及时发现网络是否发生异常,并在异常发生时直接定位,并同时记录了相关数据,可供运维人员进行查看。在一实施中,当应用层代理程序判断网络异常时,记录并输出异常相关信息,其中异常相关信息可包含目标连接的四元组信息、建立与断开的时间信息、以及时延判断数据等,并通过向后台管理平台发送异常警告,以提醒运维人员及时对网络故障进行解决,从而提升故障处理速率,提升用户体验。
本发明实施例中的第一节点与第二节点之间通过发送消息建立起连接。其中,第一节点与第二节点建立目标连接后,获取目标连接对应的套接字信息。第一节点根据该套接字信息,获取该套接字信息对应的时延瞬时数据,并基于套接字信息对应的时延瞬时数据,计算目标连接对应的时延判断数据。第一节点根据得到的时延判断数据,确定目标连接的网络状况。本发明实施例通过确定第一节点与第二节点之间的时延信息,对连接的网络状况进行判断,可以在出现网络抖动或者网络时延时,快速定位到出现问题的链路,从而提高网络时延排查的效率和准确度。
进一步地,本发明实施例中对网络时延的抖动情况进行评估,除了依据最大RTT、最小RTT、srtt等数据之外,还可以将其它数据作为辅助参考。一种具体的实施例中,内核输出的时延判断数据还可包括平均偏差。则所述第一节点基于所述瞬时往返时延和所述前一个瞬时往返时延,计算平滑往返时延之后,还包括:
所述第一节点基于所述瞬时往返时延和所述平滑往返时延,计算平均偏差;
所述第一节点将所述平均偏差作为所述时延判断数据。
具体实施过程中,平均偏差基于瞬时往返时延和平滑往返时延进行计算,具体计算可以满足以下公式:
其中,mdev为当前收到ACK时的平均偏差,mdev′为收到前一个ACK时的平均偏差。
根据上述公式3,基于瞬时往返时延和平滑往返时延计算出mdev的值之后,将mdev对网络时延的评估作为辅助参考。应用层代理程序可直接基于mdev值对网络状况进行评估,具体地,mdev的值越大则表明网络时延的抖动频率越高,反之mdev的值越低,则说明抖动频率越低。
进一步地,在一实施中,为了避免高并发,本发明实施例需要目标连接进行校验,以确定是否对其进行网络评估,具体的,当代理服务器与操作终端完成目标连接的建立后,代理服务器可基于该目标连接接收到操作终端向源服务器发送的第一个数据访问请求,以开始请求获取响应的数据资源,此时,所述第一节点确定所述套接字信息对应的时延瞬时数据,包括:
所述第一节点接收所述第二节点发送的数据访问请求;
所述第一节点对所述数据访问请求进行校验;
所述第一节点确定所述数据访问请求的内容符合所述第一节点的设定规则后,确定所述套接字信息对应的时延瞬时数据。否则,不继续执行步骤S202。
具体实施过程中,第一节点与第二节点之间的目标连接建立之后,第一节点根据设定规则对第二节点基于该目标连接发送的数据访问请求中的信息进行校验。例如,第一节点与第二节点之间的TCP连接建立之后,第二节点可基于该TCP连接发送数据访问请求,即向源服务器请求数据资源,第一节点通过该TCP连接请求接收到第二节点发送的数据访问请求,该数据访问请求中可包含URL、域名、四元组等信息,第一节点可依据设定规则对数据访问请求中的信息进行校验,在确定请求中的信息满足第一节点的设定规则后,才对该TCP连接的时延数据进行采集,即执行步骤S202。在一实施中,设定规则可以包括URL(统一资源定位器,Uniform Resource Locator)、或域名、或四元组信息其中的一种或多种指向目标应用服务,其中四元组信息包括源IP地址、目的IP地址、源端口、目的端口。基于此,第一节点可实现针对目标应用服务的相关网络状况的监控,无需获取所有与第二节点间建立的TCP连接对应的网络时延进行监控,从而有效控制第一节点的任务处理量,避免高并发。值得注意的是,在第二节点为源服务器的情况下,第一节点无需对数据访问请求进行校验,而是根据对应的操作终端的校验结果来确定是否要对于源服务器间建立的目标连接进行网络状况的评估,一般而言,在同一次代理会话过程中,若与操作终端之间的目标连接需要进行网络状况的评估,那么与源服务器之间的目标连接也同样需要进行网络状况的评估,从而获取到整条传输链路的网络状况。
图3示出了第一节点对数据访问请求的信息进行校验的一种实施方式。如图3所示,第一节点首先对请求中的URL进行校验,判断该请求中的URL满足第一节点中设定的URL;若确定URL符合条件,则继续对域名进行校验,判断域名是否满足设定的要求;若确定域名符合条件,则继续对四元组进行校验,判断四元组是否满足条件;若确定四元组符合条件,则确定所有的信息均满足设定规则,进而确定将该请求对应的套接字信息传递给内核,从而获取套接字信息对应的往返时延。另一方面,若上述校验有任一不符合条件,则认为请求不满足设定规则,则无需传递套接字信息给内核。在一具体实施中,可通过在第一节点预先配置白名单,以记录符合条件的URL、域名和四元组信息,进而通过匹配白名单的方式来确定数据访问请求中的信息是否符合条件。
本发明实施例中,为了支持第一节点中应用层代理程序与内核之间的数据交互,设置了两个API(应用程序接口,Application Programming Interface)接口。图4示出了应用层与内核之间连接关系的示意图。如图4所示,两个API分别为Kernel_api_switch()和Kernel_api_output()。
其中,Kernel_api_switch()对应的函数为Kernel_api_switch(fd,nu_app,enable),用于应用层向内核传递套接字信息、四元组信息,指定需要获取信息的套接字,则内核会过滤出此套接字对应的TCP流,并处理该套接字中的rtt等值,最终输出最大rtt、最小rtt、srtt、mdev、ddrv。
Kernel_api_output()对应的函数为Kernel_api_output(fd,nu_app,message;[path,msg]),用于内核输出对应数据,并指定数据的存储位置以及格式。
请参考图5,其示出了本发明一个实施例提供的服务器的结构方框图。该服务器500实现为图1中的网络时延的代理服务器12。具体来讲:
服务器500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。所述服务器500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)506,和用于存储操作系统513、应用程序514和其他程序子系统515的大容量存储设备507。
所述基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备5509。其中所述显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。所述基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。所述大容量存储设备507及其相关联的计算机可读介质为服务器500提供非易失性存储。也就是说,所述大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序子系统或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
根据本发明的各种实施例,所述服务器500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器500可以通过连接在所述系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的网络状况的确定方法的指令。
本领域普通技术人员可以理解上述实施例的签到方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
本领域普通技术人员可以理解上述实施例的签到方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random AccessMemory)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种网络状况的确定方法,其特征在于,包括:
第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息;
所述第一节点确定所述套接字信息对应的时延瞬时数据;
所述第一节点基于所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据;
所述第一节点根据所述时延判断数据,确定所述目标连接的网络状况。
2.如权利要求1所述的方法,其特征在于,所述第一节点与第二节点建立目标连接后,获取所述目标连接对应的套接字信息之前,还包括:
所述第一节点接收所述第二节点发送的连接请求消息,所述连接请求中包含所述第一节点与所述第二节点之间的目标连接对应的套接字信息;
所述第一节点向所述第二节点发送连接响应消息。
3.如权利要求1所述的方法,其特征在于,所述第一节点确定所述套接字信息对应的时延瞬时数据,包括:
所述第一节点向所述第二节点发送传输数据;
所述第一节点接收所述第二节点基于所述传输数据发送的确认字符;
所述第一节点基于所述确认字符,确定所述套接字信息对应的时延瞬时数据。
4.如权利要求3所述的方法,其特征在于,所述时延瞬时数据至少包括所述第一节点当前接收到所述确认字符时对应的瞬时往返时延、所述第一节点接收到上一个确认字符时对应的前一个瞬时往返时延、所述第一节点确定所述瞬时往返时延之前的历史瞬时往返时延;
所述第一节点基于所述套接字信息对应的时延瞬时数据,计算所述目标连接对应的时延判断数据,包括:
所述第一节点基于所述瞬时往返时延和所述前一个瞬时往返时延,计算平滑往返时延;
所述第一节点基于所述平滑往返时延和历史瞬时往返时延,确定时延偏差参考值,并将所述时延偏差参考值作为所述时延判断数据。
5.如权利要求3所述的方法,其特征在于,所述第一节点基于所述瞬时往返时延和所述前一个瞬时往返时延,计算平滑往返时延之后,还包括:
所述第一节点基于所述瞬时往返时延和所述平滑往返时延,计算平均偏差;
所述第一节点将所述平均偏差作为所述时延判断数据。
6.如权利要求1所述的方法,其特征在于,所述第一节点确定所述套接字信息对应的时延瞬时数据前,包括:
所述第一节点接收所述第二节点发送的数据访问请求;
所述第一节点对所述数据访问请求进行校验;
所述第一节点确定所述数据访问请求的内容符合所述第一节点的设定规则后,确定所述套接字信息对应的时延瞬时数据。
7.如权利要求1所述的方法,其特征在于,所述目标连接为基于TCP协议建立的网络连接。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节确定所述目标连接的网络状况出现异常时,记录并输出异常相关信息。
9.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1~8任一项所述的方法。
10.一种服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110623110.3A CN113411228B (zh) | 2021-06-04 | 2021-06-04 | 一种网络状况的确定方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110623110.3A CN113411228B (zh) | 2021-06-04 | 2021-06-04 | 一种网络状况的确定方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113411228A true CN113411228A (zh) | 2021-09-17 |
CN113411228B CN113411228B (zh) | 2023-04-07 |
Family
ID=77676320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110623110.3A Active CN113411228B (zh) | 2021-06-04 | 2021-06-04 | 一种网络状况的确定方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411228B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884866A (zh) * | 2022-06-09 | 2022-08-09 | 中国电信股份有限公司 | 一种路径确定方法、装置、系统、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446121B1 (en) * | 1998-05-26 | 2002-09-03 | Cisco Technology, Inc. | System and method for measuring round trip times in a network using a TCP packet |
US20030031185A1 (en) * | 2001-06-19 | 2003-02-13 | Fujitsu Limited | Communication capability measuring equipment |
US6757255B1 (en) * | 1998-07-28 | 2004-06-29 | Fujitsu Limited | Apparatus for and method of measuring communication performance |
CN101133599A (zh) * | 2004-12-24 | 2008-02-27 | 阿斯帕拉公司 | 批量数据传输 |
CN103401665A (zh) * | 2013-06-28 | 2013-11-20 | 国家超级计算深圳中心(深圳云计算中心) | 集群存储系统中重传超时计时器的优化方法及装置 |
CN104780117A (zh) * | 2015-03-26 | 2015-07-15 | 大唐移动通信设备有限公司 | 一种网络拥塞信息的获取方法和装置 |
CN109120468A (zh) * | 2017-06-26 | 2019-01-01 | 中国电信股份有限公司 | 获取端到端网络时延的方法和装置 |
CN110753123A (zh) * | 2019-10-28 | 2020-02-04 | 北京理工大学 | 一种面向连接的命名数据网络数据传输方法 |
CN110875915A (zh) * | 2018-09-04 | 2020-03-10 | 华为技术有限公司 | 数据传输方法及装置 |
CN111031403A (zh) * | 2019-11-05 | 2020-04-17 | 网宿科技股份有限公司 | 一种卡顿检测方法、系统及设备 |
CN112217686A (zh) * | 2019-07-12 | 2021-01-12 | 华为技术有限公司 | 一种评估往返时延的系统、方法及装置 |
CN112838966A (zh) * | 2021-04-22 | 2021-05-25 | 北京拓课网络科技有限公司 | 一种udp链路监控方法、系统及电子设备 |
-
2021
- 2021-06-04 CN CN202110623110.3A patent/CN113411228B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446121B1 (en) * | 1998-05-26 | 2002-09-03 | Cisco Technology, Inc. | System and method for measuring round trip times in a network using a TCP packet |
US6757255B1 (en) * | 1998-07-28 | 2004-06-29 | Fujitsu Limited | Apparatus for and method of measuring communication performance |
US20030031185A1 (en) * | 2001-06-19 | 2003-02-13 | Fujitsu Limited | Communication capability measuring equipment |
CN101133599A (zh) * | 2004-12-24 | 2008-02-27 | 阿斯帕拉公司 | 批量数据传输 |
CN103401665A (zh) * | 2013-06-28 | 2013-11-20 | 国家超级计算深圳中心(深圳云计算中心) | 集群存储系统中重传超时计时器的优化方法及装置 |
CN104780117A (zh) * | 2015-03-26 | 2015-07-15 | 大唐移动通信设备有限公司 | 一种网络拥塞信息的获取方法和装置 |
CN109120468A (zh) * | 2017-06-26 | 2019-01-01 | 中国电信股份有限公司 | 获取端到端网络时延的方法和装置 |
CN110875915A (zh) * | 2018-09-04 | 2020-03-10 | 华为技术有限公司 | 数据传输方法及装置 |
CN112217686A (zh) * | 2019-07-12 | 2021-01-12 | 华为技术有限公司 | 一种评估往返时延的系统、方法及装置 |
CN110753123A (zh) * | 2019-10-28 | 2020-02-04 | 北京理工大学 | 一种面向连接的命名数据网络数据传输方法 |
CN111031403A (zh) * | 2019-11-05 | 2020-04-17 | 网宿科技股份有限公司 | 一种卡顿检测方法、系统及设备 |
CN112838966A (zh) * | 2021-04-22 | 2021-05-25 | 北京拓课网络科技有限公司 | 一种udp链路监控方法、系统及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884866A (zh) * | 2022-06-09 | 2022-08-09 | 中国电信股份有限公司 | 一种路径确定方法、装置、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113411228B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10587544B2 (en) | Message processing method, processing server, terminal, and storage medium | |
US10097645B2 (en) | Method and apparatus of performing peer-to-peer communication establishment and connection change-over | |
WO2020143095A1 (zh) | 一种通信连接的建立方法及代理服务器 | |
CN111200830B (zh) | 数据传输方法及装置、电子设备 | |
KR102167613B1 (ko) | 메시지 푸시 방법 및 장치 | |
EP1892887A1 (en) | Communication method between communication devices and communication apparatus | |
US20070281623A1 (en) | Method and system for mobile device performance monitoring | |
WO2018094654A1 (zh) | 一种vpn传输隧道调度方法、装置以及vpn客户端服务器 | |
JP2018528679A (ja) | 負荷平衡システムにおいて接続を確立するデバイス及び方法 | |
CN107645517B (zh) | 数据推送方法及装置 | |
CN107995233B (zh) | 建立连接的方法及相应的设备 | |
CN104079571A (zh) | 一种识别Android模拟器的方法及装置 | |
CN112738548A (zh) | 一种流媒体调度方法、装置、设备及存储介质 | |
CN110661673B (zh) | 一种心跳检测的方法及装置 | |
CN111245831B (zh) | Ftp数据传输方法及装置、服务端和客户端的信息交互系统 | |
WO2012131604A1 (en) | Sctp endpoint migration | |
US8416754B2 (en) | Network location based processing of data communication connection requests | |
CN113411228B (zh) | 一种网络状况的确定方法及服务器 | |
US9509777B2 (en) | Connection method and management server | |
CN111416851A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
JP2005258632A (ja) | ネットワークストレージ装置の導通確認方法およびホスト計算機 | |
KR20090071542A (ko) | 호스트 가장 네트워크 디바이스 및 그의 방법 | |
CN114363427A (zh) | 一种基于浏览器实时获取主机设备信息的方法 | |
CN106664223B (zh) | 一种共享接入主机数目检测方法及检测装置 | |
CN110474807B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |