TCP连接是客户端(client)与服务器之间的连接(server),也称为CS模式。TCP连接将会在二者之间建立传输数据的连接,而建立连接的过程需要3个步骤:
- 客户机:服务器!我要连接你啦~(^_^)
- 客户机发送请求报文,首部中的SYN=1(SYN是连接标志位);
- 为自己选择一个初始序号seq=x;
SYN报文段不能携带数据,但是消耗一个序列号 - TCP客户进程进入SYN-SENT(同步已发送)状态。
- 服务器:嗯,我还没睡呢!
- S收到请求后,若同意建立连接,则向C发送响应报文
- (SYN=1,ACK=1),确认号是seq=x+1
这个报文也不携带数据,但是消耗一个序列号
- (SYN=1,ACK=1),确认号是seq=x+1
- TCP服务器进程进入SYN-RCVD(同步收到)状态。
- S收到请求后,若同意建立连接,则向C发送响应报文
- 客户端:【出于礼貌】哈哈哈[笑哭]
- TCP客户进程收到S的确认,还要向S发送确认报文
- ACK=1,确认号ack=y+1,自己的确认号seq=x+1;
- 这时候TCP连接建立
- C进入ESTABLISHED(已建立连接)状态
- S收到A的确认后也进入ESTABLISHED(已建立连接)状态。
- TCP客户进程收到S的确认,还要向S发送确认报文