新闻  |   论坛  |   博客  |   在线研讨会
揭密Skype中所采用的技术
lulu888 | 2009-05-24 00:49:55    阅读:817   发布文章

--


    一、采用领先的P2P的技术

  目前比较流行的IM软件基本都采用集中式的Client-Server模式,即需要通过大量的服务器资源进行信息集中存储、通讯协调等。P2P的技术相当于将每个客户端都作为了服务器资源,从而在整个网络中发挥作用。

  非集中式P2P网络在一些方面优于传统的Client-Server模式的网络。这种网络可以无限的扩展,并且不会因为扩展而导致搜索时间的延长和费用的增加。它利用终端用户机器的处理能力和网络带宽,非集中式网络的处理能力本身与此成正向比例,即每增加一个节点,P2P网络的处理能力和带宽都相应增加。所以,这种利用节点资源的P2P网络技术事实上可以完全取消原先集中式网络所需的费用。

  P2P技术在穿透防火墙和NAT(网络地址转换)方面也具有优势。传统的集中式网络也可以穿透防火墙和NAT,但是通常会因此增加非常昂贵的费用,用户越多费用会成比例的增加。所以,提供这样服务的服务商通常只能给每个用户提供非常少的服务器资源,大大降低了语音通话的质量。Skype实现了将网络资源分散(即不是利用集中式的服务器资源,而是利用各个节点的网络资源)。使得语音呼叫的接通率、语音质量在很大程度上甚至超过传统的电话网络。

  从搜索方面来讲,Skype所采用的技术可称为第三代P2P网络技术。P2P技术最早被一些文件共享应用广泛使用,例如非常有名的Napster和KaZaA,最近比较流行的有BT等,国内比较有名的P2P软件有POCO、OP等。在此类应用中,用户可以共享、并搜索下载文件。这些文件共享使用的P2P网络技术也可以进行资源分散(decentralizing),但是文件共享P2P技术所使用的网络本质上是分段的,即当您进行搜索的时候,并不能搜索到网络中的所有节点。为了实现高质量低成本的语音呼叫,必须有第三代P2P网络技术来实现。Skype采用了全球搜索目录(GI),GI代表了另一种意义上的可扩展网络技术。全球搜索目录使用多层的网络结构,这种结构利用超节点(Supernodes)来实现网络中的每个节点可以获取所有其它可利用节点的资源,并将这些节点资源动态组合,来参与流量分配、路径选择、处理需要较大带宽的任务等,并保证最小的延时。

  对数据传输采用智能路由,保证了语音质量。由于可以利用所有的节点资源,Skype可以为每个加密的呼叫智能地搜索最好传输途径。甚至可以并行的打开多个传输路径,动态的及时选择最佳途径。这对减少延迟和增强语音质量有非常明显的效果。

  二、穿透防火墙

  大多数的Voice-over-IP应用程序不能穿透防火墙和NAT(网络地址转换)。 几乎所有宽带用户都处于防火墙和NAT之后,所以他们不能用VoIP应用程序。Skype不是一个典型的VoIP程序,它运用的是P2P技术,几乎可以在所有的防火墙或者NAT之后工作。

  大多数此类软件的进入端口号都是指定的,Skype没有指定进入的端口号,而是在安装程序的时候随机选择一个进入端口,如此能增强穿透网络地址转换(NAT),因为如果有若干个位于NAT之后的用户采用相同的端口的话,则NAT会使得语音质量降低。

  三、安全加密 

  Skype 采用了端对端的加密方式,保证信息的安全性。使用了 AES (高级加密标准)加密方法,也称为Rijndael,美国政府用同样的加密方法来保护机密信息。Skype使用了256位加密,这种加密方法共有1.1 x 1077 种可能的密钥,可以动态的将每个呼叫和即时消息加密。 Skype采用1536和2048位RSA来生成对称AES密钥。用户的公共密钥(public keys)在用户登录的时候在Skype服务器进行验证。Skype在信息(语音、即时消息、文件)发送之前进行加密,在接收到的时候进行解密,即使在数据传输过程中需要经过其他节点进行中转,也完全没有可能在中途被窃听。 

  Skype采用了数字签名的方式,保证存储在P2P网络中的用户数据不被篡改。由于Skype使用的是P2P的技术,用户数据主要存储在P2P网络中,在用户进行搜索等操作的时候从公共网络中获取。如此必须保证存储在公共网络中的数据是可靠的和没有被篡改的。Skype对公共目录中存储的和用户相关的数据都采用了数字签名,保证了数据无法被篡改。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客