年后第一天上班,心情如上图。
TCP/IP
TCP/IP是互联网相关的各类协议簇总称。
TCP/IP的分层管理:
应用层(HTTP):决定向用户提供应用服务时通信的活动。如FTP/DNS(Domain Name System,域名系统),HTTP协议处于该层。
传输层(TCP):对上层应用层提供处于网络连接中两台计算机之间的数据传输,有两个性质不同的协议TCP(传输控制协议)/UDP(用户数据报协议)
网络层(网络互连层)(IP):处理网上流动的数据包,数据包时网络传输的最小数据单位,该层规定怎样的传输路线到达对方计算机 Internet Protocol
链路层(网络接口层)(网络):处理连接网络的硬件部分,包含操作系统/数据驱动/NIC(Network Interface Card,网卡)/光纤等物理可见部分
发送端由应用层到链路层,每层增加首部,接收端由链路层至应用层,每层删除首部。称之为数据信息的包装,即分装。
三次握手
第一次握手
客户端(client)发送一个SYN标识(J)(synchronize同步)包给服务器(server),等待服务器的ACK(acknowledgment确认)回复,客户端进入SYN-sent状态。
第二次握手
服务器接收客户端发送的synchronize包之后返回一个ACK(J+1)包,以及一个SYN(K)包,等待客户端的回复,服务器进入SYN-RECIVED状态
第三次握手
客户端收到服务器发出的ACK(J+1)及SYN包后,进入ESTABLISHED状态,根据服务器发来的SYN(K)包,返回等待中的服务器ACK(K+1)包。服务器收到ACK回复之后,设置自己状态为ESTABLISHED.
至此,TCP三次握手完成,客户端可以和服务端之间进行通信。即三次握手保证了客户端与服务器之间的彼此间的正常通信。
第一次请求客户端发送一个SYN包,序列号是0。
第二次请求服务器会发送一个SYN和一个ACK包,序列号是0,ack号是1。
第三次本地客户端请求会发送一个ACK包,序列号是1,ack号是1来回复服务器。
四次挥手
第一次挥手
客户端给服务器发送FIN(M)包,client进入FIN-WAIT-1状态,客户端再没有其他数据发送。
第二次挥手
server收到client发来的M包之后,向client发送ACK(M+1)包,server进入CLOSE-WAIT状态,client进入FIN-WAIT-2状态。
第三次挥手
server继续向client发送FIN(N)包,请求关闭链接,server进入LAST-ACK状态。
第四次挥手
client收到server发送的FIN(N)包,进入TIME-WAIT状态,向server发送ACK(N+1)包,server收到client的ACK(N+1)包以后,进入CLOSE状态,client等待一段时间之后没有收到回复,判断server关闭,进入CLOSE状态。
四次挥手,即四次发包过程
客户端挥手–>服务器挥手–>服务器挥手–>客户端挥手
参考文章:图解TCP三次握手与四次分手—-稀土_掘金
如有错误,烦请指正,谢谢!