1,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
2,完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:(挺好懂的哈!!!)
(1)未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于 Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
(2)Backlog参数:表示未连接队列的最大容纳数目。SYN-ACK重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
(3)半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
分享到:
相关推荐
TCP三次握手PPT,TCP三次握手,TCP三次握手课件
基于ajax请求过程分析Http协议的三次握手和四次挥手过程。 基于ajax请求过程分析Http协议的三次握手和四次挥手过程 基于ajax请求过程分析Http协议的三次握手和四次挥手过程 基于ajax请求过程分析Http协议的三次握手...
Wireshark入门 tcp三次握手
TCP三次握手与四次挥手.pdf
TCP协议三次握手过程分析
TCP三次握手,TCP三次握手是TCP连接建立过程的可靠性保证
三次握手,TCP/IP协议三次握手,TCP/IP协议三次握手
TCPIP_三次握手图解,完美的TCPIP协议讲解
Wireshark抓包分析TCP“三次握手,四次挥手”.doc
主要理解三次握手的过程。针对长连接和短连接进行比较
TCP三次握手安全隐患, TCP三次握手机制并不是绝对安全的,存在着一些安全隐患和漏洞。
Socket模拟TCP三次握手,网上找到
TCP报文分析--三次握手 四次挥手 还介绍了一点 SYN洪水攻击
用wireshark实际操作来分析tcp三次握手的整个过程,看完会对三次握手有更深入了解
就给出了一张图显示的是TCP三次握手建立、四次握手断开与socket函数对应 如:socket connect()建立对应于SYN ,而connect()返回值 与syn 对应
详解TCP三次握手和四次挥手
在TCP/IP协议中,建立连接协议是三次握手,关闭连接是四次握手。
该文档详细描述了wireshark抓包分析tcp三次握手四次挥手详解及网络命令,亲自整理,适合新手借鉴
TCP三次握手.docx
tcp三次握手过程详细解释