学位论文 > 优秀研究生学位论文题录展示

基于XMPP的P2P即时通信系统的研究及实现

作 者: 徐航
导 师: 张尧弼;朱喜春
学 校: 上海交通大学
专 业: 软件工程
关键词: 即时通讯 XMPP P2P NAT
分类号: TN915.02
类 型: 硕士论文
年 份: 2011年
下 载: 82次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着中国网民数的不断增加,即时通讯在人们的生活中起着越来越重要的作用,它已经成为目前人们在网上的主要沟通工具。即时通讯是指由两个或多个参与者通过因特网或者其他类型的网络,进行的一种实时的并且主要是基于文本的通讯。即时通讯跟其他通讯技术比如电子邮件相比,其主要优势在于用户之间的沟通是同步的,即聊天是实时进行的。有一些即时通讯系统还会允许用户发送消息给另外一个离线用户,这就使得它也有了类似电子邮件的功能。目前大多数即时通讯系统采用Client/Server架构,这样就使服务器的地位比较关键,系统的瓶颈在服务器上。但最近出现的P2P技术使这一问题得到解决。本文提出了一种有服务器辅助的P2P架构,较好地在改善系统管理和提高系统效率方面做出了平衡。XMPP(Extensible Messaging and Presence Protocol)是近来比较流行的一种即时通讯协议。它以XML为基础,并且是一种开放式协议。XMPP有灵活性和开放性的特点,任何人都可以实现自己的XMPP服务并与其他组织的XMPP服务进行交互,亦即只要是遵守XMPP开发出来的系统,不管它的开发者是谁,理论上都可以互相通讯。XMPP甚至也定义了和采用其他协议的系统进行通讯的流程。同时,目前IPv4地址已经分配完毕,许多公司和组织已经开始向IPv6地址过渡,但网络地址转换(Network Address Translation,简称NAT)技术成为了解决IPv4地址匮乏的主要技术,它可以将内网中多个节点映射成一个外部IP地址,或者相反,以此来解决IP地址匮乏的问题。现在很多公司或组织的网络都采用了NAT技术,因此研究即时通讯系统的NAT穿越问题无疑具有十分重要的实用意义。本文在介绍XMPP即时通讯协议相关技术的基础上,实现了一个基于XMPP的P2P即时通讯系统原型,系统采用事件驱动机制,以观察者模式进行设计。主要功能包括:用户注册、用户登录、用户好友管理、文本通讯等功能。在对NAT的工作机制进行分析的基础上,深入研究P2P通讯穿越NAT的方法,选择客户端可集成的STUN(Session Traversal Utilities for NAT)协议实现了NAT的穿越。

全文目录


摘要  6-7
ABSTRACT  7-10
1 绪论  10-17
  1.1 研究背景及意义  10-11
  1.2 国内外研究现状  11-14
  1.3 技术路线及技术难点  14-16
    1.3.1 系统总体设计  14
    1.3.2 客户端设计  14
    1.3.3 技术难点  14-16
  1.4 文章结构介绍  16-17
2 客户端总体设计  17-23
  2.1 客户端需求分析  17
  2.2 客户端功能分析  17-19
  2.3 系统总体设计  19-20
  2.4 客户端总体框架  20-22
  2.5 本章小结  22-23
3 XMPP 流程分析  23-44
  3.1 基本概念  23-24
  3.2 客户端与服务器连接流程  24-27
  3.3 用户注册功能流程分析  27-28
  3.4 用户登录功能流程分析  28-32
  3.5 好友列表功能流程分析  32-36
  3.6 文本消息通信功能流程分析  36-37
  3.7 用户在线状态功能流程分析  37-42
  3.8 订阅管理功能流程分析  42-43
  3.9 本章小结  43-44
4 客户端详细设计与实现  44-56
  4.1 客户端设计原则  44
  4.2 用户注册功能  44-46
    4.2.1 功能类设计  44-45
    4.2.2 主要功能类实现  45-46
  4.3 用户登录功能  46-47
    4.3.1 功能类设计  46-47
    4.3.2 主要功能类实现  47
  4.4 好友列表功能  47-49
    4.4.1 功能类设计  47-48
    4.4.2 主要功能类实现  48-49
  4.5 文本消息通信功能  49-51
    4.5.1 功能类设计  49-50
    4.5.2 主要功能类实现  50-51
  4.6 用户在线状态功能  51-52
    4.6.1 功能类设计  51
    4.6.2 主要功能类实现  51-52
  4.7 订阅管理功能  52-53
    4.7.1 功能类设计  52-53
    4.7.2 主要功能类实现  53
  4.8 模拟测试  53-55
    4.8.1 测试目的及环境  53
    4.8.2 测试程序解析  53-54
    4.8.3 测试流程及结果  54-55
    4.8.4 测试结论  55
  4.9 本章小结  55-56
5 客户端设计关键问题研究  56-67
  5.1 NAT 类型简介  56-60
    5.1.1 NAT 工作原理  56-57
    5.1.2 NAT 的分类  57
    5.1.3 NAPT 的映射策略  57-60
  5.2 NAT 对P2P 影响的分析  60-61
  5.3 P2P 穿越NAT 技术  61-64
  5.4 STUN 穿越NAT 方案  64-66
    5.4.1 模拟测试  65-66
  5.5 本章小结  66-67
6 结论  67-69
  6.1 论文的主要工作  67
  6.2 进一步的研究工作  67-69
参考文献  69-71
附录一 文本消息发送/接收测试程序  71-75
致谢  75-76
作者攻读学位期间发表的论文  76

相似论文

  1. 基于NS2的PeerCast模拟平台设计与实现,TP311.52
  2. 基于聚类分析的P2P流量识别算法的研究,TP393.02
  3. 胶片剂量仪在调强放射治疗剂量验证中的应用研究,R815
  4. 即时通讯时代人的主体性反思,N02
  5. 音像广播远程教育系统中直播服务器的设计与实现,TP311.52
  6. 基于P2P流媒体系统的设计与实现,TN919.8
  7. 基于P4P的流媒体点播系统研究与实现,TN948.64
  8. 基于Winsock的C/S模式即时通信系统的设计及实现,TN914
  9. SIP Trunk网关穿越NAT的方案设计与实现,TN915.05
  10. 一种IPV4/IPV6混合网络下P2P直播系统资源共享方法,TP393.02
  11. 基于P2P架构下的移动“全球眼”系统实现及性能分析,TN929.5
  12. 机器人云操作平台的研究与实现,TP242
  13. 一种无主控制的云存储架构的研究,TP333
  14. 分布式图像管理系统的设计与实现,TP311.52
  15. 基于混合式P2P动态拓扑构造系统的应用研究,TP393.02
  16. 互联网络下载协议的分析和实现,TP393.093
  17. 基于SIP协议的VoIP技术在校园网络上的实现,TN916.2
  18. 负载均衡技术在防伪税控系统中的应用,F812.42
  19. 结构化P2P系统的负载均衡技术研究,TP393.02
  20. P2P流量识别技术的研究与实现,TP393.06

中图分类: > 工业技术 > 无线电电子学、电信技术 > 通信 > 通信网 > 一般性问题 > 通信网结构与设计
© 2012 www.xueweilunwen.com