一、TCP协议(Transmission Control Protocol) 传输控制协议
TCP使用的流量控制协议是可变大小的滑动窗口协议。
TCP三次握手
建立一个稳定的 双向 连接,最少需要 几次 通信呢?
以打电话为例:
小明 给小红 打电话 小明 : 喂,小红 听得到么? 小红: 嗯,我听到你说话了,你能听到我么? 小明:我能听到你。
只有这三个传输都正确了,才能保障双方是连通的。
第一次握手∶建立连接时,客户端发送SYN 包(SEQ=x)到服务器,并进入SYN_SEND 状态,并且包含客户端的一个初始序列号seq=0,等待服务器确认。
第二次握手∶服务器收到SYN 包,必须确认客户的 ACK(ACK=x+1,对客户端连接请求的应答)同时自己也送一个 SYN 包(SEQ=y,表示服务端发起连接请求),即 SYN+ACK 包,并且包含服务端的一个初始序列号seq=0,同时返回一个确认号ack=1,此时服务器进入SYN RECV 状态。
第三次握手∶客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ACK=y+1 ,对服务端连接