给产品经理讲技术,不得不懂的TCP和UDP

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建立的,因为要维护一条稳定的信息传输通道。

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

PS:写了4,5个小时,删了改,改了删,删了再改,不知道讲没讲清楚,如果没说清楚,欢迎给我留言,我们探讨之后,我再搞个续集:)

时间: 2024-09-20 06:04:11

给产品经理讲技术,不得不懂的TCP和UDP的相关文章

产品经理和技术的关系如何

前言 有同学通过我博客的微信公众账号GauinBlog聊到"产品经理和技术之间的关系是咋样的"话题,最近有空特此博文谈下我对这个话题的看法. 产品经理和技术的关系 问题 产品经理和技术 ,是互联网公司最典型的苦逼冤家.产品经理怕遇到古怪的技术工程师,技术怕遇到经常改需求的产品经理. 虽然产品经理和技术和谐相处.其乐融融的例子不少,但在我经历和看到的例子中,产品经理和技术之间的关系相处紧张或者尴尬的例子居多. 分析 我发现产品经理和技术的关系,大致可以分为:信任.不信任. 信任 产品经理

产品经理小技术:图片素材随手找,原型设计快又好

产品经理小技术:图片素材随手找,原型设计快又好 时间:2014-11-30 21:04 来源:牛冰峰 作者:牛冰峰 画图--这项古老而精细的做法,是一代代产品狗们得以传承的立足之本.草图.线框图.思维导图.PPT插图.数据汇报图表.低/高保真原型图,甚至UI视觉图--真是一图未完一图又起.而工作时间越久,就越发现其中的奥妙:好的东西,总是最后几乎一样,那么我又何必每次造车轮子呢?将各种最好用的图片资源,以及 获取这些图片资源的方法掌握以后,我们就可以将精力放在更深一层的设计上,而不会因为某个返回

艾伟也谈项目管理,和谐共进的项目组——产品经理提高技术理解力123

最近被同事问到产品经理怎样提高技术理解力,有哪些途径,这里结合之前做过的两个项目以及和这个项目组所有开发兄弟一起并肩战斗的半年感触来说说. 1. 产品经理与项目经理的互动 项目过程中,产品经理和项目经理之间多沟通,产品经理准确传达产品设计的思路,项目经理结合产品实现,给出技术实现的方案,然后一起共同评估选出最优的解决方案,这个过程中产品经理可以学习到自己所做的产品的技术实现方法.在beta1项目中我们在手机QQ.QQ浏览器结合中采用了不同于其他平台的纵向整合方案,从而大大提高了项目的实现周期.

产品经理创业必须懂技术?

引言:在有的时候我们更需要的不是一个会技术又会懂产品的产品经理,我们需要的是能够相信伙伴能做得好,并且鼓励其一起去做得更好的产品经理.所以到底产品经理需不需要懂技术,下面就让我们来看看知乎网友对这个问题的回答. herock(herockpost.com) 在最近七年,我一直都在做互联网产品,其中前五年的时间分别在创业公司和上市公司里,做别人的产品;而近两年在创业,努力的做自己的产品. 而你要问我的体会的话,我的体会就是:产品经理是需要懂技术的,而创业者尤其需要.但前提是,你总会觉得有股憋不住的

产品经理必读:像怀胎一样怀产品,要厚着脸皮听批评

像怀胎一样怀产品,要厚着脸皮听批评                --2012年11月9日在UPA用户体验大会上的演讲(一) 我刚才来的时候,会议主办方跟我讲,今天来交流的很多人是设计师.产品经理,据说还有50位公司的高管,我今天希望跟大家有一个交流,对很多公司高管来讲,我其实有一个建议,过去这种公司分工特别明确,做一个产品好像变成一个生产线,有人负责策划,称为产品经理,有人负责项目实施,称为项目经理,还有专门做UE,我后来没搞清UX和UE怎么区分,曾经有一个大公司跟我讲半天,UX是用户体验,U

怎么做好产品经理

在我刚才来的时候,会议主办方就这么和我说,今天来交流的很多人是设计师.产品经理,可能还会有50位公司的高管,今天我希望可以跟大家有一个交流,对很多公司高管来讲,我其实有一个这样的建议,过去这种公司分工是十分明确的,做一个产品就好像变成一个生产线,负责策划的人被称为产品经理,负责项目实施的人被称为项目经理,也有人会专门做UE,我后来也不清楚UX和UE是怎么区分,曾经有一个大公司跟我说了很久,UX是用户体验,UE做UED,分的是非常细的,我听了半天,至少从我的从业生涯来说,这两个我觉得很难区分,最后

攻城师们期望的产品经理

[前言]: 从交互设计师转做产品经理不知不觉两年了,虽然角色并未完全转变过来,但是心态和做事方法已经发生了不小的改变.最大的心态转变就是:owner心态(主人翁).目标驱动.没有借口.产品经理一定是个主动的角色,他不是任何人的资源,他没有任何的权力,但是又要统筹各种资源,让各种角色因为目标聚集在一起,共同完成任务,达到目标.期间,遇到的困难和挫折也不少,其中的困难之一就在于对技术的把握. 我负责的是数据产品,可能一个项目,我会同时与java开发.数据仓库开发.前端开发以及app客户端开发打交道,

周鸿伟:做个好的产品经理有多难?

内容导读:中国互联网存在着一个巨大的鸿沟,即高端用户和真正的主流用户的认同差异.谁能够跨越这个鸿沟,就是谁能够从用户体验角度出发.周鸿伟简单地说道:一是用心;二是将心比心 我刚才来的时候,会议主办方跟我讲,今天来交流的很多人是设计师.产品经理,据说还有50位公司的高管,我今天希望跟大家有一个交流,对很多公司高管来讲,我其实有一个建议,过去这种公司分工特别明确,做一个产品好像变成一个生产线,有人负责策划,称为产品经理,有人负责项目实施,称为项目经理,还有专门做UE,我后来没搞清UX和UE怎么区分,

周鸿伟告诉你,产品经理怎么做

在我刚才来的时候,会议的主办方有跟我说,今天过来交流的人之中有很多是设计师.产品经理,而且听说还有50位公司的高管,而我今天希望跟大家做一个交流,而对很多公司高管来讲,我其实想提出一个建议,在过去这种公司的分工特别明确,做一个产品就好像变成了一个生产线,有人负责策划,被称为产品经理,有人负责项目实施,被称为项目经理,还有专门做UE,其实我后来没搞清楚UX和UE怎么区分,曾经有一个大公司过来跟我讲半天,UX是用户体验,而UE是做UED的,说他们分的非常细,但是我听了半天,我觉得这两个角色至少从我的