CN113923696A - 通知故障的方法和电子设备 - Google Patents
通知故障的方法和电子设备 Download PDFInfo
- Publication number
- CN113923696A CN113923696A CN202010660058.4A CN202010660058A CN113923696A CN 113923696 A CN113923696 A CN 113923696A CN 202010660058 A CN202010660058 A CN 202010660058A CN 113923696 A CN113923696 A CN 113923696A
- Authority
- CN
- China
- Prior art keywords
- sub
- field
- channel
- tcp
- option
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000001052 transient effect Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 32
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 101000610620 Homo sapiens Putative serine protease 29 Proteins 0.000 description 2
- 102100040345 Putative serine protease 29 Human genes 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101710128742 Cytochrome b6-f complex iron-sulfur subunit 2 Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种通知故障的方法和电子设备。该方法中,第一设备通过同一MPTCP会话下的第二子通道向第二设备发送携带第一TCP选项的第一TCP报文,第二设备能够根据第一TCP选项确定第一子通道故障,从而可以采取有效的解决故障的手段,例如,可以将第一子通道的数据切换到其他的非故障的子通道上,或者建立新的子通道来分流第一子通道的数据,这样,能够提高传输的效率,有助于提高传输性能。
Description
技术领域
本申请涉及通信领域,并且更具体地涉及通信领域中通知故障的方法和电子设备。
背景技术
多路径传输控制协议(multipath transmission control protocol,MPTCP)是通过多个路径并发传输的传输协议。通过MPTCP可以建立一个MPTCP会话的多个子通道,这样,可以通过多个子通道传输一个MPTCP会话的传输控制协议(transmission controlprotocol,TCP)报文。在传输TCP报文的过程中,多个子通道中的部分子通道可能存在故障,例如子通道对应的网口故障、子通道对应的网络故障或者子通道对应的中间设备故障或者子通道的链路故障。若子通道已经故障出现时,客户端或服务端无法在故障的子通道上将故障信息传输到对端,导致对端无法获知子通道准确的故障信息,也无法及时的采取有效的解决故障的手段,这样会导致传输失败或者传输时延长,从而影响传输性能。
发明内容
本申请实施例提供了一种通知故障的方法和电子设备,第一设备能够将指示第一子通道故障的第一TCP选项携带在第一TCP报文中通过第二子通道向第二设备发送,这样,第二设备能够通过第二子通道及时获知第一子通道故障,从而可以采取有效的解决故障的手段,能够提高传输的效率,有助于提高传输性能。
第一方面,提供了一种通知故障的方法,包括:所述第一设备通过第二子通道向第二设备发送第一传输控制协议TCP报文,所述第一TCP报文包括第一TCP选项,所述第一TCP选项用于指示所述第一子通道故障,所述第一子通道和所述第二子通道为第一多路径传输控制协议MPTCP会话对应的子通道。
在上述方案中,第一设备通过同一MPTCP会话下的第二子通道向第二设备发送携带第第一TCP选项的第一TCP报文,第二设备能够根据第一TCP选项确定第一子通道故障,从而可以采取有效的解决故障的手段,例如,可以将第一子通道的数据切换到其他的非故障的子通道上,或者建立新的子通道来分流第一子通道的数据,这样,能够提高传输的效率,有助于提高传输性能。
可以理解的是,第二子通道为传输正常的非故障子通道。
其中,第一TCP报文的报文头可以包括第一TCP选项。
可选地,第一TCP报文可以为TCP数据报文或者TCP控制报文。
可选地,第一设备可以为客户端,第二设备可以为服务端。
可选地,第一设备可以为服务端,第二设备可以为客户端。
可选地,第一TCP选项的格式可以是协议规定的;可选地,第一TCP选项的各个字段的长度可以是协议规定的;可选地,第一TCP选项的各个字段的物理意义可以是协议规定的;可选地,第一TCP选项的各个字段之间的位置关系可以是协议规定的。
在一些可能的实现方式中,所述第一TCP选项包括第一字段、第二字段和第三字段,所述第一字段用于承载所述第一子通道的源地址标识,所述第二字段用于承载所述第一子通道的目的地址标识,所述第三字段的第一取值用于指示所述第一字段承载的所述源地址标识和所述第二字段承载的所述目的地址标识所标识的所述第一子通道故障。
在上述方案中,第二设备可以根据第三字段的第一取值确定第一字段承载的源地址标识和第二字段承载的目的地址标识所标识的第一子通道故障。
可选地,若第一设备可以为客户端,第二设备可以为服务端,则第一字段承载的源地址标识为第一子通道在客户端的源地址标识,第二字段承载的目的地址标识为第一子通道在服务端的目的地址标识,即此时的第一子通道的源地址标识和目的地址标识以客户端为参考。
可选地,若第一设备可以为服务端,第二设备可以为客户端,则第一字段承载的源地址标识为第一子通道在服务端的源地址标识,第二字段承载的目的地址标识为第一子通道在客户端的目的地址标识,即此时的第一子通道的源地址标识和目的地址标识以服务端为参考。
可选地,第三字段的第一取值可以是协议规定的值。
可选地,上述第一字段、第二字段和第三字段的长度可以是协议规定的。
可选地,上述第一字段、第二字段和第三字段在第一TCP选项中的位置关系可以是协议规定的。
在一些可能的实现方式中,所述方法还包括:所述第一设备确定第一子通道故障的原因;其中,所述第一TCP选项包括第四字段,所述第四字段的第二取值用于指示所述第一子通道故障的原因。
在上述方案中,第一设备可以将第一子通道故障的原因映射为第一TCP选项的第四字段的第二取值,第二设备可以根据第四字段的第二取值确定第一子通道故障的原因,从而根据第一子通道故障的原因确定解决第一子通道故障的策略。
其中,第四字段的不同取值表示第一子通道故障的原因不同。具体地,第四字段的取值与故障原因之间的关系可以是协议规定的。
在一些可能的实现方式中,所述第一设备确定第一子通道故障的原因,包括:所述第一设备检测本地故障,确定所述第一子通道故障的原因。具体地,第一设备可以确定与第一子通道相关的本地网口、本地网卡等本地器件或者本地处理协议进程等故障导致的第一子通道故障。
在一些可能的实现方式中,所述第一设备确定第一子通道故障的原因,包括:所述第一设备根据检测任务检测所述第一子通道故障的原因。例如,第一设备可以根据BFD检测第一子通道故障的原因。
在一些可能的实现方式中,所述第一设备确定第一子通道故障的原因,包括:所述第一设备通过所述第一子通道接收第三设备发送的网络控制消息协议ICMP差错报告报文,所述ICMP差错报告报文用于指示所述第一子通道故障的原因;
所述第一设备根据所述ICMP差错报告报文确定所述第一子通道故障的原因;
其中,所述第一TCP选项包括第五字段,所述第五字段用于承载所述第三设备的标识。
在上述方案中,第一设备接收到故障的第三设备发送的ICMP差错报告报文时,可以根据ICMP差错报告报文确定第一子通道故障的原因,并将第三设备的标识承载在第一TCP选项的第五字段向第二设备发送,第二设备可以根据第五字段确定故障的第三设备。
可选地,第三设备可以为第一设备和第二设备中间的设备,或者第三设备可以为第二设备。
在一些可能的实现方式中,所述第一TCP选项还包括第六字段,所述第六字段的第三取值用于指示所述第五字段存在。
这样,第二设备可以解析第六字段的取值,若第六字段的取值为第三取值,则第二设备可以确定存在第五字段,从而根据第五字段承载的第三设备的标识确定故障的第三设备。
在一些可能的实现方式中,所述第一TCP选项还包括第七字段,所述第七字段用于承载所述第三设备的IP协议版本。
这样,第二设备可以根据第七字段承载的第三设备的IP协议版本解析第五字段承载的第三设备的标识。第三设备的IP协议版本不同对应的标识也不同,这样,有利于第二设备解析第三设备的标识。
可选地,第一TCP选项也可以不包括第六字段和/或第七字段,可以通过第一TCP选项的长度确定是否存在第五字段,以及第五字段承载的第三设备的标识对应的协议版本。
在一些可能的实现方式中,所述ICMP差错报告报文包括所述第一子通道故障的原因。
在一些可能的实现方式中,所述第一TCP选项还包括第八字段,所述第八字段的第四取值用于指示所述第一子通道故障为瞬时故障,所述第八字段的第五取值用于指示所述第一子通道故障为非瞬时故障。
在上述方案中,若第八字段的第四取值用于指示第一子通道故障为瞬时故障,第二设备可以根据第四取值确定第一子通道的故障为瞬时故障,则第二设备可以继续尝试与第一设备建立第一子通道或者第二设备可以将第一子通道标记为备份链路。此外,第一设备可以将携带第一TCP选项的第一TCP报文尝试继续通过第一子通道向第二设备发送,此时上述的第二子通道与第一子通道为同一个子通道。
在上述方案中,若第八字段的第五取值用于指示第一子通道故障为非瞬时故障,第二设备可以根据第五取值确定第一子通道的故障为非瞬时故障,则第二设备与第一设备建立新的子通道来分流第一子通道上待传输的数据,或者第二设备将第一子通道上待传输的数据切换到正常的非故障子通道上。
在一些可能的实现方式中,所述第一设备通过第二子通道向第二设备发送第一TCP报文之前,所述方法还包括:所述第一设备向所述第二设备发送第二TCP报文,所述第二TCP报文包括第一通告地址ADD_ADDR选项,所述第一ADD_ADDR选项包括所述第一子通道的源网络协议IP地址和所述第一子通道的源地址标识之间的对应关系。
这样,第二设备在接收到第一ADD_ADDR选项时,可以保存第一子通道的源IP地址和的源地址标识之间的对应关系,并且第二设备也保存着第一子通道的目的IP地址和目的地址标识之间的对应关系,当第二设备接收到第一TCP报文携带的第一TCP选项时,第二设备可以根据第一TCP选项中的第一字段承载的源地址标识以及保存的源地址标识与源IP地址之间的对应关系,确定第一子通道的源IP地址;同样地,第二设备可以根据第二TCP选项中的第二字段承载的目的地址标识以及保存的目的地址标识与目的IP地址之间的对应关系,确定第一子通道的目的IP地址;第二设备根据的源IP地址和目的IP地址确定故障的第一子通道。
可选地,第一ADD_ADDR选项包括所述第一子通道的源IP地址和源端口与第一子通道的源地址标识之间的对应关系。
可选地,第二TCP报文可以是TCP数据报文或者TCP控制报文。
可选地,第二TCP报文的报文头可以包括第一ADD_ADDR选项。
在一些可能的实现方式中,所述第一设备通过第二子通道向第二设备发送第一TCP报文之前,所述方法还包括:
所述第一设备接收所述第二设备发送的第三TCP报文,所述第三TCP报文包括所述第二ADD_ADDR选项,所述第二ADD_ADDR选项包括所述第一子通道的目标网络协议IP地址和所述第一子通道的目标地址标识之间的对应关系。
在上述方案中,当第一设备确定第一子通道故障时,可以用源IP地址和目的IP地址唯一标识第一子通道,第一设备可以根据第一子通道的目的IP地址和目的地址标识之间的对应关系确定第一TCP选项的第二字段承载的目的地址标识。
可选地,第二ADD_ADDR选项包括所述第一子通道的目的IP地址和目的端口与第一子通道的目的地址标识之间的对应关系。
可选地,第三TCP报文可以是TCP数据报文或者TCP控制报文。
可选地,第三TCP报文的报文头可以包括第二ADD_ADDR选项。
第二方面,提供了一种通知故障的方法,包括:第二设备通过第二子通道接收第一设备发送的第一传输控制协议TCP报文,所述第一TCP报文包括第一TCP选项,所述第一TCP选项用于指示所述第一子通道故障,所述第一子通道和所述第二子通道为第一多路径传输控制协议MPTCP会话对应的子通道;所述第二设备根据所述第一TCP选项确定所述第一子通道故障。
在上述方案中,第一设备通过同一MPTCP会话下的第二子通道向第二设备发送携带第第一TCP选项的第一TCP报文,第二设备能够根据第一TCP选项确定第一子通道故障,从而可以采取有效的解决故障的手段,例如,可以将第一子通道的数据切换到其他的非故障的子通道上,或者建立新的子通道来分流第一子通道的数据,这样,能够提高传输的效率,有助于提高传输性能。
在一些可能的实现方式中,所述第一TCP选项包括第一字段、第二字段和第三字段,所述第一字段用于承载所述第一子通道的源地址标识,所述第二字段用于承载所述第一子通道的目的地址标识,所述第三字段的第一取值用于指示所述第一字段承载的所述源地址标识和所述第二字段承载的所述目的地址标识所标识的所述第一子通道故障;
其中,所述第二设备根据所述第一TCP选项确定所述第一子通道故障,包括:
所述第二设备根据所述第三字段的第一取值确定所述第一字段承载的所述源地址标识和所述第二字段承载的目的地址标识所标识的第一子通道故障。
在一些可能的实现方式中,所述第一TCP选项包括第四字段,所述第四字段的第二取值用于指示所述第一子通道故障的原因;
所述方法还包括:
所述第二设备根据所述第四字段的第二取值确定所述第一子通道故障的原因;
所述第二设备根据所述第一子通道故障的原因确定解决所述第一子通道故障的策略。
在一些可能的实现方式中,所述第一TCP选项包括第五字段,所述第五字段用于承载故障的第三设备的标识,所述方法还包括:
所述第二设备根据所述第五字段承载的所述第三设备的标识确定所述第三设备故障。
在一些可能的实现方式中,所述第一TCP选项还包括第六字段,所述第六字段的第三取值用于指示所述第五字段存在;在所述第二设备根据所述第五字段承载的所述第三设备的标识确定所述第三设备故障之前,所述方法还包括:
所述第二设备根据所述第六字段的第三取值确定所述第五字段存在。
在一些可能的实现方式中,所述第一TCP选项还包括第七字段,所述第七字段用于承载所述第三设备的协议版本;
所述方法还包括:所述第二设备根据所述第七字段承载的所述第三设备的协议版本解析所述第五字段承载的所述第三设备的标识。
在一些可能的实现方式中,所述第一TCP选项还包括第八字段,所述第八字段的第四取值用于指示所述第一子通道故障为瞬时故障,所述第八字段的第五取值用于指示所述第一子通道故障为非瞬时故障;所述方法还包括:
所述第二设备根据所述第八字段的所述第四取值或者所述第五取值确定所述第一子通道为瞬时故障或非瞬时故障。
在一些可能的实现方式中,在所述第二设备通过第二子通道接收第一设备发送的第一TCP报文之前,所述方法还包括:
所述第二设备向所述第一设备发送第二TCP报文,所述第二TCP报文包括第一通告地址选项,所述第一ADD_ADDR选项包括所述第一子通道的源网络协议IP地址和所述第一子通道的源地址标识之间的对应关系。
在一些可能的实现方式中,在所述第二设备通过第二子通道接收第一设备发送的第一TCP报文之前,所述方法还包括:
所述第二设备接收所述第一设备发送的第三TCP报文,所述第三TCP报文包括所述第二ADD_ADDR选项,所述第二ADD_ADDR选项包括所述第一子通道的目标网络协议IP地址和所述第一子通道的目标地址标识之间的对应关系。
第三方面,本申请提供了一种装置,该装置包含在电子设备中,该装置具有实现上述各方面及上述各方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,显示模块或单元、检测模块或单元、处理模块或单元等。
可选地,该装置可以是上述的客户端或者是服务端。
第四方面,本申请提供了一种电子设备,包括:一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被电子设备执行时,使得电子设备执行上述任一方面任一项可能的实现中的通知故障的方法。
可选地,该电子设备还可以包括:触摸显示屏和/或摄像头,其中,触摸显示屏包括触敏表面和显示器;
可选地,该电子设备可以是上述的客户端或者是服务端。
第五方面,本申请提供了一种电子设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述任一方面任一项可能的实现中的通知故障的方法。
第六方面,本申请提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的通知故障的方法。
第七方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的通知故障的方法。
附图说明
图1是是本申请实施例提供的系统框架图。
图2是本申请实施例提供的电子设备的示意性框图。
图3是本申请实施例提供的通知故障的方法示意图。
图4是本申请实施例提供的ICMP差错报告报文的格式示意图。
图5是本申请实施例提供的第一TCP选项的格式示意图。
图6是本申请实施例提供的另一第一TCP选项的格式示意图。
图7是本申请实施例提供的又一第一TCP选项的格式示意图。
图8是本申请实施例提供的又一第一TCP选项的格式示意图。
图9是本申请实施例提供的故障场景示意图。
图10是本申请实施例提供的另一通知故障的方法示意图。
图11是本申请实施例提供的又一第一TCP选项的格式示意图。
图12是本申请实施例提供的又一第一TCP选项的格式示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
MPTCP传输能够充分利用带宽资源,并且能够调度多路径上的数据流量传输,从而可以控制拥塞,MPTCP也能解决重传的问题。如图1所示为本申请实施例提供的MPTCP传输系统框架图。客户端和服务端可以通过三次握手建立一个子流,依次类推可以建立多个子流,服务端和客户端可以通过建立多个子流传输TCP报文,服务端和客户端可以通过四次握手关闭子流。其中,若服务端向客户端发送TCP报文,服务端可以称为发送端,客户端称为接收端;若客户端向服务端发送TCP报文,客户端称为发送端,服务端称为接收端。
其中,客户端可以指用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。例如,终端设备可以是手机(mobile phone)、平板电脑(Pad)、带收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、可穿戴设备、车载设备等。
服务端,也可以称为服务器,服务端可以是为客户端服务的,服务端可以向服务端提供资源以及保存客户端数据等。
示例性的,图2是本申请实施例提供的一例电子设备200的结构示意图。电子设备200可以是客户端或服务端,电子设备200可以是包括处理器210、存储器220和通信模块230等。
其中,处理器210可以包括一个或多个处理单元,存储器220用于存储程序代码和数据。在本申请实施例中,处理器210可执行存储器220存储的计算机执行指令,用于对电子设备200的动作进行控制管理。
通信模块230可以用于电子设备200的各个内部模块之间的通信、或者电子设备200和其他外部电子设备之间的通信等。示例性的,如果电子设备200通过有线连接的方式和其他电子设备通信,通信模块230可以包括接口等,例如USB接口,USB接口可以是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为电子设备200充电,也可以用于电子设备200与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
或者,通信模块230可以包括音频器件、射频电路、蓝牙芯片、无线保真(wirelessfidelity,Wi-Fi)芯片、近距离无线通讯技术(near-field communication,NFC)模块等,可以通过多种不同的方式实现电子设备300与其他电子设备之间的交互。
可选地,电子设备200还可以包括显示屏240,显示屏240可以显示人机交互界面中的图像或视频等。
可选地,电子设备200还可以包括外设设备250,例如鼠标、键盘、扬声器、麦克风等。
应理解,除了图2中列举的各种部件或者模块之外,本申请实施例对电子设备200的结构不做具体限定。在本申请另一些实施例中,电子设备200还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
客户端和服务端建立的多个子通道绑定到一个已有的MPTCP会话上的,MPTCP会话对应的TCP报文可以通过任意的一个或多个子通道上传输,当客户端或者服务端感知到子通道存在故障时,则需要解决故障或者将故障子通道上的数据分流到其他子通道上传输,以避免TCP报文的丢失。例如,发送端可以主动通知接收端断开子通道,这种情况下,发送端可以先将需要断开的子通道信息发送给接收端,然后子通道再断开,换句话说,发送端能够控制子通道的断开时间,能够在子通道断开之前及时采取解决措施,例如将子通道上的数据分流到其他子通道上,从而可以避免TCP报文的丢失。当子通道故障时,以客户端为发送端,服务端为接收端为例,例如故障包括:传输TCP报文的中间设备故障(中间设备为客户端与服务端之间的设备)或者网络故障或者网口故障或者链路故障,这些故障无法预知,发生的故障的时间比较随机。若这些故障出现时,客户端无法在故障的子通道上将故障信息传输到服务端,导致服务端无法获知子通道的故障信息,服务端无法及时的采取有效的解决故障的手段,这样会导致传输失败或者传输时延长,从而影响传输性能。
下面对本申请实施例用到术语进行解释。
1、子通道,子通道也可以称为子流或者子链路,子通道为双向通道,一个子流对应一个TCP连接,客户端和服务端可以通过三次握手建立一个子流。客户端和服务端可以通过四次握手解除一个子流。可以用五元组源IP地址,目的IP地址,源端口,目的端口和协议类型标识一个子通道。
2、源地址标识(identity,ID)和目的地址标识,源IP地址和/或源端口可以映射为源地址标识,目的IP地址和/或目标端口可以映射为目的地址标识,换句话说,源IP地址和/或源端口与源地址标识存在对应关系,目标IP地址和/或目标端口与目的地址标识存在对应关系。本申请实施例中的,源地址标识(源IP地址和/或源端口)和目的地址标识(目的IP地址和/或目标端口)具有相对的概念。例如,若客户端向服务端发送TCP报文,以客户端为参考,则源IP地址为客户端的IP地址,源端口为客户端的端口,相应的,源地址标识为客户端的ID,目的IP地址为服务端的IP地址,目的端口为服务端的IP地址,相应的,目的地址标识为服务端的ID。又例如,若服务端向客户端向发送TCP报文,以服务端为参考,则源IP为服务端的IP地址,源端口为服务端的端口,相应的,源地址标识为服务端的ID,目的IP地址为客户端的IP地址,目的端口为客户端的IP地址,相应的,目的地址标识为客户端的ID。本申请实施例提到的源地址IP可以是公网地址IP或者私网地址的IP;本申请实施例提到的目的地址IP可以是公网地址IP或者私网地址IP。
3、MPTCP会话,一个MPTCP会话对应多个子通道,即客户端和服务端可以通过多个子通道传输一个MPTCP会话的数据流量,一个MPTCP会话的数据流量也称为该MPTCP会话的TCP报文。
4、TCP选项,TCP报文头包括TCP选项,一个TCP选项具有特定的物理意义,在本申请实施例中,服务端可以向客户端发送的TCP选项为第一TCP选项,第一TCP选项用于通告子通道故障。
5、ADD-ADDR选项,ADD-ADDR选项用于通告地址,ADD-ADDR选项也属于TCP选项,TCP报文头可以包括ADD-ADDR选项。
6、TCP报文,TCP报文包括TCP数据报文和TCP控制报文,TCP数据报文用于传输用户数据,例如TCP控制报文可以为TCP数据报文的应答报文、TCP控制报文也可以为TCP的保活报文、TCP控制报文也可以是建立连接请求的应答报文。
下面结合图3描述本申请实施例提供的通知故障的方法300,方法300以客户端给服务端发送携带第一TCP选项的第一TCP报文为例,当然,服务端也可以向客户端发送携带第一TCP选项的第一TCP报文,为了避免赘述,本申请实施例对此不详细描述。
S310,客户端向服务端发送第二TCP报文,第二TCP报文包括第一ADD_ADDR选项,第一ADD_ADDR选项包括第一子通道的源地址标识和第一子通道的源网络协议(Internetprotocol,IP)地址之间的对应关系,此时第一子通道以客户端为参考。
可选地,第二TCP报文可以为TCP数据报文或者TCP控制报文。
可选地,客户端可以在建立任何一个子通道的过程中,向服务端发送第二TCP报文,此时第二TCP报文为TCP控制报文。
可选地,客户端可以通过已经建立的第三子通道向服务端发送第二TCP报文,此时第二TCP报文可以为TCP控制报文,例如保活报文或者TCP数据报文的应答报文,或者第二TCP报文可以为TCP数据报文,例如可以为某一应用的TCP数据报文。
可以理解的是,方法300只是以一个子通道为例描述,客户端通过第三子通道通告第一子通道的源地址标识和源IP地址之间的对应关系。服务端和客户端建立的多个子通道,客户端可以通过建立的一个或多个子通道通告其他子通道或者自身子通道的源地址标识和源IP地址之间的对应关系,例如,服务端和客户端建立了两个子通道,分别为子通道1和子通道2,客户端可以通过子通道1发送子通道2和/或子通道1的源地址标识和源IP地址之间的对应关系;或者客户端可以通过子通道2发送子通道1和/或子通道2的源地址标识和源IP地址之间的对应关系。因此,本申请实施例中,不限定是哪个子通道通告的某个子通道的源地址标识和源IP地址之间的对应关系。
可选地,在本申请实施例中,客户端可以通过任何一个已经建立的子通道向服务端发送第一子通道的源地址标识和源IP地址之间的对应关系为例描述。实际上源地址标识和源IP地址之间的对应关系仅仅为了让服务端识别第一子通道的源IP地址,客户端也可以通过任何一个已经建立的子通道向服务端发送第一子通道的源IP地址,而不需要发送第一子通道的源地址标识和源IP地址之间的对应关系。
可选地,在本申请实施例中,客户端还可以通过任何一个已经建立的子通道向服务端发送第一子通道的源地址标识与源端口之间的对应关系,或者发送第一子通道的源地址标识与源端口和源IP地址之间的对应关系。换句话说,如果源IP地址就能唯一标识第一子通道的源地址信息,则客户端向服务端发送第一子通道的源地址标识与源IP地址之间的对应关系;如果源端口能唯一标识第一子通道的源地址信息,则客户端向服务端发送第一子通道的源地址标识与源端口之间的对应关系;如果源IP地址或源端口都不能唯一标识第一子通道的源地址信息,则客户端向服务端发送第一子通道的源地址标识与源端口和源IP地址之间的对应关系。
客户端和服务端也可以保存第一子通道的源地址标识与第一子通道的源IP之间的对应关系,或者保存第一子通道源地址标识与第一子通道的源端口之间的对应关系,或者保存第一子通道源地址标识与第一子通道的源端口和第一子通道的源IP地址之间的对应关系。
S320,服务端向客户端发送第三TCP报文,第三TCP报文包括第二ADD_ADDR选项,第二ADD_ADDR选项包括第一子通道的目的地址标识和第一子通道的目的IP地址之间的对应关系。客户端和服务端可以保存第一子通道的目的IP地址与目的地址标识之间的对应关系。此时第一子通道以客户端为参考。
可选地,第三TCP报文可以为TCP数据报文或者TCP控制报文。
可选地,服务端可以在建立任何一个子通道的过程中,向客户端发送第三TCP报文,此时第三TCP报文为TCP控制报文。
可选地,服务端可以通过已经建立的第四子通道向客户端发送第三TCP报文,此时第三TCP报文可以为TCP控制报文,例如保活报文或者TCP数据报文的应答报文,或者第三TCP报文可以为TCP数据报文,例如可以为某一应用的TCP数据报文。
可以理解的是,方法300只是以一个子通道为例描述,服务端通过第四子通道通告第一子通道的目的地址标识和目的IP地址之间的对应关系。服务端和客户端建立的多个子通道,服务端可以通过建立的一个或多个子通道通告其他子通道或者自身子通道的目的地址标识和目的IP地址之间的对应关系,例如,服务端和客户端建立了两个子通道,分别为子通道3和子通道4,服务端可以通过子通道3发送子通道3和/或子通道4的目的地址标识和目的IP地址之间的对应关系;或者服务端可以通过子通道4发送子通道3和/或子通道4的目的地址标识和目的IP地址之间的对应关系。因此,本申请实施例中,不限定是哪个子通道通告的某个子通道的目的地址标识和目的IP地址之间的对应关系。
可选地,在本申请实施例中,服务端可以通过任何一个已经建立的子通道向客户端发送第一子通道的目的地址标识和目的IP地址之间的对应关系为例描述。实际上目的地址标识和目的IP地址之间的对应关系仅仅为了让服务端识别第一子通道的目的IP地址,服务端也可以通过任何一个已经建立的子通道向客户端发送第一子通道的目的IP地址,而不需要发送第一子通道的目的地址标识和目的IP地址之间的对应关系。
可选地,在本申请实施例中,服务端还可以通过任何一个已经建立的子通道向客户端发送第一子通道的目的地址标识与目的端口之间的对应关系,或者发送第一子通道的目的地址标识与目的端口和目的IP地址之间的对应关系。换句话说,如果目的IP地址就能唯一标识第一子通道的目的地址信息,则服务端向客户端发送第一子通道的目的地址标识与目的IP地址之间的对应关系;如果目的端口能唯一标识第一子通道的目的地址信息,则服务端向客户端发送第一子通道的目的地址标识与目的端口之间的对应关系;如果目的IP地址或目的端口都不能唯一标识第一子通道的目的地址信息,则服务端向客户端发送第一子通道的目的地址标识与目的端口和目的IP地址之间的对应关系。
客户端和服务端也可以保存第一子通道的目的地址标识与第一子通道的目的IP之间的对应关系,或者保存第一子通道目的地址标识与第一子通道的目的端口之间的对应关系,或者保存第一子通道目的地址标识与第一子通道的目的端口和第一子通道的目的IP地址之间的对应关系。
可选地,上述的第三子通道和第四子通道可以是同一子通道或者不同的子通道。
需要说明的是,S310与S320之间的顺序不限定,S310可以在S320之间或者之后或者同时进行,本申请不予限制。
也需要说明的是,客户端和服务端可以在执行一次S310和S320之后执行多次S330-S370。换句话说,本申请实施例中,客户端和服务端可以通告一次关于第一子通道的地址信息。
S330,客户端确定第一子通道故障,或者客户端确定第一子通道故障以及第一子通道故障的原因。
其中,客户端至少可以通过以下一种方式确定第一子通道故障:
方式一,客户端可以确定客户端的本地故障,客户端的本地故障会导致第一子通道故障,例如与第一子通道相关的本地网口、本地网卡等本地器件或者本地处理协议进程等故障导致的第一子通道故障。这样,客户端也能确定故障的原因。
方式二,客户端可以根据检测任务主动检测故障,例如客户端可以利用双向转发检测机制(bidirectional forwarding detection,BFD)部署检测任务来检测第一子通道是否故障,客户端可以根据向客户端返回来的检测结果确定故障原因。又例如,客户端可以通过第一子通道向服务端发送ICMP请求报文,客户端可以根据在预设时长内是否收到ICMP请求报文的应答报文确定第一子通道是否故障。具体地,若客户端在预设时长内没有收到应答报文,则可以确定第一子通道故障。
方式三,客户端可以被动检测故障,例如客户端通过第一子通道向服务端发送TCP数据报文,到TCP数据报文发到某一设备时,该设备故障,客户端接收到该设备返回的网络控制消息协议(internet control message protocol,ICMP)差错报告报文,ICMP差错报告报文中可以指示第一子通道故障。例如ICMP差错报告报文的格式如图4所示,图4所示的类型段和代码段的取值不同ICMP差错报告报文的物理意义不同,协议可以规定图4所示的类型字段的特定取值以及代码段的特定取值表示ICMP差错报告报文为中间设备向客户端反馈故障的报文以及第一子通道故障的原因。这样,客户端可以根据ICMP差错报告报文的类型字段的取值和代码段的取值确定第一子通道故障以及第一子通道故障的原因。
需要说明的是,图4中源IP地址为该故障设备的IP地址,目的IP地址为客户端的IP地址。故障设备可以是客户端与服务端之间的中间设备,则源IP地址为中间设备的源IP地址;当然故障设备也可以是服务端,则源IP地址为服务端的IP地址。
可以理解的是,客户端在当前的第一子通道上向服务端发送TCP数据报文,当TCP数据报文到达中间的任何一个设备,甚至该设备可能是服务端时,由于该设备故障,则导致TCP数据报文发送不到服务端,该设备可以将TCP数据报文的数据部分截取部分片段作为ICMP差错报告报文的数据部分向客户端发送,客户端接收到ICMP差错报告报文的数据部分之后,根据ICMP差错报告报文的类型字段和代码字段确定第一子通道故障,数据部分包括ICMP的数据部分的TCP数据报文发送失败。
可选地,第一子通道的有些故障本身是瞬时故障,有些故障本身是非瞬时故障,有些故障既可能是瞬时故障也有可能是非瞬时故障。在本申请实施例中,客户端可以在通过任何一种方式确定第一子通道故障的同时也能确定第一子通道故障时是瞬时故障还是非瞬时故障。例如,由于上述方式一种的物理网口故障或者网卡故障导致的第一子通道故障,则该第一子通道的故障属于非瞬时故障;又例如,客户端可以统计预设周期内通过第一子通道发送的有少量的网卡丢包,但是网卡正常,则该第一子通道的故障属于瞬时故障;再例如,在上述方式三中,可以根据ICMP差错报告报文中的类型段和代码端确定第一子通道的故障为瞬时故障还是非瞬时故障。
需要说明的是,S330与S310和S320之间的顺序关系也不作限定。S330可以在S310和/或S320之前或者之后。
S340,客户端生成第一TCP选项。
具体地,客户端在S330中确定第一子通道故障,根据第一子通道的故障信息生成第一TCP选项。
下面分四种情况讨论第一TCP选项的格式:
情况一,源IP地址和目的IP地址可以唯一标识故障的第一子通道,但是由于源IP地址与目的IP地址占用的字节数量多,则客户端可以根据自身保存的第一子通道的源IP地址和第一子通道的源地址标识之间的对应关系确定第一字段承载的源地址标识,客户端可以根据S330中保存的第一子通道的目的IP地址与第一子通道的目的地址标识的对应关系确定第二字段承载的目的地址标识。此时,在一种可能的设计中,第一TCP选项包括第一子段、第二字段和第三字段,第一字段承载用于第一子通道的源地址标识,第二字段用于承载第一子通道的目的地址标识,第三字段的第一取值用于指示第一字段承载的源地址标识与第二字段承载的目的地址标识所标识的第一子通道故障。
例如,如图5所示其中,类别(Kind)表示第一TCP选项的类别,类别固定为30,30表示该第一TCP选项为MPTCP的TCP选项;长度(Length)为第一TCP选项的长度,如总长度可以为4字节;子类型表示该第一TCP选项为故障通告选项(fault announce option),也即承载子类型的第三字段用于指示第一字段承载的源地址标识与第二字段承载的目的地址标识所标识的第一子通道故障,第三字段的值可以是协议规定的值,具体可以根据协议规定,本申请实施例对此不作限定;如图5所示第一字段承载的源地址标识和第二字段承载的目的地址标识可以唯一标识第一子通道。
例如,第一字段可以称为源地址标识(SrcAddressID)字段,第二字段可以称为目的地址标识(DestAddressID)字段。
情况二,在另一种可能的设计中,第一TCP选项除了情况一中包括的各个字段之外,如图6所示,第一TCP选项还可以包括第四字段,第四字段的第二取值用于指示第一子通道故障的原因。具体地,客户端在S330中确定第一子通道故障时,若可以确定第一子通道故障的原因,则可以将第一子通道故障的原因承载在第一TCP选项的第四字段。
例如,对于S330的方式三,客户端可以将ICMP差错报告报文的类型段和代码段指示的第一子通道故障的原因映射为第一TCP选项的第四字段的第二取值。
可以理解的是,协议可以规定第四字段的不同取值表示第一子通道故障的不同原因,服务端和客户端都能够获知第四字段的不同取值表示第一子通道故障的不同原因。例如第四字段取值为0表示发送端(在方法300中发送端为客户端)的资源不足(lack ofresources),无法支持在第一子通道上发送TCP数据报文;第四字段取值为1表示发送端的策略禁止(administratively prohibited)在第一子通道上发送TCP数据报文;第四字段取值为2表示有较多的TCP数据报文(too many already acknowledged data)需要在第一子通道上传输,客户端没有在第一子通道上接收到TCP数据报文的应答报文,但是客户端在其他子通道上接收到第一子通道上的TCP数据报文的应答报文;第四字段的取值为3表示与一个MPTCP会话的其他子通道相比,第一子通道的传输性能太差(unacceptableperformance);第四字段的取值为4表示第一子通道的生存期已到期(unacceptableperformance);第四字段的取值为5表示客户端删除了第一子通道的源地址信息和目的地址信息(removed address),例如源地址信息包括源地址IP和/或源地址端口,目的地址信息包括目的地址IP和/或目的地址端口;第四字段的取值为6表示第一子通道中间盒(也称为中间设备)存在干扰(middlebox interference);第四字段的取值为7表示处理第一子通道上的某一个TCP选项时检测到错误(multipath TCP specific error);第四字段的取值为8表示已发送重置字段以响应MP_FASTCLOSE选项(fast close);第四字段的取值为9表示在第一子通道上检测到未知的错误(unspecified TCP error);第四字段的取值为10表示网络故障不可达;第四字段的取值为11表示服务端不可达;第四字段的取值为12表示客户端路由失败;第四字段的取值为13表示服务端抑制,即由于服务端接收TCP报文的速度大于服务端处理TCP报文的速度,导致服务端积压大量TCP报文,则服务端可以向客户端发送ICMP差错报告报文,ICMP差错报告报文中的类型段和代码段指示客户端降低发送TCP报文的速度,客户端根据ICMP差错报告报文中的类型段和代码段确定第四字段的取值为13;第四字段的取值为14表示生存时间(time to live,TTL)为0,可能出现IP环路;第四字段的取值为15以上可以定义新的故障。
情况三,在又一种可能的设计中,第一TCP选项除了情况一或情况二中包括的各个字段之外,如图7所示,第一TCP选项还可以包括用于承载故障设备(如为第三设备)的标识的第五字段和用于指示第五字段存在的第六子字段A,这种情况是任一中间设备甚至是服务端出现故障时,反馈了S330的方式三中的ICMP差错报告报文,客户端根据ICMP差错报告报文的报文头中的源IP地址指示的设备确定该设备故障,并且客户端将故障设备的标识承载在第五字段中,并在第六字段的第三取值用于指示第五字段存在。
例如,第五字段可以称为中间盒IP(middlebox IP)或者中间设备IP字段。
可选地,在情况三中,还可以包括第七字段,第七字段用于指示第五字段承载的故障设备的标识所标识的故障设备的IP协议版本,例如协议版本为IPv4或IPv6,第七字段的不同取值表示不同的协议版本。
需要理解的是,情况三中描述,利用一个字段指示协议版本,当然也可以通过两个以上的字段指示故障设备的IP协议版本,本申请不予限制。
需要说明的是,图7中的第一TCP选项包括第四字段即情况三为情况二的基础上增加了第五字段和第六字段,若第一TCP选项不包括第四字段即情况三为情况一的基础上增加的第五字段和第六字段。
情况四,在又一种可能的设计中,第一TCP选项除了情况一或情况二或情况三中包括的各个字段之外,如图8所示,第一TCP选项还可以包括用于指示第一子通道故障为瞬时故障或非瞬时故障的第八字段T。具体地,客户端根据S340确定第一子通道故障是瞬时故障还是非瞬时故障,客户端可以利用第八字段的不同取值用于指示第一子通道故障为瞬时故障还是非瞬时故障,例如第八字段的第四取值为1表示第一子通道为瞬时故障,第八字段的第五取值为0表示第一子通道为非瞬时故障,非瞬时故障可以包括永久故障和长时间故障等等。
需要理解的是,情况四中描述,利用一个字段指示瞬时故障还是非瞬时故障,当然也可以通过两个不同的字段指示第一子通道为瞬时故障还是非瞬时故障,本申请不予限制。
需要说明的是,图8中示出的各个字段都是为了理解,图8中的第一TCP选项不包括第四字段、第五字段、第六字段和第七字段即情况四为情况一的基础上增加了第八字段;若第一TCP选项包括第四字段,不包括第五字段、第六字段和第七字段即情况四为情况二的基础上增加了第八字段;若第一TCP选项包括第四字段、第五字段、第六字段和第七字段即情况四为情况三的基础上增加了第八字段。
S350,客户端通过第二子通道向服务端发送第一TCP报文,服务端接收客户端发送的第一TCP报文,第一TCP报文的报文头包括第一TCP选项,第一TCP选项用于指示第一子通道故障。
可选地,第一TCP报文可以是TCP数据报文或者TCP控制报文,本申请不予限制。
其中,第一子通道与第二子通道为第一MPTCP会话对应的两个子通道。
S360,服务端根据第一TCP报文中的第一TCP选项确定第一子通道故障。
具体地,服务端根据第一TCP选项各个字段确定第一子通道故障。若第一TCP选项为S340中的情况一中的格式,服务端解析第一TCP选项中的第一字段、第二字段和第三字段,服务端获取第一字段承载的源地址标识,获取第二字段承载的目的地址标识。服务端根据第一字段承载的源地址标识和第二字段承载的目的地址标识确定第一子通道。服务端根据第三字段的第一取值确定第一子通道故障。
下面分三种情况讨论服务端如何根据第一字段承载的源地址标识和第二字段承载的目的地址标识确定第一子通道。
情况一,若S310中服务端保存了第一子通道的源地址标识与源IP地址之间的对应关系,以及S320中服务端保存了第一子通道的目的地址标识与目的IP地址之间的对应关系,则服务端根据保存的第一子通道的源地址标识与源IP地址之间的对应关系确定第一子通道的源IP地址。服务端根据第一子通道的目的地址标识与目标IP地址之间的对应关系确定第一子通道目的IP地址。服务端根据源IP地址和目的IP地址确定第一子通道。
情况二,若S310中服务端保存的是第一子通道源地址标识与源端口和第一子通道的目的IP地址之间的对应关系,以及S320中服务端保存了第一子通道的目的地址标识与目的端口之间的对应关系,则服务端根据保存的第一子通道的源地址标识与源端口之间的对应关系确定第一子通道的源端口。服务端根据第一子通道的目的地址标识与目标端口之间的对应关系确定第一子通道目的端口。服务端根据源端口和目的端口确定第一子通道。
情况三,若S310中服务端保存的是第一子通道源地址标识与源端口和源IP地址之间的对应关系,以及S320中服务端保存了第一子通道的目的地址标识与目的端口和目的IP地址之间的对应关系,则服务端根据保存的第一子通道的源地址标识与源端口和源IP地址之间的对应关系确定第一子通道的源端口和源IP地址。服务端根据第一子通道的目的地址标识与目标端口和目的IP地址之间的对应关系确定第一子通道目的端口和目的IP地址。服务端根据源端口、源IP地址、目的端口目的IP地址确定第一子通道。
S370,服务端协助解决第一子通道的故障。
在一种可能的实现方式中,若服务端根据S360确定第一子通道故障,则服务端可以通知客户端建立新的子通道或者将当前子通道上的数据切换到其他的子通道上传输。
在一种可能的实现方式中,在服务端可以通知客户端建立新的子通道或者将当前子通道上的数据切换到其他的子通道上传输的同时,若第一TCP选项为S340中的情况二中的格式,服务端解析第一TCP选项中的第四字段,服务端获取第四字段的取值,并根据第四字段的取值确定第一子通道故障的原因。服务端根据第一子通道故障的原因可以采取相应的解决故障的措施。不同的故障原因则解决措施也可以不同。例如,服务端可以发出提示预警信息,指示第一子通道故障以及故障的原因,运维人员可以及时修复故障。
在一种可能的实现方式中,在服务端可以通知客户端建立新的子通道或者将当前子通道上的数据切换到其他的子通道上传输的同时,若第一TCP选项为S340中的情况三中的格式,服务端解析第一TCP选项中的第六字段A是否为第三取值,若第六字段A为第三取值则表示第五字段也存在。服务端解析第五字段承载的故障设备的标识。服务端确定故障设备的标识所标识的设备出现了故障导致第一子通道故障。
方法300中仅以一个客户端为例,服务端接收到预设数量的客户端中每个客户端向服务端发送的TCP选项都包括的第五字段和第六字段,并且每个客户端发送的TCP选项中的第五字段都承载的是同一个设备的标识,则服务端可以确定第五字段承载设备的标识所标识的设备故障。服务端可以通知发送TCP选项的客户端将第一子通道上待传输的数据切换到其他的子通道上。同时,服务端可以发送提示预警信息给运维人员,提示预警信息可以指示故障设备以及故障的原因,运维人员定位到故障设备并根据故障的原因及时修复故障。
在一种可能的实现方式中,在服务端可以通知客户端建立新的子通道或者将当前子通道上的数据切换到其他的子通道上传输的同时,若S340中的情况三中第一TCP选项还包括第七字段,则服务端还可以根据第七字段确定故障设备的IP协议版本,根据故障设备的协议版本解析第五字段承载故障设备的标识,不同协议版本的故障设备则故障设备的标识也不同。
可以理解的是,本申请实施例中,也可以不包括第一TCP选项为第六字段和/或第七字段,若第一TCP选项不包括第六字段和/或第七字段,客户端可以根据第一TCP选项的长度(length)字段的取值确定是否有第五字段和第七字段。
在一种可能的实现方式中,在服务端可以通知客户端建立新的子通道或者将当前子通道上的数据切换到其他的子通道上传输的同时,若第一TCP选项为S340中的情况四中的格式,服务端解析第一TCP选项中的第八字段T,服务端根据第八字段的第四取值或者第五取值确定第一子通道是瞬时故障还是非瞬时故障,若服务端根据第八字段的第四取值确定第一子通道为瞬时故障,则服务端可以尝试继续建立第一子通道;若服务端根据第八的第五取值确定第一子通道为非瞬时故障,则服务端尝试建立其他的子通道或者尝试在其他的已经建立的子通道上传输TCP数据报文。
可选地,若服务端根据第八字段的第五取值确定第一子通道为非瞬时故障,则服务端可以删除第一子通道的相关配置信息,释放资源。
为了更好的说明方法300,下面结合图9至图12进行举例描述,如图9所示,客户端1和客户端2支持MPTCP传输,并且也能向服务端发送TCP选项。客户端1和客户端2可以位于不同的小区甚至位于不同的城市。客户端1和客户端2可以通过互联网服务提供商(internetservice provider,ISP)1或者ISP2访问服务端。下面以源地址标识和源IP存在对应关系,目的地址标识与目的IP存在对应关系为例描述,源地址标识与源端口的对应关系,目的地址标识与目的端口的对应关系类似,为例避免赘述,不详细举例。如图10所示,方法1000包括:
S1001,客户端1与服务端建立MPTCP会话1,并分别根据三次握手建立<IP1,IP3>和<IP2,IP4>两条子通道。
可选地,客户端1可以在建立子通道<IP1,IP3>过程中可以将子通道<IP1,IP3>的源地址标识和源IP地址的对应关系通过ADD_ADDR选项1(例如ADD_ADDR选项2可以为前述的第一ADD_ADDR选项)发送给服务端,如子通道<IP1,IP3>的源地址标识与源地址IP的对应关系为<10,IP1>,即用10指示源地址IP1。此时不存在S1002。
可选地,客户端1可以在建立子通道<IP2,IP4>过程中可以将子通道<IP2,IP4>的源地址标识和源IP地址的对应关系通过ADD_ADDR选项2(例如ADD_ADDR选项2可以为前述的第一ADD_ADDR选项)发送给服务端,如子通道<IP2,IP4>的源地址标识与源地址IP的对应关系为<20,IP2>,即用20指示源地址IP1。此时不存在S1003。
可选地,客户端1可以通过建立的首个子通道将子通道<IP1,IP3>的源地址标识和源IP地址的对应关系以及子通道<IP2,IP4>的源地址标识和源IP地址的对应关系发送到服务端。
可选地,服务端可以在建立子通道<IP1,IP3>过程中可以将子通道<IP1,IP3>的目的地址标识和目的IP地址的对应关系通过ADD_ADDR选项3(例如ADD_ADDR选项3可以为前述的第二ADD_ADDR选项)发送给客户端1,如子通道<IP1,IP3>的目的地址标识与目的地址IP的对应关系为<30,IP3>,即用30指示源地址IP3。此时不存在S1004。
可选地,服务端可以在建立子通道<IP2,IP4>过程中可以将子通道<IP2,IP4>的目的地址标识和目的IP地址的对应关系通过ADD_ADDR选项4(例如ADD_ADDR选项4可以为前述的第二ADD_ADDR选项)发送给客户端1,如子通道<IP2,IP4>的目的地址标识与目的地址IP的对应关系为<40,IP4>,即用40指示源地址IP4。此时不存在S1005。
可选地,服务端可以通过建立的首个子通道将子通道<IP1,IP3>的目的地址标识和目的IP地址的对应关系以及子通道<IP2,IP4>的目的地址标识和目的IP地址的对应关系发送到客户端1。
S1002,客户端1向服务端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项1,ADD_ADDR选项1包括子通道<IP1,IP3>的源地址标识和源IP地址的对应关系。
S1003,客户端1向服务端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项2,ADD_ADDR选项2包括子通道<IP2,IP4>的源地址标识和源IP地址的对应关系。
可选地,S1002和S1003中,客户端1可以通过同一个TCP数据报文向服务端发送ADD_ADDR选项1和ADD_ADDR选项2。
可选地,S1002和S1003中,客户端1可以通过同一个TCP控制报文向服务端发送ADD_ADDR选项1和ADD_ADDR选项2。
需要说明的是,S1002和S1003之间的顺序关系也不作限定。S1002在S1003之前或者之后或者同时进行。
S1004,服务端向客户端1发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项3,ADD_ADDR选项3包括子通道<IP1,IP3>的目的地址标识和目的IP地址的对应关系。
S1005,服务端向客户端1发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项4,ADD_ADDR选项4包括子通道<IP2,IP4>的目的地址标识和目的IP地址的对应关系。
可选地,S1004和S1005中,服务端可以通过同一个TCP数据报文向客户端1发送ADD_ADDR选项3和ADD_ADDR选项4。
可选地,S1004和S1005中,服务端可以通过同一个TCP控制报文向客户端1发送ADD_ADDR选项3和ADD_ADDR选项4。
需要说明的是,S1004和S1005之间的顺序关系也不作限定。S1004和S1005之前或者之后或者同时进行。
上述步骤中,服务端和客户端可以保存子通道<IP1,IP3>的源地址标识与源地址IP的对应关系<10,IP1>,以及,子通道<IP1,IP3>的目的地址标识与目的地址IP的对应关系<30,IP3>。
上述步骤中,服务端和客户端可以保存子通道<IP2,IP4>的源地址标识与源地址IP的对应关系<20,IP2>,以及,子通道<IP2,IP4>的目的地址标识与目的地址IP的对应关系<40,IP4>。
S1006,客户端2与服务端建立MPTCP会话2,并分别根据三次握手建立<IP5,IP3>和<IP6,IP4>两条子通道。
可选地,客户端2可以在建立子通道<IP5,IP3>过程中可以将子通道<IP5,IP3>的源地址标识和源IP地址的对应关系通过ADD_ADDR选项5(例如ADD_ADDR选项5可以为前述的第一ADD_ADDR选项)发送给服务端,如子通道<IP5,IP3>的源地址标识与源地址IP的对应关系为<50,IP5>,即用50指示源地址IP5。此时不存在S1007。
可选地,客户端2可以在建立子通道<IP6,IP4>过程中可以将子通道<IP6,IP4>的源地址标识和源IP地址的对应关系通过ADD_ADDR选项6(例如ADD_ADDR选项6可以为前述的第一ADD_ADDR选项)发送给服务端,如子通道<IP6,IP4>的源地址标识与源地址IP的对应关系为<60,IP6>,即用60指示源地址IP6。此时不存在S1008。
可选地,客户端2可以通过建立的首个子通道将子通道<IP5,IP3>的源地址标识和源IP地址的对应关系以及子通道<IP6,IP4>的源地址标识和源IP地址的对应关系发送到服务端。
可选地,服务端可以在建立子通道<IP5,IP3>过程中可以将子通道<IP5,IP3>的目的地址标识和目的IP地址的对应关系通过ADD_ADDR选项7(例如ADD_ADDR选项7可以为前述的第二ADD_ADDR选项)发送给客户端2,如子通道<IP5,IP3>的目的地址标识与目的地址IP的对应关系为<30,IP3>,即用30指示源地址IP3。此时不存在S1009。
可选地,服务端可以在建立子通道<IP6,IP4>过程中可以将子通道<IP6,IP4>的目的地址标识和目的IP地址的对应关系通过ADD_ADDR选项8(例如ADD_ADDR选项8可以为前述的第二ADD_ADDR选项)发送给客户端2,如子通道<IP6,IP4>的目的地址标识与目的地址IP的对应关系为<40,IP4>,即用40指示源地址IP4。此时不存在S1010。
可选地,服务端可以通过建立的首个子通道将子通道<IP5,IP3>的目的地址标识和目的IP地址的对应关系以及子通道<IP6,IP4>的目的地址标识和目的IP地址的对应关系发送到客户端2。
S1007,客户端2向服务端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项5,ADD_ADDR选项5包括子通道<IP5,IP3>的源地址标识和源IP地址的对应关系。
S1008,客户端2向服务端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项6,ADD_ADDR选项6包括子通道<IP6,IP4>的源地址标识和源IP地址的对应关系。
可选地,S1007和S1008中,客户端2可以通过同一个TCP数据报文向服务端发送ADD_ADDR选项5和ADD_ADDR选项6。
可选地,S1007和S1008中,客户端2可以通过同一个TCP控制报文向服务端发送ADD_ADDR选项5和ADD_ADDR选项6。
需要说明的是,S1007和S1008之间的顺序关系也不作限定。S1007在S1008之前或者之后或者同时进行。
S1009,服务端向客户端2发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项7,ADD_ADDR选项7包括子通道<IP5,IP3>的目的地址标识和目的IP地址的对应关系。
S1010,服务端向客户端2发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文包括ADD_ADDR选项8,ADD_ADDR选项8包括子通道<IP6,IP4>的目的地址标识和目的IP地址的对应关系。
可选地,S1009和S1010中,服务端可以通过同一个TCP数据报文向客户端1发送ADD_ADDR选项7和ADD_ADDR选项8。
可选地,S1009和S1010中,服务端可以通过同一个TCP控制报文向客户端1发送ADD_ADDR选项7和ADD_ADDR选项8。
需要说明的是,S1009和S1010之间的顺序关系也不作限定。S1009和S1010之前或者之后或者同时进行。
上述步骤中,服务端和客户端可以保存子通道<IP5,IP3>的源地址标识与源地址IP的对应关系<50,IP5>,以及,子通道<IP5,IP3>的目的地址标识与目的地址IP的对应关系<30,IP3>。
上述步骤中,服务端和客户端可以保存子通道<IP6,IP4>的源地址标识与源地址IP的对应关系<60,IP6>,以及,子通道<IP6,IP4>的目的地址标识与目的地址IP的对应关系<40,IP4>。
需要说明的,S1001-S1005与S1006-S1010之间的顺序并不限定。S1001-S1005中的任何一个步骤可以在S1006-S1010中的任何一个步骤之间或者之后或者同时进行,本申请实施例不予限制。
若ISP2到服务端的网关设备(该网关设备可以为前述的第三设备)故障,这样导致ISP2到服务端的网络链路中断。
S1011,客户端1在子通道<IP2,IP4>上发送的TCP报文(TCP数据报文或者TCP控制报文)由于服务端的网关故障导致TCP报文丢弃。
S1012,网关设备根据S1011丢失的TCP报文生成ICMP差错报告报文1,ICMP差错报告报文1的源IP地址为网关设备的IP地址,如为IP7,ICMP差错报告报文1的类型字段和代码段指示网关设备故障以及故障的原因。
S1013,网关设备通过子通道<IP2,IP4>将ICMP差错报告报文1发送回客户端1。
S1014,客户端1根据ICMP差错报告报文1中的类型字段和代码段确定子通道<IP2,IP4>(也称为第一子通道)故障以及故障的原因。
S1015,客户端1生成TCP选项1,也即为前述的第一TCP选项。
例如,具体的格式如图11所示,其中,类别(Kind)表示TCP选项1的类别,类别固定为30,30表示该TCP选项1为MPTCP的TCP选项;长度(Length)为TCP选项1的长度,如总长度可以为10字节;第一字段承载子通道<IP2,IP4>的源地址标识为20,也可以称为SrcAddressID;第二字段承载子通道<IP2,IP4>的目的地址标识为40,也可以称为目的地址标识DestAddressID;第三字段的子类型表示TCP选项1为子流故障通告选项(subflowfault announce option),子类型的值(第二取值)可以是协议规定的值,具体可以根据协议规定,本申请实施例对此不作限定;第四字段用于指示子通道<IP2,IP4>故障的原因,例如用第四字段的第二取值为10指示网关设备故障的原因;第五字段用于指示网络设备的IP地址标识,例如用IP7表示网关设备的源地址标识;第六字段的第三取值为1用于指示第五字段存在;第七字段为1用于指示网关设备的协议类型为IPv4;第八字段为的第五取值为1用于指示子通道<IP2,IP4>故障为非瞬时故障。
S1016,客户端1在子通道<IP1,IP3>向服务端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文携带TCP选项1。
S1017,客户端2在子通道<IP6,IP4>上发送的TCP报文(TCP数据报文或者TCP控制报文)由于服务端的网关故障导致TCP报文丢弃。
S1018,网关设备根据S1015丢失的TCP报文生成ICMP差错报告报文2ICMP差错报告报文2的源IP地址为网关设备的IP地址,如为IP7,ICMP差错报告报文2的类型字段和代码段指示网关设备故障以及故障的原因。
在该例子中,ICMP差错报告报文1和ICMP差错报告报文2的类型字段和代码段指示网关设备故障相同以及故障的原因相同。
S1019,网关设备通过子通道<IP6,IP4>向客户端2发送ICMP差错报告报文2。
S1020,客户端2根据ICMP差错报告报文2中的类型字段和代码段确定子通道<IP6,IP4>(也称为第一子通道)故障以及故障的原因。
S1021,客户端2生成TCP选项2,也即为前述的第一TCP选项。
例如,具体的格式如图12所示,其中,类别(Kind)表示TCP选项2的类别,类别固定为30,30表示该TCP选项2为MPTCP的TCP选项;长度(Length)为TCP选项2的长度,如总长度可以为10字节;第一字段承载子通道<IP6,IP4>的源地址标识为60,也可以称为SrcAddressID;第二字段承载子通道<IP6,IP4>的目的地址标识为40,也可以称为目的地址标识DestAddressID;第三字段的子类型表示TCP选项2为子流故障通告选项(subflowfault announce option),子类型的值(第一取值)可以是协议规定的值,具体可以根据协议规定,本申请实施例对此不作限定;第四字段用于指示子通道<IP6,IP4>故障的原因,例如用第二取值10指示网关设备故障的原因;第五字段用于指示网络设备的IP地址标识,例如用IP7表示网关设备的源地址标识;第六字段的第三取值为1用于指示第五字段存在;第七字段为1用于指示网关设备的协议类型为IPv4;第八字段的第五取值为1用于指示子通道<IP2,IP4>故障为非瞬时故障。
S1022,客户端2在子通道<IP5,IP3>向服务端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文携带TCP选项2。
需要说明的,S1011-S1016与S1017-S1022之间的顺序并不限定。S1011-S1016中的任何一个步骤可以在S1017-S1022中的任何一个步骤之间或者之后或者同时进行,本申请实施例不予限制。
S1023,服务端收到S1016和S1020的TCP数据报文或者TCP控制报文,获取TCP选项1和TCP选项2。
S1024,服务端可以根据TCP选项1和TCP选项2统计故障并分析。服务端并发送提示预警信息给运维人员,提示预警信息可以指示故障设备以及故障的原因,运维人员定位到故障设备并根据故障的原因及时修复故障。
具体地,服务端可以根据TCP选项1中的第三字段的取值确定第一字段承载的20以及第二字段承载的40所标识的子通道<IP2,IP4>故障;服务端根据TCP选项2中的第三字段的取值确定第一字段承载的60以及第二字段承载的40所标识的子通道<IP6,IP4>故障;服务端可以根据TCP选项1和TCP选项2中的第四字段的第二取值为10确定第五字段所承载的网关标识所标识的网关设备故障导致第一子通道故障。
可选地,服务端可以将统计的故障发送给大数据平台,大数据平台分析故障。大数据平台并发送提示预警信息给运维人员,提示预警信息可以指示故障设备以及故障的原因,运维人员定位到故障设备并根据故障的原因及时修复故障。
需要说明的是,本申请实施例中,仅以客户端向服务端通过TCP数据报文或者TCP控制报文发送第一TCP选项。同样的,服务端也可以通过TCP数据报文或者TCP控制报文向客户端发送第一TCP选项,服务端可以在第二子通道上向客户端发送TCP数据报文或者TCP控制报文,TCP数据报文或者TCP控制报文携带第一TCP选项,第一TCP选项用于指示第一子通道故障,第一TCP选项包括的第一字段用于承载第一子通道的源地址标识,第二字段用于承载第一子通道目的地址标识,此时源地址标识和目的地址标识以服务端为参考。为了避免赘述,本申请不详细描述服务端通过TCP数据报文或者TCP控制报文发送第一TCP选项。
需要说明的是,本申请实施例中的第一TCP选项和ADD_ADDR选项的格式仅仅是举例描述,本申请对每个选项的格式没有任何限制,并且每个选项中的各个字段之间的位置关系以及长度也不限定,各个选项可以包括本申请实施例中提到的更多或者更少的字段,本申请不予限制。
本实施例可以根据上述方法示例对客户端和服务端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的客户端和服务端,用于执行上述通知故障的方法,因此可以达到与上述实现方法相同的效果。在采用集成的单元的情况下,客户端和服务端分别可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对客户端和服务端的动作进行控制管理,例如,可以用于支持电子设备执行处理单元执行的步骤。存储模块可以用于支持客户端和服务端执行存储程序代码和数据等。通信模块,可以用于支持客户端和服务端与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图2所示结构的设备。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的安全访问数据的方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的安全访问数据的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的安全访问数据的方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (25)
1.一种通知故障的方法,其特征在于,包括:
第一设备确定第一子通道故障;
所述第一设备通过第二子通道向第二设备发送第一TCP报文,所述第一TCP报文包括第一TCP选项,所述第一TCP选项用于指示所述第一子通道故障,所述第一子通道和所述第二子通道为第一MPTCP会话对应的子通道。
2.根据权利要求1所述的方法,其特征在于,所述第一TCP选项包括第一字段、第二字段和第三字段,所述第一字段用于承载所述第一子通道的源地址标识,所述第二字段用于承载所述第一子通道的目的地址标识,所述第三字段的第一取值用于指示所述第一字段承载的所述源地址标识和所述第二字段承载的所述目的地址标识所标识的所述第一子通道故障。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一设备确定第一子通道故障的原因;
其中,所述第一TCP选项包括第四字段,所述第四字段的第二取值用于指示所述第一子通道故障的原因。
4.根据权利要求3所述的方法,其特征在于,所述第一设备确定第一子通道故障的原因,包括:
所述第一设备检测本地故障,确定所述第一子通道故障的原因;或者
所述第一设备根据检测任务检测所述第一子通道故障的原因。
5.根据权利要求3所述的方法,其特征在于,所述第一设备确定第一子通道故障的原因,包括:
所述第一设备通过所述第一子通道接收第三设备发送的网络控制消息协议ICMP差错报告报文,所述ICMP差错报告报文用于指示所述第一子通道故障的原因;
所述第一设备根据所述ICMP差错报告报文确定所述第一子通道故障的原因;
其中,所述第一TCP选项包括第五字段,所述第五字段用于承载所述第三设备的标识。
6.根据权利要求5所述的方法,其特征在于,所述第一TCP选项还包括第六字段,所述第六字段的第三取值用于指示所述第五字段存在。
7.根据权利要求5或6所述的方法,其特征在于,所述第一TCP选项还包括第七字段,所述第七字段用于承载所述第三设备的IP协议版本。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一TCP选项还包括第八字段,所述第八字段的第四取值用于指示所述第一子通道故障为瞬时故障,所述第八字段的第五取值用于指示所述第一子通道故障为非瞬时故障。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第一设备通过第二子通道向第二设备发送第一TCP报文之前,所述方法还包括:
所述第一设备向所述第二设备发送第二TCP报文,所述第二TCP报文包括第一通告地址ADD_ADDR选项,所述第一ADD_ADDR选项包括所述第一子通道的源IP地址和所述第一子通道的源地址标识之间的对应关系。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述第一设备通过第二子通道向第二设备发送第一TCP报文之前,所述方法还包括:
所述第一设备接收所述第二设备发送的第三TCP报文,所述第三TCP报文包括所述第二ADD_ADDR选项,所述第二ADD_ADDR选项包括所述第一子通道的目标IP地址和所述第一子通道的目标地址标识之间的对应关系。
11.一种通知故障的方法,其特征在于,包括:
第二设备通过第二子通道接收第一设备发送的第一TCP报文,所述第一TCP报文包括第一TCP选项,所述第一TCP选项用于指示所述第一子通道故障,所述第一子通道和所述第二子通道为第一MPTCP会话对应的子通道;
所述第二设备根据所述第一TCP选项确定所述第一子通道故障。
12.根据权利要求11所述的方法,其特征在于,所述第一TCP选项包括第一字段、第二字段和第三字段,所述第一字段用于承载所述第一子通道的源地址标识,所述第二字段用于承载所述第一子通道的目的地址标识,所述第三字段的第一取值用于指示所述第一字段承载的所述源地址标识和所述第二字段承载的所述目的地址标识所标识的所述第一子通道故障;
其中,所述第二设备根据所述第一TCP选项确定所述第一子通道故障,包括:
所述第二设备根据所述第三字段的第一取值确定所述第一字段承载的所述源地址标识和所述第二字段承载的目的地址标识所标识的第一子通道故障。
13.根据权利要求11或12所述的方法,其特征在于,所述第一TCP选项包括第四字段,所述第四字段的第二取值用于指示所述第一子通道故障的原因;
所述方法还包括:
所述第二设备根据所述第四字段的第二取值确定所述第一子通道故障的原因;
所述第二设备根据所述第一子通道故障的原因确定解决所述第一子通道故障的策略。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述第一TCP选项包括第五字段,所述第五字段用于承载故障的第三设备的标识,所述方法还包括:
所述第二设备根据所述第五字段承载的所述第三设备的标识确定所述第三设备故障。
15.根据权利要求14所述的方法,其特征在于,所述第一TCP选项还包括第六字段,所述第六字段的第三取值用于指示所述第五字段存在;
在所述第二设备根据所述第五字段承载的所述第三设备的标识确定所述第三设备故障之前,所述方法还包括:
所述第二设备根据所述第六字段的第三取值确定所述第五字段存在。
16.根据权利要求14或15所述的方法,其特征在于,所述第一TCP选项还包括第七字段,所述第七字段用于承载所述第三设备的IP协议版本;
所述方法还包括:
所述第二设备根据所述第七字段承载的所述第三设备的协议版本解析所述第五字段承载的所述第三设备的标识。
17.根据权利要11至16中任一项所述的方法,其特征在于,所述第一TCP选项还包括第八字段,所述第八字段的第四取值用于指示所述第一子通道故障为瞬时故障,所述第八字段的第五取值用于指示所述第一子通道故障为非瞬时故障;所述方法还包括:
所述第二设备根据所述第八字段的所述第四取值或者所述第五取值确定所述第一子通道为瞬时故障或非瞬时故障。
18.根据权利要求11至17中任一项所述的方法,其特征在于,在所述第二设备通过第二子通道接收第一设备发送的第一TCP报文之前,所述方法还包括:
所述第二设备向所述第一设备发送第二TCP报文,所述第二TCP报文包括第一通告地址选项,所述第一ADD_ADDR选项包括所述第一子通道的源IP地址和所述第一子通道的源地址标识之间的对应关系。
19.根据权利要求11至18中任一项所述的方法,其特征在于,在所述第二设备通过第二子通道接收第一设备发送的第一TCP报文之前,所述方法还包括:
所述第二设备接收所述第一设备发送的第三TCP报文,所述第三TCP报文包括所述第二ADD_ADDR选项,所述第二ADD_ADDR选项包括所述第一子通道的目标IP地址和所述第一子通道的目标地址标识之间的对应关系。
20.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;安装有多个应用程序的模块;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,当所述一个或者多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至10中任一项所述的方法。
21.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;安装有多个应用程序的模块;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,当所述一个或者多个程序被所述处理器执行时,使得所述电子设备执行如权利要求11至19中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至10中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求11至19中任一项所述的方法。
24.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至10中任一项所述的方法。
25.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求11至19中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010660058.4A CN113923696A (zh) | 2020-07-09 | 2020-07-09 | 通知故障的方法和电子设备 |
PCT/CN2021/105059 WO2022007861A1 (zh) | 2020-07-09 | 2021-07-07 | 通知故障的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010660058.4A CN113923696A (zh) | 2020-07-09 | 2020-07-09 | 通知故障的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113923696A true CN113923696A (zh) | 2022-01-11 |
Family
ID=79231984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010660058.4A Pending CN113923696A (zh) | 2020-07-09 | 2020-07-09 | 通知故障的方法和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113923696A (zh) |
WO (1) | WO2022007861A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500690B (zh) * | 2022-02-15 | 2023-08-18 | 平安科技(深圳)有限公司 | 接口数据处理方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991353A (zh) * | 2015-07-27 | 2016-10-05 | 杭州迪普科技有限公司 | 故障定位的方法和装置 |
CN108769257A (zh) * | 2018-06-28 | 2018-11-06 | 新华三信息安全技术有限公司 | 一种服务器切换方法及装置 |
CN110875855A (zh) * | 2018-08-30 | 2020-03-10 | 北京华为数字技术有限公司 | 检测网络链路状态的方法和网络设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102395172B (zh) * | 2011-11-16 | 2013-12-18 | 武汉大学 | 一种工业无线网状网络的数据传输方法 |
EP3175598A1 (en) * | 2014-07-28 | 2017-06-07 | Nokia Solutions and Networks Oy | Message-based path selection for transport protocols supporting multiple transport paths |
US10659569B1 (en) * | 2019-01-18 | 2020-05-19 | Hewlett Packard Enterprise Development Lp | End-to-end multipath TCP through network gateways |
-
2020
- 2020-07-09 CN CN202010660058.4A patent/CN113923696A/zh active Pending
-
2021
- 2021-07-07 WO PCT/CN2021/105059 patent/WO2022007861A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991353A (zh) * | 2015-07-27 | 2016-10-05 | 杭州迪普科技有限公司 | 故障定位的方法和装置 |
CN108769257A (zh) * | 2018-06-28 | 2018-11-06 | 新华三信息安全技术有限公司 | 一种服务器切换方法及装置 |
CN110875855A (zh) * | 2018-08-30 | 2020-03-10 | 北京华为数字技术有限公司 | 检测网络链路状态的方法和网络设备 |
Non-Patent Citations (1)
Title |
---|
BONG-HWAN OH等: "《Feedback-Based Path Failure Detection and Buffer Blocking Protection for MPTCP》", IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 24, NO. 6, DECEMBER 2016, pages 1 - 3 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022007861A1 (zh) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332726B (zh) | 一种通信链路的检测方法及装置 | |
US9674054B2 (en) | Concept for providing information on a data packet association and for forwarding a data packet | |
JP2022544798A (ja) | ルーティング方法及び装置 | |
CN106470117B (zh) | Lte宽带集群系统的传输切换方法、设备和系统 | |
WO2011157145A2 (zh) | 通信设备间的主备倒换方法、通信设备和系统及服务请求设备 | |
EP2874349B1 (en) | Communication path processing method and apparatus | |
EP3622670B1 (en) | Connectivity monitoring for data tunneling between network device and application server | |
CN101197733A (zh) | 网络连通性的自动检测方法及装置 | |
JP2023533377A (ja) | 通信方法及び装置 | |
CN105338535A (zh) | 一种使用移动终端进行无线组网的方法 | |
WO2011157146A2 (zh) | 通信设备间的主备倒换方法、通信设备和系统及服务请求设备 | |
KR20120134466A (ko) | 메쉬 네트워크 노드 및 그의 데이터 전송 방법 | |
CN116886497A (zh) | 基于dpu的服务网格业务集中代理切换方法及处理系统 | |
WO2022007861A1 (zh) | 通知故障的方法和电子设备 | |
CN107995315B (zh) | 业务板间信息的同步方法、装置、存储介质及计算机设备 | |
CN116195352A (zh) | 接入流量管理 | |
EP2582199A1 (en) | M2m system and method for processing services thereof | |
EP2728815B1 (en) | Method and rbridge for avoiding esadi protocol packet storms | |
CN113965516B (zh) | 传输数据的方法和装置 | |
CN103701943B (zh) | Mac地址的控制方法及装置 | |
CN108307401A (zh) | 建立通信连接的方法、装置及通信设备 | |
EP4184822A1 (en) | Method and apparatus for keeping user terminal alive | |
CN111726287B (zh) | 一种环网的保护方法和装置 | |
CN103840952B (zh) | 用于mac黑洞预防的方法以及相应的分布式双宿节点 | |
CN117979327A (zh) | 一种基于边缘upf备份组的容灾系统、方法和设备 |
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 |