本技术涉及通信,特别涉及一种服务链旁路方法、装置、电子设备及存储介质。
背景技术:
1、服务链(service function chain,sfc)是一种网络服务架构,通过将多个服务节点按顺序连接起来,实现复杂的网络功能。
2、相关技术中,当服务链出现故障时,可以触发服务链旁路,从而避免流量由于链路故障导致中断。
3、但是,传统的服务链旁路方法只能被动地响应故障,因此,在网络质量不佳时,无法及时触发服务链旁路,导致服务链的网络性能下降。
技术实现思路
1、为了解决上述现有技术中的问题,本技术实施例提供了一种服务链旁路方法、装置、电子设备及存储介质,用于及时触发服务链旁路,提升服务链的网络性能。
2、第一方面,本技术实施例提供了一种服务链旁路方法,所述方法包括:
3、响应于针对服务链中的第一服务节点的第一拨测请求,生成第一拨测报文,所述第一服务节点为所述第一代理节点对应的服务节点;
4、根据所述第一拨测报文对所述第一服务节点进行拨测,得到所述第一服务节点的第一拨测结果,所述第一拨测结果用于指示所述第一服务节点是否处于旁路状态;
5、接收第一报文,并判断所述第一服务节点是否处于旁路状态;
6、若处于旁路状态,则根据所述第一报文包括的路径信息,对所述第一报文进行旁路处理。
7、在一种可能的实施方式中,所述得到所述第一服务节点的第一拨测结果之后,还包括:
8、若所述第一拨测结果指示所述第一服务节点处于旁路状态,则为本地代理段标识添加旁路标记;
9、所述判断所述第一服务节点是否处于旁路状态,包括:
10、判断所述本地代理段标识是否设置有旁路标记,若是,则确定所述第一服务节点处于旁路状态。
11、在一种可能的实施方式中,所述根据所述第一拨测报文对所述第一服务节点进行拨测,得到所述第一服务节点的第一拨测结果,包括:
12、在预设时长内持续向所述第一服务节点发送所述第一拨测报文,并接收所述第一服务节点针对所述第一拨测报文的第一响应报文;
13、若接收到的所述第一响应报文中超时报文的数量大于第一数量阈值,则确定所述第一拨测结果为所述第一服务节点处于旁路状态;其中所述超时报文的接收时刻与所述第一拨测报文的发送时刻的时间间隔大于第一时间阈值。
14、在一种可能的实施方式中,所述为本地代理段标识添加旁路标记之后,还包括:
15、响应于针对所述第一服务节点的第二拨测请求,生成第二拨测报文;
16、根据所述第二拨测报文对所述第一服务节点进行拨测,得到所述第一服务节点的第二拨测结果,所述第二拨测结果用于指示所述第一服务节点是否处于旁路状态;
17、若所述第二拨测结果指示所述第一服务节点未处于旁路状态,则删除所述本地代理段标识的旁路标记。
18、在一种可能的实施方式中,所述根据所述第一报文包括的路径信息,对所述第一报文进行旁路处理,包括:
19、修改所述第一报文包括的路径信息的目标地址字段,得到目标报文,所述目标报文的目标地址字段包括第二代理节点的代理段标识,所述第二代理节点为第二服务节点的代理节点,所述第二服务节点为所述服务链中与所述第一服务节点相邻的下一服务节点;
20、根据所述第二代理节点的代理段标识,发送所述目标报文。
21、在一种可能的实施方式中,所述判断所述第一服务节点是否处于旁路状态之后,还包括:
22、若未处于旁路状态,则向所述第一服务节点发送所述第一报文的载荷部分。
23、第二方面,本技术实施例提供了一种服务链旁路装置,所述装置包括:
24、拨测单元,用于响应于针对服务链中的第一服务节点的第一拨测请求,生成第一拨测报文,所述第一服务节点为所述第一代理节点对应的服务节点;根据所述第一拨测报文对所述第一服务节点进行拨测,得到所述第一服务节点的第一拨测结果,所述第一拨测结果用于指示所述第一服务节点是否处于旁路状态;
25、接收单元,用于接收第一报文,并判断所述第一服务节点是否处于旁路状态;
26、处理单元,用于若处于旁路状态,则根据所述第一报文包括的路径信息,对所述第一报文进行旁路处理。
27、在一种可能的实施方式中,所述处理单元,还用于:
28、若所述第一拨测结果指示所述第一服务节点处于旁路状态,则为本地代理段标识添加旁路标记;
29、所述判断所述第一服务节点是否处于旁路状态,包括:
30、判断所述本地代理段标识是否设置有旁路标记,若是,则确定所述第一服务节点处于旁路状态。
31、在一种可能的实施方式中,所述拨测单元,具体用于:
32、在预设时长内持续向所述第一服务节点发送所述第一拨测报文,并接收所述第一服务节点针对所述第一拨测报文的第一响应报文;
33、若接收到的所述第一响应报文中超时报文的数量大于第一数量阈值,则确定所述第一拨测结果为所述第一服务节点处于旁路状态;其中所述超时报文的接收时刻与所述第一拨测报文的发送时刻的时间间隔大于第一时间阈值。
34、在一种可能的实施方式中,所述拨测单元,还用于:
35、响应于针对所述第一服务节点的第二拨测请求,生成第二拨测报文;
36、根据所述第二拨测报文对所述第一服务节点进行拨测,得到所述第一服务节点的第二拨测结果,所述第二拨测结果用于指示所述第一服务节点是否处于旁路状态;
37、若所述第二拨测结果指示所述第一服务节点未处于旁路状态,则删除所述本地代理段标识的旁路标记。
38、在一种可能的实施方式中,所述处理单元,具体用于:
39、修改所述第一报文包括的路径信息的目标地址字段,得到目标报文,所述目标报文的目标地址字段包括第二代理节点的代理段标识,所述第二代理节点为第二服务节点的代理节点,所述第二服务节点为所述服务链中与所述第一服务节点相邻的下一服务节点;
40、根据所述第二代理节点的代理段标识,发送所述目标报文。
41、在一种可能的实施方式中,所述处理单元,还用于:
42、若未处于旁路状态,则向所述第一服务节点发送所述第一报文的载荷部分。
43、第三方面,本技术实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现第一方面服务链旁路方法中任一项所述的方法。
44、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面服务链旁路方法中任一项所述的方法。
45、本技术实施例提供的一种服务链旁路方法、装置、电子设备及存储介质,响应于针对服务链中的第一服务节点的第一拨测请求,生成第一拨测报文,并根据第一拨测报文对第一服务节点进行拨测,得到第一服务节点的拨测结果。如果该拨测结果指示第一服务节点处于旁路状态,则对接收到的第一报文进行旁路处理,通过对第一服务节点进行拨测,可以主动检测服务链的网络质量,从而在服务链的网络质量不佳时,及时触发服务链旁路,以此提升服务链的网络性能。