TCP 三次握手和四次分手
TCP(Transmission Control Protocol) 传输控制协议
三次握手
TCP 是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即 tcp 标志位,有 6 种标示:SYN(synchronous 建立联机) ACK(acknowledgement 确认) PSH(push 传送)
FIN(finish 结束) RST(reset 重置) URG(urgent 紧急)
Sequence number(顺序号码) Acknowledge number(确认号码)
第一次握手:主机 A 发送位码为 syn=1,随机产生 seq number=1234567 的数据包到服务器,主机 B 由
SYN=1 知道,A 要求建立联机;
第二次握手:主机 B 收到请求后要确认联机信息,向 A 发送 ack number=(主机 A 的 seq+1),syn=1,ack=1,随
机产生 seq=7654321 的包
第三次握手:主机 A 收到后检查 ack number 是否正确,即第一次发送的 seq number+1,以及位码 ack 是否
为 1,若正确,主机 A 会再发送 ack number=(主机 B 的 seq+1),ack=1,主机 B 收到后确认 seq 值与 ack=1 则
连接建立成功。
完成三次握手,主机 A 与主机 B 开始传送数据。
在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确
认;
第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包
(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态; 第三次握手:客户端收到服务器的
SYN + ACK 包 , 向 服 务 器 发 送 确 认 包 ACK(ack=k+1) , 此 包 发 送 完 毕 , 客 户 端 和 服 务 器 进 入
ESTABLISHED 状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.
实例:
IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836
IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837
IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1
第 一 次 握 手 : 192.168.1.116 发 送 位 码 syn = 1, 随 机 产 生 seq number=3626544836 的 数 据 包 到
192.168.1.123,192.168.1.123 由 SYN=1 知道 192.168.1.116 要求建立联机;
第 二 次 握 手 : 192.168.1.123 收 到 请 求 后 要 确 认 联 机 信 息 , 向 192.168.1.116 发 送 ack
number=3626544837,syn=1,ack=1,随机产生 seq=1739326486 的包;
评论0