TCP闲扯

今天扯下TCP方面的东西,我们知道对与基与TCP协议的应用程序,都需要完成三次握手,再握手后,才能正常通迅。
本TCP的特性是好的,这样可以保障可靠性的传输,可惜,总有那些不法分子,在这个基础上,做些坏事。
什么坏事呢 ?TCP连接需要在握手后,才能传数据,那么在正常建立连接前,也就是三次握手中的一二次状态放到哪呢?
此时,我们的TCP机制就将其放至TCP半连接队列,而将正常的三次握手放到TCP完整连接队列。那现在就有个问题了,我们的
这两个队列都是无限的吗?错。不是。
那么那些不法分子,就想到了,如果我将这些队列都占据了,那么...嘿嘿。正常的请求,不就完了嘛。这就是所谓的SYN***,
将其半连接队列占满,那么我们怎么办呢?方法也是有的,如开启syn_cookie,限制syn_ack次数,将半连接队列+全连接队列开大.
OK,也许你防住了,恭喜你!但如果***者是以大带宽***,我想也没救,只能求助硬件防火墙厂商,或者ISP部门了.
在此,我们只考略半连接被占光了,如果全连接被占光呢?什么?你不知道如何占光?其实就是我们常说的慢***啦
简单的说,我写个客户端与服务端正常建立连接,但我与服务端不进行正常通迅,而是每隔一段时间发送一点小数据,或者取
一点小数据,反正就是不让其close,我想我一个客户端与服务端建个几K+连接不成问题吧。我曾用python写了一个telnet慢连接,
执行后,瞬间我的服务器Mem被榨干了,当然我们的服务器硬件性能也不是很好啦。只是说,这种***也是相当给力的。
那么我们有没有什么方式来防止呢?那就是可以设置些在指定时间内如果还没有传输完就认定为慢连接***,将其主动关闭。
暂时就扯这些吧,有不对的,给俺留言!


如果想了解更多,请关注我们的公众号
公众号ID:opdevos
扫码关注

gongzhouhao.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值