TCP/IP协议理解及三次握手和四次挥手

TCP/IP协议理解及三次握手和四次挥手

最近在学习TCP/IP协议,在这里讲下自己的理解希望能帮助到需要的人更好的理解,如有理解有误,还望指出。

一.网络协议

1.何为协议:通俗的讲指的是一种规则,一种能够被大家认可并使用的规则。也可以说是两设备想要进行通信,一定会事先约定好规则,然后相互之间才能进行沟通。

2.网络协议包括:
(1)TCP/IP协议——最基本的通信协议;
(2)蓝牙协议规则;
(3)WIFI协议规则等。

二.OSI(Open System InterConnection)参考模型

OSI将网络通信分为7层:
(1)应用层:指的是与服务器接触最开始的那一层,也就是客户进行交互的最直接的那一层;
(2)表示层:顾名思义就是转化成数据所要表示的形式,而不是用二进制来表示,就比如图片,在此时 要转化为图片的形式;
(3)会话层:管理两设备相互之间的连接时长,还有什么时候断连接;
(4)传输层:也是TCP/IP的TCP协议所在的一层。该层主要是分配端口号后进行TCP连接,也就是三次握手的过程;
(5)网络层:TCP/IP的IP网络协议所在的一层。该层主要是分配IP地址,一般是路由器的工作之处;
(6)数据链路层:一般是网卡,交换机工作之处;
(7)物理层:一般是网线,光纤网络。

三.TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网络协议)协议的三次握手与四次挥手

1.三次握手

第一次握手:客户端发送SYN(表示想要与对方建立连接的标志)包至服务器,并进入SYN_SENT(请 求发送)状态,等待服务器确认;

第二次握手:服务器收到客户端发送的SYN包后发送一个ACK(响应)给客户端,同时发送自己的SYN(就是再发送自己的一个同步请求建立标志),然后服务器进入SYN_RECV(接收)状态;

第三次握手:客户端收到服务器端的SYN+ACK后,进入ESTABLISHED(建立连接状态),并发送服务器SYN包的确认ACK(也就是再响应),服务器接收到客户端的ACK后进入ESTABLISHED状态。

TCP/IP协议理解及三次握手和四次挥手

2.四次挥手

第一次挥手:主动关闭方(可客户端可服务器端)发送一个FIN(请求关闭)并进入FIN_WAIT1状态;

第二次挥手:被动关闭方接收到关闭方发送的FIN并发送ACK,此时被关闭方进入CLOSE_WAIT状态,主动关闭方收到被动关闭方的ACK后,进入FIN_WAIT2状态;

第三次挥手:被动关闭方发送一个FIN并进入LAST_ACK状态;

第四次挥手:主动关闭方收到被动方发送的FIN并发送ACK,此时主动关闭方进入TIME_WAIT状态,经过2MLS(2个生命周期)时间后关闭连接,被动关闭方收到主动关闭方的ACK后,关闭连接。

TCP/IP协议理解及三次握手和四次挥手