TCP 与 UDP 的关键区别在于可靠性。TCP 通信的可靠性在于使用了面向连接的会话。主机使用 TCP 协议发送数据到另一主机前,传输层会启动一个进程,用于创建与目的主机之间的连接。通过该连接,可以跟踪主机之间的会话或者通信数据流。同时,该进程还确保每台主机都知道并做好了通信准备。完整的 TCP 会话要求在主机之间创建双向会话。
会话创建后,目的主机针对收到的数据段向源主机发送确认信息。在 TCP 会话中,这些确认信息构成了可靠性的基础。源主机收到确认信息时,即表明数据成功发送,且可以退出数据跟踪。如果源主机未在规定时间内收到确认信息,它将向目的主机重新发送数据。
使用 TCP 协议的额外系统开销部分源自确认信息和重新发送信息产生的网络流量。建立会话产生的其它数据段交换也构成系统开销。此外,主机在跟踪待确认的数据和重新发送过程中也会产生额外开销。
TCP 通过数据段中各自具备特定功能的一些字段来满足可靠性要求。
转载于:https://blog.51cto.com/07net01/567782