美文网首页
2018-09-30 TCP和UDP的区别是什么

2018-09-30 TCP和UDP的区别是什么

作者: 贝贝ovo | 来源:发表于2018-09-30 11:37 被阅读35次

    TCP(Transmission Control Protocol 传输控制协议)

    UDP (User Datagram Protocol 用户数据报协议)

    TCPUDP 均为传输层通信协议,以下是他们的区别

    属性 TCP UDP
    连接性 面向连接 无连接
    可靠性 可靠 不可靠
    有序性 有序 无序
    有界性 无界 有界
    拥塞控制
    传输速度
    量级 重量级 轻量级
    头部大小
    面向 面向字节流 面向数据报文
    双工性 全双工 一对一,一对多,多对一,多对多
    应用场合 网页,邮件等 视频,语音广播等

    1. TCP 是面向连接的协议,UDP 是无连接协议
    TCP 发送数据前使用三次握手建立连接,UDP 发送数据前不需要建立连接
    举例
    面向连接:电话通信
    面向无连接 :邮件通信

    2.TCP 可靠,UDP 不可靠
    TCP 丢包会自动重传,UDP 不会(任何必需的可靠性必须由应用层来提供)。 TCP 可靠性由三个机制保证:1. 序号(TCP 报文的序号)2. 确认(ACK 机制)3. 重传(超时或者冗余的 ACK)

    3.TCP 有序,UDP 无序
    消息在传输过程中可能会乱序,后发送的消息可能会先到达,TCP 会对其进行重新排序,UDP 不会。

    4.TCP 无界,UDP 有界
    TCP 通过字节流传输,UDP 中每一个包都是单独的。

    5.TCP 有流量控制(拥塞控制),UDP 没有
    TCP 协议的流量控制是基于滑窗协议实现的。 拥塞控制和流量控制不同,流量控制是点对点的通信量抑制,抑制发送端发送速率,使得接收端来得及接收。UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

    6.TCP 传输慢,UDP 传输快
    因为 TCP 需要建立连接、保证可靠性和有序性,所以比较耗时。 这就是为什么视频流、广播电视、在线多媒体游戏等选择使用 UDP。

    7.TCP 是重量级的,UDP 是轻量级的
    TCP 要建立连接、保证可靠性和有序性,就会传输更多的信息,如 TCP 的包头比较大。

    8. TCP 的 头部比 UDP 大
    TCP 开销比 UDP 大,TCP 头部需要 20 字节,UDP 头部只要 8 个字节。

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

    10.TCP是全双工的信道,UDP支持一对一,一对多,多对一和多对多的交互通信
    每一条TCP连接只能是点到点的

    总结:

    TCP 是面向连接的、可靠的、有序的、速度慢的协议;UDP 是无连接的、不可靠的、无序的、速度快的协议。

    TCP 开销比 UDP 大,TCP 头部需要 20 字节,UDP 头部只要 8 个字节。

    TCP 无界有拥塞控制,UDP 有界无拥塞控制。

    Ref
    TCP 与 UDP 的区别

    相关文章

      网友评论

          本文标题:2018-09-30 TCP和UDP的区别是什么

          本文链接:https://www.haomeiwen.com/subject/wpaioftx.html