TCP和UDP区别和使用场景
2017-08-26 本文已影响809人
heamon7
TCP/UDP协议
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、 流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输流量大,传输速度快的应用。
TCP支持的应用协议主要 有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系 统)、TFTP(通用文件传输协议)等.
TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点
TCP 和 UDP 区别:
- 面向连接vs无连接
TCP 有三次握手的连接过程,UDP 适合消息的多播发布,从单个点向多个点传输消息 - 可靠性
TCP 利用握手, 确认(ACK) 和重传的机制,提供了可靠性保证,而 UDP 可能丢失,不知道到底有没有接收 - 有序性:
TCP 利用序列号保证了消息包的的顺序交付,到达可能无序,但 TCP 会排序 - 速度:
TCP 速度比较慢,因为要创建连接,保证消息的可靠性和有序性等,需要做额外的很多事情,UDP 更适合对速度比较敏感的应用,比如在线视频媒体,电视广播,多人在线游戏等。 - 重量级
TCP 重量级,UDP 轻量级,体现在元数据的头大小是,TCP 20字节,UDP 8字节
TCP 适合金融等大多数领域,UDP适合游戏和娱乐场景