基于p2p的即时通信软件-合格论文内容摘要:

果有故障发生,阻碍分组到达远程系统,或者服务器不接受连接,客户都会得到通知 :数据可靠的交付,故障而不能交付,发送方会得到通知;具有流控的传输;双工的传输,单个 TCP 连接允许同时双向传送数据流模式, TCP从发送方到接收方发送没有报文边界的字节。 如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向上传送到 TCP 层。 TCP 将包排序并进行错误检查,同时实现虚电路间的连接。 TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排海军工程大学毕业论文 17 序,而损坏的包可以被重传。 TCP 将它的信息送到更高层的应用程序,例如 Tel 的服务程序和客户程序。 应用程序轮流将信息送回 TCP 层, TCP 层便将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到接收方。 面向连接的服务(例如 Tel、FTP、 rlogin、 X Windows 和 SMTP)需要高度的可靠性,所以它们使用了 TCP。 DNS 在某些情况下使用 TCP(发送和接收域名数据库),但使用 UDP 传送有关单个主机的信息。 UDP 协议 UDP 与 TCP 位于同一层,但对于数据包的顺序错误或重发。 因此, UDP 不被应用于那些使用虚电路的面向连接的服务, UDP主要用于那些面向查询 应答的服务,例如 NFS。 相对于 FTP或 Tel,这些服务需要交换的信息量较小。 使用 UDP 的服务包括 NTP(网络时间协议)和 DNS( DNS 也使用 TCP)。 欺骗 UDP 包比欺骗 TCP 包更容易,因为 UDP 没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与 UDP 相关的服务面临着更大的危险。 UDP 为应用程序提供多对多的通信,UDP 在进行通讯的应用的数量上面,具有更大的灵活性。 多个应用可以向一个接收方发送报文,一个发送方向也可以向多个接收方发送报文。 UDP 还可以使用底层网络的广播 和组播设施交付报文 :UDP 提供的是不可靠交付语义,报文可能丢失、重复或者失序,海军工程大学毕业论文 18 而发送方是得不到通知的;缺乏流控制;报文模式,当有数据交付的时候,必须制定报文边界。 UDP 适用于一次只传送少量数据、对可靠性要求不高的应用环境。 比如,我们经常使用“ ping”命令来测试两台主机之间TCP/IP 通信是否正常,其实“ ping”命令的原理就是向对方主机发送 UDP 数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。 例如,在默认状态下,一次“ ping”操作发送 4 个数据包(如图 2 所示)。 大家可以看到,发送的数据包数量是 4 包,收到的也是 4 包(因为对方主机收到后会发回一个确认收到的数据包)。 这充分说明了UDP 协议是面向非连接的协议,没有建立连接的过程。 正因为 UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如 TCP 协议高。 传输层协议的选定 由于 TCP 和 UDP 的语义及其不同,如果要考虑应用协议所要求的语义,设计者就不能不在面向连接和无连接的传输协议间作出选择。 利用面向连接的 TCP 协议,可以大大简化应用协议的设计工作。 由于 UDP 不提供可靠的交付,无连接传输要求 应用协议提供可靠性,并在必要时,使用一种称为自适应重传的复杂技术。 为现有的应用程序增加自适应重传比较困难,它需要程序员具有海军工程大学毕业论文 19 相当地专业知识。 选择 TCP 一个很大的缺点就是,建立和中止连接的三次握手使 TCP比起 UDP开销大。 在考虑是用 UDP还是用 TCP作为域名服务系统的运输层协议是,设计者往往陷入两难的境地。 一个理想的解决方案应该既能提供可靠的数据传输,又不需要专门的建立和释放连接,不需要报文的反段和重组,同时还能是两端的空闲状态所处的时间最短。 TCP 什么都好,只可惜他需要建立和释放连接。 还有一个严重的问题就是 TCP 在空闲的连接上根本不发送任何分组。 假设客户与某个服务器建立了连接,并与之交换请求和响应,接着便崩溃了。 因为客户已经崩溃了,它就不会再发送任何请求了,然而,服务器到目前为止对它收到的所有请求都进行了响应,它便不会再向客户发送更多的数据了。 在这种情况下,服务器拥有分配给该连接的数据结构 (包括缓存空间 ),并且这些资源不能被重新分配。 服务器是设计成始终运行的。 如果不断有客户崩溃,服务器就会耗尽资源 (比如,套接字、缓存空间、 TCP 连接 )从而中止运行。 ISO 模型 OSI (Open Systems Interconnection)即开放式通信系统互联参考模型,是国际标准化组织 (ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架。 OSI 定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任海军工程大学毕业论文 20 务,它本身并不是一个标准,而是一个在制定标准时使用的概念性框架,是作为一个框架来协调和组织各层所提供的服务的。 OSI模型由 7 个层组成,每一层都处理特定的通信任务。 如图 所示。 图 OSI 模型分层图 在单台机器中,每一层通过两层 间的层间接口调用下一层的服务,取出对该层有意义的数据;机器之间则是使用某个给定层的协议的对等进程进行通信。 这种通信由一些协议来控制,协议就是实现双方都同意的一组规则和约定。 对等进程是指每一个机器的某个给定层上进行通信的进程。 应 用 层 表 示 层 会 话 层 运 输 层 网 络 层 数据链路层 物 理 层 应用层 表示层 会话层 运输层 网络层 数据链里层 物理层 对等协议 对等协议 对等协议 对等协议 对等协议 对等协议 对等协议 物理通信 第 三 章 即时通信软件的需求分析 安全即时通信系统功能描述 安全即时通信系统以“先进合理的应用理念”、“高效率的通信服务”、“安全的系统服务”,为用户提供了一套安全快捷的即时信息交流和办公的平台,以增强企事业单位内部的信息交流,拓宽单位员工的安全沟通渠道,创建新型的沟通文化,提高 单位的工作效率。 该系统具有文本通信、文件传输、用户管理等基本功能,同时保证数据通信的即时性以及通信过程和信息存储的安全性。 如表 所示。 表 安全即时通信系统功能设计 基本功能 功能描述 文本通信 点对点会话通信、点对多点消息和通知群发、离线通信、信息存储等功能 文件传输 服务器共享文件列表查询、客户端上传文件、客户端下载文件等 文本通信提供客户之间的消息传输服务,保证信息传输的即时性和安全性。 文本通信包括 :点对点通信一一实现两个用户之海军工程大学毕业论文 14 间的信息沟通;消息通知群发一一实现单个用户对多个用户的文字会话、消息通知分发和任务分配等。 另外文本通信支持向离线人员发送各种信息,同时聊天信息都存储在聊天信息数据库内。 系统的即时文本通信功能方便了员工间的工作交流,使员工在第一时间得知单位的重要通知、本人的工作任务,以提高工作效率。 文件传输功能为客户端之间提供文件传输服务。 服务器提供了共享文件列表查询、文件上传、文件下载等服务。 服务器端可以人工设置共享文件列表、文件上传保存路径等参数。 客户端可以上传文件至服务器或从服务器共享文件列表中选择文件并下载至本地系统,同时客户端之间也可以互相传输文件,并且将文件信息保存 至服务器供查询使用。 文件传输完毕后提醒用户接收或发送完毕。 文件传输过程不会对正常文本通信造成影响。 用户管理功能主要提供维护系统的正常运行,保护合法用户的重要信息不受侵害并且防止恶意攻击等服务。 该模块包括用户注册信息管理、用户登陆许可与在线状态监控、部门信息管理等。 系统运行过程中需要将重要信息以密文形式存储在数据库中,并且可以对重要信息进行备份。 另外,系统需要设计出友好的操作界面。 操作界面包括客户端用户界面和系统管理员维护服务器的用户界面。 客户端用户界面包括登陆、好友列表、聊天界面和个人信息管理的界面,并 实现上述相应的功能。 服务器用户界面主要指管理员可以方便管理海军工程大学毕业论文 15 用户基本信息、服务器存储的文件、用户间发送文件的信息以及用户的权限等信息,并实现对用户操作的监控和对重要数据备份等功能。 一般即时消息格式需求 ; ; 地址; 别 (非 ASCII 内容 ); ; 格式必须反映当前最好的可用性实践。 可靠性需求 在 Inter 网络日益发挥重要作用的时代 ,IM 软件作为这个时代的产物 ,具有经济、高效、方便的优点 ,不仅仅被个人作为信息交换工具 ,而广泛的使用 ,也成为了企业级应用不可缺少的工具。 但是 ,IM 软件在保密性方面的缺陷 ,很可能导致个人信息的泄露 ,个人隐私的泄露 ,给个人信息安全带来严重的后果;也可能导致企业级应用中 ,商业资料泄密 ,甚至是商业机密的泄露 ,这将会给企业带来无法估计的损失。 在这里有几点建议和简单的方法 ,海军工程大学毕业论文 16 可有助于提高 IM 软件的安全性。 首先 ,在即时信 息交流中 ,我们应该尽量避免涉及自己个人隐私 ,工作资料的内容。 其次 ,在涉及比较重要信息时 ,不能直接使用 IM软件交流 ,应该使用专业软件加密后 ,发送给对方 ,再用其他方式 (如电话 ,不应该再用网络 )交换密钥。 最后 ,我们还可以采用使用代理的方式 ,使数据格式发生一定的变化 ,是一些特定的监视工具失效。 协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。 性能需求 :即时通信亦即用户间能实时发送和接收各种信息,包括文本通信和文件传输,其中保证数据的可到达性,保证 数据解读的正确性,防止数据丢失或数据错位,从而保证消息传送的可靠性。 :通信安全是指保证客户之间传送消息和文件的安全,防止数据在传输过程中遭泄密、窃密或被篡改数据。 程序中采用信息加密技术使信息以密文的形式传输,实现传输的机密性,同时尽可能减少加解密对传输速度的影响。 :系统稳定性包括系统在高通信强度下是否能够正常、及时地处理各客户端的请求和信息,系统在长时间工海军工程大学毕业论文 17 作状态下是否会出现异常以及系统的容错性能等。 防止系统崩溃和程序退出,同时降低程序运行中 CPU 等资源的消耗。 即时通 讯 (IM)的通讯协议需求 协议是一系列的步骤,它包括双方或者多方,设计它的目的是要完成一项任务。 即时通讯协议,参与的双方或者多方是即时通讯的实体。 协议必须是双方或者多方参与的,一方单独完成的就不算协议。 这样在协议动作的过程中,双方必须交换信息,包括控制信息、状态信息等等。 这些信息的格式必须是协议参与方同意并且遵循的。 好的协议要求清楚,完整,每一步都必须有明确的定义,并且不会引起误解;对每种可能的情况必须规定具体的动作。 信息加密和鉴别需求 ; 证通知和即时消息的置信度,未被监听或者破坏; ,未被重排序或者回放; 读; ,不海军工程大学毕业论文 18 被重放和解密。 即时消息的安全类需求 本节讲述了即时消息的安全方面的需求。 我们假设有以下情况: A 发送即时消息 M 给 B 那么: ; , A 必须接到确认; M 被投递了, B 只能接受 M 一次; B 提供方法检查 A 发送了这条信息; B 使用另一条即时信息,回复信息; A 的 IP 地址; A 提供方法保证没有其他个体 C 可以看到内容; A 提供方法保证没有其他个体 C 可以篡改 M; B 提供方法鉴别没有发生篡改; 必须能够阅读 M, B 可以防止 A 发送信息给他; A 使用现在的数字签名标准对信息进行签名。 海军工程大学毕业论文 19 第 四 章 即时通信软件的设计 通讯协议的制定 即时通信的传输层协议 ICQ 和 都同时为支持不同的传输层协议 TCP 和 UDP 协议,制定了语义不同的即时通讯协议。 使用 UDP 作为其传输层协议,可以提供即时通讯协议必须的可靠连接和可靠交付语义,简化了应用层协议的设计。 即时通信选择 UDP 作为其传输层协议之一。 在文件传输和传输串行化数据时,采用 TCP 协议来进行传输;在即时通信客户端之间进行通信的时候,将使用 UDP 协议进行开发,系统并不保证消息一定能够到达,但是如果消息没有到达对方的话,服务器会中转消息或者通知用户重发消息。 即时通信协议的设计 设计协议就是设计一套满足需求的交互操作的语义和相关的信息格式。 即时通信协议它定义了满足即 时通讯模型需求的一组交互操作的语义和相关信息的肌格式。 现在普遍使用的嵌套文本信息格式有两种 :MIME 和 XML。 MIME 利用了一个事实就是, RFC 822 在消息体的内容中做了海军工程大学毕业论文 20 一点限制:唯一的限制就是只能使用简单的 ASCII 文本。 所以,MIME 信息由正常的 Inter 文本邮件组成,文本邮件拥有一些特别的符合 RFC 822 的信息头和。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。