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

简介

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

TCP/IP五层协议

在这里插入图片描述

  • IP数据报首部

在这里插入图片描述
标识:同一个分组相同的数字

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

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

  • TCP首部

在这里插入图片描述

  • TCP协议:

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

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

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

SYN:建立连接标识

seq: 序列号

ACK:确认(响应)

ack: 确认号

在这里插入图片描述

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发出连接释放报文段,并停止再发送数据,主动关闭TCP连接,客户端把连接释放报文段首部的FIN= 1,其序号seq=u,等待服务器的确认。

  • 第二次挥手

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

  • 第三次挥手

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

  • 第四次挥手

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

网络中常用端口号

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP协议中的三次握手四次挥手是在建立和终止TCP连接时使用的过程。 三次握手是指在建立TCP连接时,客户端和服务器之间进行的三个步骤: 1. 第一步:客户端向服务器发送一个SYN(同步)包,其中包含自己的初始序列号(ISN)。 2. 第二步:服务器收到SYN包后,回复一个SYN-ACK(同步-确认)包,其中包含确认号(ACK)和自己的初始序列号。 3. 第三步:客户端收到服务器的SYN-ACK包后,再回复一个ACK包,确认连接已建立。此时,双方可以开始进行数据传输。 这个三次握手的过程是为了确保客户端和服务器都能够正常接收和发送数据,以建立可靠的连接。 四次挥手是指在终止TCP连接时,客户端和服务器之间进行的四个步骤: 1. 第一步:当客户端想要关闭连接时,发送一个FIN(结束)包给服务器。 2. 第二步:服务器收到FIN包后,回复一个ACK包确认收到,并进入半关闭状态。此时服务器仍可以发送数据给客户端。 3. 第三步:当服务器也想要关闭连接时,发送一个FIN包给客户端。 4. 第四步:客户端收到FIN包后,回复一个ACK包确认收到。此时连接关闭。 这个四次挥手的过程是为了确保客户端和服务器都能够完成数据的传输,并安全地关闭连接。 总结起来,三次握手用于建立连接,而四次挥手用于终止连接。通过这些步骤,TCP连接可以在客户端和服务器之间建立起来,并在不需要时安全地关闭。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值