目录:
1.tcp协议三次握手过程通俗易懂
2.TCP三次握手的过程
3.如何理解tcp三次握手的含义及过程
4.TCP3次握手过程
5.阐述TCP三次握手的详细过程
6.TCP三次握手的过程以及举例
7.描述tcp三次握手过程
8.tcp三次握手流程
9.tcp建立三次握手的过程
10.tcp三次握手简单理解
1.tcp协议三次握手过程通俗易懂
上一章节已经向大家详细地介绍过TCP协议,此处不过多赘述,详见学习笔记-TCP简单理解花式理解在正式开始讲述三次握手之前,我们来欣赏一段唯美的爱情故事某天清晨,在教学楼后悠长的小道上,一枚气质优雅的女同学迎面走来,李雷不由得小鹿乱撞,鼓起勇气,走上前进行自我介绍。
2.TCP三次握手的过程
1, 走上前去,伸出左手(SYN)道:”同学你好,我叫李雷(seq=x),可以认识一下吗”2, 女同学伸出右手(SYN)道:”可以啊(ACK),你好李雷(ack=x+1),我叫韩梅梅(seq=y)”3, 李雷继续说道:”你好韩梅梅(ack=y+1),很高兴认识你(ACK)。
3.如何理解tcp三次握手的含义及过程
“自我介绍之后,两人算是正式认识了从此就过上了没羞没臊的幸福生活三次握手流程所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。
4.TCP3次握手过程
在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:
5.阐述TCP三次握手的详细过程
三次握手流程图第一次第一次握手:建立连接时,Client将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
6.TCP三次握手的过程以及举例
第二次第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
7.描述tcp三次握手过程
第三次第三次握手:Client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=y+1,并将该数据包发送给Server,Server检查ack是否为y+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
8.tcp三次握手流程
完成三次握手,与服务器开始传送,在上述过程中,还有一些重要的概念:(1)未连接队列在三次握手协议中,维护一个未连接队列,该队列为每个的SYN包(seq=x)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。
9.tcp建立三次握手的过程
这些条目所标识的连接在处于 Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态(2)Backlog参数表示内核为相应套接字排队的最大连接个数SYN-ACK重传次数发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。
10.tcp三次握手简单理解
注意,每次重传等待的时间不一定相同(3)半连接存活时间是指半连接队列的条目存活的最长时间,也即其从收到SYN包到确认这个无效的最长时间,该时间值是所有重传请求包的最长等待时间总和有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
TCP三次握手实例:(1) 第一次: IP 192.168.12.232:8848 > 192.168.12.111.6626: S 1131 (2) 第二次: IP 192.168.12.111.6626
> 192.168.12.232:8848: S 3373 ack 1132 (3) 第三次: IP 192.168.12.232:8848 > 192.168.12.111.6626: ack 3374,
ack 1第一次握手:192.168.12.232发送位码syn=1,随机产生seq number=1131的数据包到192.168.12.111,然后192.168.12.111由SYN=1知道192.168.12.232要求建立联机;
第二次握手:192.168.12.111收到请求后要确认联机信息,向192.168.12.232发送ack number=1132,syn=1,ack=1,随机产生seq=3373的包;第三次握手:192.168.12.232收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,192.168.12.232会再发送ack number=3374,ack=1,192.168.12.111收到后确认seq=seq+1,ack=1则连接建立成功。
SYN攻击:在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。
SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。
SYN攻击是一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使用如下命令可以让之现行:#netstat -nap | grep SYN_RECV
本文的初衷为学习笔记的分享,部分图文来源于网络,如侵,联删。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容