tcp(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的,面向字节流。
udp(用户数据报协议)是iso参考模型中一种无连接的传输层协议,提供面向操作的简单不可靠的非连接传输层服务,面向报文。
tcp协议和udp协议的差别:
1.是否连接 面向连接 面向非连接 (TCP面向连接,UDP面向非连接)
2.传输可靠性 可靠 不可靠(TCP可靠,UDP不可靠)
3.应用场合 传输大量数据 少量数据(TCP传输大量数据,UDP传输少量数据)
4.速度 慢 快(TCP慢,UDP快)
TCP,UDP的优缺点
TCP优点
可靠,稳定
TCP的可靠性体现在传输数据之前,三次握手建立连接(四次挥手断开连接),并且在数据传递时,有确认,窗口,重传,拥塞控制机制,数据传完之后断开连接来节省系统资源。
TCP缺点
慢,效率比较低,占用系统资源,容易被攻击
传输数据之前建立连接,这样会消耗时间,而且在消息传递时,确认机制,重传机制和拥塞机制都会消耗大量的时间,而且要在每台设备上维护所有的传输连接。而且每一个连接都会占用系统的CPU,内存等硬件软件资源。并且TCP的取而机制,三次握手机制导致TCP容易被人利用,实现DOS,DDOS攻击。
UDP优点
快,比TCP安全
UDP没有TCP的握手,确认窗口,重传,拥塞机制。UDP是一个无状态的传输机制,所以在传输数据时非常快。UDP没有TCP这些机制,相应被利用的漏洞就少一点。但是UDP的攻击也是存在的,比如:UDP 的flood攻击。
UDP缺点
不可靠,不稳定
因为UDP没有TCP的那些可靠机制,在网络质量不好的时候容易发生丢包。
应用场景:
TCP一般用于文件传输等
UDP一般用于语音电话,视频电话,直播等