IM通信协议XMPP与SIP

IM通信协议XMPP与SIP,第1张

目前出现的IM产品,其通信方式主要有两种:
一种通信方式是把服务器作为客户端之间通信的媒介。

服务器负责对整个网络进行监听,每个客户端启动后,与服务器的监听端口进行连接,服务器派生一个新的工作线程去处理此客户端的请求,并负责将此客户端的请求数据中转到接收方。即客户端之间的连接请求和通信数据均需要通过服务器中转。

这种方式便于对客户端的数据进行流量分析和数据监控,但服务器的性能很容易成为通信的瓶颈。

在线检测即时消息传递。

另一中通信方式是客户端间采用点对点的方式直接进行通信。

此时服务器只负责协助客户端之间建立点对点连接,客户端直接建立连接后则直接进行点对点通信。

SIP协议,基于ip协议。一般用于建立语音和视频通信。目前sip协议已经被制定得较为完善。

xmpp是一种基于xml的协议。不仅可以实现文本之间的传递,也具有灵活的扩展性从而方便地实现更复杂格式文件的即时传递。

目前基本所有的通用IM产品,通信双方都是直接进行通信,而不必通过服务器来中转,造成对于用户间数据的监管非常困难。如此,如何防止商业机密和其他非法信息的传播也是一个重要的安全问题。

xmpp:基于xml很强扩展性,很强灵活性,很好开放性(源码开放),易于实现持久连接,很好安全性。

应用

google 发布世界上首个开源的Html5 sip 客户端

HTML5 SIP客户端是一款开源的,完全利用JavaScript编写的集社交(FaceBook,Twitter,Google+),在线游戏,电子商务等应用于一体。无扩展,无插件或是必备的网关,视频堆栈技术依赖于WebRTC。如同主页里的Demo视频演示,你可以轻松实现Chrome和IOS/Android移动设备之间的实时视频/音频通话。

很适合硬件(内存和运算能力)受限的嵌入式系统使用。

Html5 sip 客户端 新特性包括:

支持Audio / Video通话功能;

支持即时信息;

Presence;

呼叫保持/恢复;

显示呼叫转移;

支持多个账号;

双音多频信号(DTMF)使用SIIP INFO

姓名:张俸玺;学号:20012100022;学院:竹园三号书院。

转自:>购买力平价学说(theory of Purchasing power parity简称PPP) 是一种历史非常悠久的汇率决定理论,它的理论渊源可以追溯到16世纪,对之进行系统阐述则是瑞典学者卡塞尔于1992年完成,其基本思想是:货币的价值在于其具有的购买力,因此不同货币之间的兑换取决于他们各自具有的购买力,因此不同货币之间的兑换比率取决于它们具有的购买力的对比,也就是汇率与各国的价格水平之间具有直接的联系
购买力平价法也叫国际比较项目法(ICP),是以国内商品价格同基准国家同种商品价格比率的加权平均值为购买力平价计算的。ICP是由联合国统计局、世界银行等组织主持的一项旨在提供GDP及其组成部分的国际一致价格和物量的跨国比较体系。ICP经历了由双边到多边,再到分区域比较(区域内多边比较,再联合成全球性比较)的发展过程,但其研究的基本思路就是通过价格调查并利用支出法计算的GDP作为基础,测算不同国家货币购买力之间的真实比率(以PPP为货币转换系数),从而取代汇率,把一国的GDP转换成以某一基准货币或国际货币表示的GDP。
-MBA智库百科
①PPP:点对点协议
(PPP:Point to Point Protocol)
点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。
PPP 主要由以下几部分组成:
封装:一种封装多协议数据报的方法。PPP 封装提供了不同网络层协议同时在同一链路传输的多路复用技术。PPP 封装精心设计,能保持对大多数常用硬件的兼容性。克服了SLIP不足之处的一种多用途、点到点协议,它提供的WAN数据链接封装服务类似于LAN所提供的封闭服务。所以,PPP不仅仅提供帧定界,而且提供协议标识和位级完整性检查服务。
链路控制协议:PPP 提供的 LCP 功能全面,适用于大多数环境。LCP 用于就封装格式选项自动达成一致,处理数据包大小限制,探测环路链路和其他普通的配置错误,以及终止链路。LCP 提供的其他可选功能有:认证链路中对等单元的身份,决定链路功能正常或链路失败情况。
网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。
配置:使用链路控制协议的简单和自制机制。该机制也应用于其它控制协议,例如:网络控制协议(NCP)。
为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立,LCP 所需的可选功能被选定之后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在链路上发送了。
链路将保持通信设定不变,直到有 LCP 和 NCP 数据包关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。
应 用:假设同样是在Windows 98,并且已经创建好“拨号连接”。那么可以通过下面的方法来设置PPP协议:首先,打开“拨号连接”属性,同样选择“服务器类型”选项卡;然后,选择默认的“PPP:Internet,Windows NT Server,Windows 98”,在高级选项中可以设置该协议其它功能选项;最后,单击“确定”按钮即可。
②即“公私合作”(Public-Private-Partnership),是指政府提供公共服务的一种方式。在这种机制下,对社会需要的特定公共服务,政府不再直接投资兴办公共项目,而是鼓励企业投资兴办(或企业与政府合资兴办)项目并提供公共服务,政府根据服务的数量与质量进行购买。
PPP工作流程:
当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
PPP和HDLC之间最主要的区别是,PPP是面向字符的,HDLC是面向位的。
③PPP在GPS应用领域代表着“精密单点定位(Precise Point Positioning)”,精密单点定位是利用国际GPS服务机构IGS提供的或自己计算的GPS精密星历和精密钟差文件,以无电离层影响的载波相位和伪距组合观测值为观测资料,对测站的位置、接收机钟差、对流层天顶延迟以及组合后的相位模糊度等参数进行估计。用户通过一台含双频双码GPS接收机就可以实现在数千平方公里乃至全球范围内的高精度定位。它的特点在于各站的解算相互独立,计算量远远小于一般的相对定位。
PPP的特点:
①主要观测值为载波相位
②采用精密的卫星轨道和钟数据
③采用复杂的模型
PPP定位精度:亚分米级。
PPP用途:全球高精度测量,卫星定轨。
ppp
在RFC 1661中提供详细的PPP规范
PPP是指政府与民营机构(或更广义点,任何国营/民营/外商法人机构,下同)签订长期合作协议,授权民营机构代替政府建设、运营或管理基础设施(如道路、桥梁、电厂、水厂等)或其他公共服务设施(如医院、学校、监狱、警岗等)并向公众提供公共服务,主要有主要有垂直和水平两种方式;而BOT是指政府通过特许权协议,授权民营机构进行项目(主要是基础设施和自然资源开发)的融资、设计、建造、经营和维护,BOT主要有BOT、BOOT和BOO三种基本形式和十多种演变形式,如BT、TOT等。
由定义可见,PPP本质上和BOT差不多,都属于狭义项目融资(Project Financing),即“通过项目来融资——通过该项目的期望收益来融资的活动”,而非广义项目融资,即“为项目融资——为特定项目的建设、收购以及债务重组进行的融资活动”。从金融学而言,所谓狭义项目融资,是指债权人(银行)对借款人(项目公司)抵押资产以外资产没有追索权或仅有有限追索权的融资活动,而广义项目融资,往往是有100%追索权的,即债权人对借款人抵押资产以外的资产也有追索权。
PPP和BOT项目对民营机构的补偿都是通过授权民营机构在规定的特许期内向项目的使用者收取费用,由此回收项目的投资、经营和维护等成本,并获得合理的回报(即建成项目投入使用所产生的现金流量成为支付经营成本、偿还贷款和提供投资回报等的唯一来源),特许期满后项目将移交回政府(也有不移交的,如BOO)。但PPP的含义更为广泛,反映更为广义的公私合伙/合作关系,除了基础设施和自然资源开发,还可包括公共服务设施和国营机构的私有化,等等,因此,近年来国际上越来越多采用PPP这个词,以取代BOT。
BT属于BOT的一种演变形式,政府在项目建成后从民营机构中购回项目(可一次支付也可分期支付);与政府借贷不同,政府用于购买项目的资金往往是事后支付(可通过财政拨款,但更多的是通过运营项目收费来支付);民营机构用于建设的资金可自己出但更多的是获取银行的有限追索权贷款。笔者认为,如果建设资金不是从银行借的有限追索权贷款的话,BT实际上是“垫资承包”或“延期付款”,已经有点超出狭义项目融资的原有含义范畴了。
政府在PPP和BOT中的责任本质上没有什么不同,但细节上有,如PPP项目中,民营机构做不了的或不愿做的,由政府来做,其余全由民营机构来做,政府只起监管的作用;而BOT项目中,绝大多数工作由民营机构来做,政府则提供支持和担保。但无论什么方式,都要合理分担项目风险,从而提高项目的投资、建设、运营和管理效率,这是PPP或BOT的最重要目标。
PPP的两种认证方式
一种是PAP,一种是CHAP。相对来说PAP的认证方式安全性没有CHAP高。PAP在传输password是明文的,而CHAP在传输过程中不传输密码,取代密码的是嘻哈值。PAP认证是通过两次握手实现的,而CHAP则是通过3次握手实现的。PAP认证是被叫被叫提出连接请求,主叫响应。而CHAP则是主叫发出请求,被叫回复一个数据包,这个包里面有主叫发送的随机的嘻哈值,主叫在数据库中确认无误后发送一个连接成功的数据包连接。

TCP和UDP区别

TCP(或传输控制协议)

  UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ 短消息使用 UDP 协议发送消息。 
    许多程序将使用单独的TCP连接和单独的UDP连接。重要的状态信息随可靠的TCP连接发送,而主数据流通过UDP发送。

 UDP(或用户数据报协议)

TCP的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一个虚拟连接。TCP在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。它通过为其发送的每个数据包提供一个序号来完成此恢复。记住,较低的网络层会将每个数据包视为一个独立的单元,因此,数据包可以沿完全不同的路径发送,即使它们都是同一消息的组成部分。这种路由与网络层处理分段和重新组装数据包的方式非常相似,只是级别更高而已。
    为确保正确地接收数据,TCP要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。

TCP与UDP的选择

如果比较UDP包和TCP包的结构,很明显UDP包不具备TCP包复杂的可靠性与控制机制。与TCP协议相同,UDP的源端口数和目的端口数也都支持一台主机上的多个应用。一个16位的UDP包包含了一个字节长的头部和数据的长度,校验码域使其可以进行整体校验。(许多应用只支持UDP,如:多媒体数据流,不产生任何额外的数据,即使知道有破坏的包也不进行重发。) 
    很明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低下,但是我们相信在不远的将来,TCP可靠的点对点连接将会用于绝大多数的网络应用。

WebSocket是一种基于TCP协议的新型双向通信协议,可以在浏览器和服务器之间实现实时、高效、低延迟的数据传输。但是,在某些情况下,由于一些原因,如公司的安全策略或网络架构限制等,可能会出现不允许WebSocket连接的代理服务器。
代理服务器(Proxy Server)常常被用来过滤用户的网络请求,控制访问权限,提高访问速度等。如果代理服务器不允许WebSocket连接,则意味着在使用WebSocket协议进行通信的时候会遇到问题,无法建立WebSocket连接,从而影响客户端与服务器之间的实时数据传输。
这种情况下,有一些解决方法可以尝试:
1 改用其他协议:例如,使用>□ 信息产业部电信规划研究院 翟海生
  
  一、IP ***隧道协议
  
  目前IP网上较为常见的隧道协议大致有两类:第二层隧道协议(包括PPTP、L2F、L2TP)和第三层隧道协议(包括GRE、IPSec、MPLS)。二层和三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装。第二层隧道技术的起始点在网络接入服务器(NAS),终点在用户网设备(CPE)上。另外,在隧道内整个PPP帧都封装在内,PPP会话要贯穿到CPE界内的网关或服务器上。第三层隧道技术的起点及终点均在ISP界内,PPP会话终止于NAS内,只携带第三层报文体,终接设备同时也作为CPE的网关。
  
  1.第二层隧道协议
  
  第二层隧道协议可以支持多种路由协议(如IP、IPX和AppleTalk),也可以支持多种广域网技术(如FR、ATM、X25或SDH/SONET),还可以支持任意局域网技术(如以太网、令牌环和FDDI等)。
  
  PPTP
  
  PPTP(点到点隧道协议)是由PPTP论坛开发的点到点的安全隧道协议,为使用电话上网的用户提供安全***业务,1996年成为IETF草案。PPTP是PPP协议的一种扩展,提供了在IP网上建立多协议的安全***的通信方式,远端用户能够通过任何支持PPTP的ISP访问企业的专用网络。PPTP提供PPTP客户机和PPTP服务器之间的保密通信。PPTP客户机是指运行该协议的PC机,PPTP服务器是指运行该协议的服务器。
  
  通过PPTP,客户可以采用拨号方式接入公共的IP网。拨号客户首先按常规方式拨号到ISP的接入服务器,建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的连接,该连接称为PPTP隧道。PPTP隧道实质上是基于IP协议的另一个PPP连接,其中IP包可以封装多种协议数据,包括TCP/IP、IPX和NetBEUI。对于直接连接到IP网的客户则不需要第一次的PPP拨号连接,可以直接与PPTP服务器建立虚拟通路。
  
  PPTP的最大优势是Microsoft公司的支持。NT40已经包括了PPTP客户机和服务器的功能,并且考虑了Windows95环境。另外一个优势是它支持流量控制,可保证客户机与服务器间不拥塞,改善通信性能,最大限度地减少包丢失和重发现象。PPTP把建立隧道的主动权交给了客户,但客户需要在其PC机上配置PPTP,这样做既会增加用户的工作量,又会造成网络的安全隐患。另外,PPTP仅工作于IP,不具有隧道终点的验证功能,需要依赖用户的验证。
  
  L2F
  
  L2F(Layer 2 Forwarding)是由Cisco公司提出的,可以在多种介质(如 ATM、FR、IP)上建立多协议的安全***的通信方式。它将链路层的协议(如 HDLC、PPP、ASYNC等)封装起来传送,因此网络的链路层完全独立于用户的链路层协议。该协议1998年提交给IETF,成为RFC2341。
  
  L2F远端用户能够通过任何拨号方式接入公共IP网络。首先,按常规方式拨号到ISP的接入服务器(NAS),建立PPP连接;NAS根据用户名等信息发起第二次连接,呼叫用户网络的服务器,这种方式下,隧道的配置和建立对用户是完全透明的。
  
  L2F允许拨号服务器发送PPP帧,并通过WAN连接到L2F服务器。L2F服务器将包去封装后,把它们接入到企业自己的网络中。与PPTP和L2F所不同的是,L2F没有定义客户。L2F的主要缺陷是没有把标准加密方法包括在内,因此它基本上已经成为一个过时的隧道协议。
  
  L2TP
  
  L2TP协议是由Cisco、Ascend、Microsoft、3Com和Bay等厂商共同制订的,1999年8月公布了L2TP的标准RFC2661。上述厂商现有的***设备已具有L2TP的互 *** 作性。
  
  L2TP结合了L2F和PPTP的优点,可以让用户从客户端或接入服务器端发起***连接。L2TP定义了利用公共网络设施封装传输链路层PPP帧的方法。目前用户拨号访问因特网时,必须使用IP协议,并且其动态得到的IP地址也是合法的。L2TP的好处就在于支持多种协议,用户可以保留原来的IPX、AppleTalk等协议或企业原有的IP地址,企业在原来非IP网上的投资不致于浪费。另外,L2TP还解决了多个PPP链路的捆绑问题。
  
  L2TP主要由LAC(接入集中器)和LNS(L2TP网络服务器)构成。LAC支持客户端的L2TP,用于发起呼叫、接收呼叫和建立隧道。LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。
  
  在安全性考虑上


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13266526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-29
下一篇 2023-06-29

发表评论

登录后才能评论

评论列表(0条)

保存