上海美容网站建设,免费咨询期,wordpress切换回经典变奇迹,做网站需要团队还是一个人#x1f31f; 欢迎来到 我的博客#xff01; #x1f308; #x1f4a1; 探索未知, 分享知识 !#x1f4ab; 本文目录 1. TCP的可靠性机制1.2可靠性的基础上,尽可能得提高效率 2. TCP三次握手过程3. 为何不是四次握手#xff1f; 在互联网的复杂世界中#xff0c;TCP 欢迎来到 我的博客 探索未知, 分享知识 ! 本文目录 1. TCP的可靠性机制1.2可靠性的基础上,尽可能得提高效率 2. TCP三次握手过程3. 为何不是四次握手 在互联网的复杂世界中TCP传输控制协议扮演着一个不可或缺的角色确保我们的数据能够准确无误地在世界各地流动。它是一种面向连接的、可靠的、基于字节流 , 全双工的传输层通信协议。今天我们将一起探索TCP的可靠性背后的原理特别是那个让人好奇的问题为什么是三次握手不是两次、也不是四次
1. TCP的可靠性机制
TCP的设计目标是提供一种可靠的数据传输服务在无法预测的网络环境中这是一项挑战。以下是TCP确保数据可靠性的几种核心机制 确认应答TCP对每个传输的字节赋予一个序号用于跟踪数据包的顺序。接收方通过发送带有确认序号ACK的报文来告知发送方哪些数据已经被成功接收。确认序号是接收方期望接收的下一个字节的序号。这样即使数据包乱序到达接收方也能根据序号重新排序确保数据的完整性和顺序。 超时重传当发送方发送数据后它会启动一个定时器等待接收方的确认响应。如果在预定时间内没有收到确认序号(ACK)发送方会认为数据包丢失或出错并重新发送该数据包。这个机制保证了数据能够在遇到丢包或错误时得到恢复。 情况① 数据直接丢了,接收方根本没有收到 情况① 接收方收到了,但是返回的ack丢了 1.2可靠性的基础上,尽可能得提高效率 滑动窗口 要提高效率,每次等待ACK的时间就要花费不少时间,所以TCP引出了一个机制 : 通过滑动窗口实现批量传输 上述批量传输数据的过程,被称为滑动窗口 流量控制TCP通过滑动窗口机制实现流量控制动态调整发送方的发送速率以匹配接收方的处理能力。窗口大小指的是接收方能够接收但还未确认的数据量这避免了接收方因处理不过来而导致的数据溢出。 滑动窗口,批量发送并不是数据越大就速度就越快,我们还要考虑到接受方. 如果你发的太快,瞬间就把接受方的缓冲区给打满了,接下来如果继续发送的话,就会造成丢包.这种情况不如发的慢一点. 这些机制共同作用确保了TCP能在不稳定的网络环境中提供可靠且相对于比较快速的数据传输服务。
2. TCP三次握手过程
建立TCP连接的三次握手过程是这样的 SYN客户端向服务器发送一个SYN同步序列编号报文并进入SYN_SEND状态等待服务器的响应。这个步骤启动连接过程客户端告诉服务器它想建立连接并提供初始的序号。SYN-ACK服务器收到SYN报文后会发送一个SYN-ACK报文同时提供自己的初始序号并确认客户端的序号。此时服务器进入SYN_RECV状态。ACK客户端收到SYN-ACK报文后发送一个ACK报文作为响应确认服务器的初始序号。此时TCP连接建立完成数据传输可以开始。 如何来辨别是同步报文还是应答报文呢 3. 为何不是四次握手 其实第二次的syn ack,按通常一问一答的思路是发送ack报文之后,在发送syn报文来确认认对方的接收状态,但是为了提高效率便将syn和ack一并发送
三次握手的设计确保了在双方准备好发送和接收数据之前不会建立连接。如果采用两次握手可能会遗漏对方的准备状态确认导致单向通信或数据无法到达。而采用四次握手则造成没必要的开销.