- TCP提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。
- 三次握手是指建立一个TCP连接时需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程有客户端执行connect来触发。
第一次握手:可数端发送SYN = 1, Seq = x ,x是一个随机数,服务端接收到syn= 1,知道客户端请求建立连接,服务器端将ACK和SYN设置成1,ack = x + 1,并未seq产生一个随机数k,发送个客户端,此时服务端的状态变成syn_rcvd,客户端收到消息后,校验syn是否等于1,ACK是否等于1,ack是否等于x + 1;然后向服务端发送数据 ACK = 1, ack = k +1;服务端检查ack 是否等于1,ack是否等于k+1;则连接建立成功,客户端和服务端进入established状态,完成三次握手,随后客户端与服务器端之间就可以传输数据了。



