数据传输的方法、装置和系统
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及一种数据传输的方法、装置和系统。
背景技术
数据流在传输过程中,容易受到网络攻击,例如攻击者用重放、伪造等攻击手段向网络中投放大量攻击包,一方面,攻击包的传输会损耗大量网络带宽,另一方面也会对接收端造成不利影响。例如在如图1所示的报头压缩的场景中,数据流在压缩端进行报头压缩,处理之后的压缩包在压缩端与解压缩端之间的传输路径中传输,最终到达解压端。如果在压缩包传输过程中遭到网络攻击,例如攻击者用重放、伪造等攻击手段向网络中投放大量攻击包,这些大量的攻击包会传输至解压端,导致解压端会损耗大量的计算资源用于解码这些攻击包,严重时会造成拒绝服务。
发明内容
本发明实施例提供一种数据传输的方法、装置和系统,能够及时发现数据流传输过程中存在网络攻击,并能够有效减少攻击包在网络中的传输。
第一方面,提供了一种数据传输的方法,该方法包括:
控制器为第一业务数据流分配至少一个安全标识;
具体地,该第一业务数据流指示第一业务对应的数据流,应理解,该第一业务指示通信传输中的任何业务,本发明实施例对此不作限定。该第一业务数据流的报头字段包括报头标识,具体地例如第一业务数据流的源IP地址、目的IP地址、源MAC地址、目的MAC地址,传输协议信息、传输控制协议(Transmission Control Protocol,简称为“TCP”)信息或用户数据报协议(User Datagram Protocol,简称为“UDP”)端口信息、或者该第一业务数据流的流ID等信息。应理解,该第一业务数据流的每个数据包都包括该第一业务的报头标识。
具体地,本发明实施例提出的安全标识为一种标识,具体形式可以是数字、字母等信号形式,用于对第一业务数据流的数据包X(对应第一数据包)的报头作修改,例如在该数据包X的报头字段增加该安全标识,从而将该数据包X替换处理为携带该安全标识的第二数据包;或者将该数据包X的报头字段中的一个或多个报头标识替换为该安全标识,例如将数据包X的报头字段中的源IP地址替换为该安全标识,从而替换得到携带该安全标识的第二数据包。本发明实施例提及的安全标识不同于第一业务数据流的报头字段的报头标识。
该控制器向该第一业务数据流的传输路径中的首节点发送包括该至少一个安全标识的第一指示消息,该第一指示消息用于指示该首节点利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,并向该传输路径中的下一节点发送该第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
具体地,该控制器为该第一业务数据流配置传输路径,如图1所示的传输路径120,包括首节点和末节点,也可以包括中间节点。
该第一数据包指示该第一业务数据流中的数据包,即该第一数据包包括该第一业务数据流的报头标识。
可选地,在本发明实施例中,该第一指示消息用于指示首节点通过处理该第一数据包的报头标识,获取携带该第一安全标识的第二数据包,并将第一数据包替换为该第二数据包,将该第二数据包发送至传输路径中的下一节点。
具体地,例如,在第一数据包中增加填充有该第一安全标识的报头标识字段,从而将第一数据包替换处理为携带第一安全标识的第二数据包。或者,将第一数据包的某一个报头标识替换为该第一安全标识,例如将第一数据包的报头标识中的源IP地址替换为该第一安全标识,从而将第一数据包替换处理为携带第一安全标识的第二数据包。还可以采用其他手段对第一数据包的报头标识进行处理,最终将第一数据包替换处理为携带第一安全标识的第二数据包,本发明实施例对此不作限定。
该控制器向该传输路径中的中间节点发送用于指示将接收到的该第二数据包发送至该传输路径中的下一节点的第二指示消息,该控制器还向该传输路径中的末节点发送用于指示将接收到的该第二数据包还原处理为对应的该第一数据包的第三指示消息;
该控制器获取该第二数据包的收发数量,该收发数量指示该末节点接收到的该第二数据包的个数和该首节点发送的该第二数据包的个数;
该控制器根据该第二数据包的收发数量,确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该控制器向该传输路径中的每个节点发送用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息。
结合第一方面,在第一方面的一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,该方法还包括:
该控制器根据携带该首用安全标识的数据包的收发数量,确定所述第一业务数据流在传输过程中遭到流量分析攻击。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该第一指示消息具体用于指示该首节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,以替换处理该第一数据包。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,该第一指示消息还用于指示该首节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,在确定该第一业务数据流在传输过程中遭到网络攻击的情况下,该方法还包括:
该控制器向该首节点发送用于指示不再利用该受攻击安全标识替换处理该第一数据包的第五指示消息。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,在确定该第一业务数据流在传输过程中遭到网络攻击之后,该方法还包括:
该控制器获取该传输路径中每两个相邻节点中后一节点接收的该第二数据包的个数与前一节点发送的该第二数据包的个数;
该控制器根据获取的该后一节点接收的该第二数据包的个数与该前一节点发送的该第二数据包的个数,确定该传输路径中相邻的第一节点与第二节点之间的路径为受攻击路径;
该控制器为该第一业务数据流分配替代传输路径,该替代传输路径不包括该受攻击路径。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,该控制器获取该第二数据包的收发数量,包括:
该控制器根据预设定时器,获取该第二数据包的收发数量。
结合第一方面和上述可能的实现方式,在第一方面的另一种可能的实现方式中,该方法还包括:
当该控制器检测到该第一业务数据流的流删除事件时,释放为该第一业务数据流分配的安全标识。
第二方面提供了一种数据传输的方法,该方法包括:
第一节点接收控制器发送的第一指示消息,该第一指示消息包括该控制器为第一业务数据流分配的至少一个安全标识,该第一节点为该第一业务数据流的传输路径中的首节点;
该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
该第一节点向该传输路径中的下一节点发送该第二数据包;
该第一节点向该控制器发送已经发送的该第二数据包的个数,以便于该控制器确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该第一节点接收该控制器发送的用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息,并根据该第四指示消息,丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包。
结合第二方面,在第二方面的一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包;
该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,包括:
该第一节点优先利用该第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包。
结合第二方面和上述可能的实现方式,在第二方面的另一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该第一指示消息具体用于指示根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识;
该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,包括:
该第一节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,并利用该第一安全标识替换处理该第一数据包,获取携带该第一安全标识的第二数据包。
结合第二方面和上述可能的实现方式,在第二方面的另一种可能的实现方式中,该第一指示消息还用于指示该第一节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
结合第二方面和上述可能的实现方式,在第二方面的另一种可能的实现方式中,在接收到该第二指示消息之后,该方法还包括:
该第一节点不再利用该受攻击安全标识处理该第一业务数据流中的数据包。
结合第二方面和上述可能的实现方式,在第二方面的另一种可能的实现方式中,该第一节点为第二业务数据流的传输路径中的中间节点,该方法还包括:
该第一节点根据控制器发送的第三指示消息,将接收到的携带第二安全标识的数据包转发至该第二业务数据流的传输路径中的下一节点,其中第二安全标识为该控制器为该第二业务数据流分配的安全标识,该携带第二安全标识的数据包为该第二业务数据流的传输路径中的首节点对该第二业务数据流的数据包进行替换处理后得到的。
结合第二方面和上述可能的实现方式,在第二方面的另一种可能的实现方式中,该第一节点为第三业务数据流的传输路径中的末节点,该方法还包括:
该第一节点根据控制器发送的第四指示消息,将接收到的携带第三安全标识的数据包还原处理为对应的该第三业务数据流的数据包,其中第三安全标识为该控制器为该第三业务数据流分配的安全标识,该携带第三安全标识的数据包为该第三业务数据流的传输路径中的首节点对该第三业务数据流的数据包进行替换处理后得到的;
该第一节点向该控制器发送接收到的携带该第三安全标识的数据包的个数,以便于该控制器确定该第三业务数据流在传输过程中遭到网络攻击。
第三方面提供了一种控制器,该控制器包括:
分配模块,用于为第一业务数据流分配至少一个安全标识;
发送模块,用于向该第一业务数据流的传输路径中的首节点发送包括该分配模块分配的至少一个安全标识的第一指示消息,该第一指示消息用于指示该首节点利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,并向该传输路径中的下一节点发送该第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
该发送模块还用于,向该传输路径中的中间节点发送用于指示将接收到的该第二数据包发送至该传输路径中的下一节点的第二指示消息,该发送模块还用于,向该传输路径中的末节点发送用于指示将接收到的该第二数据包还原处理为对应的该第一数据包的第三指示消息;
获取模块,用于获取该第二数据包的收发数量,该收发数量指示该末节点接收到的该第二数据包的个数和该首节点发送的该第二数据包的个数;
第一确定模块用于,根据该获取模块获取的第二数据包的收发数量,确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该发送模块还用于,向该传输路径中的每个节点发送用于指示丢弃当前在该传输路径中传输的携带该第一确定模块确定的受攻击安全标识的数据包的第四指示消息。
结合第三方面,在第三方面的一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,该分配模块为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该发送模块发送的该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包。
结合第三方面和上述可能的实现方式,在第三方面的另一种可能的实现方式中,该控制器还包括:
第二确定模块,用于根据携带该首用安全标识的数据包的收发数量,确定所述第一业务数据流在传输过程中遭到流量分析攻击。
结合第三方面和上述可能的实现方式,在第三方面的另一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,该分配模块为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该发送模块发送的该第一指示消息具体用于指示该首节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,以替换处理该第一数据包。
结合第三方面和上述可能的实现方式,在第三方面的另一种可能的实现方式中,该发送模块发送的该第一指示消息还用于指示该首节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
结合第三方面和上述可能的实现方式,在第三方面的另一种可能的实现方式中,该发送模块还用于,在该第一确定模块确定该第一业务数据流在传输过程中遭到网络攻击的情况下,向该首节点发送用于指示不再利用该受攻击安全标识替换处理该第一数据包的第五指示消息。
结合第三方面和上述可能的实现方式,在第三方面的另一种可能的实现方式中,该获取模块还用于,在该第一确定模块确定该第一业务数据流在传输过程中遭到网络攻击之后,获取该传输路径中每两个相邻节点中后一节点接收的该第二数据包的个数与前一节点发送的该第二数据包的个数;
该控制器还包括:
第三确定模块,用于根据该获取模块获取的该后一节点接收的该第二数据包的个数与该前一节点发送的该第二数据包的个数,确定该传输路径中相邻的第一节点与第二节点之间的路径为受攻击路径;
该分配模块还用于,为该第一业务数据流分配替代传输路径,该替代传输路径不包括该受攻击路径。
结合第三方面和上述可能的实现方式,在第三方面的另一种可能的实现方式中,该控制器还包括:
释放模块,用于当检测到该第一业务数据流的流删除事件时,释放为该第一业务数据流分配的安全标识。
第四方面提供了一种数据传输的节点,该节点包括:
接收模块,用于接收控制器发送的第一指示消息,该第一指示消息包括该控制器为第一业务数据流分配的至少一个安全标识,该节点为该第一业务数据流的传输路径中的首节点;
替换模块,用于根据该接收模块接收的该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
发送模块,用于向该传输路径中的下一节点发送该替换模块获取的该第二数据包;
该发送模块还用于,向该控制器发送已经发送的该第二数据包的个数,以便于该控制器确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该接收模块还用于,接收该控制器发送的用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息,并根据该第四指示消息,丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包。
结合第四方面,在第四方面的一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该接收模块接收的该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包;
该替换模块具体用于,优先利用该第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包。
结合第四方面和上述可能的实现方式,在第四方面的另一种可能的实现方式中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该接收模块接收的该第一指示消息具体用于指示根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识;
该替换模块具体用于,根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,并利用该第一安全标识替换处理该第一数据包,获取携带该第一安全标识的第二数据包。
结合第四方面和上述可能的实现方式,在第四方面的另一种可能的实现方式中,该第一指示消息还用于指示该节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
结合第四方面和上述可能的实现方式,在第四方面的另一种可能的实现方式中,该替换模块还用于,在该接收模块接收到该第二指示消息后,不再利用该第一安全标识替换处理该第一业务数据流中的数据包。
结合第四方面和上述可能的实现方式,在第四方面的另一种可能的实现方式中,该节点为第二业务数据流的传输路径中的中间节点,该节点还包括:
转发模块,用于根据控制器发送的第三指示消息,将接收到的携带第二安全标识的数据包转发至该第二业务数据流的传输路径中的下一节点,其中第二安全标识为该控制器为该第二业务数据流分配的安全标识,该携带第二安全标识的数据包为该第二业务数据流的传输路径中的首节点对该第二业务数据流的数据包进行替换处理后得到的。
结合第四方面和上述可能的实现方式,在第四方面的另一种可能的实现方式中,该节点为第三业务数据流的传输路径中的末节点,该节点还包括:
还原模块,用于根据控制器发送的第四指示消息,将接收到的携带第三安全标识的数据包还原处理为对应的该第三业务数据流的数据包,其中第三安全标识为该控制器为该第三业务数据流分配的安全标识,该携带第三安全标识的数据包为该第三业务数据流的传输路径中的首节点对该第三业务数据流的数据包进行替换处理后得到的;
该发送模块还用于,向该控制器发送接收到的携带该第三安全标识的数据包的个数,以便于该控制器确定该第三业务数据流在传输过程中遭到网络攻击。
第五方面提供了一种数据传输的系统,该系统包括第三方面提供的控制器和第四方面提供的节点。
基于上述技术方案,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率,同时也能够减少到达接收端的攻击包的数量,以降低接收端的计算负担。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的应用场景的示意图。
图2示出了根据本发明实施例提供的数据传输的方法的示意性流程图。
图3示出了根据本发明实施例提供的数据传输的方法的另一示意性流程图。
图4示出了根据本发明实施例提供的控制器的示意性框图。
图5示出了根据本发明实施例提供的节点的示意性框图。
图6示出了根据本发明另一实施例提供的控制器的示意性框图。
图7示出了根据本发明另一实施例提供的节点的示意性框图。
图8示出了根据本发明实施例提供的数据传输的系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中涉及的网络攻击指的是,攻击者用重放、伪造等攻击手段向网络中投放大量攻击包。应理解,本文中提及的攻击包指的是,攻击者在网络中重放或伪造的数据包,具体地,例如,在图1所示场景中,假设攻击者位于首节点121与中间节点122之间,首节点121向中间节点122发送一个数据包X,则该攻击者根据该数据包X重放或者伪造的数据包称之为攻击包。
为了便于理解本发明实施例提供的数据传输的方法、装置和系统,下面结合图1首先描述一下本发明实施例的应用场景。如图1所示,压缩端110发出的数据流,要经过包括首节点121、中间节点122和末节点123的传输路径120达到解压端130,其中该传输路径120中的各个节点在控制器140的控制下,传输压缩端110发出的数据流。应理解,为了便于理解和描述,图1只示出一个中间节点,图1所示的中间节点122指示任一个位于首节点121与末节点123之间的节点。
具体地,图1中的控制器140例如为集中管控网络中的控制器。
应理解,集中管控网络是一种网络组成形式,集中管控网络中的每个组件(例如图1中的各个节点)均受同一个控制器(例如图1中的控制器140)控制,从而使网络管理变得灵活和高效。
应理解,图1仅为示例而非限定,例如压缩端110还可以为通常的发送端,对应的,解压端130为接收端,本发明实施例提供的数据传输的方法、装置和系统并不局限于压缩、解压缩的场景。
图2示出了根据本发明实施例提供的一种数据传输的方法200的示意性流程图,该方法例如由图1所示的控制器140执行,该方法200包括:
S210,控制器为第一业务数据流分配至少一个安全标识;
具体地,例如该第一业务数据流为报头压缩的数据流。
S220,该控制器向该第一业务数据流的传输路径中的首节点发送包括该至少一个安全标识的第一指示消息,该第一指示消息用于指示该首节点利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,并向该传输路径中的下一节点发送该第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
应理解,该第一数据包指的是第一业务数据流中的数据包。首节点处理第一数据包,指的是,该首节点当前获取到该第一业务数据流的一个第一数据包,并替换处理该当前获取的该第一数据包,后续会继续获取该第一业务数据流的下一个第一数据包,进行替换处理,以此类推。第二数据包指的是根据第一数据包获取的携带第一安全标识的数据包。第一业务数据流的传输路径包括首节点、中间节点和末节点,具体如图1中所示的传输路径120。
具体地,在图1所示的场景中,控制器140向首节点121发送第一指示消息,该首节点121将当前获取到的第一数据包替换处理为携带该第一安全标识的第二数据包。
可选地,在本发明实施例中,该第一指示消息用于指示首节点通过处理该第一数据包的报头标识,获取携带该第一安全标识的第二数据包,并将第一数据包替换为该第二数据包,将该第二数据包发送至传输路径中的下一节点。
具体地,例如,在第一数据包中增加填充有该第一安全标识的报头标识字段,从而将第一数据包替换处理为携带第一安全标识的第二数据包。或者,将第一数据包的某一个报头标识替换为该第一安全标识,例如将第一数据包的报头标识中的源IP地址替换为该第一安全标识,从而将第一数据包替换处理为携带第一安全标识的第二数据包。还可以采用其他手段对第一数据包的报头标识进行处理,最终将第一数据包替换处理为携带第一安全标识的第二数据包,本发明实施例对此不作限定。
可选地,在本发明实施例中,控制器向首节点发送的该第一指示消息包括第一业务数据流的报头标识、该至少一个安全标识和该传输路径中下一节点的标识。
具体地,第一业务数据流的报头标识包括但不限定于,该第一业务数据流的源IP地址、目的IP地址、源MAC地址、目的MAC地址,传输协议、传输控制协议(TransmissionControl Protocol,简称为“TCP”)或用户数据报协议(User Datagram Protocol,简称为“UDP”)端口、或者该第一业务数据流的流ID等信息。
应理解,该传输路径中下一节点的标识指的是在第一业务数据流的传输路径中,该首节点的下一节点的标识。
S230,该控制器向该传输路径中的中间节点发送用于指示将接收到的该第二数据包发送至该传输路径中的下一节点的第二指示消息,该控制器还向该传输路径中的末节点发送用于指示将接收到的该第二数据包还原处理为对应的该第一数据包的第三指示消息;
可选地,在本发明实施例中,控制器向中间节点发送的该第二指示消息包括该至少一个安全标识和该传输路径中下一节点的标识。
具体地,例如中间节点接收到一个数据包A,先判断该数据包是否携带该至少一个安全标识,例如确定该数据包A中携带了该第一安全标识(即该传输路径的首节点对第一业务数据流的数据包作替换处理后所发送的数据包),则根据下一节点的标识,将该数据包A转发至下一节点。
应理解,上面例子中的数据包A对应于本发明实施例中的第二数据包。
可选地,在本发明实施例中,控制器向末节点发送的该第三指示消息包括该第一业务数据流的报头标识和该至少一个安全标识。
具体地,例如末节点接收到一个数据包A,先判断该数据包是否携带该至少一个安全标识,例如确定该数据包A中携带了该第一安全标识(即该传输路径的首节点对第一业务数据流的数据包作替换处理后所发送的数据包),然后根据该第一业务数据流的报头标识,对该数据包A作还原处理,假设首节点是将第一数据包的报头标识中的源IP地址替换为该第一安全标识得到该数据包A的,则末节点采用相反的手段,将数据包A的报头标识中的第一安全标识还原为该第一业务数据流的源IP地址,从而还原得到数据包A对应的第一数据包。
S240,该控制器获取该第二数据包的收发数量,该收发数量指示该末节点接收到的该第二数据包的个数和该首节点发送的该第二数据包的个数;
具体地,该第二数据包的收发数量也可指示首节点采用第一安全标识替换处理第一数据包的次数和末节点还原处理第二数据包的次数。
可选地,在本发明实施例中,S240该控制器获取该第二数据包的收发数量,包括:
该控制器根据预设定时器,获取该第二数据包的收发数量。
具体地,例如,控制器从开始向首节点发送第一指示消息时,就启动预设定时器,当该预设定时器超时时,统计该第二数据包的收发数量。控制器可以通知首节点上报在该预设定时器的定时时段内所发送的携带第一安全标识的第二数据包的个数,控制器也可以通知末节点上报在该预设定时器的定时时段内所接收的携带该第一安全标识的第二数据包的个数。
S250,该控制器根据该第二数据包的收发数量,确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
具体地,例如当控制器确定末节点接收的第二数据包的个数减去首节点发送的第二数据包的个数的差值超过预设阈值时,确定该第一业务数据流在传输过程中遭到网络攻击,具体地,携带该第一安全标识的第二数据包遭到网络攻击,例如被攻击者重放或伪造。
应理解,控制器也可以统计末节点接收的第二数据包的个数与首节点发送的第二数据包的个数的比值,来判断数据流的传输是否遭到网络攻击,或者对该第二数据包的收发数量进行其他方式的计算,来判断数据流的传输是否遭到网络攻击,本发明实施例对此不作限定。
具体地,当根据该第二数据包的收发数量,确定该第一业务数据流在传输过程中遭到网络攻击时,控制器将该第一安全标识标记为受攻击安全标识。
S260,该控制器向该传输路径中的每个节点发送用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
可选地,在本发明实施例中,在确定该第一业务数据流在传输过程中遭到网络攻击的情况下,该方法200还包括:
该控制器向该首节点发送用于指示不再利用该受攻击安全标识替换处理该第一数据包的第五指示消息。
可选地,在本发明实施例中,在指示首节点不再利用该受攻击安全标识替换处理该第一数据包之后,该方法200还包括:
控制器为第一业务数据流重新分配新的安全标识,并指示该首节点利用该新安全标识替换处理该第一业务数据流的后续第一数据包,还指示中间节点将接收到的携带该新安全标识的数据包转发至下一节点,还指示末节点将接收到的携带该新安全标识的数据包还原处理为对应的第一数据包。
应理解,通过指示首节点更换替换处理所使用的安全标识,能够一定程度上提高对网络攻击的抵抗力度。
可选地,首节点在获知第一安全标识为受攻击安全标识之后,也可以从控制器为该第一业务数据流分配的多个安全标识中重新选择一个不同于第一安全标识的安全标识,来替换处理该第一业务数据流的后续第一数据包。
本发明实施例的数据传输的方法可以应用于将报头压缩与集中管控网络结合在一起实现报头压缩的端到端传输的场景。
应理解,报头压缩是一种有效提高带宽利用率的方法。在同一数据流的数据包报头中,有一些信息几乎不变或可以推测出来。报头压缩正是利用数据流的这种特性,通过协商机制在传输数据包时不再传输这些信息,从而节约了带宽。但是,由于压缩后的报头中不含节点路由所需要的信息,因此各路由节点都需要对压缩包进行解压缩和再压缩处理,这造成了计算资源的消耗和传输时延的增加。集中管控网络是一种网络组成形式,该种网络的每个组件均受同一个控制器控制,从而使网络管理变得灵活和高效。目前,已经有研究人员提出将报头压缩与集中管控网络结合在一起,从而实现报头压缩的端到端传输。
高效率的报头压缩以压缩端和解压端之间的上下文同步为前提,这就需要实现压缩包的准确无误传输。当存在网络攻击时,极有可能造成压缩包报头的错误解压缩,从而使压缩效率大幅下降。因此,研究人员设计了多种机制来提高报头压缩机制的健壮性。
健壮性报头压缩(Robust Header Compression,简称为“ROHC”)是目前健壮性最好的报头压缩机制之一。在ROHC中,压缩端使用基于窗口的最低有效位(Window-basedLeast Significant Bits,简称为“W-LSB”)编码原报头中的序列号(Sequence Number,简称为“SN”)字段,解压端再进行解码。之所以如此重视SN字段,是因为ROHC对报头中的不同动态域使用不同的压缩算法,但都是关于SN的函数。此外,SN字段还可以用于剔除重复的数据包,避免上下文的破坏。
为避免因网络攻击造成上下文破坏及差错扩散,ROHC使用了循环冗余检查(Cyclic Redundancy Check,简称为“CRC”)校验。压缩端对原报头进行CRC校验,并将结果填入压缩报头的CRC域中,解压端收到压缩包后先解压缩报头,再对解压后的报头进行CRC校验,将校验的结果与压缩报头中的CRC域作比较,若相同,表明解压无误,否则解压错误。
压缩端生成的压缩包经过例如图1所示的传输路径到达解压端,当压缩包在传输过程中遭到网络攻击,例如攻击者用重放、伪造等攻击手段向网络中投放大量攻击包,这些攻击包会传输至解压端,解压端收到压缩包后先解压缩报头,再对解压后的报头进行CRC校验,将校验的结果与压缩报头中的CRC域作比较,解压端对接收到的每个压缩包都要进行上述解压缩计算操作,包括对攻击包的解压缩计算操作,这样,会损耗解压端大量的计算资源,严重时会造成拒绝服务。
根据本发明实施例提供的数据传输的方法进行报头压缩的端到端传输,能够及时发现数据传输过程中存在网络攻击,并能够在一定程度上减少攻击包在网络中的传输,一方面降低攻击包对传输资源的占用,另一方面,有效减少到达解压端的攻击包的数量,能够降低解压端的计算负担。
可选地,在本发明实施例中,在S240中,控制器在确定接收端连续错误解压缩的次数超过预设阈值时,获取该第二数据包的收发数量。
具体地,接收端指的是与末节点通信连接的设备端,例如为解压端。当解压端连续错误解压缩该第一业务数据流的压缩包的数量大于预设阈值时,向控制器上报指示消息,例如上报该第一业务数据流的报头标识,控制器根据该指示消息,统计携带第一安全标识的数据包的收发数量。
RFC5858指出,报头压缩机制的使用会增加压缩包在传输过程中遭到流量分析攻击的风险,这是因为报头压缩机制建立上下文时的压缩效率较低,生成的压缩包较大,而上下文建立好后压缩效率提高,对应生成的压缩包小。这样,压缩包组成的数据流就表现出先是一组大包,然后变为小包的特性。网络攻击者根据报头压缩的这种先大包后小包的传输特性,对数据传输的攻击称之为流量分析攻击。当前技术,很难有效地发现或者预防流量分析攻击这种攻击方式。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包。
在本发明实施例中,为第一业务数据流分配的至少一个安全标识包括多个安全标识,例如分配3个安全标识,其中,3个安全标识中的第一安全标识为首用安全标识,即指示首节点优先使用的安全标识。
例如,首节点获取到第一业务数据流的第一个第一数据包A1时,利用该至少一个安全标识中的首用安全标识替换处理该第一数据包A1,得到第一个携带第一安全标识的第二数据包B1,将该第二数据包B1发送至下一节点。当首节点获取到第一业务数据流的第二个第一数据包A2时,可以继续利用该首用安全标识替换处理该第一数据包A2,得到第二个携带第一安全标识的第二数据包B2,将该第二数据包B2发送至下一节点;也可以利用至少一个安全标识中的除了首用安全标识之外的另外一个安全标识替换处理第二个第一数据包A2,得到对应的第二数据包,也就是说,当控制器为第一业务数据流分配多个安全标识时,首节点可以更换用于替换处理第一业务数据流的数据包的安全标识,更换的方式和更换的频率,本发明实施例对此均不作限定。
应理解,在本发明实施例中,控制器为第一业务数据流(例如报头压缩的数据流)分配的首用安全标识,从而使得首节点根据该首用安全标识去替换处理第一业务数据流的第一个数据包或者最前面的几个数据包,这样有利于控制器监控第一业务数据流的首个数据包或者最前面的几个数据包的传输情况,有利于发现流量分析攻击这种攻击方式。
可选地,在本发明实施例中,该方法200还包括:
S270,该控制器根据携带该首用安全标识的数据包的收发数量,确定所述第一业务数据流在传输过程中遭到流量分析攻击。
具体地,例如,当控制器确定末节点接收到的携带首用安全标识的数据包的个数与首节点发送的携带首用安全标识的数据包的个数的差值超过预设阈值,可以认为该第一业务数据流在传输过程中遭到流量分析攻击。
应理解,在本发明实施例中,控制器也可以通过统计多个不同数据流的首用安全标识的受攻击情况,来分析网络中是否存在流量分析攻击。例如,控制器统计在预设时间段内,受攻击的首用安全标识的数量在受攻击的所有安全标识的数量中的比例,当该比例超过预设阈值时,可以认为网络中存在流量分析攻击。
具体地,网络中同时会传输多个不同业务数据流,对应地,控制器分别为每个业务数据流分配多个安全标识,例如,为第一业务数据流分配包括首用安全标识的3个安全标识,为第二业务数据流分配包括首用安全标识的5个安全标识,...,为第N业务数据流分配包括首用安全标识的M个安全标识。对于每个业务数据流的传输,采用S210至S260的步骤,例如确定了N1个受攻击的安全标识(即根据携带这些安全标识的数据包的收发数量能够确定存在网络攻击),其中,这N1个安全标识中有N2个是首用安全标识。当确定比值N2/N1超过预设阈值时,可以认为网络中存在流量分析攻击。
因此,在本发明实施例中,通过为数据流分配首用安全标识,根据携带该首用安全标识的数据包的收发数量,能够有效发现流量分析攻击,从而有助于后续制定解决方案。
可选地,在本发明实施例中,当控制器为第一业务数据流分配多个安全标识时,首节点可以更换用于替换处理第一业务数据流的数据包的安全标识,控制器可以定义更换安全标识的方式和频率。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该第一指示消息具体用于指示该首节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,以替换处理该第一数据包。
具体地,例如,控制器向首节点发送的第一指示消息中包括预设阈值,用于指示首节点,当当前处理的第一业务数据流的一个数据包的尺寸与上一个处理的第一业务数据流的数据包的尺寸之差超过该预设阈值时,采用不同于上一个利用的安全标识的安全标识替换处理当前的数据包。
再例如,控制器向首节点发送的第一指示消息中包括用于指示数据包尺寸范围的预设阈值,用于指示该首节点,当当前处理的第一业务数据流的一个数据包(记为数据包A1)的尺寸小于该预设阈值时,从控制器为该第一业务数据流的多个安全标识中选择一个安全标识(记为安全标识①)处理该数据包A1,当下一个处理的第一业务数据流的一个数据包(记为数据包A2)的尺寸大于该预设阈值时,从控制器为该第一业务数据流的多个安全标识中选择另外一个安全标识(记为安全标识②,不同于安全标识①)处理该数据包A2。
应理解,在本发明实施例中,根据当前处理的第一数据包的大小,选择用于替换处理该第一数据包的安全标识,能够有效预防流量分析攻击。
可选地,在本发明实施例中,该第一指示消息还用于指示该首节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
具体地,例如,当首节点利用同一个安全标识替换处理的第一数据包的数量超过控制器所指示的预设阈值时,更换不同的安全标识替换处理后续的第一数据包。
可选地,在本发明实施例中,在确定该第一业务数据流在传输过程中遭到网络攻击之后,该方法200还包括:
1)该控制器获取该传输路径中每两个相邻节点中后一节点接收的该第二数据包的个数与前一节点发送的该第二数据包的个数;
2)该控制器根据获取的该后一节点接收的该第二数据包的个数与该前一节点发送的该第二数据包的个数,确定该传输路径中相邻的第一节点与第二节点之间的路径为受攻击路径;
3)该控制器为该第一业务数据流分配替代传输路径,该替代传输路径不包括该受攻击路径。
具体地,例如在图1所示的场景中,通过统计该传输路径120中每两个相邻节点中后一节点接收的该第二数据包的个数与前一节点发送的该第二数据包的个数,发现中间节点122接收的该第二数据包的个数减去首节点121发送的该第二数据包的个数之差最大,则确定首节点121与中间节点122之间的路径为受攻击路径。控制器重新为第一业务数据流分配替代传输路径,该替代传输路径不包括受攻击路径(首节点121一中间节点122)。
因此,在本发明实施例中,通过为业务数据流分配多个安全标识,并指示首节点在利用安全标识替换处理业务数据流的数据包时,更换安全标识,这样能够在一定程度上抵抗网络攻击。
可选地,在本发明实施例中,在S210控制器为第一业务数据流分配至少一个安全标识之前,还包括:
控制器预先创建安全标识状态表,例如但不限定于表1所示的形式:
表1
安全标识 |
状态 |
数据流的报头标识 |
数据流的传输路径 |
安全标识 #1 |
|
|
|
安全标识 #2 |
|
|
|
... |
|
|
|
安全标识 #N |
|
|
|
其中,安全标识的状态包括:未被占用、被占用、被攻击和被首用四种类型。其中,安全标识的状态为未被占用指的是该安全标识还未分配给某个数据流;安全标识的状态为被占用指的是该安全标识已经分配给确定的数据流;安全标识的状态为被攻击指的是该安全标识已经分配给确定的数据流,且携带该安全标识的数据包遭到网络攻击,例如被重放或者被伪造,该安全标识可以称之为受攻击安全标识;安全标识的状态为被首用指的是,该安全标识已经分配给确定的数据流,且该安全标识优先用于处理该数据流。数据流的报头标识包括但不限定于,该数据流的源IP地址、目的IP地址、源MAC地址、目的MAC地址,传输协议、传输控制协议(Transmission Control Protocol,简称为“TCP”)或用户数据报协议(User Datagram Protocol,简称为“UDP”)端口、或者该数据流的流ID等信息。安全标识的传输路径包括首节点和末节点,或者还包括中间节点。
可选地,在本发明实施例中,S210控制器为第一业务数据流分配至少一个安全标识,包括:
获取该第一业务数据流;
具体地,获取该第一业务数据流的报头标识。例如在图1所示场景中,当首节点接收到发送端发送的第一业务数据流的第一个数据包时,向该控制器上报该第一业务数据流的报头标识。
根据预设的安全标识状态表为该第一业务数据流分配至少一个安全标识。
具体地,根据如表1所示的安全标识状态表中的状态为未被占用的安全标识,为该第一业务数据流分配至少一个安全标识,例如为该第一业务数据流分配安全标识#1、安全标识#2和安全标识#3,应理解,分配之后,该至少一个安全标识的状态更新为被占用。还应理解,控制器为第一业务数据流分配该至少一个安全标识之后,该至少一个安全标识与该第一业务数据流的报头标识、该第一业务数据流的传输路径之间具有对应关系。
可选地,在本发明实施例中,该方法200还包括:
当该控制器检测到该第一业务数据流的流删除事件时,释放为该第一业务数据流分配的安全标识。
应理解,一个数据流的流删除事件指的是,该数据流在网络中的传输终止。
具体地,当控制器检测到第一业务数据流的流删除事件时,释放为该第一业务数据流分配的安全标识,并将如1所示的安全标识状态表中的为该第一业务数据流分配的安全标识(例如安全标识#1、#2和#3)标记为未被占用。
综上所述,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
图2从控制器的角度描述了根据本发明实施例提供的数据传输的方法,下面结合图3从节点的角度描述根据本发明实施例提供的数据传输的方法。
图3示出了根据本发明实施例提供的数据传输的方法300的示意性流程图,该方法300包括:
S310,第一节点接收控制器发送的第一指示消息,该第一指示消息包括该控制器为第一业务数据流分配的至少一个安全标识,该第一节点为该第一业务数据流的传输路径中的首节点;
可选地,在本发明实施例中,控制器向首节点发送的该第一指示消息包括第一业务数据流的报头标识、该至少一个安全标识和该传输路径中下一节点的标识。
具体地,第一业务数据流的报头标识包括但不限定于,该第一业务数据流的源IP地址、目的IP地址、源MAC地址、目的MAC地址,传输协议、传输控制协议(TransmissionControl Protocol,简称为“TCP”)或用户数据报协议(User Datagram Protocol,简称为“UDP”)端口、或者该第一业务数据流的流ID等信息。
应理解,该传输路径中下一节点的标识指的是在第一业务数据流的传输路径中,该首节点的下一节点的标识。
S320,该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
可选地,在本发明实施例中,该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,包括:
该首节点通过处理该第一数据包的报头标识,获取携带该第一安全标识的第二数据包,并将第一数据包替换为该第二数据包,将该第二数据包发送至传输路径中的下一节点。
具体地,例如,在第一数据包中增加填充有该第一安全标识的报头标识字段,从而将第一数据包替换处理为携带第一安全标识的第二数据包。或者,将第一数据包的某一个报头标识替换为该第一安全标识,例如将第一数据包的报头标识中的源IP地址替换为该第一安全标识,从而将第一数据包替换处理为携带第一安全标识的第二数据包。还可以采用其他手段对第一数据包的报头标识进行处理,最终将第一数据包替换处理为携带第一安全标识的第二数据包,本发明实施例对此不作限定。
S330,该第一节点向该传输路径中的下一节点发送该第二数据包;
应理解,在本发明实施例中,该控制器还指示该传输路径中的中间节点将接收到的该第二数据包发送至该传输路径中的下一节点,该控制器还指示该传输路径中的末节点将接收到的该第二数据包还原处理为对应的该第一数据包。
可选地,在本发明实施例中,控制器还向中间节点发送该至少一个安全标识和该传输路径中下一节点的标识。
具体地,例如中间节点接收到一个数据包A,先判断该数据包是否携带该至少一个安全标识,例如确定该数据包A中携带了该第一安全标识(即该传输路径的首节点对第一业务数据流的数据包作替换处理后所发送的数据包),则根据下一节点的标识,将该数据包A转发至下一节点。
应理解,上面例子中的数据包A对应于本发明实施例中的第二数据包。
可选地,在本发明实施例中,控制器还向末节点发送该第一业务数据流的报头标识和该至少一个安全标识。
具体地,例如末节点接收到一个数据包A,先判断该数据包是否携带该至少一个安全标识,例如确定该数据包A中携带了该第一安全标识(即该传输路径的首节点对第一业务数据流的数据包作替换处理后所发送的数据包),然后根据该第一业务数据流的报头标识,对该数据包A作还原处理,假设首节点是将第一数据包的报头标识中的源IP地址替换为该第一安全标识得到该数据包A的,则末节点采用相反的手段,将数据包A的报头标识中的第一安全标识还原为该第一业务数据流的源IP地址,从而还原得到数据包A对应的第一数据包。
S340,该第一节点向该控制器发送已经发送的该第二数据包的个数,以便于该控制器确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
具体地,该第一节点可以根据控制器的指示消息上报该第二数据包的发送个数,也可以主动上报,例如根据预设定时器信息主动上报。
S350,该第一节点接收该控制器发送的用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第二指示消息,并根据该第二指示消息,丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
应理解,根据本发明实施例提供的数据传输的方法300中涉及的第一指示消息对应于根据本发明实施例提供的数据传输的方法200中涉及的第一指示消息;根据本发明实施例提供的数据传输的方法300中涉及的第二指示消息对应于根据本发明实施例提供的数据传输的方法200中涉及的第四指示消息。
根据本发明实施例提供的数据传输的方法进行报头压缩的端到端传输,能够及时发现数据传输过程中存在网络攻击,并能够在一定程度上减少攻击包在网络中的传输,一方面降低攻击包对传输资源的占用,另一方面,有效减少到达解压端的攻击包的数量,能够降低解压端的计算负担。
可选地,在本发明实施例中,在接收到该第二指示消息之后,该方法300还包括:
S360,该第一节点不再利用该受攻击安全标识处理该第一业务数据流中的数据包。
具体地,第一节点可以在丢弃携带受攻击安全标识的数据包之后,自主地不再利用该受攻击安全标识处理该第一业务数据流中的数据包。也可以是在接收到控制器下发的用于指示不再利用该受攻击安全标识处理该第一业务数据流中的数据包的第五指示消息之后,不再利用该受攻击安全标识处理第一数据包。
应理解,第一节点接收到的该第五指示消息和第二指示消息,可以是控制器分两次下发到该第一节点的,也可以是同时下发到第一节点的,还可以是该第五指示消息和第二指示消息为同一个指示消息,本发明实施例对此不作限定。
具体地,控制器可以向首节点下发一个新的安全标识,指示首节点利用新的安全标识替换处理后续的第一数据包,这样能够一定程度上提高对网络攻击的抵抗力度。
可选地,在本发明实施例中,在第一节点获知该第一安全标识为受攻击安全标识之后,该方法300还包括:
利用新的安全标识替换处理该第一业务数据流后续的第一数据包,该新的安全标识不同于第一安全标识。
具体地,该新的安全标识可以是第一节点从控制器为该第一业务数据流分配的多个安全标识中重新选择的不同于第一安全标识的安全标识,也可以是控制器为第一业务数据流重新分配的安全标识,本发明实施例对此不作限定。
应理解,首节点更换替换处理所使用的安全标识,能够一定程度上提高对网络攻击的抵抗力度。
本发明实施例的数据传输的方法可以应用于将报头压缩与集中管控网络结合在一起实现报头压缩的端到端传输的场景。
RFC5858指出,报头压缩机制的使用会增加压缩包在传输过程中遭到流量分析攻击的风险,这是因为报头压缩机制建立上下文时的压缩效率较低,生成的压缩包较大,而上下文建立好后压缩效率提高,对应生成的压缩包小。这样,压缩包组成的数据流就表现出先是一组大包,然后变为小包的特性。网络攻击者根据报头压缩的这种先大包后小包的传输特性,对数据传输的攻击称之为流量分析攻击。当前技术,很难有效地发现或者预防流量分析攻击这种攻击方式。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包;
S320该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,包括:
该第一节点优先利用该第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包。
在本发明实施例中,为第一业务数据流分配的至少一个安全标识包括多个安全标识,例如分配3个安全标识,其中,3个安全标识中的第一安全标识为首用安全标识,即指示首节点优先使用的安全标识。
例如,首节点获取到第一业务数据流的第一个第一数据包A1时,利用该至少一个安全标识中的首用安全标识替换处理该第一数据包A1,得到第一个携带第一安全标识的第二数据包B1,将该第二数据包B1发送至下一节点。当首节点获取到第一业务数据流的第二个第一数据包A2时,可以继续利用该首用安全标识替换处理该第一数据包A2,得到第二个携带第一安全标识的第二数据包B2,将该第二数据包B2发送至下一节点;也可以利用至少一个安全标识中的除了首用安全标识之外的另外一个安全标识替换处理第二个第一数据包A2,得到对应的第二数据包,也就是说,当控制器为第一业务数据流分配多个安全标识时,首节点可以更换用于替换处理第一业务数据流的数据包的安全标识,更换的方式和更换的频率,本发明实施例对此均不作限定。
应理解,在本发明实施例中,控制器为第一业务数据流(例如报头压缩的数据流)分配的首用安全标识,从而使得首节点根据该首用安全标识去替换处理第一业务数据流的第一个数据包或者最前面的几个数据包,这样有利于控制器监控第一业务数据流的首个数据包或者最前面的几个数据包的传输情况,有利于发现流量分析攻击这种攻击方式。
因此,在本发明实施例中,通过为数据流分配首用安全标识,根据携带该首用安全标识的数据包的收发数量,能够有效发现流量分析攻击,从而有助于后续制定解决方案。
可选地,在本发明实施例中,当控制器为第一业务数据流分配多个安全标识时,首节点可以更换用于替换处理第一业务数据流的数据包的安全标识。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该第一指示消息具体用于指示根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识;
S320该第一节点根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,包括:
该第一节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,并利用该第一安全标识替换处理该第一数据包,获取携带该第一安全标识的第二数据包。
具体地,例如,控制器向首节点发送的第一指示消息中包括预设阈值,用于指示首节点,当当前处理的第一业务数据流的一个数据包的尺寸与上一个处理的数据包的尺寸之差超过该预设阈值时,采用不同于上一个利用的安全标识的安全标识替换处理当前的数据包。
再例如,控制器向首节点发送的第一指示消息中包括用于指示数据包尺寸范围的预设阈值,用于指示该首节点,当当前处理的第一业务数据流的一个数据包(记为数据包A1)的尺寸小于该预设阈值时,从控制器为该第一业务数据流的多个安全标识中选择一个安全标识(记为安全标识①)处理该数据包A1,当下一个处理的第一业务数据流的一个数据包(记为数据包A2)的尺寸大于该预设阈值时,从控制器为该第一业务数据流的多个安全标识中选择另外一个安全标识(记为安全标识②,不同于安全标识①)处理该数据包A2。
应理解,在本发明实施例中,根据当前处理的第一数据包的大小,选择用于替换处理该第一数据包的安全标识,能够有效预防流量分析攻击。
可选地,在本发明实施例中,该首节点利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
具体地,当该首节点连续发送携带有相同安全标识的第二数据包的数量大于或等于预设阈值时,更换不同的安全标识对当前的第一数据包进行替换处理(也可称之为标识隐藏处理)。
因此,在本发明实施例中,首节点在利用安全标识替换处理业务数据流的数据包时,更换安全标识,这样能够在一定程度上抵抗网络攻击。
可选地,在本发明实施例中,该第一节点为第二业务数据流的传输路径中的中间节点,该方法300还包括:
S370,该第一节点根据控制器发送的第三指示消息,将接收到的携带第二安全标识的数据包转发至该第二业务数据流的传输路径中的下一节点,其中第二安全标识为该控制器为该第二业务数据流分配的安全标识,该携带第二安全标识的数据包为该第二业务数据流的传输路径中的首节点对该第二业务数据流的数据包进行替换处理后得到的。
具体地,该第三指示消息包括该控制器为该第二业务数据流分配的安全标识和该第二业务数据流的传输路径中下一节点的标识。
可选地,在本发明实施例中,该第一节点为第三业务数据流的传输路径中的末节点,该方法300还包括:
S380,该第一节点根据控制器发送的第四指示消息,将接收到的携带第三安全标识的数据包还原处理为对应的该第三业务数据流的数据包,其中第三安全标识为该控制器为该第三业务数据流分配的安全标识,该携带第三安全标识的数据包为该第三业务数据流的传输路径中的首节点对该第三业务数据流的数据包进行替换处理后得到的;
该第一节点向该控制器发送接收到的携带该第三安全标识的数据包的个数,以便于该控制器确定该第三业务数据流在传输过程中遭到网络攻击。
具体地,该第四指示消息包括该第三业务数据流的报头标识和该控制器为该第三业务数据流分配的安全标识。
应理解,本发明实施例的第一节点可以作为业务数据流A的传输路径中的首节点,用于根据控制器为该业务数据流A分配的安全标识对业务数据流A的数据包作替换处理,得到对应的第二数据包,发送至传输路径中的下一节点。本发明实施例的第一节点也可以作为业务数据流B的传输路径中的中间节点,用于将接收到的携带安全标识的数据包转发至传输路径中的下一节点。本发明实施例的第一节点也可以作为业务数据流C的传输路径中的末节点,用于将接收到的携带安全标识的数据包还原处理为对应的业务数据流C的数据包,例如将还原处理得到的业务数据流C的数据包发送至如图1所示的解压端130。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
上文结合图1至图3描述了根据本发明实施例提供的数据传输的方法,下面结合图4和图5描述根据本发明实施例提供的数据传输的装置。
为了便于理解,下面结合图1所示的拓扑图,以控制器为如图1所示的控制器140为例,以首节点为如图1所示的首节点121为例,以中间节点为如图1所示的中间节点122为例,以末节点为如图1所示的末节点123为例,描述本发明实施例的数据传输的方法,应理解,图1所示的中间节点122指示任一个位于首节点121与末节点123之间的节点。如图1所示,压缩端110生成的报头压缩的第一业务数据流需要通过传输路径120传输至解压端130,其中,报头压缩的动作由压缩端的终端用户执行。
数据传输的过程分为以下几个步骤:
步骤A:
控制器预先创建安全标识状态表,可以但不限于如表1所示。
安全标识的状态包括被占用、被首用、被攻击和未被占用四种,数据流的传输路径包括传输路径上的首节点和末节点,还可以包括中间节点。
步骤B:
B1,节点①收到第一业务数据流的第一个数据包,向控制器上报第一业务数据流的报头标识;
控制器根据报头标识与安全策略的映射关系,确定是否对该第一业务数据流进行标识隐藏。其中,第一业务数据流的报头标识可以是源IP、目的IP、传输协议、TCP或UDP端口等;安全策略包括标识隐藏和标识不隐藏。
应理解,步骤B1中的节点①可以是图1中所示的首节点,也可以是与压缩端110通信连接的其他节点。
B2,控制器确定对该第一业务数据流进行标识隐藏时,分配多个未被占用的安全标识,并确定第一业务数据流的传输路径,例如图1中所示的传输路径120;
控制器将为第一业务数据流分配的多个安全标识标记为被占用,并记录该多个安全标识与第一业务数据流之间的关联关系、第一业务数据流的传输路径等信息;另外,控制器还可选择该多个安全标识中的一个作为首用安全标识,并标识为被首用。
B3,针对第一业务数据流的传输路径120上的各个节点,控制器执行以下步骤:
控制器将第一业务数据流的报头标识、该多个安全标识和下一节点(首节点在传输路径120中的下一节点)标识发送给首节点;另外,控制器还可将第一阈值和第二阈值发送给首节点,其中,第一阈值和第二阈值可根据经验设置,且第二阈值不能小于1;
控制器将该多个安全标识和下一节点标识发送给中间节点,应理解,图1所示的中间节点指示任一个位于首节点与末节点之间的节点;
控制器将第一业务数据流的报头标识、该多个安全标识发送给末节点。
B4,首节点接收控制器发送的第一业务数据流的报头标识、该多个安全标识和下一节点标识,对与第一业务数据流的报头标识匹配的第一数据包(即第一业务数据流的数据包)进行标识隐藏处理得到第二数据包,将携带有第一安全标识的第二数据包传输至中间节点。其中,标识隐藏处理指的是对第一数据包的报头标识作处理,获取报头标识携带该多个安全标识中的第一安全标识的第二数据包。
B4.1,若首节点接收到控制器发送的该多个安全标识中有首用安全标识,首先使用该首用安全标识对第一数据包进行标识隐藏处理;
B4.2,若首节点121还接收到控制器发送的第一阈值,当第一数据包的尺寸大于和小于该第一阈值时,应分别使用该多个安全标识中的不同安全标识对该第一数据包进行标识隐藏处理;
B4.3,若首节点还接收到控制器发送的第二阈值,当连续发送携带有相同安全标识的第二数据包的数量大于等于第二阈值时,应使用不同的安全标识对第一数据包进行标识隐藏处理;
B5,中间节点接收控制器发送的该多个安全标识和下一节点标识,当接收到携带有该多个安全标识中的任一个安全标识的第二数据包时,将第二数据包传输至下一节点;
B6,末节点接收控制器发送的第一业务数据流的报头标识、该多个安全标识,当接收到携带有该多个安全标识中的任一个安全标识的第二数据包时,对第二数据包进行标识解隐藏处理(对应于本发明实施例中涉及的还原处理)得到第一数据包。
步骤C:
C1,每隔一段时间,控制器获得首节点发送的各数据流(即多个业务数据流)的数据包数和末节点接收的各数据流的数据包数,计算各数据流在末节点接收的数据包数与首节点发送的数据包数的差值,若差值大于第三阈值,则确认该数据流遭到网络攻击。
若该遭到攻击的数据流的数据包携带了一个安全标识,则确认该安全标识遭到攻击,将该安全标识在安全标识状态表中标识为被攻击,其中,第三阈值可根据经验设置。
C2,控制器统计过去的这段时间里被攻击的安全标识中首用安全标识所占的比例,若比例大于第四阈值,则确认网络中存在流量分析攻击,其中,第四阈值可根据经验设置。
C3,控制器确认某数据流遭到攻击,获得首节点发送、中间节点转发和末节点接收该数据流的数据包数,计算传输路径上相邻两节点间后一节点与前一节点的差值,找出差值最大的相邻两节点,确认该两节点间的链路存在攻击者。
步骤D:
D1,当控制器确认某数据流X的某安全标识遭到攻击,向该数据流X的传输路径上的首节点、中间节点、末节点发送该安全标识;首节点接收控制器发送的安全标识,不再使用该安全标识对该数据流X的第一数据包进行标识隐藏处理;首节点、中间节点和末节点丢弃携带有该安全标识的第二数据包;
另外,控制器还可为该数据流X分配一个未被占用的安全标识,标识为被占用,并记录安全标识与该数据流X之间的关联关系、该数据流X的传输路径等信息;控制器将该数据流X的报头标识、安全标识发送给首节点,将安全标识和下一节点标识发送给该中间节点,将该数据流X的报头标识、安全标识发送给末节点;首节点接收控制器发送的该数据流X的报头标识和安全标识,对与该数据流X的报头标识匹配的第一数据包进行标识隐藏处理时,还可以使用新分配的安全标识;
D2,控制器确认网络中存在流量分析攻击时减小第二阈值,否则增大第二阈值;
D3,当控制器确认攻击者所在的链路时,计算出可替代路径,可替代路径不含该链路;控制器向可替代路径的首节点、中间节点和末节点发送数据流的报头标识或安全标识,以及下一节点标识;首节点、中间节点和末节点接收到与数据流的报头标识或安全标识匹配的数据包时,将数据包传输至下一节点;
步骤E:
当控制器收到某数据流的流删除事件信息时,将该数据流所占用的安全标识标记为未被占用。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
图4示出了根据本发明实施例提供的控制器400的示意性框图,该控制器400包括:
分配模块410,用于为第一业务数据流分配至少一个安全标识;
发送模块420,用于向该第一业务数据流的传输路径中的首节点发送包括该分配模块分配的至少一个安全标识的第一指示消息,该第一指示消息用于指示该首节点利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,并向该传输路径中的下一节点发送该第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
该发送模块420还用于,向该传输路径中的中间节点发送用于指示将接收到的该第二数据包发送至该传输路径中的下一节点的第二指示消息,该发送模块还用于,向该传输路径中的末节点发送用于指示将接收到的该第二数据包还原处理为对应的该第一数据包的第三指示消息;
获取模块430,用于获取该第二数据包的收发数量,该收发数量指示该末节点接收到的该第二数据包的个数和该首节点发送的该第二数据包的个数;
第一确定模块440用于,根据该获取模块获取的第二数据包的收发数量,确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该发送模块420还用于,向该传输路径中的每个节点发送用于指示丢弃当前在该传输路径中传输的携带该第一确定模块确定的受攻击安全标识的数据包的第四指示消息。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该分配模块为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该发送模块420发送的该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包。
可选地,在本发明实施例中,该控制器400还包括:
第二确定模块450,用于根据携带该首用安全标识的数据包的收发数量,确定所述第一业务数据流在传输过程中遭到流量分析攻击。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该分配模块为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该发送模块420发送的该第一指示消息具体用于指示该首节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,以替换处理该第一数据包。
可选地,在本发明实施例中,该发送模块420发送的该第一指示消息还用于指示该首节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
可选地,在本发明实施例中,该发送模块420还用于,在该第一确定模块确定该第一业务数据流在传输过程中遭到网络攻击的情况下,向该首节点发送用于指示不再利用该受攻击安全标识替换处理该第一数据包的第五指示消息。
可选地,在本发明实施例中,该获取模块430还用于,在该第一确定模块440确定该第一业务数据流在传输过程中遭到网络攻击之后,获取该传输路径中每两个相邻节点中后一节点接收的该第二数据包的个数与前一节点发送的该第二数据包的个数;
该控制器400还包括:
第三确定模块460,用于根据该获取模块获取的该后一节点接收的该第二数据包的个数与该前一节点发送的该第二数据包的个数,确定该传输路径中相邻的第一节点与第二节点之间的路径为受攻击路径;
该分配模块410还用于,为该第一业务数据流分配替代传输路径,该替代传输路径不包括该受攻击路径。
可选地,在本发明实施例中,该获取模块430具体用于,根据预设定时器,获取该第二数据包的收发数量。
可选地,在本发明实施例中,该控制器400还包括:
释放模块470,用于当检测到该第一业务数据流的流删除事件时,释放为该第一业务数据流分配的安全标识。
应理解,根据本发明实施例提供的控制器400例如为图1所述的控制器140,可对应于本发明实施例提供的数据传输的方法中的控制器,并且控制器400中的各个模块的上述和其他操作和/或功能分别为了实现图2和图3中的各个方法的相应流程,为了简洁,在此不再赘述。
图5示出了根据本发明实施例提供的数据传输的节点500的示意性框图,该节点500包括:
接收模块510,用于接收控制器发送的第一指示消息,该第一指示消息包括该控制器为第一业务数据流分配的至少一个安全标识,该节点500为该第一业务数据流的传输路径中的首节点;
替换模块520,用于根据该接收模块接收的该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
发送模块530,用于向该传输路径中的下一节点发送该替换模块获取的该第二数据包;
该发送模块530还用于,向该控制器发送已经发送的该第二数据包的个数,以便于该控制器确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该接收模块510还用于,接收该控制器发送的用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息,并根据该第四指示消息,丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该接收模块510接收的该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包;
该替换模块520具体用于,优先利用该第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该接收模块510接收的该第一指示消息具体用于指示根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识;
该替换模块520具体用于,根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,并利用该第一安全标识替换处理该第一数据包,获取携带该第一安全标识的第二数据包。
可选地,在本发明实施例中,该第一指示消息还用于指示该节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
可选地,在本发明实施例中,该替换模块520还用于,在该接收模块510接收到该第二指示消息后,不再利用该第一安全标识替换处理该第一业务数据流中的数据包。
应理解,根据本发明实施例提供的数据传输的节点500例如为图1所述的首节点121,可对应于本发明实施例提供的数据传输的方法中的首节点,并且节点500中的各个模块的上述和其他操作和/或功能分别为了实现图2和图3中的各个方法的相应流程,为了简洁,在此不再赘述。
可选地,在本发明实施例中,该节点500为第二业务数据流的传输路径中的中间节点,该节点500还包括:
转发模块540,用于根据控制器发送的第三指示消息,将接收到的携带第二安全标识的数据包转发至该第二业务数据流的传输路径中的下一节点,其中第二安全标识为该控制器为该第二业务数据流分配的安全标识,该携带第二安全标识的数据包为该第二业务数据流的传输路径中的首节点对该第二业务数据流的数据包进行替换处理后得到的。
具体地,本发明实施例中的数据传输的节点500例如为图1所述的中间节点122。
可选地,在本发明实施例中,该节点500为第三业务数据流的传输路径中的末节点,该节点500还包括:
还原模块550,用于根据控制器发送的第四指示消息,将接收到的携带第三安全标识的数据包还原处理为对应的该第三业务数据流的数据包,其中第三安全标识为该控制器为该第三业务数据流分配的安全标识,该携带第三安全标识的数据包为该第三业务数据流的传输路径中的首节点对该第三业务数据流的数据包进行替换处理后得到的;
该发送模块还用于,向该控制器发送接收到的携带该第三安全标识的数据包的个数,以便于该控制器确定该第三业务数据流在传输过程中遭到网络攻击。
具体地,本发明实施例中的数据传输的节点500例如为图1所述的末节点123。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
如图6所示,本发明实施例还提供一种控制器600,该控制器600包括处理器610、存储器620、总线系统630、接收器640和发送器650。其中,处理器610、存储器620、接收器640和发送器650通过总线系统630相连,该存储器620用于存储指令,该处理器610用于执行该存储器620存储的指令,以控制接收器640接收信号,并控制发送器650发送信号。其中,
该处理器610用于,为第一业务数据流分配至少一个安全标识;
该发送器650用于,向该第一业务数据流的传输路径中的首节点发送包括该至少一个安全标识的第一指示消息,该第一指示消息用于指示该首节点利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,并向该传输路径中的下一节点发送该第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
该发送器650还用于,向该传输路径中的中间节点发送用于指示将接收到的该第二数据包发送至该传输路径中的下一节点的第二指示消息,该控制器还向该传输路径中的末节点发送用于指示将接收到的该第二数据包还原处理为对应的该第一数据包的第三指示消息;
该处理器610还用于,获取该第二数据包的收发数量,该收发数量指示该末节点接收到的该第二数据包的个数和该首节点发送的该第二数据包的个数;
该处理器610还用于,根据该第二数据包的收发数量,确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
该发送器650用于,向该传输路径中的每个节点发送用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包。
可选地,在本发明实施例中,该处理器610还用于,
根据携带该首用安全标识的数据包的收发数量,确定所述第一业务数据流在传输过程中遭到流量分析攻击。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该第一指示消息具体用于指示该首节点根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,以替换处理该第一数据包。
可选地,在本发明实施例中,该第一指示消息还用于指示该首节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
可选地,在本发明实施例中,该发送器650还用于,在处理器610确定该第一业务数据流在传输过程中遭到网络攻击的情况下,向该首节点发送用于指示不再利用该受攻击安全标识替换处理该第一数据包的第五指示消息。
可选地,在本发明实施例中,该处理器610还用于,在确定该第一业务数据流在传输过程中遭到网络攻击之后,获取该传输路径中每两个相邻节点中后一节点接收的该第二数据包的个数与前一节点发送的该第二数据包的个数;
该处理器610还用于,根据获取的该后一节点接收的该第二数据包的个数与该前一节点发送的该第二数据包的个数,确定该传输路径中相邻的第一节点与第二节点之间的路径为受攻击路径;
该处理器610还用于,为该第一业务数据流分配替代传输路径,该替代传输路径不包括该受攻击路径。
可选地,在本发明实施例中,该处理器610具体用于,据预设定时器,获取该第二数据包的收发数量。
可选地,在本发明实施例中,该处理器610还用于,当检测到该第一业务数据流的流删除事件时,释放为该第一业务数据流分配的安全标识。
应理解,在本发明实施例中,该处理器610可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器610还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存储设备类型的信息。
该总线系统630除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统630。
在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器620,处理器610读取存储器620中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的控制器600可对应于本发明实施例的数据传输的方法中的控制器,以及可以对应于根据本发明实施例的控制器400,并且控制器600中的各个模块的上述和其它操作和/或功能分别为了实现图2和图3的各个方法的相应流程,为了简洁,在此不再赘述。
如图7所示,本发明实施例还提供了一种数据传输的节点700,该节点700包括处理器710、存储器720、总线系统730、接收器740和发送器750。其中,处理器710、存储器720、接收器740和发送器750通过总线系统730相连,该存储器720用于存储指令,该处理器710用于执行该存储器720存储的指令,以控制接收器740接收信号,并控制发送器750发送信号。其中,该接收器740用于接收控制器发送的第一指示消息,该第一指示消息包括该控制器为第一业务数据流分配的至少一个安全标识,该第一节点为该第一业务数据流的传输路径中的首节点;
处理器710用于,根据该第一指示消息,利用该至少一个安全标识中的第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包,其中,该第一数据包为该第一业务数据流中的数据包;
发送器750用于,向该传输路径中的下一节点发送该第二数据包;
该第一节点向该控制器发送已经发送的该第二数据包的个数,以便于该控制器确定该第一业务数据流在传输过程中遭到网络攻击,并确定该第一安全标识为受攻击安全标识;
接收器740用于,接收该控制器发送的用于指示丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包的第四指示消息,并根据该第四指示消息,丢弃当前在该传输路径中传输的携带该受攻击安全标识的数据包。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,该控制器为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,且该第一安全标识为首用安全标识,其中,该第一指示消息具体用于指示该首节点优先利用该首用安全标识替换处理该第一数据包;
处理器710具体用于,优先利用该第一安全标识替换处理第一数据包,获取携带该第一安全标识的第二数据包。
可选地,在本发明实施例中,该第一业务数据流为报头压缩的数据流,为该第一业务数据流分配的该至少一个安全标识包括两个或两个以上的安全标识,其中,该第一指示消息具体用于指示根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识;
处理器710具体用于,根据当前处理的第一数据包的大小,从该至少一个安全标识中选择该第一安全标识,并利用该第一安全标识替换处理该第一数据包,获取携带该第一安全标识的第二数据包。
可选地,在本发明实施例中,该第一指示消息还用于指示该节点,利用同一个安全标识替换处理该第一数据包的数量不超过预设阈值。
可选地,在本发明实施例中,处理器710具体还用于,在接收器740接收到该第二指示消息之后,不再利用该受攻击安全标识处理该第一业务数据流中的数据包。
可选地,在本发明实施例中,该第一节点为第二业务数据流的传输路径中的中间节点,处理器710还用于,根据控制器发送的第三指示消息,将接收到的携带第二安全标识的数据包转发至该第二业务数据流的传输路径中的下一节点,其中第二安全标识为该控制器为该第二业务数据流分配的安全标识,该携带第二安全标识的数据包为该第二业务数据流的传输路径中的首节点对该第二业务数据流的数据包进行替换处理后得到的。
可选地,在本发明实施例中,该第一节点为第三业务数据流的传输路径中的末节点,处理器710还用于,根据控制器发送的第四指示消息,将接收到的携带第三安全标识的数据包还原处理为对应的该第三业务数据流的数据包,其中第三安全标识为该控制器为该第三业务数据流分配的安全标识,该携带第三安全标识的数据包为该第三业务数据流的传输路径中的首节点对该第三业务数据流的数据包进行替换处理后得到的;
发送器750还用于,向该控制器发送接收到的携带该第三安全标识的数据包的个数,以便于该控制器确定该第三业务数据流在传输过程中遭到网络攻击。
如图8所示,本发明实施例还提供了一种数据传输的系统800,该系统800包括本发明实施例提供的控制器400和本发明实施例提供的数据传输的节点500。
因此,在本发明实施例中,根据携带安全标识的数据包的收发数量,确定数据流的传输遭到网络攻击,并通过指示传输路径中的节点将携带该安全标识的数据包丢弃,能够实现及时丢弃攻击包,从而能够有效减少攻击包对传输资源的占用,提高传输资源的利用率。
此外,在本发明实施例中,也能够有效减少攻击包到达接收端的数量,能够在一定程度上减轻接收端的计算压力。
还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。