计算机网络-传输层(TCP可靠传输(校验,序号,确认,重传),TCP流量控制,TCP拥塞控制(慢开始,拥塞避免)(快重传,快恢复))
创始人
2024-02-07 19:02:58
0

文章目录

  • 1. TCP可靠传输
  • 2. TCP流量控制
  • 3. TCP拥塞控制

1. TCP可靠传输

网络层:提供尽最大努力交付,不可靠传输。
传输层:使用TCP实现可靠传输

可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。

TCP可靠传输机制:

  1. 校验:与UDP校验一样, 增加伪首部

  2. 序号:一个字节占用一个序号,TCP序号字段指的是一个报文段第一个字节的序号。

  3. 确认:接受方收到发送方发送的报文后,回返回一个报文用作确认(这个报文可以带数据,称为捎带应答),这个回复报文首部确认字段是收到报文序号的下一个
    在这里插入图片描述

    TCP使用累计确认机制,确认报文的字段是TCP接收方最近需要接受的字段

    eg:
    在这里插入图片描述
    设黄色报文段丢失,绿色报文段正常接受,TCP确认报文确认号字段为4

  4. 重传:确认重传二者联系紧密,TCP在一段时间(重传时间)没有收到确认报文就要重传刚刚发送的报文。

    TCP采用自适应算法动态改变重传时间RTTS(加权平均往返时间)的方法。

    冗余ACK:(快重传) 每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。

     发送方已发送1,2,3,4,5报文段接收方收到1,返回给1的确认(确认号为2的第一个字节)接收方收到3,仍返回给1的确认(确认号为2的第一个字节)发送方收到2个对于报文段1的冗余ACK 认为2报文段丢失,重传2号报文段﹐快速重传
    

2. TCP流量控制

流量控制:让发送方慢点,要让接收方来得及接收。

TCP使用滑动窗口机制来实现流量控制。
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小。
即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。

eg:
TCP在建立连接时,主机B会通过确认报文,告知A自己的接受窗口大小(设为400)。发送端会调整自己的发送窗口大小为这个大小也为400字节。同时设一个报文段长100字节。滑动窗口过程如下图:
在这里插入图片描述
上图接受方进行了三次流量控制,发送方的发送窗口从400->300->100->0

仔细分析上图,当B主机发送响应报文,设置了自己的接受窗口大小为0后,主机A会调整自己的发送窗口为0。
此后,A主机需要等待B发送响应报文,通知其修改自己的发送窗口,继续发送数据。而B需要等待A主机发送数据后才可以发送响应报文。这样就构成了类似死锁的现象。

为了解决这个问题:

  • TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。
  • 若持续计时器设置的时间到期,就发送一个窗口探测报文段。接收方收到探测报文段时给出现在的窗口值。

3. TCP拥塞控制

出现拥塞的条件:对资源需求的总和>可用资源

资源:网络带宽,交换机数据缓存等

网络中有许多资源同时呈现供应不足导致网络性能变坏,最终网络吞吐量将随输入负荷增大而下降。

TCP拥塞控制:为了避免过多的数据注入网络中。

注意区分流量控制和拥塞控制:

  1. 拥塞控制针对的是网络全局上,流量控制针对的只是针对发送方和接受方(点对点)
  2. 拥塞是因为网络上很多主机都在发送数据,导致拥塞。而流量控制是因为接受方上层来不及处理发送方 发送的数据。

这里为了方便分析,假设:

  1. 数据单方向传送,而另一个方向只传送确认。(无捎带应答)

  2. 接收方总是有足够大的缓存空间,因而发送窗口大小取决于拥塞程度。

    因为:发送窗口=min(接收窗口rwnd,拥塞窗口cwnd)

    接受窗口:接收方根据接受缓存设置的值,并告知给发送方,反映接收方容量。
    拥塞窗口:发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前容量。

慢开始,拥塞避免:
在这里插入图片描述
ssthresh:慢开始的阻塞窗口到这个位置增长速度减慢。由慢开始过渡到拥塞避免

如果网络发生阻塞,阻塞窗口重置为1,重新开始慢开始,ssthresh减小为发生阻塞时的阻塞窗口值的一半。

之后的过程继续重复即可。

快重传,快恢复:

快重传:因为TCP采用累计确认机制,所以如果收到多个重复的确认报文(冗余ACK),可以确认这个确认数据流ack字节之后的报文数据丢失。需要重传一次。

在这里插入图片描述
当收到冗余ACK时,重发报文后进行快恢复,拥塞窗口大小不是直接重置到1,而是直接将新拥塞窗口大小设置为冗余ACK时的拥塞窗口大小的一半(新ssthresh值)(快恢复)。

TCP Tahoe版本废弃,了解即可。

相关内容

热门资讯

砥砺奋进七十载 天山南北谱华章... 新疆塔克拉玛干沙漠边缘的麦盖提县90%的土地被黄沙覆盖,这片长期荒废的戈壁荒滩,如今养出了鲜活的澳洲...
约克雷斯本场数据:1粒进球,4... 直播吧9月13日讯 在本轮英超阿森纳对阵诺丁汉森林的比赛中,约克雷斯破门,以下为他在本场数据: 比赛...
“7万亿”将撬动什么?——业内... 新华社北京9月11日电(记者丁文娴、高萌、李丽)国务院办公厅日前印发《关于释放体育消费潜力进一步推进...
“罕见”!匈牙利总理:俄方行为... 无人机进入波兰领空事件引争议,匈牙利总理“罕见”对俄表态 有关俄罗斯无人机进入波兰领空事件,目前各方...
96岁“国民奶奶”陈奇逝世!曾... 搜狐娱乐讯 13日,据主持人曹可凡透露,著名表演艺术家陈奇逝世,享年96岁,她曾获第31届上海白玉兰...
2025年全国主流媒体看常州|... 废旧动力电池被称为巨大的“城市矿山”。近年来,我国新能源汽车产业快速发展,随着动力电池退役量逐年上升...
(体育)乒乓球——WTT澳门冠... 当日,在澳门进行的2025年世界乒乓球职业大联盟(WTT)澳门冠军赛女子单打四分之一决赛中,中国选手...
北京冰雹有鸽子蛋大 据“北京市气象局”消息,目前,北京通州区、东城区、朝阳区、海淀区等多区发布冰雹黄色预警:受雷雨云团影...
超级世界波!苏维门迪抽射斩获处... 直播吧09月13日讯 英超第4轮,阿森纳vs诺丁汉森林。比赛第31分钟,苏维门迪抽射世界波轰入阿森纳...
新疆玛纳斯湿地:首次发现珍稀鸟... 近日,在新疆玛纳斯国家湿地公园首次发现了国家二级保护动物姬田鸡。 姬田鸡,隶属于鹤形目秧鸡科,体长约...