计算机网络面试题, 为什么还需要快速重传机制?
计算机网络面试题, 为什么还需要快速重传机制?
QA
Step 1
Q:: 为什么需要快速重传机制?
A:: 快速重传机制是在检测到丢包时迅速触发重传,而不需要等待超时事件。具体来说,当接收方连续收到三个重复的ACK时,发送方可以推测数据包可能已经丢失,于是立即重传该数据包,而不等待超时。这一机制显著减少了数据传输中的延迟,特别是在高延迟或者高丢包率的网络环境下,如卫星通信或无线网络中。
Step 2
Q:: TCP的拥塞控制机制有哪些?
A:: TCP的拥塞控制机制主要包括四个部分:慢启动(Slow Start)、拥塞避免(Congestion Avoidance)、快速重传(Fast Retransmit)和快速恢复(Fast Recovery)。慢启动和拥塞避免用于控制数据流的发送速率,避免过快导致网络拥塞;快速重传和快速恢复则用于迅速响应丢包事件,减少由于拥塞而引发的传输延迟。
Step 3
Q:: 什么是拥塞窗口(cwnd)
?
A:: 拥塞窗口(cwnd)
是TCP协议中的一个关键变量,它决定了在网络中未被确认的最大数据量。cwnd根据网络的拥塞状态动态调整:在慢启动阶段,cwnd会指数级增长,而在拥塞避免阶段,cwnd会线性增长。当检测到网络拥塞时,cwnd会大幅减少,从而减少发送速率,避免进一步加剧拥塞。
Step 4
Q:: 为什么TCP需要三次握手?
A:: TCP需要通过三次握手来建立可靠的连接,确保双方都能正常发送和接收数据。在第一次握手中,客户端向服务器发送SYN请求,表明客户端希望建立连接;在第二次握手中,服务器回应SYN并同时向客户端发送SYN-
ACK确认收到请求;在第三次握手中,客户端再次发送ACK确认信息,表示双方已经建立了连接。三次握手可以防止重复的连接请求导致的不必要的数据传输。
Step 5
Q:: TCP与UDP的区别是什么?
A:: TCP(Transmission Control Protocol)是面向连接的协议,提供可靠的、顺序的、无差错的数据传输,它保证了数据的完整性和正确顺序。UDP(User Datagram Protocol)是无连接的协议,不提供可靠传输,数据包可能乱序或丢失,但它的传输速度更快,适用于对实时性要求高的场景,如视频流或在线游戏。