专栏名称: 阿里云开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
今天看啥  ›  专栏  ›  阿里云开发者

通过实验深入了解 TCP 数据的发送和接收

阿里云开发者  · 公众号  · 科技公司  · 2024-09-24 08:30
    

主要观点总结

本文是TCP入门系列教程的第二篇,介绍了TCP数据的发送与接收的三大主要部分:超时重传、窗口管理和拥塞控制。通过具体算法和代码实现的细节,解释了TCP如何在可能出现信息丢失、重复、乱序的底层通信媒介上,设计一套交互协议来可靠保序地传递信息,同时兼顾传输的性能和稳定性。

关键观点总结

关键观点1: 超时重传

TCP基于自动重复请求的机制,通过字节级别的编号和数据包的序列号来实现数据发送和接收。当数据包丢失时,接收端通过回复的ACK序号小于已发送的序号来通知发送端重传。

关键观点2: 窗口管理

TCP连接的两端都维护一个发送窗口结构和接收窗口结构,通过调整窗口大小来控制发送和接收数据的量,以匹配发送端和接收端的速率。

关键观点3: 拥塞控制

TCP协议通过调整接收窗口的大小对发送端进行限流,并引入了拥塞控制算法,如慢启动、拥塞避免、拥塞发生和快速恢复,以应对网络拥塞问题。


文章预览

阿里妹导读 本系列文章是组内写给新人和实习生的 TCP入门系列教程,结合了理论和实践,本篇为第二篇,建议先读上篇《 通过实验深入了解TCP 连接的建立和关闭 》。 ‍ 写在前面 TCP 数据的发送与接收是个很大的话题,拖了很久也想不到好的切入点。这部分可以简单分为  「超时重传」 、 「窗口管理」  以及  「拥塞控制」  三个主要部分。掉书袋的话恐怕会让这篇文章被束之高阁(每写一道数学公式就会失去一半读者),所以这篇文档对具体算法只谈思想不谈公式,然后佐以代码或命令来验证实现细节。 TCP 超时重传 理解 TCP,就是理解如何在一个会出现信息丢失、重复、乱序的底层通信媒介上,设计一组交互协议来可靠保序地传递信息,同时还要兼顾传输的性能和稳定性。上篇提到 TCP 是基于 自动重复请求的机制(Automnatic Repeat Request, ARQ) ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览