TCP

TCP是一个可靠的传输协议,采用拥塞控制机制如慢启动、拥塞避免、快速重传和快速恢复来防止网络拥塞。同时,通过滑动窗口实现流量控制,确保接收端能处理数据的速度与发送端相匹配。TCP连接过程包括著名的三次握手和四次挥手。
摘要由CSDN通过智能技术生成

TCP

TCP是一个全双工的运行在传输层的可靠传输协议。

为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”、“快速恢复(Fast Recovery)”算法。TCP的拥塞控制主要原理依赖于一个拥塞窗口(cwnd)来控制

除此之外,TCP还有一个对端通告的接收窗口(rwnd)用于流量控制。

报文格式

源端口和目的端口

一个IP地址和端口的组合称为“套接字”或“端点”。

所以IP协议中的源IP地址和目的地址

和TCP协议中的源端口和目的端口,

组成了“一对”套接字(发送端的套接字和接收端的套接字)。

序列号

每一个“TCP报文段中的第一个字节”都会被赋予一个序列号。

序列号是个32位数,到达2^32-1后会再回到0.

确认号(TCP返回报文使用)

也称ACK号或ACK字段。

确认号包含的值为:“确认号的发送方”希望接收的下一个序列号。(即最后接收成功的序列号+1)

 

  1. 三次握手和四次挥手的时候,序列号和确认号被用于通信报文中

  2. 发送数据时:第一个包的序列号是一个随机数。为了便于理解,这里就把它称为1号包。假定这个包的负载长度是100字节,那么可以推算出下一个包的序列号应该是101。

头部长度

该字段表示TCP头部的长度,以32位字为单位。

由于“选项字段”大小是可变的,所以“头部长度”字段是必须的。

TCP头部长度最大为60字节,如果没有选项字段,则为20个字节。

8种状态标识

以下各个标识表示了“该TCP报文段”是干什么的。

如:

SYN和ACK可能同时为1,它表示的就是建立连接之后的响应。

单个的一个SYN,它表示的只是建立连接。

1、CWR:拥塞窗口减(发送方降低它的发送速率)。

2、ECE:ECN回显(发送方接收到了一个更早的拥塞通告)

3、URG:紧急(紧急指针字段有效,很少用)

4、ACK:确认(确认号字段有效,连接建立后一般都是启用状态)

5、PSH&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值