保定公司做网站,一个人如何做跨境电商,微营销app,手机端网站尺寸一、TCP协议
TCP#xff0c;即Transmission Control Protocol#xff0c;传输控制协议。人如其名#xff0c;要对数据的传输进行一个详细的控制。
1.1 TCP协议格式 #xff08;为了方便排版这样化的#xff0c;我们从上到下依次理解#xff09;
二、TCP原理
2.1 确…一、TCP协议
TCP即Transmission Control Protocol传输控制协议。人如其名要对数据的传输进行一个详细的控制。
1.1 TCP协议格式 为了方便排版这样化的我们从上到下依次理解
二、TCP原理
2.1 确认应答机制
确认应答是实现可靠性的最核心机制
引例
为了解决上述问题我们给信息标号 这样就能清楚的分出各自的应答
而我们真实的TCP传输数据时也是这样的引入了“序号”和“确认序号” 这就是确认应答机制
比如下面两台主机的传输
2.2 超时重传机制
如果一切都顺利的话就可以直接确认应答了确认应答机制保证了可靠性
可是我们网络传输需要经过很多节点其中任何一个节点出现问题都会导致丢包
作为发送方会判定如果出现丢包就会重新再发一遍即超时重传机制 这时候你可能有一个疑问 上面的2情况下数据重复传了两次接收方得到重复的数据这种情况不会有什么问题吗
不会
TCP协议会在接收缓冲区中根据我们数据的序号来进行自动去重保证应用读到的数据只有一份
假如同时有多个包丢失TCP怎么确定超时时间 上面介绍的这两种机制就是TCP可靠性的基石 2.3 连接管理机制 下面详细说具体执行过程
三次握手 四次挥手 可能这里大家会有疑问为什么三次握手和四次挥手都是四次交互而握手可以合并为一次挥手却不行呢 2.4 滑动窗口机制
刚才我们讨论了确认应答策略对每一个发送的数据段都要给一个ACK确认应答。收到ACK后再发送下一个数据段。 这样做有一个比较大的缺点就是性能较差。尤其是数据往返的时间较长的时候。
想要提高效率就需要缩短等待时间批量发送数据
一次发多条数据一次等待多个ACK提高效率 上述批量传输数据的过程就称为“滑动窗口”
注意
上述的滑动窗口都是基于无丢包的情况下工作的如果批量发送的过程中出现丢包怎么办 2.5 流量控制机制
接收端处理数据的速度是有限的。如果发送端发的太快导致接收端的缓冲区被打满这个时候如果发送端继续发送就会造成丢包继而引起丢包重传等等一系列连锁反应。 因此TCP支持根据接收端的处理能力来决定发送端的发送速度。这个机制就叫做流量控制
具体如何控制 过程演示 上述过程就达成了类似阻塞的效果