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是不可靠的。