搞懂TCP/IP协议三次握手四次挥手

简介

  • TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。
  • TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。

TCP/IP五层协议

搞懂TCP/IP协议三次握手四次挥手_第1张图片

  • IP数据报首部

搞懂TCP/IP协议三次握手四次挥手_第2张图片
标识:同一个分组相同的数字

标志:表示后面是否还有分片(MF 1 表示后面“还有分片”。MF 0 表示最后一个分片。)

片偏移:分出来的分组在原来报文处于什么位置(片偏移以8 个字节为偏移单位)。

  • TCP首部

搞懂TCP/IP协议三次握手四次挥手_第3张图片

  • TCP协议:

    序号:字节流的编号(第二个编号要根据第一个编号的长度)

    确认号:期望收到对方下一个字节的序号

TCP/IP三次握手与四次挥手

SYN:建立连接标识

seq: 序列号

ACK:确认(响应)

ack: 确认号

搞懂TCP/IP协议三次握手四次挥手_第4张图片

TCP建立连接三次握手
  • 第一次握手

    客户端的TCP向服务器发出连接请求报文段,其首部中的同步位SYN= 1,并选择序号seq= x,表明传送数据时的第一个数据字节的序号是X。

  • 第二次握手

    服务器的TCP收到连接请求报文段后,如同意,则发回确认,服务器在确认报文段中应使SYN=1,使ACK=1,其确认号ack=x+1,自己选择的序号seq = y。

  • 三次握手

    客户端收到此报文段后向服务器给出确认,其ACK= 1,确认号ack=y+1,客户端的TCP通知上层应用进程,连接已经建立。

TCP连接释放四次挥手

FIN:连接释放标识

搞懂TCP/IP协议三次握手四次挥手_第5张图片

  • 第一次挥手

    数据传输结束后,通信的双方都可释放连接,现在客户端的应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接,客户端把连接释放报文段首部的FIN= 1,其序号seq=u,等待服务器的确认。

  • 第二次挥手

    服务器发出确认,确认号ack=u+ 1,而这个报文段自己的序号seq= v,TCP服务器进程通知高层应用进程,从客户端到服务器这个方向的连接就释放了,TCP 连接处于半关闭状态,服务器若发送数据,客户端仍要接收。

  • 第三次挥手

    若服务器已经没有要向客户端发送的数据,其应用进程就通知TCP释放连接。

  • 第四次挥手

    客户端收到连接释放报文段后,必须发出确认,在确认报文段中ACK= 1,确认号ack= w+ 1,自己的序号seq= u+ 1,TCP连接必须经过时间2MSL后才真正释放掉。

网络中常用端口号

搞懂TCP/IP协议三次握手四次挥手_第6张图片

你可能感兴趣的:(网络,TCP/IP,网络协议,网络)