【计算机网络】TCP与UDP的区别及适用场景

news/2024/5/17 20:22:27 标签: TCP, UDP

                                  TCPUDP的区别及适用场景

TCP(Transmission Control Protocol,传输控制协议)与UDP(User Datagram Protocol,用户数据报协议)都是OSI七层模型中的传输层协议,他们的区别主要体现在以下这几个方面

 

(1)是否面向连接

【1】TCP是面向连接的,即发送数据前需要与目标主机建立连接。

【2】UDP面向无连接的,发送数据前不需要建立连接。


(2)是否提供可靠交付

【1】TCP在传输数据之前,需要三次握手来建立连接,并且通过数据校验、拥塞控制、重传控制、滑动窗口和确认应答等机制来实现可靠交付。数据传输过程中,数据无丢失,无重复,无乱序。

【2】UDP不提供可靠交付,只有通过检验和去丢弃那些不完整的报文,尽最大努力来保证交付的可靠性。


(3)工作效率

【1】前面提到TCP传输数据的控制非常多,这也导致了TCP网络开销大,工作效率相对低下,对系统的资源要求也比较高。

【2】UDP传输控制简单,因此工作效率相对高,对系统资源的要求偏低。


(4)实时性

【1】TCP传输数据的控制程序较多,大幅度降低了数据传输的实时性。

【2】UDP协议简单,数据实时性较高。


(5)安全性

【1】TCP传输机制多,容易被利用,例如DOS、DDOS攻击,因此在安全性上,不如UDP

【2】UDP没有TCP这么多机制,被利用的机会就会少很多,但UDP不是绝对安全,也会被攻击。

 

 

TCPUDP的适用场景

TCP

对数据传输的质量有较高要求,但对实时性要求不高。比如HTTP,HTTPS,FTP等传输文件的协议以及POP,SMTP等邮件传输的协议,应选用TCP协议。


UDP

只对数据传输的实时性要求较高,但不对传输质量有要求。比如视频传输、实时通信等,应选用UDP协议。

 


http://www.niftyadmin.cn/n/1705727.html

相关文章

关于CSS的两本书的感觉

www.w3cn.org首页上推荐的两本书,《CSS布局实录》和《网站重构》。我是先借了前者,在它的前言里看到了对后者的推崇,所以又去借了后者。第一本书基本看完了,对我来说这真难得,很久都没有耐性去看完一本书了。但看过这本…

MGCP协议简介

MGCP协议是SGCP(简单网关控制协议)和IPDC(Internet Protocol Device Control)的结合产物。当IETF成立MEGAGO工作组后,两者合并为MGCP。 1.2 MGCP组成 图1 MGCP架构 MGCP采取主从( Master-Slave )方式的架构&#xf…

前端实现很哇塞的浏览器端扫码功能

背景 不久前我做了关于获取浏览器摄像头并扫码识别的功能,本文中梳理了涉及到知识点及具体代码实现,整理成此篇文章内容。 本文主要介绍,通过使用基于 vue 技术栈的前端开发技术,在浏览器端调起摄像头 📷&#xff0c…

【数据库】mysql索引简谈

mysql索引简谈 一、什么是索引 就好比我们在看一本书的时候,有目录的话,我们可以快速定位到想看的地方,而没有目录的话,我们只能一页一页地翻。索引就像目录,有了索引,数据库可以快速查询到目标内容&#…

【JAVA】使用自定义注解简易模拟Spring中的自动装配@Autowired

使用自定义注解简易模拟Spring中的自动装配Autowired 我们在学Spring的时候,常常需要配置大量的bean,由Spring进行管理,这就导致配置文件的膨胀,后来使用到Autowired注解,才发现到注解的强大,那么底层是怎么实现的呢&a…

如此男女

前几天,她和男朋友吵翻了,一气之下开门就走,在北京的大冷天里走了好几个小时,最后无处可去了才找到我。我给她倒了水,听她给我说事情的经过。其实只是因为一点点的小事而以。但他们似乎都已经忍无要忍了。。。。我听着…

【JAVA】多线程之内存可见性

多线程之内存可见性 一、什么是可见性? 一个线程对共享变量值的修改,能够及时地被其他线程所看到。 共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。 工作内存:每…

使用CSS计数器美化有序列表

在web设计中,使用一种井井有条的方法来展示数据是十分重要的,这样用户就可以很清晰的理解网站所展示的数据结构和内容,使用有序列表就是实现数据有组织的展示的一种简单方法。 如果你需要更加深入地控制有序列表数字的样式,你可能…