目录
一.TCP协议
TCP协议是面向连接,可靠的传输层协议(传输数据前,必须建立连接),每一条TCP连接只能有俩个端点(服务器,客户端),所以每一条TCP连接只能是点对点的(一对一,一个发一个收),TCP面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的报文段),TCP具备“可靠性传输”,“流量控制”,“拥塞控制”等功能。
二.TCP协议的3次握手过程
TCP协议通过3次握手,建立服务器Server与客户端Client之间的TCP连接:
1.第一次握手:
客户端先向服务器发送一个TCP数据包,首部格式内容为:SYN=1,ACK=0,表示这是一个请求建立连接的数据包。
2.第二次握手:
服务器收到客户端发送的第一个数据包后,根据SYN=1,ACK=0,判断出为主动请求建立连接的数据包。若服务器同意连接,则服务器向客户端发送一个数据包进行回应,首部格式内容为:SYN=1,ACK=1.ACK=1代表服务器同意连接。
3.第三次握手:
客户端收到服务器的确认后,再给服务器发送一个数据包,首部格式内容为:SYN=0,ACK=1。SYN=0代表双方同意建立连接,ACK=1代表客户端收到服务器的确认数据包。
三.TCP协议的四次挥手过程
1.第一次挥手:
首先客户端想服务器发送连接释放的请求数据包,并停止发送数据。首部格式内容为:FIN=1,ACK=0。FIN=1意味着客户端要主动释放客户端到服务器的TCP连接。
2.第二次挥手:
服务器收到连接释放的报文后,给客户端发送确认数据包,首部格式内容为:FIN=0,ACK=1。ACK=1表示服务器收到了客户端发送的数据包,同意客户端释放连接;通过第二次挥手,客户端到服务器方向的连接就释放了&#