TCP 协议
TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。用户数据报协议(UDP)是同一层内另一个重要的传输协议。
在因特网协议族中,TCP是位于IP层之上、应用层之下的中间层。不同主机之间的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
-
TCP的优点:面向连接、可靠的、点到点的通信。
TCP的可靠体现在TCP在传递数据之前,需要通过三次握手来建立连接,而且在数据传递时,有确认、窗口
重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。
-
TCP的缺点:慢,占用系统资源高,易被攻击
TCP 在传递数据前,要先建立连接,这会消耗时间。而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且在每台设备上维护所有的传输连接。事实上,每个连接都会占用系统的CPU、内存等硬件资源。
TCP存在确认机制和三次握手机制,导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
TCP 应用场景
当对网络通讯质量有要求的时候,比如整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。
在日常生活中,常见使用TCP协议的应用比如:浏览器使用HTTP、Outlook使用的POP、SMTP、QQ文件传输等
UDP 协议
UDP 是用户数据报协议,是OSI参考模型中的一种无连接的传输层协议,提供面向事务的简单的不可靠的信息传送服务。UDP在IP报文的协议号是17
-
UDP的优点:速度比较快,比TCP稍安全。
UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它传递数据时非常快。没有TCP的这些机制,UDP 较 TCP 被攻击者利用的漏洞就要少一些。但是 UDP 也是无法避免被攻击的,比如:UDP Flood攻击。
-
UDP的缺点:非连接的不可靠的点到多点的通信,不可靠,不稳定。
因为UDP没有TCP那些可靠的机制,在传输数据时,如果网络不好,就很容易丢包。
UDP的应用场景
当对网络通讯质量要求不高的时候,要求网络通讯速度尽可能的快,这时就可以使用UDP。在日常生活中,常见的使用UDP协议的应用有:QQ语音、QQ视频、TFTP等。
总结
TCP侧重可靠传输,UDP侧重快速传输。
TCP和UDP使用IP协议从一个网络传输数据包到另一个网络。把IP想象成一种高速公路,他允许其他协议在上面行驶并找到其他电脑的出口。TCP和UDP事高速公路上的卡车,他们携带的货物就是HTTP、文件传输协议FTP这样的协议。