TCP/IP协议
一.协议的作用
在网络通信过程中,通信双方必须以同一种规则来通信,保证通信过程中信息的准确,同时,我们也需要知道通信双方怎么建立通信连接,以及由谁发起建立,这些都需要一种规则来进行规范,这种规则就是协议(protocol)。
二.TCP/IP协议族
tcp/ip协议族是互联网中相关各类协议的总称,其可按照具体功能不同划分为四层,包括:应用层->传输层->网络层->物理层.
三.传输层中的TCP和UDP协议
(1)TCP协议(translation control protocol)
TCP协议(传输控制协议),是一种基于连接的提供可靠传输的协议,其在连接过程中需进行三次握手建立连接和四次挥手断开链接
1.三次握手
建立连接前,服务器端被动打开,处于LISTEN状态,
1.当建立连接时,客户端主动打开,使标志位SYN=1,ACK=0,seq=x,x为发送的字节流中最后一个字节的编号,客户端发送完后将自己的状态置为SYN-SENT状态,
2.此时服务器收到消息,发送SYN=1,ACK=1,seq=y,ack=x+1的消息,并将自身状态置为SYN-RECV,
3.当客户端收到消息后,给服务器端发送确认消息ACK=1,seq=x+1,ack=y+1,并将自身状态置为ESTABLISHED,当服务器端收到消息后将自身状态置为ESTABLISHED,建立连接过程完成。
2.四次挥手
1.当客户端发送完消息主动关闭时,使FIN=1,seq=u,将自身状态由ESTABLISHED置为FIN-WAIT-1
2.服务器端收到消息后发送ACK=1,seq=v,ack=u+1的消息,并将自身状态由ESTABLISHED置为CLOSE-WAIT状态 当客户端收到消息后将自身状态置为FIN-WAIT-2,此时客户端已经不能向服务器端发送消息,但还能继续接受数据
3.当服务器端完成数据传输后发送FIN=1,ACK=1,seq=w,ack=u+1给客户端,并将自身状态置为LAST-ACK
4.客户端收到服务器的断开连接请求后,发送ACK=1,seq=u+1,ack=w+1,并将自身状态置为TIME-WAIT,此时服务器端收到消息后断开连接,而客户端等待2MSL时间也关闭此连接。