TCP传输控制协议

TCP是一种面向连接、可靠的传输层协议,确保数据无丢失、无重复、无错误。它通过校验和、确认应答、超时重传、滑动窗口和拥塞控制等机制实现可靠性。在连接建立前进行三次握手,结束后断开连接。流量控制通过滑动窗口协议调节发送方速率,防止接收方处理不过来。TCP还具备拥塞控制策略,如慢启动、拥塞避免、快速重传和快速恢复,以应对网络拥塞。
摘要由CSDN通过智能技术生成

TCP协议的特点:

  1. TCP协议 是一种面向连接的、可靠的、基于字节流的传输层通信协议。
  2. 面向连接的:指在传输数据之前,必须建立连接。数据传输之后则释放连接。
  3. 可靠的:指数据在传输的过程中无重复、无丢失、无错误。
  4. 基于字节流的:数据传输过程中是流入进程和流出进程的字节序列,是一个一个数据包。

TCP报文格式

在这里插入图片描述

  • 源端口和目的端口:各占2个字节。端口是指传输层和应用层的服务端口。
    传输层的分用和复用就是通过端口实现的。
    分用:在发送端,多个客户端进程公用一个传输层。
    复用:在接收端,传输层会根据端口号分配给不同的应用进程。
  • 序号字段(SN):占4个字节。范围是0 ~ 2^32-1。
    因为TCP是面向字节流,所以它为每一个字节进行编号。
  • 确认号(ASN):占4个字节。
  • 是期望收到下一个报文段的数据部分的第一个序号。
  • 数据偏移:占4个字节。
    是指TCP报文段的数据开始的部分距TCP报文段起始部分的偏移量。
  • 6 位标志位
字段 含义
URG 紧急指针是否有效;当URG置1时,表示此报文段有紧急数据,应尽快传送。
ACK 确认号是否有效;1表示有效,0表示无效。
PSH 提示接收端应用程序立即从 TCP 缓冲区中把数据读走。
RST RST=1时,表示TCP连接出现了严重的问题,必须释放重连。
SYN 请求建立连接;当SYN=1,ACK=0时,表示为请求连接。当SYN=1,ACK=1时,表示为同意连接的请求应答。
FIN FIN=1时,表示请求释放连接。
  • 窗口:占2个字节,表示接受端的接收窗口的大小。
    用于实现流量控制。将接收端发送过去的窗口大小设置成发送端的发送窗口大小,从而控制了发送端的发送效率。
  • 校验和:用于检测发送过程中是否出现错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值