

图 1 基于P2P的IP电话模型
中心服务器主要做用户的集中认证,建立索引机制,辅助对等点之间的连接,它要动态维护一张所有目录节点的信息表,保持网络总体的拓扑情况,其结构如表1所示。
表 1 目录节点表
|
字段名
|
含 义
|
|
Ip_address
|
存储目录节点的IP地址
|
|
State
|
存储目录节点的状态(是否可用)
|
目录节点主要记录该节点下所有IP终端用户的信息,其充当关守的功能,它也需动态维护一张终端用户表,其结构如表2所示。一个节点是否能成为目录节点,要看其计算能力和存储容量,如果达到规定的要求(由软件按照统一的规则对所有的终端进行自动检测),就被设定为目录节点,同时该目录节点要定时向中心服务器通报自己的状态。
表 2 终端用户表
|
字段名
|
含 义
|
|
Ip_address
|
存储目录节点下用户的IP地址
|
|
Ip_telephone
|
存储目录节点下用户的IP电话号码
|
IP电话终端用户也相应的动态维护一张与远程IP电话用户的通话信息表,其结构如图3所示。
表 3 通话信息表
|
字段名
|
含 义
|
|
Ip_address
|
存储远程用户的IP地址
|
|
Ip_telephone
|
存储远程用户的IP电话号码
|
|
Connect_state
|
存储自身的连接状态(On or Off)
|
当一个IP终端用户加入此网络中时,软件搜索网络提供给用户一个可用的目录节点的列表,供用户选择。用户可以选择其中多个(避免因单个目录节点出现故障或该目录节点已不再充当目录节点而造成呼叫失败)路由最短的目录节点作为其父节点,并提交相应的信息。网络中所有的IP用户因为随时会加入或者离开,IP地址与IP电话号码不完全是固定的关系,所以目录节点要定时刷新IP地址与IP电话号码的对应关系,保持IP用户节点处于一个稳定的状态。
在该模型中,当一终端用户A呼叫另一终端用户B时,A先查询自己与远程IP电话用户的通话信息,如果有B的信息,则直接进行互通;如果没有或呼叫失败,那么再向中心服务器请求。中心服务器返回所有可用的目录节点,之后请求信令就以组播的方式向目录节点发送,收到请求的目录节点查询自己的终端用户表,如果找到B的信息,则返回给A,A和B就可建立点对点的连接,直接进行语音数据的传输;如果都未找到B的信息,请求信令继续以组播的方式向其它目录节点发送,直至遍历整个网络。
5 总结
IP 电话技术是一项新的技术,其发展速度非常快,最终将成为人们语音通信的重要工具。本文目的在于将P2P技术应用到IP电话中,以保证IP电话的语音数据包能够实时地、顺序地到达目的端。选择混合式P2P构建了IP电话模型,既具备快速检索的能力,降低网络流量的负担,又便于安全管理、身份认证、流量管理、计费管理等。转贴于 酷文网-论文下载中心 http://www.coolwen.net