ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:909.81KB ,
资源ID:10454863      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10454863.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(企业统一通信平台的设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

企业统一通信平台的设计.docx

1、企业统一通信平台的设计wireless network service providers) to provide messages to the proxy server API, address, port and to the achievement of competence. Video / audio conversations to achieve, the use of a foreign AxPhone components, used to capture the visual compression / audio frames.Key word: Instant mes

2、saging 、Unified communications platform、Video / audio conference、Web Service 一、引言1.1软件开发背景1.1.1 社会背景统一通信平台,将视频,语音、传真、电子邮件、WEB,移动短消息和多媒体数据等所有信息类型集合为一体,可用传统电话、IP电话,传真、手机、3G手机,PC、掌上电脑、Outlook,PDA等通信设备中的任何一种接收,在有线、无线、互联网之间架构起一个信息互联通道。 统一通信 (简称UC即Unified Communications )是指把计算机技术与传统通信技术融为一体的新通信模式,作为一种解决方案

3、和应用,其核心内容是:让人们无论任何时间、任何地点,都可以通过任何设备、任何网络,获得数据、图像和声音的自由通信。也就是说,统一通信系统将语音、传真、电子邮件、移动短消息、多媒体和数据等所有信息类型合为一体,从而为人们带来选择的自由和效率的提升。(例如,传统的电话将被取代以支持基于软电话屏幕的客户端软件。)它区别于网络层面的互联互通,而是以人为本的应用层面的融合与协同,是更高一个层次的理念,新一代通信与IT产业。统一通信带来的革命性未来:三年后将有1亿人使用鼠标进行通讯,10年以后,当你在电影中看到一部桌面电话的时候,你会回忆起你的桌面曾经有过这种电话的时光。统一通信是一种综合的信息服务,能够

4、充分发挥两网的优势,以企业电视台,VoIP、视频通信、即时通信和协同办公等核心业务能力,通过多样化的终端,向用户提供随时随地、随心随意并可融合语音、数据和视频的多媒体通信手段。 统一通信有效地整合了各种通信设备、媒体和应用,并且使通信更加方便,更加具有组织性、计划性、可扩展性。通信不仅仅是打电话,而是综合了即时通信、VoIP、视频会议、远程培训、网上客服等应用;通信不再局限于语音,而是融合即时消息、手机短信、邮件、语音、视频、数据等多种媒体;通信不再局限于电话机,而是扩展到PC、PDA、电话、手机、H323/SIP终端等设备;通信不再内外割断,而是以网站为桥梁实现内外通信的一体化。统一通信的发

5、展潜力巨大。2008年,中国统一通信市场将达到51亿元人民币,而从2008年到2012年,未来五年的时间里,国内统一通信市场将保持较快的增长趋势,其年增长率将达到46.4%,截至2011年,世界统一通信市场份额有望突破145亿美元,国内统一通信市场的规模将达到212亿元人民币。让人们轻松地通过统一通信来查询、联系和协作,促进创新,提高工作灵活性。本平台通过提供开放的、可扩展的软件平台,对企业的感知、即时消息、电子邮件、统一消息、web、语音、视频进行整合,实现此目标。1.1.2 技术背景本统一通信平台,目前有3种形式的客户端,PC上的C/S、PC上的B/S和无线通信设备,前两者依靠Intern

6、et的IP地址进行通信,后者无线网络运营商提供的“信号频端”。本平台在C/S终端之间的通信中,采用了Socket协议,因为可控性最强,稳定性最高,从地层通信协议到通信格式都很灵活,而且值要遵守协议,跨平台/语言不是问题。而在Web中的通信采用了WebService,通过HTTP协议进行通信,以XML为载体,所以跨平台特性和语言无关性是最好的,而且可以轻便地跨越不同的网络。无线网络上的通信,主要通过SP(网络服务提供商)提供的网关端口和权限,从而传输信息。如果将视频以图像的形式在网络上传播,那么传输的质量、效率、稳定性都是很差的,本系统将采用AVPhone组件,将在客户端的视频以帧的形式读取,然

7、后经过压缩,再以数据包的形式在网络上传输。在开发平台上,我选用.NET,一来自己熟悉.NET,二来.NET有其本身的优势,C#保留了对底层操作系统API的直接调用和指针。普通应用都是调用.Net的程序集,对于速度敏感,或者平台相关型应用,直接通过特定声明来调用Windows API。这样就可以在功能,效率和速度都兼顾,解决各种各样的应用层问题和系统层问题,用一种语言来解决所有场合的大部分问题;而且在Windows平台上的.Net CLR,开发工具IDE,再加上C#的程序集,开发方便和快捷的难以想像,。在数据库选择上也是用微软的产品MS SQL2005。二、需求分析 2.1市场分析 统一通信不但

8、是网络的融合,而且是应用的融合。它不仅能改善企业的办公模式,更重要的是它可以渗透到企业的生产系统中,带来整个企业运作模式的变革。中国通信标准协会网络交换技术工作委员会主席赵慧玲表示,统一通信带给用户的是成本的降低、工作效率的提升以及整个运行机制的改变。据微软的抽样调查结果显示,80%的企业管理者认为,企业运行时出现的问题来自于企业的内部沟通问题。员工日常工作所需的信息有50%到75%是直接从其他员工那里获得的。企业有80%以上的数据化的信息分散在各个员工的设备上,如果没有良好的沟通,企业就不能正常运作。随着信息技术的发展,企业员工拥有了越来越多的通信设备。是不是通信手段越丰富通信效果就越好呢?

9、据Sage数据研究机构发布的报告显示,尽管目前平均每人拥有6.4种不同的通信设备(包括固定电话、手机、电子邮件、即时通信、办公电话等),但企业员工仍有36%的几率无法在第一时间与对方取得联系。因为,这些通信设备往往是独自工作,它们之间没有建立起一个统一的通信体系。可见,只有将各种通信手段有效地整合到一起,才能使企业内部的沟通更舒畅、资源共享更容易。统一通信能够为企业打造一个综合信息服务的平台,整合多种通信手段,有效地提高员工的工作效率和企业对资源的利用率,降低生产成本。同时,统一通信改变了传统的商业模式,企业可快速实现与客户及合作伙伴的即时沟通,这有助于企业抓住稍纵即逝的商业机会。2.2 功能

10、分析 由于本系统是一个企业统一通信系统,系统对不同部门的用户进行分组,在C/S客户端,任何两个同事可以进行文字、视频会话、文件传输和邮件收发,当其中一个同事不在线的时候,文字信息将发送到不在线同事的手机。而在B/S客户端,有一个大厅会议区,公开给所有用户,此外可以选择与某个用户单独会话。而短信群发功能是提供给每一位用户的,可将短息发送到你选定的用户的移动电话。而邮件群发功能是提供给每一位用户的,可对用户注册的邮箱进行邮件收发功能。会议也是分部门的,其部门定义为创建该会议的同事的部门,创建该部门的同事作为该会议的管理员,可以命令会议中的任两个同事将他们的视频公开给所有同事,可以设置会议只对本部门

11、公开还是对所有部门公开,拥有是设置用户进出会议的权限。而在服务端,系统管理员可以管理用户、会议,设置系统,如服务端的地址、短信服务提供商的配置等。2.3 环境需求 1、硬件环境CPU内存硬盘其他服务端2.00GHz 以上1GB+ RAM 以上SATA 160G 以上客户端500 MH以上64 MB以上(推荐使用128 MB)安装需要50MB的硬盘空间若要使用语音视频聊天功能,还需配置声卡、音箱、话筒、摄像头等多媒体设备 表2.1硬件环境表2、软件环境操作系统数据库其他软件服务端Windows Server 2003Microsoft SQL Server 2005IIS6.0、NET Fram

12、ework 2.0客户端Windows Server 2000、Windows Server 2003、Windows XP 表2.2软件环境表3、网络环境局域网使用数据库服务端在局域网络中互联网公网地址,2M/mps客户端在局域网络中任何能连接到互联网的网络 表2.3 网络环境表三、主要技术概述 3.1 面向对象 在这个部分,先概述面向对象,因为整个系统的系统都是基于面向对象分析和设计的,面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。瀑布模型把设计进一步划分成概要设计和详细设计两个阶段,类似地,

13、也可以把面向对象设计再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现操作的算法。3.1.1面向对象设计的启发规则1、设计结果应该清晰易懂使设计结果清晰、易懂、易读是提高软件可维护性和可重用性的重要措施。显然,人们不会重用那些他们不理解的设计。要做到:用词一致;使用已有的协议;减少消息模式的数量;避免模糊的定义。2、设计简单类应该尽量设计小而简单的类,这样便以开发和管理。为了保持简单,应注意以下几点:避免包含过多的属性;有明确的定义;尽量简化对象之间的合作关系;不要提供太多的操作。3、.使用简单的协议一般来说,消息中参数不

14、要超过3个。4、使用简单的操作面向对象设计出来的类中的操作通常都很小,一般只有3至5行源程序语句,可以用仅含一个动词和一个宾语的简单句子描述它的功能7、把设计变动减至最小通常,设计的质量越高,设计结果保持不变的时间也越长。即使出现必须修改设计的情况,也应该使修改的范围尽可能小。3.2 UDP协议3.2.1 UDP协议概述用户数据报协议(UDP)是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。是一个简单的面向数据报的传输层协议,IETF RFC 768是UDP的正式规范。 UDP 协议基本上是IP协议与上层协议的接口。 UDP 协议适用端口分别运行在同一台设备

15、上的多个应用程序。 与TCP不同,UDP并不提供IP协议的可靠机制、流控制以及错误恢复功能等。由于UDP比较简单,UDP头包含很少的字节,比 TCP 负载消耗少。 322 UDP协议的结构 UDP协议结构1632bitSource portDestination portLengthChecksumData 表3.1 UDP协议结构表 Source Port 16位。源端口是可选字段。当使用时,它表示发送程序的端口,同时它还被认为是没有其它信息的情况下需要被寻址的答复端口。如果不使用,设置值为0。 Destination Port 16位。目标端口在特殊因特网目标地址的情况下具有意义。 Len

16、gth 16位。该用户数据报的八位长度,包括协议头和数据。长度最小值为8。 Checksum 16位。IP 协议头、UDP 协议头和数据位,最后用0填补的信息假协议头总和。如果必要的话,可以由两个八位复合而成。 DATA层。包含上层数据的信息。3.2.3 UDP协议的特点1、UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步。2、UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。3、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被

17、正确接收,也不会重发数据。4、UDP传送数据较TCP快速,系统开销也少。5、由于缺乏拥塞控制(congestion control),需要基于网络的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。3.3 SOCKET 编程技术3.3.1 Socket套接字进程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD中的管道(pipe)、命名管道(named pipe)和软中断信号(signal),UNIX system V的消息(message)、共享存储区(shar

18、ed memory)和信号量(semaphore)等,但都仅限于用在本机进程之间通信。网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。为此,首先要解决的是网间进程标识问题。同一主机上,不同进程可用进程号(process ID)唯一标识。但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。例如,主机A赋于某进程号5,在B机中也可以存在5号进程,因此,“5号进程”这句话就没有意义了。 其次,操作系统支持的网络协议众多,不同协议的工作方式不同,地址格式也不同。因此,网间进程通信还要解决多重协议的识别问题。为了解决上述问题,TCP/IP协议引入了端口和地址

19、的概念。 1、端口 网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源。 按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力。从这个意义上讲,网络通信的最终地址就不仅仅是主机地址了,还包括可以描述进程的某种标识符。为此,TCP/IP协议提出了协议端口(protocol port,简称端口)的概念,用于标识通信的进程。 2、地址 网络通信中通信的两个进程分别在不同同的机器上。在互连网络中,两台机器可能位于不同的网络,这些网络通过网络互连设备(网关,网桥,路由器等)连接。因此需要三级寻址: a. 某一主机可与多个网络相连,必须指定一特定网络地址; b. 网

20、络上每一台主机应有其唯一的地址; c. 每一主机上的每一进程应有在该主机上的唯一标识符。 通常主机地址由网络ID和主机ID组成,在TCP/IP协议中用32位整数值表示;TCP和UDP均使用16位端口号标识用户进程。 3.3.3 C# Socket编程原理首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的数据交换方法和格式进行数据传输。客户端在需要的时刻发出向服务端的连接请求。这里为了便于理解,提到了一些调用及其大致的功能。使用socket

21、调用后,仅产生了一个可以使用的socket描述符,这时还不能进行通信,还要使用其他的调用,以使得socket所指的结构中使用的信息被填写完。NetFrameWork为Socket通讯提供了System.Net.Socket命名空间,在这个命名空间里面有以下几个常用的重要类分别是:Socket类 这个低层的类用于管理连接,WebRequest,TcpClient和UdpClient在内部使用这个类。NetworkStream类 这个类是从Stream派生出来的,它表示来自网络的数据流TcpClient类 允许创建和使用TCP连接TcpListener类 允许监听传入的TCP连接请求UdpClie

22、nt类 用于UDP客户创建连接(UDP是另外一种TCP协议,但没有得到广泛的使用,主要用于本地网络)本系统使用UDP协议,一旦创建 Socket,在客户端,不用Connectd到服务端,但最好指定绑定一个端口,如果不事先Bind端口号的话,系统会默认在1024到5000随机绑定一个端口号,并通过Send方法向远程服务器发送数据,然后可以通过Receive从服务端接收数据;而在服务器端,也需要使用Bind方法绑定所指定的接口使Socket与一个本地终结点相联,使用Receive等待接收来自客户端的数据。使用完 Socket 后,使用 Close 方法关闭 Socket。34 UDP穿透NAT 3

23、41 NAT的概念和意义NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。 最开始NAT是运行在路由器上的一个功能模块。最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连接(呵呵,这是在上世纪90年代中期提出的)。那么这个子网中其实只有少数的节点需要全球唯一的IP地址,其他的节点的IP地址应该是可以重用的。因此,基本的NAT实

24、现的功能很简单,在子网内使用一个保留的IP子网段,这些IP对外是不可见的。子网内只有少数一些IP地址可以对应到真正全球唯一的IP地址。如果这些节点需要访问外部网络,那么基本NAT就负责将这个节点的子网内IP转化为一个全球唯一的IP然后发送出去。(基本的NAT会改变IP包中的原IP地址,但是不会改变IP包中的端口)另外一种NAT叫做NAPT,从名称上我们也可以看得出,NAPT不但会改变经过这个NAT设备的IP数据报的IP地址,还会改变IP数据报的TCP/UDP端口。基本NAT的设备可能我们见的不多,NAPT才是我们真正讨论的主角。看图3.1: Server S1 18.181.0.31:1235

25、 | Session 1 (A-S1) | | 18.181.0.31:1235 | | v 155.99.25.11:62000 v | | NAT 155.99.25.11 | Session 1 (A-S1) | | 18.181.0.31:1235 | | v 10.0.0.1:1234 v | | Client A 10.0.0.1:1234 图3.1 NAPT工作表342 NAT的实现过程有一个私有网络10.*.*.*,Client A是其中的一台计算机,这个网络的网关(一个NAT设备)的外网IP是155.99.25.11(应该还有一个内网的IP地址,比如10.0.0.10)。如果

26、Client A中的某个进程(这个进程创建了一个UDP Socket,这个Socket绑定1234端口)想访问外网主机18.181.0.31的1235端口,那么当数据包通过NAT时会发生什么事情呢? 首先NAT会改变这个数据包的原IP地址,改为155.99.25.11。接着NAT会为这个传输创建一个Session(Session是一个抽象的概念,如果是TCP,也许Session是由一个SYN包开始,以一个FIN包结束。而UDP呢,以这个IP的这个端口的第一个UDP开始,结束呢,呵呵,也许是几分钟,也许是几小时,这要看具体的实现了)并且给这个Session分配一个端口,比如62000,然后改变这

27、个数据包的源端口为62000。所以本来是(10.0.0.1:1234-18.181.0.31:1235)的数据包到了互联网上变为了(155.99.25.11:62000-18.181.0.31:1235)。 一旦NAT创建了一个Session后,NAT会记住62000端口对应的是10.0.0.1的1234端口,以后从18.181.0.31发送到62000端口的数据会被NAT自动的转发到10.0.0.1上。(注意:这里是说18.181.0.31发送到62000端口的数据会被转发,其他的IP发送到这个端口的数据将被NAT抛弃)这样Client A就与Server S1建立以了一个连接了。那么再看看

28、下面这些关键的部分: Server S1 Server S218.181.0.31:1235 138.76.29.7:1235 | | | | +-+-+ | Session 1 (A-S1) | Session 2 (A-S2) | 18.181.0.31:1235 | | | 138.76.29.7:1235 | v 155.99.25.11:62000 v | v 155.99.25.11:62000 v | Cone NAT 155.99.25.11 | Session 1 (A-S1) | Session 2 (A-S2) | 18.181.0.31:1235 | | | 138.76.29.7:1235 | v 10.0.0.1:1234 v | v 10.0.0.1:1234 v | Client A 10.0.0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1