在传输层上,TCP向应用层提供可靠的、面向连接的服务,而UDP提供的是不可靠的、无连接的服务。所谓可靠是指传输系统本身具有通过差错控制与重传机制来实现数据的正确传输的功能;而不可靠服务的传输系统不提供上述功能,这些功能要靠应用层来实现。
由于TCP要提供可靠的传输服务,因此TCP增加了许多的开销,如应答、流量控制、定时器以及连接管理等。当强调数据传输的完整性、可控制性和可靠性时,TCP是当然的选择;当强调传输性能时,如音频和多媒体应用,UDP是最好的选择。