51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6724|回复: 9
打印 上一主题 下一主题

MSN和QQ文件传输速度解析

[复制链接]
  • TA的每日心情
    慵懒
    2015-1-8 08:46
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-11-15 15:15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    发现很多情况下,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一样。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2008-2-2 16:57:47 | 只看该作者

    Kudaa新的P2P技术诞生,开创互联网内容传输加速新纪元

    Kudaa新的P2P技术诞生,开创互联网内容传输加速新纪元


    一直致力于发展互联网传输加速服务的酷达软件科技有限公司(网址:http://www.kudaa.net.cn)成功地推出一款新的P2P技术Multinational P2P,简称MNP2P。开创了互联网大文件传输加速的新纪元。

    众所周知,目前最主要的下载加速方式就是P2P和CDN技术。然而,传统P2P的下载方式需要大量的用户同时使用,才能够保证下载的速度。BT是最典型的P2P运用典范。而CDN则是在下载用户较少,带宽资源相对充足的情况下才能保证下载的质量,在高峰时期,由于带宽的限制就不能保证有效的服务。酷达的MNP2P技术的下载资源不象迅雷或BT一样有冷门热门之分,即使只有一个人在下载,也可以享受P2P下载条件下的多人同时下载一样的速度。

    酷达MNP2P最主要的特点还不在于此,Kudaa最大的优势在两个方面:一是跨国传输,由于采用独有的MNP2P技术,Kudaa在跨国传输速度方面比其它软件要快数倍。Kudaa另一个最大的优势在于文件上传速度方面,MNP2P独有的技术保证用户上传能接近上传用户网络的极限速度,这是其它p2p软件所不具备的。

    Kudaa正以强劲的势头成为互联网大传输行业的一枝独秀,为越来越多的跨国公
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-2-12 17:38:19 | 只看该作者
    有同感~~~~~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-4-6 23:42:46 | 只看该作者
    msn在中国也有服务器吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-4-16 17:25:32 | 只看该作者
    同感.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-4-17 11:02:50 | 只看该作者
    正在找这方面的资料,谢谢啦!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-4-24 13:59:22 | 只看该作者
    专业性到位。很好的提问和回答!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-4-26 16:43:16 | 只看该作者

    感觉学习到了很多

    感觉学习到了很多,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-27 09:32
  • 签到天数: 164 天

    连续签到: 1 天

    [LV.7]测试师长

    9#
    发表于 2008-6-10 09:10:39 | 只看该作者

    好文章,够幽默。

    有快有慢,有比较,
    有猜有想,有见解,
    有理有据,有评论,
    有文有彩,有味道,
    好文章,好文章。。。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-6-16 20:33:48 | 只看该作者
    个人观点:
    msn一直以来在不同网段间(公司内网与单独adsl拨号上网)都采用的是tcp中转连接,目的应该只有一个强调他的稳定性
    msn在同一局域网间都采用tcp直连接方式传输。

    qq在不同网段下会走udp直接连接,如果连接失败时会走仍然会走tcp中转连接,正是上面提到的upd直接连接方式可能有些不稳定因素
    qq在同一网段应该还是走的tcp直接连接
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-16 09:49 , Processed in 0.067045 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表