可靠的数据传输是计算机网络中的主要问题之一。该服务部门掌握在TCP协议。主要的流量控制协议-停止和等待, 返回N和选择性重复。
停止并等待–
发送方发送数据包并等待数据包的ACK(确认)。 ACK到达发送方后, 它将发送行中的下一个数据包。如果未收到ACK, 它将再次重新发送前一个数据包。
返回N–
发送方发送等于窗口大小的N个数据包。一旦发送了整个窗口, 发送方便等待累积的ACK发送更多数据包。在接收器端, 它仅接收有序数据包, 并丢弃无序数据包。与丢包的情况一样, 整个窗口将被重新发送。
选择性重复–
发送方发送窗口大小为N的数据包, 而接收方确认所有数据包是否按顺序接收。在这种情况下, 接收方维护一个缓冲区以容纳乱序的数据包并对它们进行排序。发送方有选择地重新传输丢失的数据包并将窗口向前移动。
差异:
属性 | 停止并等待 | 返回N | 选择性重复 |
---|---|---|---|
发件人窗口大小 | 1 | ñ | ñ |
接收器窗口大小 | 1 | 1 | ñ |
最小序号 | 2 | N + 1 | 2N |
效率 | 1 /(1 + 2 * a) | N /(1 + 2 * a) | N /(1 + 2 * a) |
确认类型 | 个人 | 累积的 | 个人 |
接收端支持的订单 | – | 仅按订单交货 | 以及无序交货 |
丢包情况下的重传次数 | 1 | ñ | 1 |
其中
- a =传播延迟与传输延迟之比,
- 在N = 1时, 将”返回N”有效地减少为”停止并等待”, / li>
- 当”返回N”累积地确认打包时, 它会拒绝乱序的数据包,
- 由于选择性重复支持接收乱序数据包(在接收到数据包后对窗口进行排序), 因此它使用独立确认来确认数据包。
评论前必须登录!
注册