【网络】TCP连接的顺序问题、丢包问题、流量控制、拥塞控制问题

前言

接收端应答方式:累计确认,每次确认多个ID;

  1. 发送端的数据结构分为四个部分
    在这里插入图片描述
  2. 接收端的数据结构
    在这里插入图片描述

顺序问题、丢包问题

超时重传

流量控制机制(滑动窗口rwnd)

目的:防止发送方把接收方缓存塞满。
在对于包的确认中,同时会携带一个窗口的大小
根据接收方处理数据的速度,自动调整窗口大小。

拥塞控制问题(拥塞窗口cwnd)

目的:防止网络被塞满即要避免两种现象:包丢失和超时重传。
速度控制公式:LastByteSent - LastByteAcked <= min{cwnd,rwnd}发送还未确认的数据<=最小窗口

拥塞控制是通过拥塞窗口来解决的,相当于往管道里面倒水,快了容易溢出,慢了浪费带宽,要摸着石头过河,找到最优值。

那发送方怎么判断网络是不是满呢?这其实是个挺难的事情,因为对于TCP协议来讲,他压根不知道整个网络路径都会经历什么,对他来讲就是一个黑盒。TCP发送包常被比喻为往一个水管里面灌水,而TCP的拥塞控制就是在不堵塞,不丢包的情况下,尽量发挥带宽。
水管有粗细,网络有带宽,也即每秒钟能够发送多少数据;水管有长度,端到端有时延。在理想状态下,水管里面水的量=水管粗细x水管长度。对于到网络上,通道的容量=带宽×往返延迟
如果我们设置发送窗口,使得发送但未确认的包为为通道的容量,就能够撑满整个管道。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值