CN112468469B - 一种保障sctp协议多归属报文同源同宿的方法和装置 - Google Patents

一种保障sctp协议多归属报文同源同宿的方法和装置 Download PDF

Info

Publication number
CN112468469B
CN112468469B CN202011282409.9A CN202011282409A CN112468469B CN 112468469 B CN112468469 B CN 112468469B CN 202011282409 A CN202011282409 A CN 202011282409A CN 112468469 B CN112468469 B CN 112468469B
Authority
CN
China
Prior art keywords
sctp
session
port
message
tag
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.)
Active
Application number
CN202011282409.9A
Other languages
English (en)
Other versions
CN112468469A (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.)
Wuhan Greenet Information Service Co Ltd
Original Assignee
Wuhan Greenet Information Service 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 Wuhan Greenet Information Service Co Ltd filed Critical Wuhan Greenet Information Service Co Ltd
Priority to CN202011282409.9A priority Critical patent/CN112468469B/zh
Publication of CN112468469A publication Critical patent/CN112468469A/zh
Priority to PCT/CN2021/130836 priority patent/WO2022105730A1/zh
Application granted granted Critical
Publication of CN112468469B publication Critical patent/CN112468469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及同源同宿技术领域,提供了一种保障SCTP协议多归属报文同源同宿的方法和装置。方法包括SCTP会话处于会话建立阶段,进行会话建立阶段的会话表项建立;在相应目标DPI服务器建立该SCTP会话的一对上下行会话表项,Initiate tag作为下行方向的verification tag记录到该会话的会话表项中;记录INIT ACK报文中携带的initiate tag到上行方向的verification tag;后续接收到各SCTP报文均使用S‑port、D‑port和verification tag进行同宿同源的匹配依据。本发明解决了通过不同IP地址传输时,报文在DPI系统中同源同宿的问题。

Description

一种保障SCTP协议多归属报文同源同宿的方法和装置
【技术领域】
本发明涉及同源同宿技术领域,特别是涉及一种保障SCTP协议多归属报文同源同宿的方法和装置。
【背景技术】
流控制传输协议SCTP(全称为:Stream Control Transmission Protocol)协议每个通信连接称为一个偶联(association)。通过SCTP协议进行通信的双方,称为endpoint,当任意一个endpoint具备多个IP地址时,SCTP偶联能够具备多归属(multi-homing)特性,假设某一SCTP通信场景如图1所示,图中的Client和Server之间的SCTP偶联共有4条通信路径:Client IP1到Server IP1,Client IP1到Sever IP2,Client IP2到Server IP1,ClientIP2到Server IP2。当任意一个接口出现故障时,偶联之间的数据通信可通过其他路径通信,数据传输不产生中断。
网络分流器是深度报文检测(Deep Packet Inspection,简写为:DPI)系统中处于系统的最前端的处理单元,其作用是,将多条线路的上下行流量,进行汇聚,再根据一定的规则进行过滤,负载均衡分流,复制等操作,将特定流量输出到不同的后端分析系统中。DPI系统中的网络分流器,需要保障同一通信会话的流量,发送到同一服务器上,即通信会话的同源同宿功能。
在DPI系统中,一般的TCP或UDP数据,可以通过IP五元组(源IP、目的IP、源端口、目的端口、传输层协议)作为同源同宿算法的依据,保障相同通信会话数据能够同源同宿到同一服务器上。而SCTP协议应用因为具备多归属的特性,导致同一应用可能通过不同IP对进行数据通信,此时一般的通过根据IP五元组保障应用数据同源同宿的算法就不能满足SCTP数据同源同宿的需求了。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明要解决的技术问题是在DPI系统中,一般的TCP或UDP数据,可以通过IP五元组(源IP、目的IP、源端口、目的端口、传输层协议)作为同源同宿算法的依据,保障相同通信会话数据能够同源同宿到同一服务器上。而SCTP协议应用因为具备多归属的特性,导致同一应用可能通过不同IP对进行数据通信,此时一般的通过根据IP五元组保障应用数据同源同宿的算法就不能满足SCTP数据同源同宿的需求了。
本发明采用如下技术方案:
第一方面,一种保障SCTP协议多归属报文同源同宿的方法,收到SCTP协议报文时,分析payload中chunk信息的类型,方法包括:
当chunk type为INIT时,所述SCTP会话处于会话建立阶段,进行会话建立阶段的会话表项建立;
所述会话建立阶段的会话表项建立,包括根据INIT类型的SCTP报文的四元组信息进行hash计算,根据计算hash值确定输出接口,进而确定输出到相应目标DPI服务器;
在相应目标DPI服务器建立该SCTP会话的一对上下行会话表项,报文chunk信息中的Initiate tag作为该上下行会话表项下行方向的verification tag记录到该会话的会话表项中;上行方向的verification tag记录为空;
当SCTP协议报文的chunk type是INIT ACK时,则使用INIT ACK类型的SCTP报文中的S-port、D-port和verification tag进行历史建立的会话表项的匹配;
若匹配成功,则记录INIT ACK类型的SCTP报文中携带的chunk信息中的initiatetag到相应会话表项中空缺的上行方向的verification tag字段中;
后续接收到各SCTP报文均使用S-port、D-port和verification tag进行同宿同源的匹配依据。
优选的,若匹配不成功,则表明INIT ACK类型的SCTP报文所在会话的历史INIT类型的SCTP报文未被网络分流器正确捕获,根据所述INIT ACK类型的SCTP报文建立所述会话表项。
优选的,所述根据所述INIT ACK类型的SCTP报文建立所述会话表项,具体包括:
将INIT ACK类型的SCTP报文的四元组信息进行hash计算,汇聚分流设备根据hash计算值确定输出接口,并记录到对应相应SCTP会话的一对会话表项中;
所述INIT ACK类型的SCTP报文的SIP作为所述SCTP会话上行方向的SIP以及下行方向的DIP;所述INIT ACK类型的SCTP报文的DIP作为该会话上行方向的DIP以及下行方向的SIP;所述INIT ACK类型的SCTP报文的S-port作为所述SCTP会话下行方向的S-port以及上行方向的D-port;所述INIT ACK类型的SCTP报文的D-port作为该会话下行方向的D-port以及上行方向的S-port;所述INIT ACK类型的SCTP报文的verification tag作为所述SCTP会话表项中下行方向的verification tag;所述INIT ACK类型的SCTP报文chunk信息中的initiate tag作为上行方向的verification tag。
优选的,当SCTP报文chunk type不是INIT或者INIT ACK时,且所述SCTP报文的S-port、D-port和verification tag未能与网络分流器中历史建立的会话表项匹配时,所述方法还包括:
增加报文匹配字段,根据四元组信息SIP、DIP、S-port和D-port进行匹配;若能匹配,则证明所述SCTP会话的另一方向报文已经被捕捉和解析,此时该会话表项中缺少本方向的verification tag信息,需将本报文中的verification tag记录到会话表项中,并按照会话表项中所记录输出接口,输出该报文。
优选的,若根据所述四元组信息依旧无法匹配到对应的会话表项,则需要根据当前SCTP报文建立该SCTP会话的会话表项,方法包括:
根据四元组进行hash计算,根据计算结果确定输出接口,并记录在该会话的会话表项中;
所述SCTP报文的SIP作为所述SCTP会话表项本方向的SIP以及另一方向的DIP;所述SCTP报文的DIP作为所述SCTP会话表项本方向的DIP以及另一方向的SIP;所述SCTP报文的S-port作为所述SCTP会话表项本方向的S-port以及另一方向的D-port;所述SCTP报文的D-port作为所述SCTP会话表项本方向的D-port以及另一方向的S-port;所述SCTP报文的verification tag作为所述SCTP会话表项中本方向的verification tag;所述SCTP会话表项另一方向verification tag标记为空;
所述SCTP会话另一方向verification tag,在根据所述SCTP会话表项另一方向的SIP、DIP、S-port和D-port匹配到SCTP报文情况下,将相应SCTP报文中记载的verificationtag更新到历史标记为空的SCTP会话表项中的verification tag。
优选的,在有多个汇聚分流设备和/或DPI服务器时,所述方法还包括:
各汇聚分流设备对于自身所的SCTP会话表项中,所包含的上行方向的verification tag和下行方向的verification tag不全的,会将相应的信息不全的SCTP会话表项分发给各个汇聚分流设备,以便各汇聚分流设备在获取到SCTP报文时,能够根据来自网络中各个汇聚分流设备的待补全SCTP会话表项快速完成表项更新;
其中,各个汇聚分流设备维护自身建立起来的SCTP会话表项,而将相应表项中对应四元组的hash值,以及对应S-port、D-port和verification tag的hash值分发给其他汇聚分流设备。
优选的,所述建立该SCTP会话的一对上下行会话表项后,相应的上下行会话表项填写内容还包括:
将所述INIT类型的SCTP报文的SIP作为该会话上行方向的SIP以及下行方向的DIP;将所述INIT类型的SCTP报文的DIP作为该会话上行方向的DIP以及下行方向的SIP,S-port作为该会话上行方向的S-port以及下行方向的D-port,D-port作为该会话上行方向的D-port以及下行方向的S-port,记录到该会话的会话表项中。
优选的,所述四元组就具体为:源IP地址SIP、目的IP地址DIP、源端口号S-port和目的端口号D-port。
优选的,所述使用INIT ACK类型的SCTP报文中的S-port、D-port和verificationtag进行历史建立的会话表项的匹配,具体包括:
通过计算S-port、D-port和verification tag三者的hash值,并利用计算出的hash值进行历史建立的会话表项中相对应的hash值进行匹配。
第二方面,本发明还提供了一种保障SCTP协议多归属报文同源同宿的装置,用于实现第一方面所述的保障SCTP协议多归属报文同源同宿的方法,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的保障SCTP协议多归属报文同源同宿的方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的保障SCTP协议多归属报文同源同宿的方法。
本发明解决了SCTP报文中同一偶联数据,通过不同IP地址传输时,报文在DPI系统中同源同宿的问题。SCTP大量的数据报文不需要进行IP地址的识别和计算,只需要对源端口,目的端口和verification tag进行解析和hash计算,就能够确定输出接口,降低了计算资源的损耗。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的现有技术中的一种SCTP通信场景结构示意图;
图2是本发明实施例提供的现有技术中的一种分流汇聚设备SCTP协议处理流程示意图;
图3是本发明实施例提供的现有技术中的会话建立,会话通信,会话完成三个阶段的流程示意图;
图4是本发明实施例提供的一种保障SCTP协议多归属报文同源同宿的方法流程示意图;
图5是本发明实施例提供的另一种保障SCTP协议多归属报文同源同宿的方法流程示意图;
图6是本发明实施例提供的另一种保障SCTP协议多归属报文同源同宿的装置结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
现有技术方案对SCTP协议报文的处理,缺少对多归属问题的解决方案,现有分流汇聚设备SCTP协议处理流程如图2所示,这里假设场景,Client与Server为SCTP通信的双向endpoint,endpoint之间所有的通信路径称为path,而初始建立SCTP连接的ClientIP1和ServerIP1的path称为primary path。该primary path上的SCTP数据会被汇聚分流设备镜像转发到DPI服务器1上,而其他path进行通信的数据会被镜像转发到DPI服务器2上。为保障SCTP偶联会话的完整性,需要通过一个技术方案,使其他path之间通信的数据能够被转发到DPI服务器1上。而本发明实施例正是针对上述的技术方案需求而提出的。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
网络分流器需要根据SCTP协议会话的不同阶段,执行不同的处理方案。SCTP完整会话过程主要为:会话建立,会话通信,会话完成三个阶段。流程如图3所示。在SCTP会话建立过程中,根据SCTP协议中的INIT,INIT ACK报文(在本发明实施例也将描述为INIT类型的SCTP报文和INIT ACK类型的SCTP报文),将SCTP会话信息加以处理和保存,为后续SCTP报文提供的转发路径提供参考。
本发明实施例提出了一种保障SCTP协议多归属报文同源同宿的方法,在收到SCTP协议报文时,分析payload中chunk信息的类型,如图4所示,方法包括:
在步骤201中,当chunk type为INIT时,所述SCTP会话处于会话建立阶段,进行会话建立阶段的会话表项建立。
在步骤202中,所述会话建立阶段的会话表项建立,包括根据INIT类型的SCTP报文的四元组信息进行hash计算,根据计算hash值确定输出接口,进而确定输出到相应目标DPI服务器。
所述四元组就具体为:源IP地址SIP、目的IP地址DIP、源端口号S-port和目的端口号D-port。
在步骤203中,在相应目标DPI服务器建立该SCTP会话的一对上下行会话表项,报文chunk信息中的Initiate tag作为该上下行会话表项下行方向的verification tag记录到该会话的会话表项中;上行方向的verification tag记录为空。
此时无法获取到上行方向的verification tag,因此设置为空;上下行的verification tag是不相同的,首先INIT报文是一个上行报文,其chunk信息中包含的initiate tag是作为下行方向的verification tag。
所述建立该SCTP会话的一对上下行会话表项后,相应的上下行会话表项填写内容还包括:将所述INIT类型的SCTP报文的SIP作为该会话上行方向的SIP以及下行方向的DIP;将所述INIT类型的SCTP报文的DIP作为该会话上行方向的DIP以及下行方向的SIP,S-port作为该会话上行方向的S-port以及下行方向的D-port,D-port作为该会话上行方向的D-port以及下行方向的S-port,记录到该会话的会话表项中。
在步骤204中,当SCTP协议报文的chunk type是INIT ACK时,则使用INIT ACK类型的SCTP报文中的S-port、D-port和verification tag进行历史建立的会话表项的匹配。
例如:通过计算S-port、D-port和verification tag三者的hash值,并利用计算出的hash值进行历史建立的会话表项中相对应的hash值进行匹配。
在步骤205中,若匹配成功,则记录INIT ACK类型的SCTP报文中携带的chunk信息中的initiate tag到相应会话表项中空缺的上行方向的verification tag字段中。
INIT ACK报文是一个下行方向的报文,是对上行方向INIT报文的一个应答,其chunk信息中包含的initiate tag,与上行方向的verification tag相等。这里才能把会话记录表项中缺失的上行方向的verification tag补齐。
在步骤206中,后续接收到各SCTP报文均使用S-port、D-port和verification tag进行同宿同源的匹配依据。
本发明实施例解决了SCTP报文中同一偶联数据,通过不同IP地址传输时,报文在DPI系统中同源同宿的问题。SCTP大量的数据报文不需要进行IP地址的识别和计算,只需要对源端口,目的端口和verification tag进行解析和hash计算,就能够确定输出接口,降低了计算资源的损耗。
当SCTP的偶联数据,在Primary Path通道出现故障,如某一endpoint的某一物理接口失效而数据通过其他Path通信时,因会话仅需通过S-port,D-port和verificationtag与会话表项进行匹配,进而确定该数据的输出接口,保障在SCTP会话通过不同IP地址,即不同Path通信的数据,也能够同源同宿。
对于本发明实施例中对应于步骤205的判断分支,还存在一种情况,如图5所示,在步骤207中,若匹配不成功,则表明INIT ACK类型的SCTP报文所在会话的历史INIT类型的SCTP报文未被网络分流器正确捕获,根据所述INIT ACK类型的SCTP报文建立所述会话表项。
其中,所述根据所述INIT ACK类型的SCTP报文建立所述会话表项,具体包括:
将INIT ACK类型的SCTP报文的四元组信息进行hash计算,汇聚分流设备根据hash计算值确定输出接口,并记录到对应相应SCTP会话的一对会话表项中;
所述INIT ACK类型的SCTP报文的SIP作为所述SCTP会话上行方向的SIP以及下行方向的DIP;所述INIT ACK类型的SCTP报文的DIP作为该会话上行方向的DIP以及下行方向的SIP;所述INIT ACK类型的SCTP报文的S-port作为所述SCTP会话下行方向的S-port以及上行方向的D-port;所述INIT ACK类型的SCTP报文的D-port作为该会话下行方向的D-port以及上行方向的S-port;所述INIT ACK类型的SCTP报文的verification tag作为所述SCTP会话表项中下行方向的verification tag;所述INIT ACK类型的SCTP报文chunk信息中的initiate tag作为上行方向的verification tag。
在本发明实施例实现过程中,考虑到上述基于INIT类型的SCTP报文和INIT ACK类型的SCTP报文仅在会话建立时候才出现,那么根据实际可能发生的情况,有可能会错过或者丢失上述会话建立过程中实现SCTP会话表项的建立。因此,结合本发明实施例作为完整可能性实现方案而言,还存在一种扩展实现内容,具体的:当SCTP报文chunk type不是INIT或者INIT ACK时,且所述SCTP报文的S-port、D-port和verification tag未能与网络分流器中历史建立的会话表项匹配时,所述方法还包括:
增加报文匹配字段,根据四元组信息SIP、DIP、S-port和D-port进行匹配;若能匹配,则证明所述SCTP会话的另一方向报文已经被捕捉和解析,此时该会话表项中缺少本方向的verification tag信息,需将本报文中的verification tag记录到会话表项中,并按照会话表项中所记录输出接口,输出该报文;
若根据所述四元组信息依旧无法匹配到对应的会话表项,则需要根据当前SCTP报文建立该SCTP会话的会话表项,方法包括:
根据四元组进行hash计算,根据计算结果确定输出接口,并记录在该会话的会话表项中;
所述SCTP报文的SIP作为所述SCTP会话表项本方向的SIP以及另一方向的DIP;所述SCTP报文的DIP作为所述SCTP会话表项本方向的DIP以及另一方向的SIP;所述SCTP报文的S-port作为所述SCTP会话表项本方向的S-port以及另一方向的D-port;所述SCTP报文的D-port作为所述SCTP会话表项本方向的D-port以及另一方向的S-port;所述SCTP报文的verification tag作为所述SCTP会话表项中本方向的verification tag;所述SCTP会话表项另一方向verification tag标记为空;
所述SCTP会话另一方向verification tag,在根据所述SCTP会话表项另一方向的SIP、DIP、S-port和D-port匹配到SCTP报文情况下,将相应SCTP报文中记载的verificationtag更新到历史标记为空的SCTP会话表项中的verification tag。
此时SCTP会话建立过程的报文已经缺失,因此无法确定报文的方向性,且此时报文的方向性已经不再重要,因此可以假定收到的报文为上行或下行方向报文都可以,并记录相应信息到会话表项中,之后根据四元组信息进行匹配后,可以获取到下行行或上行方向的verification tag。在上述描述中,实际上使用修改“本方向”和“另一方向”代替历史上的“下行”和“上行”的描述形式。
进一步,考虑一种存在的分布式复杂场景,在有多个汇聚分流设备和/或DPI服务器时,所述方法还包括:
各汇聚分流设备对于自身所的SCTP会话表项中,所包含的上行方向的verification tag和下行方向的verification tag不全的,会将相应的信息不全的SCTP会话表项分发给各个汇聚分流设备,以便各汇聚分流设备在获取到SCTP报文时,能够根据来自网络中各个汇聚分流设备的待补全SCTP会话表项快速完成表项更新;
其中,各个汇聚分流设备维护自身建立起来的SCTP会话表项,而将相应表项中对应四元组的hash值,以及对应S-port、D-port和verification tag的hash值分发给其他汇聚分流设备。从而保证分布式汇聚分流设备下的全网记录信息尽可能精简,且可全数据复盘。
实施例2:
本发明实施例2从更为容易理解的逻辑层面系统的将实施例1中相关扩展方案联系到一起来进行阐述,并结合举例的SCTP会话表项形成进行呈现。需要指出的是,在实施例1中的类似INIT类型的SCTP报文在本发明实施例中将简称为INIT报文。
情况1、当网络分流器收到SCTP协议报文后,首先分析payload中chunk信息的类型,当chunk type为INIT时,则该SCTP处于会话建立阶段,其用于同源同宿的会话表项应遵循如下方案:
步骤(1)、根据SCTP的INIT报文的四元组信息进行hash计算,汇聚分流设备根据计算结果确定输出接口,进而确定输出到哪一台DPI服务器。
步骤(2)、建立该SCTP会话的一对上下行会话表项,将该INIT报文的SIP作为该会话上行方向的SIP以及下行方向的DIP,DIP作为该会话上行方向的DIP以及下行方向的SIP,S-port作为该会话上行方向的S-port以及下行方向的D-port,D-port作为该会话上行方向的D-port以及下行方向的S-port,记录到该会话的会话表项中;该报文chunk信息中的Initiate tag作为该会话下行方向的verification tag记录到该会话的会话表项中;上行方向的verification tag记录为空;记录步骤(1)中所得输出接口到该SCTP会话的一对表项中。会话表项如下所示:
Figure GDA0003387027770000111
Figure GDA0003387027770000121
情况2、当SCTP协议报文的chunk type是INIT ACK时,则使用该报文的S-port、D-port和verification tag进行会话匹配。此时可能出现两类情况:
情况2.1、如匹配成功,则证明该会话已经通过INIT报文建立了会话表项,此时该会话表项缺失上行方向的verification tag,需记录INIT ACK报文chunk信息中的initiate tag作为上行方向的verification tag。
情况2.2、如匹配不成功,则证明该会话的INIT报文未被网络分流器正确捕获,需要根据INIT ACK建立会话表项。会话表项建立规则是:
报文的四元组信息进行hash计算,汇聚分流设备根据计算结果确定输出接口,并记录到该SCTP的一对会话表项中。
该INIT ACK报文的SIP作为该会话上行方向的SIP以及下行方向的DIP;该报文的DIP作为该会话上行方向的DIP以及下行方向的SIP;该报文的S-port作为所述SCTP会话下行方向的S-port以及上行方向的D-port;该报文的D-port作为该会话下行方向的D-port以及上行方向的S-port;该报文的verification tag作为该SCTP会话表项中下行方向的verification tag;该报文chunk信息中的initiate tag作为上行方向的verificationtag。以上信息记录到该会话的会话表项中。
情况3、当SCTP报文chunk type不是情况1、情况2中的情况时,且该报文的S-port、D-port和verification tag未能与网络分流器中现有会话表项匹配时,需要按照以下步骤进行处理:
步骤(1)、增加报文匹配字段,进行四元组信息的匹配,即以SIP、DIP、S-port和D-port进行匹配,此时若能匹配,则证明该会话的另一方向报文已经被捕捉和解析,此时该会话表项中缺少本方向的verification tag信息,需将本报文中的verification tag记录到会话表项中,并按照会话表项中所记录输出接口,输出该报文;
步骤(2)、如按照四元组信息依旧无法匹配到对应的会话表项,则需要根据本报文建立该SCTP会话的会话表项,建立规则如下:
根据四元组进行hash计算,根据计算结果确定输出接口,并记录在该会话的会话表项中;
该报文的SIP作为该会话上行方向的SIP以及下行方向的DIP;该报文的DIP作为该会话上行方向的DIP以及下行方向的SIP;该报文的S-port作为该会话下行方向的S-port以及上行方向的D-port;该报文的D-port作为所述SCTP会话下行方向的D-port以及上行方向的S-port;该报文的verification tag作为该SCTP会话表项中下行方向的verificationtag;该会话上行方向verification tag标记为空。
当有该会话另一方向报文被捕获是,则按照上述情况3进行处理。
通过情况1、情况2、情况3SCTP会话的不同阶段报文都能够在网络分流器中建立或匹配到会话表项,并根据会话表项确定输出接口。
当SCTP的偶联数据,在Primary Path通道出现故障,如某一endpoint的某一物理接口失效而数据通过其他Path通信时,因会话仅需通过S-port,D-port和verificationtag与会话表项进行匹配,进而确定该数据的输出接口,保障在SCTP会话通过不同IP地址,即不同Path通信的数据,也能够同源同宿。
实施例3:
如图6所示,是本发明实施例的保障SCTP协议多归属报文同源同宿的装置的架构示意图。本实施例的保障SCTP协议多归属报文同源同宿的装置包括一个或多个处理器21以及存储器22。其中,图6中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的保障SCTP协议多归属报文同源同宿的方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行保障SCTP协议多归属报文同源同宿的方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的保障SCTP协议多归属报文同源同宿的方法,例如,执行以上描述的图4和图5所示的各个步骤。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种保障SCTP协议多归属报文同源同宿的方法,其特征在于,收到SCTP协议报文时,分析payload中chunk信息的类型,方法包括:
当chunk type为INIT时,SCTP会话处于会话建立阶段,进行会话建立阶段的会话表项建立;
所述会话建立阶段的会话表项建立,包括根据INIT类型的SCTP报文的四元组信息进行hash计算,根据计算hash值确定输出接口,进而确定输出到相应目标DPI服务器;
在相应目标DPI服务器建立该SCTP会话的一对上下行会话表项,报文chunk信息中的Initiate tag作为该上下行会话表项下行方向的verification tag记录到该会话的会话表项中;上行方向的verification tag记录为空;
当SCTP协议报文的chunk type是INIT ACK时,则使用INIT ACK类型的SCTP报文中的S-port、D-port和verification tag进行历史建立的会话表项的匹配;
若匹配成功,则记录INIT ACK类型的SCTP报文中携带的chunk信息中的initiate tag到相应会话表项中空缺的上行方向的verification tag字段中;
后续接收到各SCTP报文均使用S-port、D-port和verification tag进行同宿同源的匹配依据;
当SCTP报文chunk type不是INIT或者INIT ACK时,且所述SCTP报文的S-port、D-port和verification tag未能与网络分流器中历史建立的会话表项匹配时,所述方法还包括:
增加报文匹配字段,根据四元组信息SIP、DIP、S-port和D-port进行匹配;若能匹配,则证明所述SCTP会话的另一方向报文已经被捕捉和解析,此时该会话表项中缺少本方向的verification tag信息,需将本报文中的verification tag记录到会话表项中,并按照会话表项中所记录输出接口,输出该报文。
2.根据权利要求1所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,若匹配不成功,则表明INIT ACK类型的SCTP报文所在会话的历史INIT类型的SCTP报文未被网络分流器正确捕获,根据所述INIT ACK类型的SCTP报文建立所述会话表项。
3.根据权利要求2所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,所述根据所述INIT ACK类型的SCTP报文建立所述会话表项,具体包括:
将INIT ACK类型的SCTP报文的四元组信息进行hash计算,汇聚分流设备根据hash计算值确定输出接口,并记录到对应相应SCTP会话的一对会话表项中;
所述INIT ACK类型的SCTP报文的SIP作为所述SCTP会话上行方向的SIP以及下行方向的DIP;所述INIT ACK类型的SCTP报文的DIP作为该会话上行方向的DIP以及下行方向的SIP;所述INIT ACK类型的SCTP报文的S-port作为所述SCTP会话下行方向的S-port以及上行方向的D-port;所述INIT ACK类型的SCTP报文的D-port作为该会话下行方向的D-port以及上行方向的S-port;所述INIT ACK类型的SCTP报文的verification tag作为所述SCTP会话表项中下行方向的verification tag;所述INIT ACK类型的SCTP报文chunk信息中的initiate tag作为上行方向的verification tag。
4.根据权利要求1所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,若根据所述四元组信息依旧无法匹配到对应的会话表项,则需要根据当前SCTP报文建立该SCTP会话的会话表项,方法包括:
根据四元组进行hash计算,根据计算结果确定输出接口,并记录在该会话的会话表项中;
所述SCTP报文的SIP作为所述SCTP会话表项本方向的SIP以及另一方向的DIP;所述SCTP报文的DIP作为所述SCTP会话表项本方向的DIP以及另一方向的SIP;所述SCTP报文的S-port作为所述SCTP会话表项本方向的S-port以及另一方向的D-port;所述SCTP报文的D-port作为所述SCTP会话表项本方向的D-port以及另一方向的S-port;所述SCTP报文的verification tag作为所述SCTP会话表项中本方向的verification tag;所述SCTP会话表项另一方向verification tag标记为空;
所述SCTP会话另一方向verification tag,在根据所述SCTP会话表项另一方向的SIP、DIP、S-port和D-port匹配到SCTP报文情况下,将相应SCTP报文中记载的verification tag更新到历史标记为空的SCTP会话表项中的verification tag。
5.根据权利要求4所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,在有多个汇聚分流设备和/或DPI服务器时,所述方法还包括:
各汇聚分流设备对于自身所的SCTP会话表项中,所包含的上行方向的verificationtag和下行方向的verification tag不全的,会将相应的信息不全的SCTP会话表项分发给各个汇聚分流设备,以便各汇聚分流设备在获取到SCTP报文时,能够根据来自网络中各个汇聚分流设备的待补全SCTP会话表项快速完成表项更新;
其中,各个汇聚分流设备维护自身建立起来的SCTP会话表项,而将相应表项中对应四元组的hash值,以及对应S-port、D-port和verification tag的hash值分发给其他汇聚分流设备。
6.根据权利要求1所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,所述建立该SCTP会话的一对上下行会话表项后,相应的上下行会话表项填写内容还包括:
将所述INIT类型的SCTP报文的SIP作为该会话上行方向的SIP以及下行方向的DIP;将所述INIT类型的SCTP报文的DIP作为该会话上行方向的DIP以及下行方向的SIP,S-port作为该会话上行方向的S-port以及下行方向的D-port,D-port作为该会话上行方向的D-port以及下行方向的S-port,记录到该会话的会话表项中。
7.根据权利要求1所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,所述四元组就具体为:源IP地址SIP、目的IP地址DIP、源端口号S-port和目的端口号D-port。
8.根据权利要求1所述的保障SCTP协议多归属报文同源同宿的方法,其特征在于,所述使用INIT ACK类型的SCTP报文中的S-port、D-port和verification tag进行历史建立的会话表项的匹配,具体包括:
通过计算S-port、D-port和verification tag三者的hash值,并利用计算出的hash值进行历史建立的会话表项中相对应的hash值进行匹配。
9.一种保障SCTP协议多归属报文同源同宿的装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-8任一所述的保障SCTP协议多归属报文同源同宿的方法。
CN202011282409.9A 2020-11-17 2020-11-17 一种保障sctp协议多归属报文同源同宿的方法和装置 Active CN112468469B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011282409.9A CN112468469B (zh) 2020-11-17 2020-11-17 一种保障sctp协议多归属报文同源同宿的方法和装置
PCT/CN2021/130836 WO2022105730A1 (zh) 2020-11-17 2021-11-16 一种保障sctp协议多归属报文同源同宿的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011282409.9A CN112468469B (zh) 2020-11-17 2020-11-17 一种保障sctp协议多归属报文同源同宿的方法和装置

Publications (2)

Publication Number Publication Date
CN112468469A CN112468469A (zh) 2021-03-09
CN112468469B true CN112468469B (zh) 2022-01-04

Family

ID=74837951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011282409.9A Active CN112468469B (zh) 2020-11-17 2020-11-17 一种保障sctp协议多归属报文同源同宿的方法和装置

Country Status (2)

Country Link
CN (1) CN112468469B (zh)
WO (1) WO2022105730A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468469B (zh) * 2020-11-17 2022-01-04 武汉绿色网络信息服务有限责任公司 一种保障sctp协议多归属报文同源同宿的方法和装置
CN115134284B (zh) * 2021-03-24 2023-07-14 中国电信股份有限公司 通过多个分流器实现同源同宿分流的方法、装置和介质
CN114884882B (zh) * 2022-06-16 2023-11-21 深圳星云智联科技有限公司 一种流量可视化方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202771A (zh) * 2014-09-03 2014-12-10 武汉虹信技术服务有限责任公司 Lte核心网络接口大流量数据的负载均衡方法
CN107612840A (zh) * 2017-09-26 2018-01-19 东软集团股份有限公司 一种四层负载均衡设备的数据处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7535916B2 (en) * 2005-02-07 2009-05-19 Cisco Technology, Inc. Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications
CN100542144C (zh) * 2007-07-31 2009-09-16 杭州华三通信技术有限公司 基于安全设备的报文转发系统和方法以及安全设备
US7890637B1 (en) * 2008-02-25 2011-02-15 Juniper Networks, Inc. Secure communications in a system having multi-homed devices
CN102118792B (zh) * 2009-12-31 2015-01-21 华为技术有限公司 一种传输数据包的方法及装置
CN101873259B (zh) * 2010-06-01 2013-01-09 华为技术有限公司 Sctp报文识别方法和装置
CN104580550A (zh) * 2014-12-30 2015-04-29 北京天融信科技有限公司 分布式系统中多业务板分流时的nat处理方法及设备
CN106302236A (zh) * 2015-05-27 2017-01-04 国家计算机网络与信息安全管理中心 一种数据分流的方法及接入设备
US11611905B2 (en) * 2017-12-27 2023-03-21 Intel Corporation User-plane apparatus for edge computing
CN111083792B (zh) * 2018-10-22 2021-09-07 华为技术有限公司 WiFi网络中的数据传输方法、装置及设备
CN111163015B (zh) * 2019-12-24 2023-05-09 北京百卓网络技术有限公司 报文发送方法、装置及汇聚分流设备
CN112468469B (zh) * 2020-11-17 2022-01-04 武汉绿色网络信息服务有限责任公司 一种保障sctp协议多归属报文同源同宿的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202771A (zh) * 2014-09-03 2014-12-10 武汉虹信技术服务有限责任公司 Lte核心网络接口大流量数据的负载均衡方法
CN107612840A (zh) * 2017-09-26 2018-01-19 东软集团股份有限公司 一种四层负载均衡设备的数据处理方法及装置

Also Published As

Publication number Publication date
WO2022105730A1 (zh) 2022-05-27
CN112468469A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN112468469B (zh) 一种保障sctp协议多归属报文同源同宿的方法和装置
US11750483B2 (en) In-line performance monitoring
US7921282B1 (en) Using SYN-ACK cookies within a TCP/IP protocol
US10218592B2 (en) Method, device and system for performing bidirectional forwarding detection on aggregated link
US10050870B2 (en) Handling multipath flows in service function chaining
CN102404396B (zh) P2p流量识别方法、装置、设备和系统
US8059653B1 (en) Transaction and connection independent protocol load balancing
US10263861B2 (en) Multi-path aware tracing and probing functionality at service topology layer
US9185033B2 (en) Communication path selection
US9800551B2 (en) AVC Bi-directional correlation using an overlay fabric header
US7096272B1 (en) Methods and apparatus for pooling and depooling the transmission of stream data
US20160150043A1 (en) Source ip address transparency systems and methods
US20070124378A1 (en) Method and system for indicate and post processing in a flow through data architecture
CN103312565A (zh) 一种基于自主学习的对等网络流量识别方法
KR20160042441A (ko) 애플리케이션-인식 네트워크 관리
US20170195133A1 (en) Network service header (nsh) metadata-based end-to-end multimedia session identification and multimedia service optimization
US11184283B2 (en) Service function chaining congestion tracking
US10680922B2 (en) Communication control apparatus and communication control method
US20220200910A1 (en) Methods and systems for autonomous rule-based task coordination amongst edge devices
US10178015B2 (en) Methods, systems, and computer readable media for testing network equipment devices using connectionless protocols
CN111193813B (zh) 确定nat类型的测试请求处理方法、装置和计算机设备
US7660906B1 (en) Data delivery system and method
GB2592315A (en) Methods and systems for sending packets through a plurality of tunnels
CN107104892A (zh) 网络加速的方法和装置
CN108123890A (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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for ensuring the same origin and same destination of SCTP protocol multi homed messages

Effective date of registration: 20220608

Granted publication date: 20220104

Pledgee: Hengfeng Bank Co.,Ltd. Wuhan Branch

Pledgor: WUHAN GREENET INFORMATION SERVICE Co.,Ltd.

Registration number: Y2022420000150

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20221121

Granted publication date: 20220104

Pledgee: Hengfeng Bank Co.,Ltd. Wuhan Branch

Pledgor: WUHAN GREENET INFORMATION SERVICE Co.,Ltd.

Registration number: Y2022420000150

PC01 Cancellation of the registration of the contract for pledge of patent right