TCP协议内容总结


一、TCP协议简介

TCP协议是有连接的,面向字节流的传输层协议。主要实现端到端的数据传输,保证可靠,信息准确无误

TCP首部格式

在这里插入图片描述
这里数据偏移也可以定义为TCP首部的长度,控制位包括8位控制标识 如图
在这里插入图片描述

  • ACK:为1时,表示确认应答的字段生效
  • SYN:为1时,表示希望建立连接,并且可以设置序列号
  • FIN:为1时,表示希望断开连接

二、TCP三次握手,四次挥手

1.三次握手

在这里插入图片描述

  1. 客户端将TCP首部控制位的SYN设为1,并将序号seq=x发送,此时客户端进入SYN_SEND
  2. 服务端接收到后,将控制位SYN和ACK都设为1, 并将确认应答号ack=x+1,序号seq=y发送,此时服务端进入SYN_RECV
  3. 客户端接收到后,将控制位SYN设为1,并将确认应答ack=y+1发送,此时客户端进入ESTABLISHED,随后服务端接收到后,也进入ESTABLISHED,就可以通信了。
    黏包问题

2.四次挥手

在这里插入图片描述

  1. 客户端向服务端发送控制位FIN为1报文段,并设置序列号seq=x,此时客户端进入FIN_WAIT_1。
  2. 服务端接收到后,向客户端返回一个标志位ACK为1的报文段,设置ack=x+1,此时服务端进入CLOSE_WAIT。客户端接收到后进入FIN_WAIT_2。
  3. 服务端向客户端发送FIN为1的报文段,并设置seq=y发送,此时服务端进入LAST_ACK。
  4. 客户端向服务端发送ACK为1的报文段,并设置ack=y+1,此时客户端进入TIME_WAIT,服务端收到后进入CLOSED,随后客户端等待2MSL的时间后,也进入CLOSED。

3.为什么是四次挥手不是三次?

因为TCP协议是全双工模式,两端都可以发送和接收数据,第二次挥手服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值