文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术网络知识TCP和UDP传输的深入浅析,MSN和QQ文件传输速度解析
精品推荐
特别推荐
·全光网的发展趋势及其挑战
·详解策略路由和路由策略的区别
·ping 命令工作原理详细解析
·强烈推举系统管理员收藏的命令
·端口大全+注解
·常见端口表汇总
·网络监听的原理、实现技术与防范方法
·网管必须熟悉的几个网络DOS命令
·支招解决:网站本机无法访问故障
·支付宝数字证书无法使用解决方法
·计算机基本知识
·五招技巧快速锁定IP地址
·ADSL知识合集
·Rundll32.exe
·排优解难 网上邻居常遇故障解决方法
·Internet你应该知道的21个事实
·网管知识 网吧的技术漏洞应如何封杀?
·简单经济的可用性测试 上手指南
·巧查家用adsl的带宽
·冲浪技巧:如何抓取网页上的动画
热点TOP10
·网管必须熟悉的几个网络DOS命令
·常用网络命令及命令实例详解
·提升ADSL速度的三大招数
·解决双网卡无法共享上网的问题
·让ADSL自动拨号和永久在线
·布线工程施工方法--配线架的打法
·用51单片机控制RTL8019AS实现以太网通讯
·端口大全+注解
·实用-ADSL测速、加速、检测故障全解决
·1394网络适配器是什么东西?
·网管来看 企业面试网管员的模拟试题和答案
·常见端口表汇总
·GSM网络的干扰探讨及优化
·OFDM技术及其性能分析
·宽带共享上网软件
·远程控制软件pcAnywhere10.0试用手记
·德国坦克 首款火线外置7.1声卡评测
·计算机基本知识
·ADSL知识合集
·Windows上网后速度越来越慢怎么办?

TCP和UDP传输的深入浅析,MSN和QQ文件传输速度解析

日期:2007年7月26日 作者: 查看:[大字体 中字体 小字体]


发现很多情况下,msn传输文件比qq要慢,倒不是说msn没有快的时候,但是大部分的时候是真的比QQ慢,连我这种神经比较大条的人都注意到了,google了一下,早就有人做了解答,基本上就是说msn传输文件是使用TCP,而QQ使用UDP,剩下的事情就是论证TCP传输文件没有UDP快。大概的就是下面的几个观点:

1. TCP是可靠的,需要验证数据是否到达和是否正确,而UDP是不可靠的,少做了很多事情,所以MSN的文件传输比QQ慢。

我看了当时就想笑,也用了QQ不少时日了,从来也没有发现传输文件有问题的,用UDP作协议也很久了,不做应用层验证重传的代码,我还真不敢写。这个理由,失败。

2. TCP建立连接需要3次握手,而UDP不需要,所以TCP慢。

3次握手这个事实倒是千真万确,还好我没有那么容易被忽悠,两个人谈话之前要握握手的确要稍微费上几秒钟,但是这个关谈话的语速啥事情?假如网络的ping值达到300ms,各位看官喜欢网络游戏的,估计都不会玩了,否则垂死的boss会高兴的发现你忽然变成了木偶可以随便殴打不还手,最后你只能骂骂电信网通然后复活几分钟后又是一条好汉。但是对于TCP,这样的ping值,3次握手一般都不需要1秒钟,把这个定为文件慢慢传的罪魁祸首,似乎太不靠谱了,这个理由还是失败。

3. TCP一旦建立链接,路由就确定了,而UDP是不确定的路由方式,谁速度快走谁的线路。

这样说就说明没有作者好好理解TCP/IP协议了,TCP的链路只是一个逻辑的,又没有建立物理链路,下面跑的还是IP包,这个包走这条路,那个包完全可能走另外的路,这点TCP和UDP没有两样。理由继续失败。

4. msn服务器在国外?

有些道理,但是我听一个美国的朋友说他也喜欢用QQ传文件的。

那到底是怎么回事呢?是因为微软没有做好?(题外话,个人的确觉得MSN相比QQ的飞速进步而显得动作迟缓)QQ的Fans开始摩拳擦掌,一些不那么喜欢M$的估计就要开始丢板砖了。不管立场如何,事实还是要探寻一下,本着不求甚解,薄积薄发,浅入浅出的精神,我认为有几个可能原因:

1. 两个传文件客户端都在NAT后面的时候 (你不知道NAT啥意思?比如多个人通过路由器共享一个猫上网,那么你们一般就是在NAT后面了),从技术实现上讲,TCP在这种情况下穿越NAT比UDP麻烦得多。UDP只要开始几个穿越NAT的协商包需要服务器转一下,后面的文件数据可以两个客户端之间直接传输搞定,但是一般TCP就只能全程由服务器中转了,你说哪一个会比较快? 为什么TCP需要服务器中转?先看看NAT吧,听说有高人可以用raw sock搞定,反正我没有中间服务器搞不定。

2. 但是即使上面的条件不成立,msn还是一般比QQ慢的。问题还是在出在前面提到的验证数据可靠性上面,TCP是可靠的,UDP是不可靠的,但是用UDP做传输文件这档子事情,肯定要在应用层写一个验证的协议,否则传过来的文件缺胳膊少腿,会被用户骂死的。说是协议,其实也不难,打个比方吧:

long long ago,贾宝玉在北京,林黛玉在长沙,怎么互诉衷肠呢,派家丁送信!路途遥远,怎么知道信收到没有?打电话问?那时候发明了这个就不用送信了,只能看家丁是否带了回信来了。假如发现一个家丁一个月还没有回,那就多半迷路堵车遭遇山贼或者开小差到扬州花差快活去了,再派一个人送吧! TCP就是这么做的,UDP在应用层协议一般也需要这么做,但是实现上有时候往往有区别。

北京到长沙之间的路,并不是只有一个人跑的,常常很拥堵,假如发现家丁好久没有回了,TCP版的贾宝玉再派人送信是要的,但是他会比较识大体,他会少写信,降低发送速度,原来一天一封,现在可能一周一封了。他想,大家假如都这样,路就不会那么拥挤了。这做法很有道理,假如塞车了大家都想见缝插针,只能越来越塞,最后大家都动不了,还不如彼此容让慢慢排队。而UDP版本的贾宝玉假如也这么集体主义,那么他就叫做TCP友好流,就假如它只管自己拼命挤,就是非TCP友好的。

所有的TCP协议假如发现拥塞,都会马上降低自己的发送速度。假如基于UDP的协议不这么做的话,原来拥塞的IP包加上重发的包,网路只会越来越拥塞,最后所有的坚持集体主义的TCP流都会做出牺牲,把带宽让给一些非TCP友好的UDP流。所以除非网络状况非常好,否则TCP是拼不过非TCP友好的协议的。

我怀疑(仅仅是怀疑而已,我也没有条件和时间验证),QQ的文件传输机制是不那么TCP友好的,它抢带宽更加"我能",这样虽然对于整个网络负荷不是什么好事,但是对于单个用户,就见仁见智了,就好像大家看待多线程下载或者p2p一样。

(出处:清风网络学院






上一篇:推荐;适合SQL初学者学习的SQL FAQ集锦

下一篇:一个不能少:在Vista中根据日期查找图片

TCP和UDP传输的深入浅析,MSN和QQ文件传输速度解析 相关文章:
·提高运行速度 教你一步一步优化XP系统
·MPEG、RM、WMV电影文件格式转换指南
·设好eMule电驴两项关键配置 提高下载速度
·中小企业整体网络安全解决方案解析
·魔法门7 攻略解析
·怎样清除硬盘及系统垃圾文件?
·清除垃圾文件DIY
·速度太慢 微软官方发布Vista加速指南
·ASP.NET上传文件的实例
·电脑使用一段时间后会变慢原因解析
TCP和UDP传输的深入浅析,MSN和QQ文件传输速度解析 相关软件:
·深入理解计算机系统电子杂志 PDF
·最强文件加密锁2007
·巨城文件保险柜 v2.3
·Ultra RM Converter(Real文件转换分割,合并)V3.3.0916 汉化版
·Allok Video Splitter(视频文件分割)V2.2 0726 修正II版
·联想OEM Winxp的5个文件
·文件夹加密器V9.6
·西门子plc软件及教程 文件类型 其它介绍
·KillCopy(文件移动复制增强)绿色汉化版 V2.85
·盟军敢死队-深入敌后

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot