0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP和UDP没人不知道吧?

jf_78858299 来源:凡夫畏果 作者:凡夫畏果 2023-05-18 17:18 次阅读

TCP/IP协议,你一定经常听说吧,其中TCP(Transmission Control Protocol)称为传输控制协议,IP(Internet Protocol)称为因特网互联协议,好吧,这都是什么2B名字,根本不知所云,这个时候,计算机科学对于一个没有经过深入研究的人,毫无用户体验可言。

其实TCP/IP协议,是一个协议簇,就是一大堆协议的集合,这一大套协议定义了整个互联网通信的基础,比如一次网络链接要经过哪些步骤,一块数据传输过程中应该如何解释,这块数据该如何展示给编程者等等问题。就好比小时候玩过家家的游戏,谁负责当爸,谁负责当妈,谁负责当儿子,都有明确的指派,谁负责买菜,买菜之后的钱交给谁来管理,如果没花了,怎么办,每天应该几点起床,起床之后应该谁叠被,都会明确指出,每个人都会默默遵从人物角色和规则。TCP/IP整个协议集合大概做的就是这个事情,他包含了很多个不同的角色(对应于协议),并定义好了数据如何传输,不同角色之间如何协商。

理解了TCP/IP是什么,你应该可以看懂一些简单的技术博客或百度百科里面的一些描述了,时时刻刻认为,它里面包涵很多个协议,这些协议就是一整套规则,它定义了整个互联网如何连接,如何协商的最基础规则。

TCP/IP协议又分为了4层,分别为应用层,传输层,IP层,物理层。

重点介绍下传输层,也就是TCP,UDP两个协议,也是今天最想描述清楚的。TCP的英文前面抄写过了,UDP(User Datagram Protocol),也是读过之后根本不懂啥意思了。

反正这两个协议,是用来传输数据的,因为他们叫传输层嘛,那不做这个事情,毫无用处了。

我们想象一个场景,网络中任意两个端要通信,会采用什么样的传输方式呢?

想象下人类之间的通信吧。

第一种是拨电话,我拨通了你的手机号码,直到你回答“喂,你好”,我听到了这个话之后,我们之间才继续进行交谈。

第二种是发短信,我给你的手机号码发送一条短信,然后就没有然后了,有可能你没收到,有可能你收到了一会儿又给我回复。

第一种对应的就是TCP,第二种对应的是UDP,TCP是需要对方确认的,也就是传输之前需要进行“三次握手”(这里又是一个专有名词,就是传输的两端要经过三次确认,才能开始通信)。UDP是比较粗暴的,不管对方什么情况,直接发送,不需要确认过程。

很多博客和书籍中说的,TCP是可靠的链接(因为中间有个Control的单词,带上了这个单词,以为着更可靠哦),UDP是不可靠的链接就是这个意思。可靠的链接带来的是效率的下降,比如一次网络请求很大一部分时间都是浪费在互相确认的过程当中,资源消耗比较多,但是保证了数据的传输是可靠的,并且数据传输是有序的。不可靠的链接带来的是效率的提升,但可能服务质量有下降。

今天想写这个,主要是想摆脱一种人为的误区,不要以为UDP不可靠,就没有什么应用场景,据说QQ发送数据就是靠UDP发送的呢,虽然是不可靠的链接,但是还是用了很多校验算法保证了数据质量的稳定,同时保证了效率。TCP虽然耗时,但是对于稳定性优先的场景,还是应该有限选用TCP,比如浏览器中访问网页用的就是TCP。此外在一些长连接系统里面,比如微信,连接通道应该也是用TCP建立的,因为要维护一条稳定的信息传输通道。

具体协议是如何控制的,数据包是如何传输的,怎么校验数据的正确性,还有重传特性,这些都是协议中重要的控制过程,但是不做详述了,不但枯燥,而且对于实际的产品并没有什么卵用。具体选用什么样的数据传输方式,应该根据场景而定。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1670

    浏览量

    149376
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1352

    浏览量

    79010
  • 计算机科学
    +关注

    关注

    1

    文章

    142

    浏览量

    11357
  • 传输控制
    +关注

    关注

    0

    文章

    6

    浏览量

    6470
收藏 人收藏

    评论

    相关推荐

    人不知道在哪儿买到DDU7C-500M

    人不知道在哪儿买到DDU7C-500M
    发表于 10-11 19:38

    不知道电动车电池的型号怎么办?

    不知道电动车电池的型号怎么办?  近一年来给很多人换过电动车电池了,我发现大多数人都不知道自己的电动车电池是什么型号的,
    发表于 11-11 08:56 3431次阅读

    Miniplayer小技巧 保证有你不知道

    Miniplayer小技巧 保证有你不知道的 1,用电源充电完成后先别拔充电器,先按住开关别放再拔开线就不用更新歌曲库了。
    发表于 02-01 16:38 687次阅读

    MP3中三个很多人不知道的秘密

    MP3中三个很多人不知道的秘密 MP3市场有这么多产品,难免有些不太为认知的秘密在里面。而由。在表面上不太容易引人注意,或者被
    发表于 02-01 16:59 494次阅读

    多数人眼中不知道的电子狗原理

    多数人眼中不知道的电子狗原理,感兴趣的小伙伴们可以看看。
    发表于 07-28 09:32 41次下载

    90%的人不知道,vivoX9竟还有这些隐藏的功能!

    为了让用户使用手机更加方便高效,厂商会在其手机内添加许多实用的功能。而以下这些vivo手机实用的功能,你可能却还不知道!屏幕固定,顾名思义,就是在屏幕上固定当前应用程序的界面。
    发表于 01-13 09:37 4.7w次阅读

    低功耗蓝牙不知道怎么选型?看这里!

    低功耗蓝牙不知道怎么选型?看这里!
    发表于 07-27 16:46 12次下载

    tcpudp的应用场景

    从特点上我们已经知道TCP 是可靠的但传输速度慢 ,UDP 是不可靠的但传输速度快。因此在选用具体协议通信时,应该根据通信数据的要求而决定。若通信数据完整性需让位与通信实时性,则应该选用 T
    发表于 12-08 10:16 1.5w次阅读
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>的应用场景

    你到底知不知道硬件设计是什么?

    想学习硬件电路方面的设计,但不知道怎么入手? 懵懵懂的进入硬件领域,对自己的发展和方向很迷茫? 做了一段时间硬件设计,事业发展和薪资遭遇瓶颈? 有时候必须承认,你还不够优秀!你甚至不知道硬件
    的头像 发表于 05-18 11:27 9706次阅读

    关于你可能不知道的printf

    你可能不知道的printf
    的头像 发表于 02-05 12:28 2602次阅读
    关于你可能<b class='flag-5'>不知道</b>的printf

    tcpudp协议的异同

    UDP 校验和则是包含 UDP 首部和数据在内的校验结果。 TCP协议 TCP协议基于网络层的 IP 协议提供的是有连接、可靠服务,是基于字节流的。
    的头像 发表于 11-12 14:45 4037次阅读
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>协议的异同

    介绍一般人不知道的三种特殊电阻器

    电阻器时常见的电子元器件,常见的电阻器可能大家怎么着也能知道一两个,但是今天,咱们说的特殊电阻器,一般人是不知道的,今天,小编给大家介绍三种!
    的头像 发表于 07-05 09:15 1912次阅读

    储能连接器这些优点一般人不知道

    储能连接器的优点是非常多的,一般人可能不知道,但是专业人士很快就能回答出来。下面仁昊储能连接器工程师就来科普一下储能连接器的优点。
    的头像 发表于 01-07 11:42 1348次阅读
    储能连接器这些优点一般<b class='flag-5'>人不知道</b>

    TCPUDP的基本区别

    TCPUDP基本区别 基于连接与无连接 TCP要求系统资源较多,UDP较少; UDP程序结构较简单 流模式(
    的头像 发表于 11-13 15:27 4564次阅读
    <b class='flag-5'>TCP</b>与<b class='flag-5'>UDP</b>的基本区别

    揭秘pcb是什么物质:你不知道的“化学战士”

    揭秘pcb是什么物质:你不知道的“化学战士”
    的头像 发表于 12-14 10:27 993次阅读