TCP主要特点
TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,具有如下主要特点。
1. 可靠性
TCP通过序号、确认和重传机制来确保可靠的数据传输。每个发送的数据包都会被标记上一个序号,并在接收端进行确认。如果发送方在一定时间内未收到确认,将会重传数据。
2. 面向连接
在数据传输之前,TCP通过三次握手建立连接,确保双方都准备好进行通信。通信结束后,通过四次握手来关闭连接。
3. 流量控制
TCP使用滑动窗口机制来进行流量控制。接收方通过通告窗口大小,告诉发送方自己的接收能力,以防止发送方发送过多的数据导致接收方无法处理。
4. 拥塞控制
TCP通过检测丢失的数据包和测量往返时间来判断网络拥塞,并采取相应的措施,如减缓发送速率以避免拥塞恶化。
重传方式
1. 超时重传
当发送方发送数据后,如果在一定时间内没有收到确认,就会认为数据丢失,触发超时重传机制。
2. 快速重传
如果接收方收到的数据包是乱序的,或者发现有丢失的数据包,它会立即发送重复确认,告诉发送方需要重传的数据,而不必等到超时。
重传原因
1. 丢包
即使在相对良好的网络环境中,数据包仍可能由于网络拥塞、路由器故障或其他原因而丢失。
2. 乱序
数据包在传输过程中可能会被乱序交付,接收方可能需要提醒发送方重传丢失的数据。
3. 拥塞
即使网络状况良好,由于拥塞控制机制,TCP可能会减缓发送速率,导致需要进行重传。
流量控制的原因
流量控制的原因在于确保发送方不会发送过多的数据,以免超出接收方的处理能力。这有助于防止网络拥塞,提高整体性能。