【网络】tcp如何保证可靠 总结

1.确认应答机制

在一方收到另一方的数据报后需要返回ack数据报,以此让对方知道自己收到了该数据报,防止通信双方认知不一致。

2.序号和确认序号

TCP通过序列号和确认号来保证数据的有序传输。每个TCP数据包都有一个唯一的序列号,接收方通过确认号告知发送方已经接收到的数据包序列号。发送方根据确认号来确定哪些数据包已经被成功接收,哪些数据包需要重新发送。

3.三次握手和四次挥手

通过三次握手让通信双方知道对方的意图和通信能力,同步双方的序列号,保证连接的安全性和可靠性。

通过四次挥手可以安全的断开连接,保证了发送数据的完整性,确保已经发送和接收的数据都能够完整地被对方接收到。并且防止连接迷失,避免了僵死的情况发生。

4.流量控制

TCP使用滑动窗口机制来进行流量控制,防止发送方发送过多的数据导致接收方缓冲区溢出。接收方通过TCP报文中的窗口大小告知发送方自己的接收能力,发送方根据窗口大小来调整发送速率。

5.拥塞控制

TCP使用拥塞控制算法来避免网络拥塞,保证网络的稳定性和公平性。TCP通过动态调整发送窗口大小和发送速率来适应网络的拥塞程度,从而防止数据丢失和传输延迟增加。

6.超时重传

TCP通过超时和重传策略来处理网络中的数据包丢失和延迟。发送方在发送数据后会启动一个定时器,如果在一定的时间内没有收到确认消息,则认为数据包丢失,并进行重传。

通过这些机制,TCP能够保证数据在传输过程中的可靠性,确保数据的有序传输、流量控制、拥塞控制和重传等功能。TCP协议被广泛应用于互联网和局域网中的数据通信中,成为了网络通信的重要基础。

相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5552 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog2 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
琥珀色糖2 天前
SimlpeHttp
linux·服务器
第十人i2 天前
Linux 日志管理系统:journald 配置与优化
linux·服务器
QYRdata2 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK2 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19922 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖2 天前
Netty 核心组件与 Reactor 模型详解
网络·架构