前言
本章主要讲述TCP的三次握手和四次挥手
概述
-
TCP(传输控制协议)
是面向连接的通信协议,即传输数据之前.在发送端和接收端先建立连接,然后再传输数据(两台计算机之间可靠无差错的数据传输)
在TCP连接中必须要先明确客户端与服务器端.由客户端向服务器端发出连接请求.每次连接的创建都需要经过三次握手。
TCP连接的建立(三次握手)
-
最开始的时候客户端和服务器都是处于CLOSED状态。主动打开连接的为客户端,被动打开连接的是服务器。
1、TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;
2、TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。
3、TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,