为什么使用TCP?


  • 优点:

    • TCP的优点体现在稳定可靠上,在传输数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完之后,还会断开连接用来节约系统资源。
    • UDP的优点体现在比TCP稍安全,UDP没有TCP拥有的各种机制,是一个无状态的传输协议,所以传递数据非常快,没有TCP的这些机制,被攻击利用的机制就少一些,但是也无法避免被攻击。
  • 缺点:

    • TCP缺点就是效率低占用系统资源高易被攻击,TCP在传递数据之前要先建立连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞机制等都会消耗大量时间,而且要在每台设备上维护所有的传输连接。
    • UDP缺点就是不可靠不稳定,因为没有TCP的那些机制,UDP在传输数据时,如果网络质量不好,就会很容易丢包,造成数据的缺失。
  • 适用场景:

    • TCP:当对网络通讯质量有要求时,比如HTTP、HTTPS、FTP等传输文件的协议, POP、SMTP等邮件传输的协议。
    • UDP:对网络通讯质量要求不高时,要求网络通讯速度要快的场景。

至于WebSocket,后续可能会专门写一篇文章来介绍。 综上所述,决定采用TCP协议。

tcp和udp的优缺点相关推荐

  1. TCP和UDP的优缺点及区别

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

  2. python网络安全协议_如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果...

    最近在学习python编程,自己稍微整理了一下这两天的学习心得 windows查看进程端口 5) 应用层 经过链路层,网络层,传输层,最后就是通过前面是三个来确认到最后需要传输到的应用中去 传输示意图 ...

  3. 【校招VIP】前端专业课考点之tcp与udp

    考点介绍: TCP和UDP都是传输层下的一个协议,从这一点来说,两种协议可以说是一种并列的概念,也常常拿来比较.我们需要了解这两种协议的特点以及根据特点使用在合适的场景中. 本期分享的前端专业课考点之 ...

  4. TCP与UDP的区别!

    TCP和UDP的优缺点及区别 TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接 ...

  5. TCP和UDP区别以及TCP的三次握手和四次挥手

    TCP和UDP的概念 TCP: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通信协议 UDP: Internet 协议 ...

  6. python中参数的位置传递和名称传递各有什么优缺点_Python开发TCP和UDP的区别是什么?优缺点对比总结...

    Python开发TCP和UDP的区别是什么?优缺点对比总结:UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息.TCP 是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次 ...

  7. tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用

    我们说会话层建立连接之后,就要建立传输层连接,那么为什么要建立这个传输层连接呢,我们先看一下传输层的作用是什么? 传输层的主要作用是处理我们的数据在发送的时候产生的数据包错误,数据包次序不对,数据丢失 ...

  8. tcp udp区别优缺点_Linux网络编程面试题--tcp和udp的区别

    (1)TCP是基于连接的,UDP是基于无连接的. (2)TCP的数据是可靠的,UDP的数据是不可靠的. (3)TCP的数据是有序的,UDP的数据是无序的. (4)TCP不保存用户边界,UDP保存用户边 ...

  9. TCP和UDP的区别及优缺点

    转载自:https://blog.csdn.net/li_ning_/article/details/52117463 TCP UDP TCP与UDP基本区别   1.基于连接与无连接   2.TCP ...

最新文章

  1. [开学季]“当高校遇到大数据”濮阳职业技术学院阿里云大数据应用学院举行阿里云开学第一课...
  2. 5G UPF + MEC 的部署位置、场景与模式
  3. Linux系统卸载Apache(阿帕奇)环境教程
  4. Android大图片裁剪终极解决方案 原理分析
  5. C++学习之路 | PTA乙级—— 1050 螺旋矩阵 (25 分)(精简)
  6. 设计模式-单一职责原则
  7. 进行java环境设置的原因_java环境变量的设置原因
  8. wpf 修改label值_c# – 在WPF中绑定Setter属性的值
  9. 读《高性能网站建设指南》有感
  10. 问题三十五: 怎么用ray tracing画二次曲面(quadratic surfaces)(5)——汇总
  11. DBeaver连接SqlServer报“The server selected protocol version TLS10 is not accepted by client prefere”的错误
  12. elementui的分页中的页面查看详情后返回当前页
  13. linux火狐插件目录,Firefox的插件目录在哪里?
  14. 无法删除IE图标(被劫持)
  15. 100天精通Python丨基础知识篇 —— 02、Python和Pycharm(语言特点、学习方法、工具安装)
  16. leetcode Patching Array
  17. 在国企的日子(第四章 团建)
  18. linux - linux查看磁盘空间/查看文件分区(挂载点)/查看文件大小
  19. IIS 元数据访问失败
  20. Unity3D手机游戏原创分享(益智类)

热门文章

  1. js 对Array的补充
  2. PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用
  3. 运维堡垒机(跳板机)系统 python
  4. 利用Jmail发送带附件的邮件时乱码的解决方案
  5. XmlReader 内部使用NameTable
  6. linux 分区 flags,linux磁盘分区
  7. catia怎么将特征参数化_浅谈Catia VBA与参数化建模的结合
  8. 女生学计算机专业报考浙大,2021浙大适合女生的最好的专业
  9. php sql 长字符串 查找被包含的短字符串_PHP字符串
  10. js点击按钮改变字体大小并给他颜色_如何在Elementor中修改文本的字体、大小、颜色、样式...