TCP与UDP的区别

TCP与UDP的区别

  1. TCP面向连接;UDP是无连接,即发送数据之前不需要建立连接

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

  3. TCP是面向字节流的,实际上TCP数据看成一连串无结构的字节流;UDP是面向报文的,没有拥塞控制,因此,网络中出现拥塞,不会使发送主机的速率降低(对实时很有用,如IP电话和实时视频会议等)

  4. 每一条TCP的连接都是点到点的,UDP支持一对一、一对多、多对一、多对多的交互通信

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

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

  7. TCP对系统资源要求的多,UDP较少

  8. 使用场景不同

    TCP适用场景:效率要求相对低,准确性要求相对高,比如,TFP、SNMP、TELNET等
    UDP适用场景:在乎延迟、不能忍受重传,不在乎可靠,比如,NTP,实时音视频聊天

TCP的特点

  1. 面向连接:两个进程在通信之前必须由一个先请求到另一个应用进程的连接

  2. 可靠性:字节编号,应答ACK,分段传输、重传

  3. 数据流传输:自行划分数据块,应用进程不关心

  4. 流量控制:滑动窗口机制

  5. 全双工:两个进程建立一个连接,并在任何一个方向上发送数据

posted @ 2016-07-26 16:53  cherish_leon  阅读(384)  评论(0编辑  收藏  举报