- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
TCP与UDP的区分
很多文章都说TCP协议牢靠,UDP协议不行靠!为什么前者牢靠,后者不行靠呢?既然UDP协议不行靠,为什么还要使用它呢?所谓的TCP协议是面对连接的协议,面对连接是什么呢?
TCP和UDP都是传输层的协议!从编程的角度看,就是两个模块〔模块就是代码的集合,一系列代码的组合供给相应的功能!模块化最终目的就是:分工协作!模块化好处:便于扩开放发以及维护!〕。
先说TCP协议:
这个协议,是面对的连接!面对连接这个概念,我们要从物理层看起。大家都知道,由于“信道复用技术”的迅猛进展,才促使了计算机网络的进展!假设没有“信道复用技术”,那么单条线路上〔这里的线路指物理传输介质,例如:双绞线、光纤、线〕单位时间内只能供一台计算机使用!还是举例说明:就拿你自己的计算机来说,你跟同学“小明”谈天的时候,就不能跟另外一位同学“小强”谈天,假设你想同时跟两位同学谈天,那么你就得装两条线路!那么同时与第三位、第四位同学。。。第N位同学谈天的时候,你需要装几根线路?全世界人民谈天的时候,又需要装几根线路?
“信道复用技术”实现了,在同一条线路上,单位时间内可供X台计算机同时通信!Toad知道以下几种复用技术:
1、频分复用
2、时分复用
3、波分复用
4、码分复用
5、空分复用
6、统计复用
7、极化波复用
关于“信道复用技术”更深层次的问题,需要你自己去争论!
上面我们提到了“信道复用技术”!知道了这一点,我们就很简洁明白“物理信道”上的“虚拟信道”概念了!不同的信道复用技术,使用不同的复用技术,目的就是创立“虚拟信道”。
一个TCP协议连接其实就是在物理线路上创立的一条“虚拟信道”。这条“虚拟信道”建立后,在TCP协议发出FIN包之前〔两个终端都会向对方发送一个FIN包〕,是不会释放的。正由于这一点,TCP协议被称为面对连接的协议!
UDP协议,一样会在物理线路上创立一条“虚拟信道”,否则UDP协议无法传输数据!但是,当UDP协议传完数据后,这条“虚拟信道”就被马上注销了!因此,称UDP是不面对连接的协议!
大家要知道,一种物理线路,单位时间内,能够创立的“虚拟信道”是有限的!从这个问题,大家应当明白了TCP协议和UDP协议为什么会共存了吧,然而,这只是其中一个缘由而已!
那为什么又说TCP协议牢靠,UDP协议不行靠呢?以上说的是一个缘由,还有一个缘由是:使用TCP协议传输数据,当数据从A端传到B端后,B端会发送一个确认包〔ACK包〕给A端,告知A端数据我已收到!UDP协议就没有这种确认机制!这一点,在做TCP协议首局部析时,会详加解释!
QQ一般会员就是使用的UDP协议进展传输数据!既然UDP协议自身没有确认机制,这个工作可以交给应用层的进程来完成〔QQ〕!大家使用QQ的时候,感觉出错的几率还是格外小吧!固然,把这个确认工作完全交给QQ自身来做,就直接导致了,QQ软件体积增大!
有些应用,对数据传输牢靠性要求格外高,例如大家扫瞄网页,通过网页注册帐号、转帐等效劳,这是不容许出错的,使用TCP协议能把出错的可能性降到最低〔固然,网络自身很糟糕,TCP协议也没方法〕。但是,供给这种牢靠效劳,会加大网络带宽的开销,由于“虚拟信道”是持续存在的,同时网络中还会消灭大量的ACK和FIN包!
因此,鱼和熊掌不行兼得,需依据实际状况选择传输协议
TCP协议供给了牢靠的数据传输,但是其拥塞掌握、数据校验、重传机制的网络开销很大,不适合实时通信,所以选择开销很小的UDP协议来传输数据。
UDP协议是无连接的数据传输协议并且无重传机制,会发生丢包、收到重复包、乱序等状况。而对于数据准确性要求不高的状态数据以及视频数据,丢包的影响不大。由于会不断收到的包,丧失的个别包会有的包来掩盖,所以只需在远程掌握系统的通信局部自行处理乱序及重复包的问题,而对于丢包的问题一般不作处理。
但对于命令包这种需要准确收发的数据,可在程序的开发中参加丢包重发和超时丢弃的处理。固然,假设开发的是对于实时性要求不高的大事型掌握命令的传输,不期望发生指令的丧失也可以直接承受TCP协议。TCP的重传机制正好适合这种状况。
非面对连接的传输协议在数据传输之前不建立连接,而是在每个中间节点对非面对连接的包和数据包进展路由。没有点到点的连接,非面对连接的协议,如UDP,是不行靠的连接。当一个UDP数据包在网络中移动时,发送过程并不知道它是否到达了目的地,除非应用层已经确认了它已到达的事实。非面对连接的协议也不能探测重复的和乱序的包。标准的专业术语用“不行靠”来描述UDP。在现代网络中,UDP并不易于导致传输失
专注地铁、铁路、市政领域安全管理资料的定制、修改及润色,本人已有7年专业领域工作经验,可承接安全方案、安全培训、安全交底、贯标外审、公路一级达标审核及安全生产许可证延期资料编制等工作,欢迎大家咨询~
文档评论(0)