TCP和UDP

news/2024/5/18 15:59:41 标签: tcp/ip, udp, 网络

文章目录

  • 1、常见误区
  • 2、TCP和UDP的区别和应用场景
  • 3、使用了它们的协议有哪些?
  • 4、总结

        我之前的文章中讲解即时通讯系统中,就用到了可靠传输协议TCP,在那里面我们解决了TCP传输中的半包和黏包,而且还实际的讨论了用了TCP,就不会丢消息了吗?一定是可靠的吗?这里我们再次详细的说一说TCP


1、常见误区

       TCP/UDP是两个比较具有代表性的传输层协议,那么我们来看看他在OSI七层协议和TCP/IP四层协议中的位置。

在这里插入图片描述

     我们一谈TCP就是可靠,但是这个可靠是可靠在哪的呢,只要用了就不用考虑其他的事情了吗?

     当然不是,TCP保证的可靠性,是传输层的可靠性,也就是说,TCP只会保证数据从A方的传输层可靠的传输到B方的传输层,至于后面的步骤,可靠性就得不到保证了。

在这里插入图片描述

2、TCP和UDP的区别和应用场景

TCPUDP
可靠性可靠不可靠
连接性面向连接无连接
报文面向字节流面向报文
效率传输效率低传输效率高
双工性全双工一对一、一对多、多对一、多对多
流量控制滑动窗口
拥塞控制慢开始、拥塞避免、快重传、快恢复
传输速度
应用场景对效率要求低,对准确性要求高或者要求有链接的场景,如文件传输、发送和接收邮件、远程登录对效率要求高,对准确性要求低,如语音、 视频、直播

3、使用了它们的协议有哪些?

使用了TCP的有

协议介绍
HTTP协议超文本传输协议是一种用于传输超文本和多媒体内容的协议,主要是为 Web 浏览器与 Web 服务器之间的通信而设计的
HTTPS协议更安全的超文本传输协议,身披 SSL 外衣的 HTTP 协议
FTP协议文件传输协议 FTP是一种用于在计算机之间传输文件的协议,可以屏蔽操作系统和文件存储方式
SMTP协议简单邮件传输协议的缩写,是一种用于发送电子邮件的协议
SSH协议SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

使用了UDP的有

协议介绍
DHCP 协议动态主机配置协议,动态配置 IP 地址
DNS域名系统将人类可读的域名 (例如,www.baidu.com) 转换为机器可读的 IP 地址 (例如,220.181.38.148)

4、总结

  1. TCP可靠是可靠在传输层面上的,我们使用的时候一定要注意。
  2. TCP 用于在传输层有必要实现可靠传输的情况;UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信,TCP 和 UDP 应该根据应用的目的按需使用

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

相关文章

CodeNote_1.1.1_Java序列化读取过程

定义 Java自带序列化函数,其优点是安全可靠,兼容性好,缺点是无法跨语言,序列化后的流太大,性能很差。 基本用法 Java序列化要求被序列化的对象的类必须直接或者间接实现java.io.Serializable接口,也就是…

Smartbi电子表格故事之用数据进行销售问题分析

天津小麦商贸有限公司(X&M)成立于2012年11月,主营业务是商贸流通业,主要是日用商品的批发销售。 2012年前,公司创始人(总经理和销售总监)一直从事外贸的生意,自从2008年金融危机…

Android13将Settings移植到AndroidStudio中

背景:由于最近在做一个Settings相关界面与功能修改的需求,个人感觉传统的修改后通过单编方式打包的效率比较低,主要是看不见界面,不好调试,想把Settings整个移植到AndroidStudio中,最终可以在AndroidStudio中看到界面,打出包,运行设备上并可以调试功能,如果你也有这个…

跨境电商的三大平台Amazon、eBay、速卖通,你怎么选择?

很多刚刚开始决定做跨境电商的朋友,第一个难点就是:我要从哪个平台开始做呢?在没有正式做过之前,很难去了解到每个平台的不同,但是也不可能同时去运营太多个平台。考虑到这个难处,龙哥今天就从亚马逊、ebay…

聊聊 Milvus GC:从一次数据丢失事件展开

QueryNode 日志中频繁报错?对象存储数据离奇消失[1]? 令人震惊的数据丢失事件就这样发生了,一位来自 BOSS 直聘的 AI 研发工程师无意卷入到此次的风波中,他和 Milvus 社区的伙伴经过层层排查、抽丝剥茧,成功找出了问题…

OpenGL进阶 | glDrawArrays与glDrawElements

glDrawArrays直接从顶点缓冲对象(VBO)中读取顶点数据,而glDrawElements使用一个元素缓冲对象(EBO)来指定顶点的索引。那么什么是EBO呢? 1.ElementArrayBufferObject ElementArrayBufferObject,…

分布式事务解决方案-Seata

分布式事务解决方案-Seata 1.分布式事务问题1.1.本地事务1.2.分布式事务1.3.演示分布式事务问题 2.理论基础2.1.CAP定理2.1.1.一致性2.1.2.可用性2.1.3.分区容错2.1.4.矛盾 2.2.BASE理论2.3.解决分布式事务的思路 3.初识Seata3.1.Seata的架构3.2.部署TC服务3.3.微服务集成Seata…

pytest自动化测试框架和unittest自动化测试框架的区别

目录 Unittest vs Pytest 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 实例演示 前后置区别 参数化区别 总结 python的单元测试框架经常使用的是unittest,因为它比较基础,并且可以进行二次开发&#xf…