TCP与UDP的区别

一、DNS域名系统

(1)DNS域名系统:域名和IP地址相互映射的一个分布式数据库。

(2)DNS协议运行在UDP协议之上,使用端口号为53。

(3)每个IP地址都可以有一个主机名,有静态映射和动态映射。

二、TCP和UDP的优缺点

(1)TCP

  TCP的优点:可靠,稳定TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接来节约系统资源。

   TCP的缺点:效率低,占用系统资源高易被攻击;TCP在传递之前,要建立连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,每个连接都会占用系统的CPU、内存等硬件资源。而且,因为TCP有确认机制、三次握手机制,这些也会导致TCP被人利用,实现DOS、DDOS等攻击。

   TCP的应用场景:当对网络通讯质量有要求的时候,如:整个数据要准确无误的传递给对方,如浏览器(http)。

(2)UDP

  UDP的优点:比TCP稍安全,UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传送数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如Flood攻击。

  UDP的缺点:不可靠,不稳定,因为UDP没有TCP那些可靠的机制,在传递数据时,如果网络质量不好,就会容易丢包。

  UDP的应用场景:当对网络通讯要求不高的时候,要求网络通讯速度能尽量的快。如QQ语音。

三、TCP和UDP的区别

(1)TCP是面向连接的,UDP是无连接的,即发送数据前不需要先建立连接。

(2)TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按顺序到达;UDP尽最大努力交付,即不保证可靠交付。并且因为TCP可靠,面向连接,不会丢失数据,因此适合大数据量的交换。

(3)TCP是面向字节流UDP面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。

(4)TCP只能是1对1的,UDP支持1对1,1对多。

(5)TCP的首部较大为20字节,而UDP只有8字节

(6)TCP是面向连接的可靠性传输,而UDP是不可靠的。

 

原文地址:https://www.cnblogs.com/daheiylx/p/9774756.html