【计算机网络】(三) 传输层


在这里插入图片描述

传输层概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多路复用和多路分用

什么是多路复用/分用?
为什么进行多路复用/分用?
在这里插入图片描述
How?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UDP

什么是UDP?
在这里插入图片描述
UDP段格式
在这里插入图片描述
UDP校验和
在这里插入图片描述
在这里插入图片描述

TCP

TCP报文段结构

在这里插入图片描述

在这里插入图片描述

可靠性数据传输

传输
  • TCP发送方简化描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • TCP接收方

在这里插入图片描述
翻译

快速重传机制

从TCP ACK生成来看,如果收到一个乱序的段,即中间有发送段丢失,那么接收方会发送重复的ACK
在这里插入图片描述
思考:为什么发送方等待3个冗余ACK

快速重传算法
在这里插入图片描述

流量控制

在这里插入图片描述
在这里插入图片描述
注意:流量控制要和后续的拥塞控制区分开。
Sender限制自己已经发送的但还未收到ACK的数据不超过接收方空闲RevWindow尺寸,即:
LastByteSent - LastByteAcked <= RevWindow

建立连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 为什么需要初始序列号?为什么需要三次握手?
  1. 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤

  2. 如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认

关闭连接

在这里插入图片描述

  • 为什么需要四次挥手?

因为TCP是一个全双工协议,必须单独拆除每一条信道。4次挥手的目的是终止数据传输,并回收资源,此时两个端点两个方向的序列号已经没有了任何关系,必须等待两方向都没有数据传输时才能拆除虚链路,不像初始化时那么简单,发现SYN标志就初始化一个序列号并确认SYN的序列号。因此必须单独分别在一个方向上终止该方向的数据传输。

如果是三次挥手,会怎么样?三次的话,被动关闭端在收到FIN消息之后,需要同时回复ACK和Server端的FIN消息。如果Server端在该连接上面并没有Pending的消息要处理,那么是可以的,如果Server端还需要等待一段时间才可以关闭另外一个方向的连接,那么这样的三次挥手就不能满足条件。

小结1

在这里插入图片描述
TCP协议状态机
在这里插入图片描述

问题:

传输过程接收方是否需要发送自己的序列号?

拥塞控制

在这里插入图片描述

TCP拥塞控制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结2

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

补充:

RTT:Round Trip Time,也就是一个数据包从发出去到回来的时间
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值