LWIP专区

格芯单片机LWIP协议栈笔记(8)---TCP与UDP协议的比较

发布日期:2011/12/30

1.1 TCP协议

        Transmission Control Protocol 传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。


 

1.2 UDP协议

UDP User Datagram Protocol的简称,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

 

1.3 TCPUDP协议的比较

TCP

UDP

可靠性

高,丢包后有重传机制,保证

数据的可靠性。

 低,UDP不提供可靠的数据传输。协议不能保证数据准确无误地到达目的地。

OSI模型中的层次

传输层

传输层

数据传输,是否需要建立链接

必须先在双方之间建立一个TCP连接,之后才能传输数据。

UDP在传输数据报前不用在客户和服务器之间建立一个连接

协议实现

复杂

简单

速度

慢,因为需要数据校验与确认,保证数据的可靠性。

快,因为无需保证数据准确无误

传输类型

字节流

数据报

应用场合

要求数据可靠高

对数据的完整性要求相对较低,但数据量较大,如音频流,视频流

主要应用

HTTP,  FTP,  TELNET, SMPT

SNMP,  DNS, NTP,  OICQ