MSN服务器的架构的猜想

 第一次写csdn的blog,希望能与一些同行交流、探讨有关高性能服务器开发的问题,谢谢!

       1。MSN服务器的地域性和QQ是一样的,所有服务器都是放在同一个机房内,也就是在一个局域网内,这样子更加有利于内部必要的数据交换和统一管理,例如:登陆的唯一性,数据库的统一性等等。

       2。用户的登陆方式。QQ的登陆方式主要有两种:第一,UDP登陆方式。第二,TCP登陆方式。MSN的登陆方式只有一种,那就是TCP的登陆方式,但是要注意的是,MSN还有一种附加的登陆方式,那就是UDP。先介绍QQ的登陆方式吧。QQ之所以有两种方式可能有两种理由:第一,早期QQ刚开发的时候是用TCP来做的,因此这种登陆方式给予保留,版本的兼容性嘛!同时TCP的方式解决了部分用户不支持P2P的问题。第二,P2P的这种技术的实现目前来说主要是靠UDP协议来实现的,目前绝大部分的路由器所带的NAT只支持UDP打洞,对于同时有两千万人在线的系统来说,P2P技术更大的解决了频宽的问题。

     在早期的QQ版本里面我们通常看到聊天记录里面显示“通过服务器中转”的信息,估计是因为在早期QQ并没有完全的实现P2P,因此信息是通过服务器中转的。现在QQ的所有版本默认都是以UDP方式登陆的,UDP不仅速度快,而且重要的是支持P2P技术。我发现以TCP方式登陆的用户如果要和UDP方式登陆的用户视频的时候,连接是超时的。

    MSN的登陆方式TCP,也许微软考虑到登陆的安全性问题,所以采用了TCP协议,但是MSN附加的UDP方式是为了实现P2P而附加上去的,这样子就会得到用户公网的IP和port。大家如果细心点就会发现,局域网内用MSN传输文件的时候,有时候回特别的慢,因为没有采用点对点的传输方式,但是在传输文件的时候,如果先和对方聊几句的话,传输文件的时候就回很快,这时候MSN就会为用户实现了P2P连接,否则文件的传输是经过服务器中转过的,所以才显得慢!

     3。安全性。UDP天生就是连接不安全的,因为UDP是无连接的,所有的用户都可以向服务器发送任何信息,服务器没办法辨别信息的安全性。如果每个UDP封包都是经过加密的话,一定程度解决了安全性!TCP的连接方式是安全的,服务器主要是通过账号来验证信息来连线的。看来QQ的加密方式是很好的。MSN之所以没有采用UDP,大概是考虑到安全方面的内容吧,TCP登陆更好的解决了安全只一关。但是如果纯粹采用TCP的话,那么MSN要实现同时好几千万用户在线是很困难的,应此,MSN服务器开放了UDP端口,利用P2P技术解决了这一棘手的问题!

    困了,睡了,今天就写到这吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值