TCP如何实现可靠传输
2024年11月30日 14:27
TCP通过以下机制实现可靠传输:
1. **数据报校验**:数据链路层利用差错检测(冗余校验)保证数据的完整性,TCP的序列号和确认号确保数据不会丢失。
2. **滑动窗口机制**:
- **对失序数据报重排**:通过滑动窗口来对失序的数据报进行重排。
- **处理重复数据**:借助序列号和确认号找到重复的数据并丢弃。
- **暂存数据**:数据发送后,数据报先放在滑动窗口中,直至收到响应报文才丢弃,这有助于超时重传的实现。同时,滑动窗口也可控制发送的流量,窗口越小,发送流量越少,反之越多。
- **流量控制**:TCP连接双方都有固定大小的缓存空间(滑动窗口),能根据网络拥堵情况以及对方接收情况来控制发送速率,接收方通过发送确认报文中的窗口字段来控制发送方的窗口大小,告知发送方自己能接收的数据吞吐量。
3. **应答机制**:只有收到确认后才继续发送数据报。
4. **超时重传(ARQ)**:若不能及时收到确认,或确认号指明只接收到原先的数据,就会将数据报重传。ARQ分为停止等待ARQ和连续ARQ协议。停止等待是指数据报发送后需停下来等待接收方响应报文才能继续发送,未收到响应就得重新发送;为提高信道利用率,发送方维持发送窗口,位于窗口内的分组可连续发送,接收方一般采用累计确认,对按序到达的最后一个分组发送确认,表示这个分组及之前的分组都已收到。
5. **拥塞避免**:拥塞控制采用了慢开始、拥塞避免、快重传和超时重传四种算法。慢开始即主机开始发送数据时,为避免大量数据注入网络造成阻塞,先从小数据量开始试探,并翻倍增大发送量;拥塞避免是当发送的数据量到达可能造成拥塞的点时,减少数据的增大量,每次仅增加一个数据报而非翻倍。
6. **确认机制**:接收方通过确认来告知发送方已经正确接收数据,TCP默认使用累计确认,并且采用自适应算法动态改变重传时间RTTs(加权平均往返时间)。另外,当比期望序号大的失序报文段到达时,发送方会收到冗余ACK(冗余确认),指明下一个期待字节的序号,若发送方收到一定数量(如3个)对于某个报文段的冗余ACK,则认为下一个报文段丢失,从而重传该报文段。
相关推荐
热门问答
- 1飞卢真的很容易捞钱吗
- 2百度教育ai
- 3飞卢小说免费
- 4软著代办一般需要多少钱
- 5炎推小说推广具体怎么操作
- 6随笔记
- 7成为作家的必要条件
- 8右豹小说推文有风险吗
- 9韩国有世界级作家吗
- 10新手去哪写小说赚稿费微信提现
- 11小说帮打字赚钱
- 12手机怎么抄小说赚钱
- 13飞卢作者月入两千难吗
- 14阅文官网登录
- 15打字赚钱小说兼职录入
- 16快手在哪里开通原创
- 17软件著作权申请需要多长时间
- 18适合未成年学生用的写小说软件
- 19作文比赛投稿平台
- 20作家助手签约稿费一般多少
- 21速读小说
- 22本人的一些收藏网络作家全本免费
- 23切书是断更还是完结
- 24写小说网站
- 25软件著作权申请官网
- 26投稿杂志社
- 27哪个软件未成年可以写小说
- 28作家需要的天赋和能力
- 29短篇小说适合在哪个网站发表
- 30飞卢作家助手使用教程
热门搜索更多 >
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V
- W
- X
- Y
- Z