TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
三次握手(Three-way Handshake):建立连接时,TCP使用三次握手来同步连接双方的序列号和确认号,确保双方的接收和发送通道都已准备好。
序列号(Sequence Numbers):TCP为发送的每个字节都分配一个序列号,接收方可以通过序列号来重新组装数据。
确认应答(Acknowledgements):接收方发送确认应答来告知发送方数据已成功接收,如果发送方在一定时间内未收到确认,将重传数据。
数据重传(Retransmission):如果发送方没有收到某个数据包的确认应答,它会重传该数据包。
流量控制(Flow Control):TCP使用窗口机制来控制发送方发送数据的速度,防止接收方处理不过来。
拥塞控制(Congestion Control):TCP动态调整发送数据的速率,以避免网络拥塞。
校验和(Checksum):TCP对每个数据包进行校验和计算,以检测数据在传输过程中是否出现错误。
数据排序(Ordering):即使数据在网络中被重新路由,TCP也会确保数据按照发送顺序到达接收方。
端到端的交付(End-to-End Delivery):TCP确保数据从发送方到接收方的完整传输,即使在中间节点可能会经过多次转发。
拥塞避免(Congestion Avoidance):TCP通过减少发送速率来避免网络拥塞,而不是简单地丢弃数据包。
快速重传(Fast Retransmit):如果接收方连续收到三个重复的确认,发送方会立即重传未被确认的数据包,而不是等待重传计时器超时。
快速恢复(Fast Recovery):在快速重传之后,TCP会调整窗口大小,以快速恢复传输速率。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战