从事网络方面相关工作,懂得TCP的工作原理是一项基本的工作素养,因此了解TCP,掌握TCP是一件必不可少的技能
1.什么是TCP
TCP传输层协议,是一种面向连接的,可靠的,基与字节流的传输层通信协议
面向连接:是指TCP是通过服务端和客户端进行连接的协议
面向字节流:TCP服务端和客户端之间的数据通讯是通过字节流数据传输的
可靠的:是指TCP服务端客户端之间的数据传输是很稳定的,即使网络很差的情况,TCP都能保证将数据传输到接收
(1)三次握手
(1)首先,服务端和客户端都是处于CLOSED状态的,然后服务端启动,监听端口,状态变为LISTEN(监听)状态
(2)客户端为了请求资源,发送连接,发送同步序列号SYN,此时客户端就变成了SYN-SEND状态
(3)服务端接收到客户端请求之后,发送SYN和ACK,然后服务端状态就变成SYN-RCVD状态
(4)客户端接收到信息之后,再次发送ACK,然后变成ESTABLISHED(已确认)状态,服务端接收到返回信息后,状态也变成ESTABLISHED(已确认)状态