Tcp连接的处理方法、装置及系统的制作方法_4

文档序号:9754542阅读:来源:国知局
器端建立TCP连接的连接报文;第一判断模块14,用于判断接收到的连接报文的报文类型,其中,连接报文的报文类型至少包括:同步报文和应答报文;第一校验模块16,用于当连接报文的报文类型为应答报文时,利用连接校验信息对应答报文进行校验,其中,连接校验信息根据同步报文生成;第一转发模块18,用于当应答报文校验通过时,将应答报文转发至服务器端。
[0093]在建立TCP连接时,服务器端至少会接收到客户端发送的SYN同步报文和ACK应答报文。设置于服务器侧的防护设备,通过上述第一接收模块12、第一判断模块14、第一校验模块16和第一转发模块18,在接收到客户端发送的用于与服务器端建立TCP连接的连接报文后,根据连接报文的报文类型对连接报文进行处理。当接收到的报文类型为ACK应答报文时,对ACK应答报文进行校验。当ACK应答报文通过校验时,将其转发至设置于服务器端的连接设备,通过连接设备在客户端和服务器端之间建立通讯连接。达到了对SYN FLOOD攻击进行防护的目的,从而实现了提升对SYN FLOOD攻击进行防护的防护性能的技术效果,进而解决了由于在对客户端发送的TCP连接进行验证后需要重新建立连接,导致的防护性能低、连接响应延迟的技术问题。
[0094]由采用上述TCP连接的处理方法的防护设备,代替服务器与客户端建立TCP连接的握手过程,完成对SYN报文的验证。由防护设备将正常客户端发送的用于TCP连接的ACK报文转发至连接设备,连接设备可以根据ACK报文中的信息,创建TCP连接。在一个完整的TCP连接建立过程,由防护设备与连接设备共同完成,客户端不会感知到该过程,从而在SYNFLOOD防护过程中高效完成了验证和TCP连接建立,保障了客户体验。
[0095]作为一种可选的实施方式,上述装置还可以包括:统计模块51、第二判断模块53、生成模块55和第二转发模块57。
[0096]其中,统计模块51,用于统计在预先设置的预定时间内,接收到同步报文的报文数量;第二判断模块53,用于判断报文数量是否大于等于预先设置的阈值;生成模块55,用于当报文数量大于或等于阈值时,根据同步报文生成连接校验信息;第二转发模块57,用于当报文数量小于阈值时,将同步报文转发至服务器端。
[0097]具体的,通过上述统计模块51、第二判断模块53、生成模块55和第二转发模块57,当接收到的报文类型为SYN同步报文时,防护设备对接收到的SYN同步报文进行计数处理。并且统计在预先设置的时间内接收到的同步报文的报文数量。当在预设时间内接收到的报文数量超过预先设置的阈值时,有可能发生SYN FLOOD攻击。因此,对发送的SYN同步报文进行验证。当在预设时间内接收到的报文数量小于超过预先设置的阈值时,则认为没有发生SYN FLOOD攻击,将SYN同步报文直接转发至连接设备,并由设置于服务器中的连接设备与客户端直接建立TCP连接。
[0098]作为一种可选的实施方式,上述装置还可以包括:第一获取模块19和存储模块20。
[0099]其中,第一获取模块19,用于获取发送应答报文的客户端的第一客户端地址;存储模块20,用于将第一客户端地址保存至预先创建的客户端地址表。
[0100]具体的,当应答报文校验通过,可以确认发送该应答报文的客户端为正常访问的合法客户端,因此,可以通过上述第一获取模块19和存储模块20获取该客户端的客户端地址,并将该客户端地址加入预先设置的第一客户端地址表当中。其中,客户端地址表用于记录合法客户端的地址信息。
[0101 ]作为一种可选的实施方式,上述装置还可以包括:第二获取模块71、匹配模块73、第三转发模块75和丢弃模块77。
[0102]其中,第二获取模块71,用于当应答报文校验未通过时,获取发送应答报文的客户端的第二客户端地址;匹配模块73,用于将第二客户端地址与客户端地址表进行匹配;第三转发模块75,用于当第二客户端地址与客户端地址表中的地址匹配时,将应答报文转发至服务器端;丢弃模块77,用于当第二客户端地址与客户端地址表中的地址不匹配时,丢弃应答报文。
[0103]具体的,当应答报文校验未通过时,通过上述第二获取模块71、匹配模块73、第三转发模块75和丢弃模块77对发送该应答报文的客户端的第二客户端地址进行获取,并将第二客户端地址与预先设置的客户端地址表中的地址信息进行匹配。如果第二客户端地址与客户端地址表中的地址信息匹配时,说明该报文为合法客户端发送的。因此,可以将该报文信息转发至连接设备。如果第二客户端地址与客户端地址表中的地址信息不匹配时,认为该客户端为非法客户端,并将该客户端发送的应答报文丢弃。
[0104]实施例4
[0105]根据本发明实施例,还提供了一种TCP连接的处理方法,该方法应用于连接设备。图7是根据本申请实施例的TCP连接的处理方法的流程图。
[0106]如图7所示,上述TCP连接的处理方法包括如下步骤:
[0107]步骤S201,接收防护设备转发的用于与服务器端建立TCP连接的连接报文。
[0108]步骤S203,判断接收到的连接报文的报文类型,其中,连接报文的报文类型至少包括:同步报文和应答报文。
[0109]步骤S205,当连接报文的报文类型为应答报文时,按照预先设置的校验规则对应答报文进行校验。
[0110]步骤S207,当应答报文校验通过时,利用应答报文与发送应答报文的客户端建立TCP连接。
[0111]具体的,通过步骤S201至步骤S207,连接设备在接收到防护设备转发的连接报文后,对连接报文的类型进行判断。当连接报文的报文类型为ACK应答报文时,对ACK应答报文按照预先设置的校验规则进行校验。当对应答报文校验通过时,利用ACK应答报文与客户端建立TCP连接;当对应答报文校验未通过时,将ACK应答报文发送至内核协议栈,由内核协议栈做进一步处理。其中,校验规则与防护设备中的校验规则一致,可以通过SYN COOKIE的校验方式,对ACK应答报文进行验证,具体验证方法此处不做赘述。
[0112]作为一种可选的实施方式,当连接报文的报文类型为同步报文时,在步骤S203判断接收到的连接报文的报文类型之后,上述方法还可以包括:
[0113]步骤S204,根据同步报文与客户端建立TCP连接。
[0114]具体的,当连接报文的报文类型为SYN同步报文时,通过步骤S204,利用SYN同步报文由连接设备直接与客户端建立TCP连接。
[0115]作为一种可选的实施方式,如图8所示,在实际应用当中,在连接设备中执行上述方法的步骤可以包括:
[0116]步骤I,接收防护设备转发的连接报文。
[0117]步骤2,连接报文若是SYN同步报文,直接将SYN同步报文交由内核协议栈进行TCP连接处理。
[0118]步骤3,连接报文若是ACK应答报文,按照与防护设备约定的校验方式,对ACK应答报文进行SYN COOKIE校验。当校验通过时,则在内核协议栈中创建连接表项,从而根据ACK应答报文与客户端建立连接;当校验未通过时,将该ACK应答报文交由内核协议栈进行TCP连接处理。
[0119]实施例5:
[0120]根据本发明实施例,还提供了一种TCP连接的处理装置,该装置应用于连接设备。图9是根据本申请实施例的TCP连接的处理装置的示意图。
[0121]如图9所示,该装置可以包括:第二接收模块21、第三判断模块23、第二校验模块25和第一连接模块27。
[0122]其中,第二接收模块21,用于接收防护设备转发的用于与服务器端建立TCP连接的连接报文;第三判断模块23,用于判断接收到的连接报文的报文类型,其中,连接报文的报文类型至少包括:同步报文和应答报文;第二校验模块25,用于当连接报文的报文类型为应答报文时,按照预先设置的校验规则对应答报文进行校验;第一连接模块27,用于当应答报文校验通过时,利用应答报文与发送应答报文的客户端建立TCP连接。
[0123]具体的,通过上述第二接收模块21、第三判断模块23、第二校验模块25和第一连接模块27,连接设备在接收到防护设备转发的连接报文后,对连接报文的类型进行判断。当连接报文的报文类型为ACK应答报文时,对ACK应答报文按照预先设置的校验规则进行校验。当对应答报文校验通过时,利用ACK应答报文与客户端建立TCP连接;当对应答报文的校验未通过时,将ACK应答报文发送至内核协议栈,由内核协议栈做进一步处理。其中,校验规则与防护设备中的校验规则一致,可以通过SYN COOKIE的校验方式,对ACK应答报文进行验证,具体验证方法此处不做赘述。
[0124]作为一种可选的实施方式,上述装置还可以包括:第二连接模块24。其中,第
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1