1. 现象 最近线上发现如下异常包, tcp三次握手期间,server端发送syn_ack,client回复了reset包;问题:为什么client会回复reset?2. 分析 参考linux2.6.32内核(redhat 6U2)源码, client端TCPIP协议栈在以下情况下,收到SYN_AC...
分类:
其他好文 时间:
2015-08-26 13:37:57
阅读次数:
339
要搞懂这个首先得了解TCP报文段和及其首部格式,如图:
ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1
SYN : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此, SYN置1就表示这是一个连接请求或连接接受报文。
...
分类:
其他好文 时间:
2015-08-26 12:12:11
阅读次数:
212
主要内容:客户端接收SYNACK、发送ACK,完成连接的建立。
内核版本:3.15.2
我的博客:http://blog.csdn.net/zhangskd
客户端主动建立连接时,发送SYN段后,连接的状态变为SYN_SENT。
此时如果收到SYNACK段,处理函数为tcp_rcv_state_process()。...
分类:
其他好文 时间:
2015-08-15 23:04:57
阅读次数:
314
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了...
分类:
其他好文 时间:
2015-08-15 22:48:25
阅读次数:
122
adb server is out of date. killing...ADB server didn't ACK* failed to start dae
最近在Android项目开发过程中,莫名其妙的出现这个问题:
ADB server didn't ACK...
adb server is out of date. killing...ADB server didn...
分类:
数据库 时间:
2015-08-14 19:18:10
阅读次数:
188
DDos(Distributed Denial of Service),分布式拒绝服务,在游戏、在线业务等方面常会发现这样的攻击,一般是竞争对手所为。那DDOS攻击的方式有哪些呢?
1流量攻击(四层)
主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机。
1.1 SYN/ACK Flood攻击
这个是很古老的攻击方法了,不过前期还是挺凑效的,...
分类:
其他好文 时间:
2015-08-13 12:24:32
阅读次数:
173
客户端消息在Agent中的预处理流程。
Agent定义好的三种请求:
//api.go
var RCode = map[int16]string{
0: "heart_beat_req", // 心跳包..
1: "heart_beat_ack", // 心跳包回复
10: "user_login_req", /...
分类:
Web程序 时间:
2015-08-12 11:30:22
阅读次数:
180
TCP的坚持定时器1.基本概念TCP的接收方指名希望从发送方接收的数据字节(窗口大小)来进行流量控制,如果窗口大小为0,那么放送方就会阻止发送数据,直到接收方发来一个已跟新窗口大小的ACK为止,那么如果接收方发送的这个ACK中途丢失了呢(这种可能性是有的)?此时发送方收不到信息,就默认窗口大小还为0,那它就继续阻塞在那,这样就造成了死锁。那么如何解决此类问题呢,解决方案就是我此片博文的题目,TCP的...
分类:
其他好文 时间:
2015-08-08 16:40:34
阅读次数:
137
1.TCP的交互数据流(1)基本概念所谓交互数据流,其对TCP而言,就是他们所产生的大多数的TCP报文段中所包含的数据不超过10个字节,例如聊天等telnet的软件的TCP数据流就属于TCP交互数据流(2)经受时延的确认TCP收到数据时并不会马上发送数据,相反它会推迟数据的发送,以便让ack和该方向要发送的数据一起发送(搭个便车,不然ack就得自己自己组成一个数据段发送,这样有可能造成网络发生拥塞)...
分类:
其他好文 时间:
2015-08-07 23:58:06
阅读次数:
151
理解UDP
UDP套接字的特点:在笔记2中讲套接字类型有提,类似信件或邮件的传输。UDP在数据传输过程中可能丢失,如果只考虑可靠性,TCP的确比UDP好。但UDP在结构上比TCP更简洁。UDP没有ACK,SEQ那样的操作,因此,UDP的性能有时比TCP高出很多。编程中实现UDP也比TCP简单。另外,虽然UDP是不可靠的数据传输,但也不会像想象中那么频繁地发生数据丢失。因此,在更重视性能而非可靠性的情...
分类:
其他好文 时间:
2015-08-07 13:26:53
阅读次数:
110