TCP和UDP区别、

key:TCP是一种面向连接的、可靠的、字节流服务

1.面向链接:TCP面向链接,面向连接意味着两个使用TCP的应用(通常是一个客户和一
          个服务器)在彼此交换数据之前必须通过三次握手先建立一个TCP连接。
          在一个TCP中仅有两方彼此通信,多播和广播不能用于TCP。
          UDP是不可靠的传输,传输前不需要建立链接,可以应用多播和广播实现一对多的通信。

2.可靠性:TCP提供端到端的流量控制,对收到的数据进行确认,采用超时重发,
        对失序的数据进行重新排序等机制保证数据通信的可靠性。
        而UDP是一种不可靠的服务,接收方可能不能收到发送方的数据报。

3.TCP是一种流模式的协议,UDP是一种数据报模式的协议。
    进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。
    TCP应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。
    TCP会有粘包和半包的现象。

4.效率上:速度上,一般TCP速度慢,传输过程中需要对数据进行确认,超时重发,还要对数据进行排序。
    UDP没有这些机制所以速度快。数据比例,TCP头至少20个字节,UDP头8个字节,相对效率高。
    组装效率上:TCP头至少20个字节,UDP头8个字节,系统组装上TCP相对慢。

5.用途上:用于TCP可靠性,http,ftp使用。而由于UDP速度快,视频,在线游戏多用UDP,保证实时性

猜你喜欢

转载自blog.csdn.net/zhoujy1996/article/details/80224066