TCP 协议的优点: 可靠、 稳定
TCP 的可靠体现在 TCP 在数据传输之前, 会有三次握手来建立连接,
而且在数据传输时, 有确认、 窗口、 重传、 拥塞控制机制, 在数据传完后, 还会断开连接用来节约系统资源。
TCP 缺点 慢, 效率低, 占用系统资源高, 易被攻击,
TCP 在传输数据之前,要先建立连接, 这会消耗时间, 而且在数据传递时, 确认机制, 重传机制, 拥塞机制等都会消耗大量时间, 而且要在每台设备上维护所有的传输连接, 事实上,每个连接都会占用系统的 CPU、 内存等硬件资源。
而且, 因为 TCP 有确认机制、三次握手机制, 这些也导致了 TCP 容易被人利用, 实现 DOS,DDOS,CC 等攻击。
UDP 的优点 快速
比 TCP 稍安全, UDP 没有 TCP 的握手, 确认, 窗口, 重传, 拥塞控制等机制,
UDP 是一个 无状态的传输协议, 所以它在传递数据时非常快。
没有 TCP 的那些机制, UDP 较 TCP 被攻击者利用的漏洞就要少一点。 但是UDP 也是无法避免攻击;
缺点:不可靠, 不稳定
因为 UDP 没有 TCP 那些可靠的机制,
在数据传递时, 如果网络质量不好, 就很容易丢失包。
应用场合:
TCP:
当对网络通信质量有要求的时候,
比如:确保传输整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用, 如 QQ, 游览器,
HTTP,HTTPS,FTP 等传输文件的协议, POP,SITP 等邮件传输的协议。
UDP:
通信质量要求不高的时候,实时性要求比较高的地方就要用到 UDP, 比如 实时语音、视频通话之类的