TCP和UDP的区别详解

来源:互联网 发布:java身份证识别技术 编辑:程序博客网 时间:2024/06/07 03:11

TCP和UDP的区别

1. TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接。通俗理解:TCP就是打电话,对方必须应答,才能连接,UDP就是写信,只管信寄出去,不管对方收到与否;

2. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付;

3. TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的;

UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);

4. 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信;

5. TCP首部开销20字节;UDP的首部开销小,只有8个字节;

6. TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道;


TCP优缺点:

优点:

1. TCP提供以认可的方式显式地创建和终止连接。

2.TCP保证可靠的、顺序的(数据包以发送的顺序接收)以及不会重复的数据传输。

3. TCP处理流控制。

4. 允许数据优先

5. 如果数据没有传送到,则TCP套接口返回一个出错状态条件。

6. TCP通过保持连续并将数据块分成更小的分片来处理大数据块。—无需程序员知道

缺点:TCP在转移数据时必须创建(并保持)一个连接。这个连接给通信进程增加了开销,让它比UDP速度要慢。


UDP优缺点:

1. UDP不要求保持一个连接

2. UDP没有因接收方认可收到数据包(或者当数据包没有正确抵达而自动重传)而带来的开销。

3. 设计UDP的目的是用于短应用和控制消息

4. 在一个数据包连接一个数据包的基础上,UDP要求的网络带宽比TDP更小。


原创粉丝点击