CN115190070A - 路由探测方法及装置 - Google Patents
路由探测方法及装置 Download PDFInfo
- Publication number
- CN115190070A CN115190070A CN202210636665.6A CN202210636665A CN115190070A CN 115190070 A CN115190070 A CN 115190070A CN 202210636665 A CN202210636665 A CN 202210636665A CN 115190070 A CN115190070 A CN 115190070A
- Authority
- CN
- China
- Prior art keywords
- detection
- socket
- response message
- client
- information
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 228
- 230000004044 response Effects 0.000 claims abstract description 152
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000001914 filtration Methods 0.000 claims abstract description 42
- 238000004806 packaging method and process Methods 0.000 claims abstract description 6
- 239000000523 sample Substances 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004083 survival effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000001824 photoionisation detection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种路由探测方法及装置,主要技术方案包括:获取来自客户端的路由探测请求,路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息;利用探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在接收套接字上启用基于客户端的标识信息的过滤规则;利用探测参数和客户端的标识信息封装探测报文并通过发送套接字发送探测报文;若通过接收套接字接收到响应报文且响应报文携带的客户端的标识信息与过滤规则匹配,则利用响应报文确定路由信息,路由信息用以生成返回客户端的路由探测结果。本申请能够提高路由探测的通用性。
Description
技术领域
本申请涉及网络通信技术领域,特别是涉及一种路由探测方法及装置。
背景技术
在高速数据传输时代,网络作为重要的基础设施支撑了互联网、数据中心等各场景中服务流量的快速增长。网络的运维需要确保服务稳定、安全且保障服务高效的运转。其中路由探测(又称路由跟踪)能够识别网络通行情况,是网络管理人员重要的辅助工具。
在传统的路由探测方案中,探测设备获取到探测参数后,会建立传输层socket(套接字)与探测参数中的源端口进行绑定。后续探测报文通过绑定的源端口进行发送,对应的响应报文通过该绑定的源端口进行接收。这种实现方式下,若该源端口是探测设备已经在应用服务上建立连接并使用的端口,则会出现无法绑定的情况,就造成了对已经在应用服务上建立连接并使用的端口无法进行路由探测的问题。
发明内容
有鉴于此,本申请提供了一种路由探测方法及装置,以解决上述技术问题,提高路由探测的通用性。
本申请提供了如下方案:
第一方面,提供了一种路由探测方法,该方法包括:
获取来自客户端的路由探测请求,所述路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息;
利用所述探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在所述接收套接字上启用基于所述客户端的标识信息的过滤规则;
利用所述探测参数和所述客户端的标识信息封装探测报文并通过所述发送套接字发送所述探测报文;
若通过所述接收套接字接收到响应报文且所述响应报文携带的客户端的标识信息与所述过滤规则匹配,则利用所述响应报文确定路由信息,所述路由信息用以生成返回所述客户端的路由探测结果。
根据本申请实施例中一可实现的方式,所述探测协议的类型包括传输控制协议TCP或用户数据报协议UDP。
根据本申请实施例中一可实现的方式,该方法还包括:
通过预先在所述接收套接字设置的钩子hook,将通过所述接收套接字接收到的响应报文与所述过滤规则进行匹配,将与所述过滤规则所包含客户端的标识信息匹配的响应报文进行拷贝,利用拷贝的响应报文执行所述确定路由信息的步骤。
根据本申请实施例中一可实现的方式,所述探测报文还封装有序列号;
利用所述响应报文携带的序列号匹配该响应报文对应的探测报文,以确定所述路由信息。
根据本申请实施例中一可实现的方式,该方法还包括:针对所述序列号记录所述探测报文的发送时间戳;
利用所述响应报文确定路由信息包括:记录所述响应报文的接收时间戳,并利用所述响应报文的接收时间戳与发送时间戳,确定本次探测的往返时延RTT;转至执行所述利用所述探测参数和所述客户端的标识信息封装探测报文的步骤并递增所述探测报文中的生存时间TTL值。
根据本申请实施例中一可实现的方式,所述发送时间戳为网卡发送所述探测报文的时间戳,所述接收时间戳为网卡接收所述响应报文的时间戳。
根据本申请实施例中一可实现的方式,若所述路由探测请求包括多组探测参数,则针对各组探测参数分别执行利用所述探测参数和所述客户端的标识信息封装探测报文的步骤,各探测报文封装不同的序列号。
根据本申请实施例中一可实现的方式,利用所述响应报文确定路由信息包括:
若所述响应报文为网络控制消息协议ICMP超时响应报文,则记录发送该ICMP超时响应报文的路由设备为中间路由设备;
若所述响应报文为指示探测结束的响应报文,则利用已记录的中间路由设备的信息生成路由探测结果并返回给所述客户端。
根据本申请实施例中一可实现的方式,若所述探测协议为TCP,则该方法还包括:将所述发送套接字与所述目的主机地址绑定,由所述发送套接字接收指示探测结束的响应报文。
根据第二方面,提供了一种路由探测装置,该装置包括:
请求获取单元,被配置为获取来自客户端的路由探测请求,所述路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息;
套接字创建单元,被配置为利用所述探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在所述接收套接字上启用基于所述客户端的标识信息的过滤规则;
报文发送单元,被配置为利用所述探测参数和所述客户端的标识信息封装探测报文并通过所述发送套接字发送所述探测报文;
路由生成单元,被配置为若通过所述接收套接字接收到响应报文且所述响应报文携带的客户端的标识信息与所述过滤规则匹配,则利用所述响应报文确定路由信息,所述路由信息用以生成返回所述客户端的路由探测结果。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
根据第四方面,提供了一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面中任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请可以具备以下技术效果:
1)本申请中创建工作于链路层以下的原始套接字作为发送套接字和接收套接字,不再进行源端口与套接字的绑定,而是通过在接收套接字启用基于客户端的标识信息的过滤规则使得通过接收套接字接收到的响应消息能够通过客户端的标识信息与探测报文匹配,从而确定路由信息。这种方式能够指定任意的源端口进行路由探测,不会造成已经在应用服务上建立连接并使用的端口绑定失败(因为本申请中链路层的套接字不进行源端口的绑定),也就解决了对已经在应用服务上建立连接并使用的端口无法进行路由探测的问题,提高了路由探测的通用性。
2)由于本申请中通过在探测报文中封装客户端的标识信息,从而区分出不同客户端的探测报文和响应报文,避免了极端情况下由于网络延迟造成将前一个已关闭客户端的响应报文发送给后一个新建客户端的情况,保证计算得到的RTT是正确的。
3)本申请除了通过客户端的标识信息来区分不同的探测进程之外,进一步利用序列号实现探测报文和响应报文之间的匹配,进一步保证路由探测的准确性。
4)本申请中利用hook的方式,将接收套接字接收到的响应报文与过滤规则进行匹配,将与过滤规则所包含客户端的标识信息匹配的响应报文进行拷贝,利用拷贝的响应报文确定路由信息,避免了不必要的拷贝对内存的占用,提升整体性能。
5)通过网卡硬件时间戳来计算RTT,得到的RTT信息更加精准,能够满足对时延要求高的场景。
6)由于本申请中创建的发送套接字和接收套接字是链接层以下的,不进行源端口的绑定,因此可以分别针对探测请求中携带的多组探测参数分别封装探测报文,各探测报文携带不同的序列号来进行区分,从而实现批量路由探测,满足高并发的场景需求。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本申请实施例的示例性系统架构图;
图2为本申请实施例提供的路由探测方法的主要流程图;
图3为本申请实施例提供的一种UDP路由探测的方法流程图;
图4为本申请实施例提供的一种TCP路由探测的方法流程图;
图5示出根据一个实施例的该路由探测装置的示意性框图;
图6为本申请实施例提供的电子设备的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
传统的路由探测方法中,当用户输入探测参数,包括五元组信息:源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息后,需要创建传输层套接字来绑定源端口号,从而实现通过传输层套接字来发送TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议)探测报文。接收到响应报文后通过源端口号来匹配对应的探测报文并确定路由信息,其中路由信息包括中间路由器信息和RTT(Round-TripTime,往返时延)。经过多次探测报文的发送和响应报文的接收来生成路由探测结果。这种传统的路由探测方法会存在以下缺陷:
1)由于发送TCP或UDP的探测报文是通过传输层套接字来绑定用户指定的源端口的(即探测参数中的源端口),因此,如果该源端口是探测设备已经在应用服务上建立连接并使用的端口,则会出现无法绑定的情况,就造成了对已经在应用服务上建立连接并使用的端口无法进行路由探测的问题。也就是说,无法实现与应用服务的五元组完全相同的路由探测。
2)在极端情况下会出现错误的RTT。在极端情况下,如果前后两个客户端进程进行相同五元组的探测,由于网络延时,前一个客户端进程在响应报文到达之前由于超时关闭了相应的传输层套接字,而后一个客户端新建了传输层套接字并绑定了相同的源端口,则会把超时接收到的原本是前一个客户端进程的响应报文发送给后一个客户端进程,这就会造成后一个客户端进程计算的RTT是错误的。
3)传统探测方法中,在计算RTT时采用的是软件系统发送和接收报文的时间,造成RTT并不准确,无法满足数据中心网络对网络时延的高要求。
4)由于传统探测方法中,传输层套接字绑定用户指定的源端口,因此一个客户端进程只能够进行单个五元组的路由探测。如果需要进行多个源端口的探测,则需要启动多个客户端进程分别针对各客户端进程创建独立的传输层套接字来绑定不同的源端口。因此,难以实现批量路由探测。
而本申请则提供了一种全新的思路来进行路由探测。为了方便对本申请进行理解,首先对可以应用本申请实施例的系统架构进行简单描述。图1示出了可以应用本申请实施例的示例性系统架构图,如图1中所示,该系统主要包括客户端和服务端。服务端通常设置于主机中,客户端可以与服务端设置于同一主机中,由用户在该主机中设置探测参数进行路由探测。客户端也可以与服务端设置于不同的设备中,由用户远程设置探测参数,将该探测参数由客户端发送给服务端,来进行路由探测。服务端进行路由探测后会将路由探测结果返回给客户端,由客户端展现给用户。
路由探测的过程实际上是服务端通过源主机向目标主机发送探测报文来实现的。大致原理如下:
源主机首先向目的主机发送TTL(Time To Live,生存时间)值为1的探测报文。接收到探测报文的路由设备在转发探测报文之前将探测报文的TTL递减1。若探测报文的TTL为0,则路由器向源主机返回ICMP超时响应报文,否则探测报文给下一跳设备。源主机中的服务端通过该ICMP超时响应报文能够获知第1跳路由器的信息,例如系统中的路由器1。并且通过探测报文的发送时间和响应报文的接收时间,能够获知本次探测的RTT信息。服务端继续发送探测报文,将探测报文中的TTL递增1。同样,接收到探测报文的路由设备在转发探测报文之前将探测报文的TTL递减1。若探测报文的TTL为0,则路由器向源主机返回ICMP超时响应报文,否则探测报文给下一跳设备。源主机中的服务端通过该ICMP超时响应报文能够获知第2跳路由器的信息,例如系统中的路由器2。并且通过探测报文的发送时间和响应报文的接收时间,能够获知本次探测的RTT信息。依次类推,直至探测报文被转发至目的主机,目的主机接收到探测报文后返回指示探测结束的响应报文。源主机中的服务端接收到指示探测结束的响应报文后,利用获取到的各中间路由器的信息生成路由探测结果并返回给客户端。
上述源主机和目的主机可以是计算机终端,也可以是服务器。也可以是云服务器或云主机。所谓云服务器或云主机是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Virtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。
应该理解,图1中的客户端、服务端、源主机、目的主机和路由器等的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、服务端、源主机、目的主机和路由器。
图2为本申请实施例提供的路由探测方法的主要流程图,该方法可以由图1所示系统中的服务端执行。如图2中所示,该方法可以包括以下步骤:
步骤202:获取来自客户端的路由探测请求,路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息。
用户可以通过客户端指定路由探测的五元组,即源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息。将五元组作为探测参数包含在路由请求中发送给服务端。其中探测协议可以包括但不限于TCP、UDP等。
步骤204:利用探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在接收套接字上启用基于该客户端的标识信息的过滤规则。
Raw socket(原始套接字)允许访问传输层(OSI第4层)和网络层(OSI第3层),可以接收本主机网卡上的报文,不进行端口的绑定。
步骤206:利用探测参数和客户端的标识信息封装探测报文并通过发送套接字探测报文。
步骤208:若通过接收套接字接收到响应报文且响应报文携带的客户端的标识信息与过滤规则匹配,则利用响应报文确定路由信息,路由信息用以生成返回客户端的路由探测结果。
由上面流程可以看出,本申请中创建工作于链路层以下的原始套接字作为发送套接字和接收套接字,不再进行源端口与套接字的绑定,而是通过在接收套接字启用基于客户端的标识信息的过滤规则使得通过接收套接字接收到的响应消息能够通过客户端的标识信息与探测报文匹配,从而确定路由信息。这种方式能够指定任意的源端口进行路由探测,不会造成已经在应用服务上建立连接并使用的端口绑定失败(因为本申请中链路层的套接字不进行源端口的绑定),也就解决了对已经在应用服务上建立连接并使用的端口无法进行路由探测的问题,提高了路由探测的通用性。
下面分别以上述探测协议为TCP和UDP为例,分别采用具体实施例对上述流程进行详细描述。
图3为本申请实施例提供的一种UDP路由探测的方法流程图,该方法可以由图1所示系统中的服务端执行。如图3中所示,该方法可以包括以下步骤:
步骤302:接收并解析来自服务端的路由探测请求,获取探测参数和客户端的PID。
上述的探测参数包括五元组:源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息。其中,探测协议的信息指示采用UDP进行路由探测。
另外,上述路由探测请求中可以携带有客户端的标识信息。作为其中一种可实现的方式,客户端的标识信息可以采用客户端的PID(Process Identification,进程标识符)。除了PID之外,也可以采用其他可以唯一标识客户端的标识信息。本实施例中以PID为例进行描述。
步骤304:创建第一Raw socket作为发送套接字,并设置为IPPROTO_RAW。
其中,IPPROTO_RAW是一种套接字选项,用以指明该第一Raw socket只能用于发送自定义的IP报文而不能够接收报文。对于接收到的任何响应报文均不会发送到该第一Rawsocket。
Raw socket工作于链路层以下(包括链路层)各层,不进行端口的绑定。从实现上可以分为链路层Raw socket和网络层Raw socket。本申请实施例中优选网络层Rawsocket,这样可以省去链路层的处理,无需进行链路层信息的构造。
在此需要说明的是,本申请实施例中涉及的“第一”、“第二”等表述并不具备大小、顺序和数量上的限制,仅仅用以在一个实施例中在名称上加以区分,例如“第一Rawsocket”和“第二Raw socket”用以区分两个Raw socket。
步骤306:创建第二Raw socket作为接收套接字并设置为ETH_P_IP,在接收套接字上启用基于上述PID的过滤规则。
其中,ETH_P_IP指示该接收套接字可以处理所有IP报文。但为了能够从服务流量中识别出针对探测报文的响应报文,可以通过在接收套接字上启用基于上述PID的过滤规则的方式。过滤规则可以采用诸如BPF(Berkeley Packet Filter,柏克莱封包过滤器)规则的方式。
BPF是数据链路层的一种原始接口,支持过滤封包,即只过滤出符合规则的报文提高给上层处理。在本申请实施例中,在接收套接字上设置基于PID的过滤规则,能够将源主机接收到的大量报文进行过滤,从中过滤出携带PID的响应报文。该携带PID的响应报文能够用以与探测报文进行匹配,识别出响应报文和探测报文之间的对应关系,从而生成路由信息。具体将在后续实施例中详述。
基于上述过滤处理,本申请实施例中创建的第二Raw socket优选链路层Rawsocket,从而在链路层就能够过滤出匹配的响应报文。
上述步骤304和步骤306仅仅是实施例提供的一种执行顺序,也可以同时执行或者先执行步骤306再执行步骤304。
步骤308:初始化TTL值。
这里初始化TTL的值是第一次发送UDP探测报文中需要携带的TTL值,可以设置为1。
步骤310:利用探测参数和客户端的PID封装UDP探测报文,通过第一Raw socket发送UDP探测报文并记录发送时间戳T1,该UDP探测报文携带当前的TTL值和序列号。
本步骤中,按照探测参数封装UDP探测报文的源地址、源端口、目的地址和目的端口,除此之外,UDP探测报文还会进一步在报文头中携带客户端的PID。
更进一步地,可以在UDP探测报文的数据字段携带全局的序列号(seq number),该序列号可以是随机生成的,也可以是从序列号池中随机选取的,等等。只要能够保证序列号的唯一性即可。该序列号是为了后续计算RTT时进行匹配使用的,后续实施例中详述。
作为其中一种优选的实施方式,在通过第一Raw socket发送UDP探测报文时,记录网卡发送UDP探测报文的时间即硬件时间作为发送时间戳T1。
步骤312:监听响应报文,若通过接收套接字接收到ICMP超时响应报文,则执行步骤314;若通过接收套接字接收到指示探测结束的响应报文,则执行步骤318。
作为其中一种可实现的方式,可以预先在接收套接字针对UDP协议设置hook(钩子),将通过该网卡接收到的响应报文与过滤规则进行匹配,将与过滤规则所包含客户端的标识信息匹配的响应报文进行拷贝,利用拷贝的响应报文确定路由信息。这种方式不会影响原本应用服务对网卡接收到的响应报文的处理,而是仅仅额外拷贝的一份发送给接收套接字,并且基于过滤规则的处理也尽量避免了不必要的拷贝对内存的占用,提升整体性能。该响应报文为ICMP超时响应报文或者指示探测结束的响应报文。
其中,指示探测结束的UDP响应报文可以采用诸如ICMP端口不可达报文。
步骤314:根据ICMP超时响应报文中携带的序列号(seq number)匹配到对应的探测报文,生成路由信息,包括:记录发送该ICMP超时响应报文的路由设备为中间路由设备,并记录ICMP超时响应报文的接收时间戳T2,根据T1和T2生成本次探测的RTT。
作为其中一种优选的实施方式,在通过接收套接字接收ICMP超时响应报文时,记录网卡接收ICMP超时响应报文的时间即硬件时间作为接收时间戳T2。
步骤316:递增TTL值,转至执行步骤310。
步骤318:记录指示探测结束的响应报文的接收时间戳T2,根据T1和T2生成本次探测的RTT,并利用已记录的中间路由设备生成路由探测结果。
作为其中一种优选的实施方式,在通过接收套接字接收指示探测结束的响应报文时,记录网卡接收指示探测结束的响应报文的时间即硬件时间作为接收时间戳T2。将同一序列号对应的T2和T1之间的差值,作为本次探测的RTT。
通过网卡硬件时间戳来计算RTT,得到的RTT信息更加精准,能够满足对时延要求高的场景。
另外,由于本申请中通过在探测报文中封装客户端的标识信息,从而区分出不同客户端的探测报文和响应报文,避免了极端情况下由于网络延迟造成将前一个已关闭客户端的响应报文发送给后一个新建客户端的情况,保证计算得到的RTT是正确的。
步骤320:返回路由探测结果给客户端。
图4为本申请实施例提供的一种TCP路由探测的方法流程图,该方法可以由图1所示系统中的服务端执行。如图4中所示,该方法可以包括以下步骤:
步骤402:接收并解析来自服务端的路由探测请求,获取探测参数和客户端的PID。
上述的探测参数包括五元组:源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息。其中,探测协议的信息指示采用TCP进行路由探测。在一些场景下,防火墙的使用会导致ICMP响应报文或UDP响应报文等被过滤,导致无法进行完整的路由探测。这种情况下用户可以指定使用TCP进行路由探测。
另外,上述路由探测请求中可以携带有客户端的标识信息。作为其中一种可实现的方式,客户端的标识信息可以采用客户端的PID(Process Identification,进程标识符)。除了PID之外,也可以采用其他可以唯一标识客户端的标识信息。本实施例中以PID为例进行描述。
步骤404:创建第一Raw socket作为发送套接字,并设置IPPROTO_TCP。
在创建发送套接字时,创建第一Raw socket并设置第一Raw socket的类型为TCP类型,例如设置为IPPROTO_TCP,第一Raw socket与源主机地址绑定。其中,IPPROTO_TCP是一种套接字选项,用以指明该第一Raw socket采用TCP协议。
Raw socket工作于链路层以下(包括链路层)各层,不进行端口的绑定。从实现上可以分为链路层Raw socket和网络层Raw socket。本申请实施例中优选网络层Rawsocket,这样可以省去链路层的处理,无需进行链路层信息的构造。
步骤406:创建第二Raw socket作为接收套接字并设置为ETH_P_IP,在接收套接字上启用基于上述PID的过滤规则。
其中,ETH_P_IP指示该接收套接字可以处理所有IP报文。但为了能够从服务流量中识别出针对探测报文的响应报文,可以通过在接收套接字上启用基于上述PID的过滤规则的方式。过滤规则可以采用诸如BPF(Berkeley Packet Filter,柏克莱封包过滤器)规则的方式。
BPF是数据链路层的一种原始接口,支持过滤封包,即只过滤出符合规则的报文提高给上层处理。在本申请实施例中,在接收套接字上设置基于PID的过滤规则,能够将源主机接收到的大量报文进行过滤,从中过滤出携带PID的响应报文。该携带PID的响应报文能够用以与探测报文进行匹配,识别出响应报文和探测报文之间的对应关系,从而生成路由信息。具体将在后续实施例中详述。
基于上述过滤处理,本申请实施例中创建的第二Raw socket优选链路层Rawsocket,从而在链路层就能够过滤出匹配的响应报文。
上述步骤404和步骤406仅仅是实施例提供的一种执行顺序,也可以同时执行或者先执行步骤406再执行步骤404。
更进一步地,由于TCP的特殊性,除了接收套接字接收响应报文之外,可以将第一Raw socket与目的主机地址绑定,由发送套接字接收指示探测结束的响应报文。即对于目的主机返回的响应报文由于目的主机地址绑定的第一Raw socket接收。
步骤408:初始化TTL值。
这里初始化TTL的值是第一次发送TCP探测报文中需要携带的TTL值,可以设置为1。
步骤410:利用探测参数和客户端的PID封装TCP探测报文,通过第一Raw socket发送TCP探测报文并记录发送时间戳T1,该TCP探测报文携带当前的TTL值和序列号。
本步骤中,按照探测参数封装TCP探测报文的源地址、源端口、目的地址和目的端口,除此之外,TCP探测报文还会进一步在IP报文头中携带客户端的PID。
更进一步地,可以在TCP探测报文的TCP字段携带序列号(tcp seq number),该序列号可以是随机生成的,也可以是从序列号池中随机选取的,等等。只要能够保证序列号的唯一性即可。该序列号是为了后续计算RTT时进行匹配使用的,后续实施例中详述。
作为其中一种优选的实施方式,在通过第一Raw socket发送TCP探测报文时,记录网卡发送TCP探测报文的时间即硬件时间作为发送时间戳T1。
步骤412:监听响应报文,若通过接收套接字接收到ICMP超时响应报文,则执行步骤414;若通过发送套接字接收到指示探测结束的TCP响应报文,则执行步骤418。
作为其中一种可实现的方式,可以预先在接收套接字针对TCP协议设置hook(钩子),将通过该网卡接收到的响应报文与过滤规则进行匹配,将与过滤规则所包含客户端的标识信息匹配的响应报文进行拷贝,利用拷贝的响应报文确定路由信息。这种方式不会影响原本应用服务对网卡接收到的响应报文的处理,而是仅仅额外拷贝的一份发送给接收套接字,并且基于过滤规则的处理也尽量避免了不必要的拷贝对内存的占用,提升整体性能。该响应报文为ICMP超时响应报文或者指示探测结束的响应报文。
由于发送套接字与目的主机地址绑定,因此发送套接字接收到的响应报文为目的主机接收到探测报文后返回的指示探测结束的TCP响应报文。其中,指示探测结束的TCP响应报文可以采用TCPACK(确认)报文等。
步骤414:根据ICMP超时响应报文中携带的序列号(tcp seq number)匹配到对应的探测报文,生成路由信息,包括:记录发送该ICMP超时响应报文的路由设备为中间路由设备,并记录ICMP超时响应报文的接收时间戳T2,根据T1和T2生成本次探测的RTT。
作为其中一种优选的实施方式,在通过接收套接字接收ICMP超时响应报文时,记录网卡接收ICMP超时响应报文的时间即硬件时间作为接收时间戳T2。
步骤416:递增TTL值,转至执行步骤410。
步骤418:记录指示探测结束的TCP响应报文的接收时间戳T2,根据T1和T2生成本次探测的RTT,并利用已记录的中间路由设备生成路由探测结果。
作为其中一种优选的实施方式,记录网卡接收指示探测结束的响应报文的时间即硬件时间作为接收时间戳T2。将同一序列号对应的T2和T1之间的差值,作为本次探测的RTT。
通过网卡硬件时间戳来计算RTT,得到的RTT信息更加精准,能够满足对时延要求高的场景。
步骤420:返回路由探测结果给客户端。
从上述方法实施例中可以看出,本申请在链路层创建套接字并将发送套接字和接收套接字分离,不再绑定源端口信息,使得封装的探测报文可以与应用服务流量的五元组特征一样,使得探测报文和应用服务流量使用相同的路由,真实反映应用服务流量的路由状况。
上述实施例中采用的C(客户端)/S(服务器)架构,可以同时处理多个客户端的探测请求。不同的客户端的探测请求以及对应的响应报文可以通过客户端的标识信息(例如PID)进行区分。
另外,在上述实施例中,对于同一个客户端的探测请求,支持针对多个源端口的批量探测。例如在探测请求中携带多组五元组,可以采用上述方法实施例中的流程设置发送套接字和接收套接字,由于发送套接字和接收套接字是链接层的,不进行源端口的绑定,因此可以分别针对各五元组封装探测报文,各探测报文携带不同的序列号来进行区分,从而实现批量路由探测,满足高并发的场景需求。
上述实施例中以TCP和UDP的路由探测为例进行描述,对于其他协议类型可以在上述实施例所示流程的精神原则内,采用相类似的处理方式,在此不做穷举。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种路由探测装置。图5示出根据一个实施例的该路由探测装置的示意性框图,该装置设置于图1所示架构中的服务端。可以体现为应用程序的形式,也可以体现为应用程序中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元。如图5所示,该装置500包括:请求获取单元501、套接字创建单元502、报文发送单元503和路由生成单元504,还可以进一步包括接收处理单元505。其中各组成单元的主要功能如下:
请求获取单元501,被配置为获取来自客户端的路由探测请求,路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息。
套接字创建单元502,被配置为利用探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在接收套接字上启用基于客户端的标识信息的过滤规则。
报文发送单元503,被配置为利用探测参数和客户端的标识信息封装探测报文并通过发送套接字发送探测报文。
路由生成单元504,被配置为若通过接收套接字接收到响应报文且响应报文携带的客户端的标识信息与过滤规则匹配,则利用响应报文确定路由信息,路由信息用以生成返回客户端的路由探测结果。
其中,上述探测协议的类型可以包括传输控制协议TCP或用户数据报协议UDP。
作为其中一种可实现的方式,接收处理单元505可以被配置为:通过预先在接收套接字设置的钩子hook,将通过接收套接字接收到的响应报文与过滤规则进行匹配,将与过滤规则所包含客户端的标识信息匹配的响应报文进行拷贝提供给路由生成单元504。由路由生成单元504利用上述拷贝的响应报文执行确定路由信息的处理。
作为另一种可实现的方式是,若探测协议为TCP,则套接字创建单元502将发送套接字与目的主机地址绑定,由发送套接字接收指示探测结束的响应报文。
作为一种优选的实施方式,上述探测报文还封装有序列号;路由生成单元504利用响应报文携带的序列号匹配该响应报文对应的探测报文,以确定路由信息。
作为其中一种可实现的方式,路由生成单元504针对序列号记录探测报文的发送时间戳。并且记录响应报文的接收时间戳,并利用响应报文的接收时间戳与发送时间戳,确定本次探测的往返时延RTT。触发报文发送单元503执行利用探测参数和客户端的标识信息封装探测报文的处理并递增探测报文中的生存时间TTL值。
作为一种优选的实施方式,发送时间戳为网卡发送探测报文的时间戳,接收时间戳为网卡接收响应报文的时间戳。
该装置可以适用于批量路由探测场景,即客户端在路由探测请求中携带多组探测参数。报文发送单元503针对各组探测参数分别执行利用探测参数和客户端的标识信息封装探测报文的处理,各探测报文封装不同的序列号。
作为其中一种可实现的方式,若响应报文为网络控制消息协议ICMP超时响应报文,则路由生成单元504记录发送该ICMP超时响应报文的路由设备为中间路由设备。
作为其中另一种可实现的方式,若响应报文为指示探测结束的响应报文,则路由生成单元504利用已记录的中间路由设备生成路由探测结果并返回给客户端。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
其中,图6示例性的展示出了电子设备的架构,具体可以包括处理器610,视频显示适配器611,磁盘驱动器612,输入/输出接口613,网络接口614,以及存储器620。上述处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620之间可以通过通信总线630进行通信连接。
其中,处理器610可以采用通用的CPU、微处理器、应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器620可以采用ROM(Read Only Memory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器620可以存储用于控制电子设备600运行的操作系统621,用于控制电子设备600的低级别操作的基本输入输出系统(BIOS)622。另外,还可以存储网页浏览器623,数据存储管理系统624,以及路由探测装置625等等。上述路由探测装置625就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器620中,并由处理器610来调用执行。
输入/输出接口613用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口614用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线630包括一通路,在设备的各个组件(例如处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,存储器620,总线630等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种路由探测方法,其特征在于,该方法包括:
获取来自客户端的路由探测请求,所述路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息;
利用所述探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在所述接收套接字上启用基于所述客户端的标识信息的过滤规则;
利用所述探测参数和所述客户端的标识信息封装探测报文并通过所述发送套接字发送所述探测报文;
若通过所述接收套接字接收到响应报文且所述响应报文携带的客户端的标识信息与所述过滤规则匹配,则利用所述响应报文确定路由信息,所述路由信息用以生成返回所述客户端的路由探测结果。
2.根据权利要求1所述的方法,其特征在于,所述探测协议的类型包括传输控制协议TCP或用户数据报协议UDP。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
通过预先在所述接收套接字设置的钩子hook,将通过所述接收套接字接收到的响应报文与所述过滤规则进行匹配,将与所述过滤规则所包含客户端的标识信息匹配的响应报文进行拷贝,利用拷贝的响应报文执行所述确定路由信息的步骤。
4.根据权利要求1所述的方法,其特征在于,所述探测报文还封装有序列号;
利用所述响应报文携带的序列号匹配该响应报文对应的探测报文,以确定所述路由信息。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:针对所述序列号记录所述探测报文的发送时间戳;
利用所述响应报文确定路由信息包括:记录所述响应报文的接收时间戳,并利用所述响应报文的接收时间戳与发送时间戳,确定本次探测的往返时延RTT;转至执行所述利用所述探测参数和所述客户端的标识信息封装探测报文的步骤并递增所述探测报文中的生存时间TTL值。
6.根据权利要求5所述的方法,其特征在于,所述发送时间戳为网卡发送所述探测报文的时间戳,所述接收时间戳为网卡接收所述响应报文的时间戳。
7.根据权利要求4所述的方法,其特征在于,若所述路由探测请求包括多组探测参数,则针对各组探测参数分别执行利用所述探测参数和所述客户端的标识信息封装探测报文的步骤,各探测报文封装不同的序列号。
8.根据权利要求1至7中任一项所述的方法,其特征在于,利用所述响应报文确定路由信息包括:
若所述响应报文为网络控制消息协议ICMP超时响应报文,则记录发送该ICMP超时响应报文的路由设备为中间路由设备;
若所述响应报文为指示探测结束的响应报文,则利用已记录的中间路由设备的信息生成路由探测结果并返回给所述客户端。
9.根据权利要求2所述的方法,其特征在于,若所述探测协议为TCP,则该方法还包括:将所述发送套接字与所述目的主机地址绑定,由所述发送套接字接收指示探测结束的响应报文。
10.一种路由探测装置,其特征在于,该装置包括:
请求获取单元,被配置为获取来自客户端的路由探测请求,所述路由探测请求中的探测参数包括源主机地址、目的主机地址、源端口信息、目的端口信息和探测协议的信息;
套接字创建单元,被配置为利用所述探测协议的信息创建第一原始套接字和第二原始套接字分别作为发送套接字和接收套接字,在所述接收套接字上启用基于所述客户端的标识信息的过滤规则;
报文发送单元,被配置为利用所述探测参数和所述客户端的标识信息封装探测报文并通过所述发送套接字发送所述探测报文;
路由生成单元,被配置为若通过所述接收套接字接收到响应报文且所述响应报文携带的客户端的标识信息与所述过滤规则匹配,则利用所述响应报文确定路由信息,所述路由信息用以生成返回所述客户端的路由探测结果。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至9任一项所述的方法的步骤。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210636665.6A CN115190070B (zh) | 2022-06-07 | 路由探测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210636665.6A CN115190070B (zh) | 2022-06-07 | 路由探测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115190070A true CN115190070A (zh) | 2022-10-14 |
CN115190070B CN115190070B (zh) | 2024-06-25 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880135A (zh) * | 2023-12-29 | 2024-04-12 | 北京马赫谷科技有限公司 | 路由环路检测方法和装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263666A1 (en) * | 2007-04-23 | 2008-10-23 | Susann Marie Keohane | Method and apparatus for detecting port scans with fake source address |
US20150092785A1 (en) * | 2013-10-01 | 2015-04-02 | Juniper Networks, Inc. | Dynamic area filtering for link-state routing protocols |
US9088544B1 (en) * | 2014-09-11 | 2015-07-21 | Fortinet, Inc. | Interface groups for rule-based network security |
US20150256448A1 (en) * | 2014-03-07 | 2015-09-10 | Nicira, Inc. | Method and system for path discovery |
CN108111523A (zh) * | 2017-12-28 | 2018-06-01 | 网易(杭州)网络有限公司 | 数据传输方法和装置 |
CN108173717A (zh) * | 2018-01-11 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种用户态下通过获取icmp差错报文监测网络状况的方法 |
CN108924000A (zh) * | 2018-06-19 | 2018-11-30 | 成都网丁科技有限公司 | 一种基于tcp协议实现的新型网络路径探测方法 |
US20210306247A1 (en) * | 2020-03-24 | 2021-09-30 | Fortinet, Inc. | Active path detection for on-demand network links in a software-defined wide area network (sdwan) |
WO2022105508A1 (zh) * | 2020-11-17 | 2022-05-27 | 中兴通讯股份有限公司 | 路由跟踪方法、装置、设备及存储介质 |
CN114584485A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 检测边缘网络质量的方法、装置、设备和计算机可读存储介质 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263666A1 (en) * | 2007-04-23 | 2008-10-23 | Susann Marie Keohane | Method and apparatus for detecting port scans with fake source address |
US20150092785A1 (en) * | 2013-10-01 | 2015-04-02 | Juniper Networks, Inc. | Dynamic area filtering for link-state routing protocols |
US20150256448A1 (en) * | 2014-03-07 | 2015-09-10 | Nicira, Inc. | Method and system for path discovery |
US9088544B1 (en) * | 2014-09-11 | 2015-07-21 | Fortinet, Inc. | Interface groups for rule-based network security |
CN108111523A (zh) * | 2017-12-28 | 2018-06-01 | 网易(杭州)网络有限公司 | 数据传输方法和装置 |
CN108173717A (zh) * | 2018-01-11 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种用户态下通过获取icmp差错报文监测网络状况的方法 |
CN108924000A (zh) * | 2018-06-19 | 2018-11-30 | 成都网丁科技有限公司 | 一种基于tcp协议实现的新型网络路径探测方法 |
US20210306247A1 (en) * | 2020-03-24 | 2021-09-30 | Fortinet, Inc. | Active path detection for on-demand network links in a software-defined wide area network (sdwan) |
WO2022105508A1 (zh) * | 2020-11-17 | 2022-05-27 | 中兴通讯股份有限公司 | 路由跟踪方法、装置、设备及存储介质 |
CN114584485A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 检测边缘网络质量的方法、装置、设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
冯飞;韩毅刚;傅秋宇;武淑艳;: "基于以太网的CCN路由节点实现", 计算机应用与软件, no. 07 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880135A (zh) * | 2023-12-29 | 2024-04-12 | 北京马赫谷科技有限公司 | 路由环路检测方法和装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117301B2 (en) | Determining connectivity status for unnumbered interfaces of a target network device | |
WO2021164261A1 (zh) | 云网络设备的测试方法、存储介质和计算机设备 | |
US20220029900A1 (en) | Detecting sources of computer network failures | |
CN113364894B (zh) | 用于网络端点间的媒体会话的方法和装置 | |
EP3026872A1 (en) | Packet forwarding method, apparatus, and system | |
US10009282B2 (en) | Self-protecting computer network router with queue resource manager | |
WO2017162117A1 (zh) | 一种集群精确限速方法和装置 | |
US20140169373A1 (en) | Relay server and relay communication system | |
CN108259335B (zh) | 路径探测方法和装置 | |
CN111131539A (zh) | 报文转发方法及装置 | |
US11178593B2 (en) | Terminal, relay apparatus selection apparatus, communication method, relay apparatus selection method, and program | |
CN111953810B (zh) | 识别代理互联网协议地址的方法、装置及存储介质 | |
CN115190070B (zh) | 路由探测方法及装置 | |
CN111478821B (zh) | 一种网络性能测试方法和系统 | |
CN115190070A (zh) | 路由探测方法及装置 | |
CN115002008B (zh) | 一种网络时延测量的方法、装置、设备以及存储介质 | |
CN110445666B (zh) | 一种网络质量检测方法、装置及服务器 | |
CN110740078A (zh) | 一种服务器的代理监测方法及相关产品 | |
US7505418B1 (en) | Network loopback using a virtual address | |
US20020073231A1 (en) | Tracerouting a list of internet hosts | |
CN117938542B (zh) | 一种网络流量数据的方向确定方法、装置、设备及介质 | |
CN113676369B (zh) | 一种网络质量分析方法、数据接收服务器及存储介质 | |
US20240179178A1 (en) | Control method and apparatus, computing device, and computer-readable storage medium | |
CN114285791B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN114401318A (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 |