另一方面,切换后移动节点转交地址的变化也会引起传输路径上的某些节点无法正确识别/转发带有与IP地址有关的QoS机制。为了在移动IP上提供QoS保证,网络中的中间节点需要为移动节点的数据流进行正确的QoS转发处理。因此,移动IP的QoS有其特殊性,重要体现在以下几个方面:链路质量对QoS的影响。主机的移动性对QoS的影响。便携终端的这些特性也会对QoS产生影响。移动IP协议对QoS的影响。......
2023-10-18
SIP协议由IETF(Internet Engineering Task Force)组织于1999年提出的一个在基于IP网络中,特别是在Internet这样一种结构的网络环境中,实现实时通信应用的一种信令协议。而所谓的会话(session),是指用户之间的数据交换。在基于SIP协议的应用中,每一个会话可以是各种不同的数据,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。
作为一个IETF提出的标准,SIP协议在很大程度上借鉴了其他各种广泛存在的Internet协议,如http(超文本传输协议)、smtp(简单邮件传输协议)等,和这些协议一样,SIP也采用的基于文本的编码方式。
在Internet领域中,CGI一直是进行Web编程的有效手段,即使与后来大行其道的ASP、JSP相比,CGI在Web编程的灵活性上依然有着自己的优势。由于SIP与HTTP的相似性,很自然地会想到用CGI来作为开发SIP业务的工具。
具体讲,用CGI来开发SIP业务有以下几点优势:
(1)语言独立性:CGI可以用Perl、C、Visual Basic以及很多其他语言来开发,只要它们支持环境变量的获取即可。
(2)头部信息的获取:CGI可以获取HTTP请求的所有头部信息,这对SIP业务来讲同样非常重要,因为SIP的头部信息几乎包含了呼叫的全部有用信息,例如呼叫方、被叫方、主题、地址、呼叫状态等。
(3)响应的生成:CGI的另一个优势在于它除了能够生成消息体之外,可以生成响应的任何一个部分,包括头部、状态码等,而其他的一些编程机制,例如,Java servlets只是考虑消息体部分。对于SIP协议来讲,消息体并不是新业务开发中最重要的部分,因此能否生成响应的所有部分就显得尤为关键。
(4)组件重用:由于SIP协议重用了很多HTTP的语法,因此针对SIP开发的CGI可以重用HTTP CGI的很多有用工具。
(5)熟悉的开发环境:很多Web程序员对CGI都相当熟悉,这也有助于Web程序员转到SIP的开发中来。
(6)方便的扩展性:由于CGI是接口而不是语言,它能够很容易的被扩展和重用于类似SIP这样的协议。
为此,IETF的Network工作组提出了SIP CGI。尽管SIP与HTTP在基本语法和请求响应模型上非常类似,但它们之间也存在着很多区别,例如,SIP可以将一个请求转发为多个请求,可以支持注册等附加功能,这些都是HTTP所没有的。SIP与HTTP的这些区别导致了SIP CGI的设计必然也与HTTP CGI有所不同,例如,SIP CGI允许脚本执行一些特殊的消息功能,SIP CGI还引入了一种持续性模型,允许脚本在消息交换时保持控制,而HTTP CGI并没有这些功能。
SIP CGI的基本模型如图7.9所示。以呼叫转发业务为例,服务器接收到客户端的请求之后,要通过CGI程序来决定何时、向何处转发多少请求以及何时返回给客户端一个响应。CGI程序还可以更改和创建SIP消息的头部信息,这也使得SIP增值业务的实现变得更加灵活。
图7.9 SIP CGI模型图
与JAVA Applet对应,Servlet是运行在服务器端的JAVA程序。Servlet目前应用最多的领域是用来增加Web Server的互动性,Servlet并不是专为HTTP协议设计的,IETF将其与SIP结合成为了SIP Servlet。
Servlets是用Java编写的、协议和平台独立的服务器端组件,它采用“请求/响应”模式,提供了一种基于Java的网络服务器的解决方案,可以动态地扩展支持Java的网络服务器。如同Web业务中的HTTP Servlets是HTTP CGI的替代品一样,对于SIP业务开发者来讲,SIP Servlets也是除了SIP CGI之外的一个很好的选择。
IETF组织于1999年9月提出了SIP Servlets的草案,作为SIP服务器的Java扩展API,SIP Servlets可以扩展SIP服务器的功能、控制SIP消息的处理,从而实现更为丰富的SIP业务。
IETF对SIP Servlet作了如下定义:SIP Servlet是与SIP服务器交互的,按照某种方式控制或影响呼叫流程的JAVA代码。当SIP消息到达SIP服务器时,服务器根据一定的触发规则检查是否有到达消息相关的Servlet。如果有则把代表SIP消息的对象传送到SERVLET。通过这些对象,Servlet可以访问SIP消息中的任何部分,并决定如何响应收到的消息。
利用SIP Servlets扩展SIP业务的基本模型如图7.10所示,可以看出它与SIP CGI的模型非常相似。当呼叫请求到达SIP服务器后,由服务器将SIP消息封装成SIP对象,发送给SIP Servlets,SIP Servlets可以读取或更改SIP头部信息、消息体、状态行等,通过对SIP对象的控制,SIP Servlets便能够决定如何响应及转发请求。另外,SIP Servlets还可以自行发起新的SIP事务处理。
图7.10 SIP Servlet基本模型图
Servlets技术与CGI相比,其最大的优势在于Servlets对于客户端来的多个请求只需创建一个进程来处理,当Servlets被客户端的第一个请求激活后,将继续运行于后台,每个后来的请求只会产生一个线程而不是进程,因此多个客户能够在同一进程同时被服务。而CGI针对每个请求都会分别创建一个进程,显然后者的开销要大得多,并且在同一个进程中不能服务多个客户。另外,由于SIP Servlets是基于Java的扩展API,因此它也有着很好的可移植和跨平台的特性。(www.chuimin.cn)
SIP Servlet API主要运行在SIP应用服务器上,具有以下特性:
(1)SIP应用可以实现SIP体系中的代理服务器功能、用户代理功能。
(2)SIP Servlet具有指示SIP CONTAINER生成新的请求消息、转发请求消息、生成新的响应、转发响应的功能。
(3)利用SIP Servlet API生成应用,只需要关注SIP消息中关键的字段,例如To,From,Request-URI,Contact,不需要考虑复杂的协议参数,例如:Cseq,Call-ID和Via等消息头,这些任务都由SIP CONTAINER处理。
(4)同一个SIP消息可以激活多个SIP应用,SIP Container能够根据触发规则来处理它们之间的冲突。
(5)支持SIP应用由第三方开发,规范中定义了业务开发人员与业务管理人员交互的配置描述符(deployment descriptor)。
图7.11 SIP Servlet继承关系图
(6)SIP服务器可以支持跨多种协议的应用,例如,SIP协议和HTTP协议等。
图7.11是Servlet类与SIP Servlet类的继承关系图,任何Servlet要成为SIP Servlet,都必须继承SIP Servlet类。
目前JAVA Servlet最大的应用是HTTP Servlet,SIP Servlet的设计理念来源于HTTP Servlet,它们都继承了Servlet的特点,它们有很多相似之处,主要包括以下几点:
(1)两者的运行机制都是当服务器收到信令消息后,根据一定的触发规则检查是否有与消息相关的Servlet,并激活相应的Servlet。
(2)生命周期管理都采用了Servlet的生命周期管理机制。
(3)配置描述符(deployment descriptor)的概念是一致的。
(4)应用的组成一致,HTTP Servlet应用主要由HTTP Servlet组成,SIP Servlet应用主要由SIP Servlet组成。
(5)CONTAINER的概念是一致的。
它们之间区别是HTTP协议与SIP协议的区别形成的,SIP协议要比HTTP协议复杂,因此SIP Servlet的功能要比HTTP Servlet复杂,HTTP Servlet只需要接收异步的请求,以及发送响应;SIP Servlet的功能就复杂多了,因为它通常充当代理服务器和用户代理功能,因此它可以发送请求和响应,以及接收异步的请求和响应;SIP Servlet对于信令消息到Servlet的触发规则更加复杂,并且需要动态建立。
SIP Servlet与HTTP Servlet之间并不相互排斥,它们可以同时运行在一个应用中,SERVLET引擎根据收到的消息类型触发不同类型的Servlet,这种方式对于实现语音与Internet相结合的业务是很有意义的。
SIP CONTAINER又称为SIP Servlet引擎,SIP Container属于应用服务器的一部分,SIP Servlet接收和发送SIP消息都要通过SIP Container,SIP Container具有对SIP Servlet的生命周期进行管理的功能。SIP Cotainer的运行机制如下:它负责监听SIP消息的端口号,当收到SIP消息后,它决定激活哪个应用以及激活的顺序。
SIP SERVLET应用就是利用SIP Servlet API生成的业务,它主要由Servlet组成,此外还有JAVA类文件和应用运行所需要的资源(例如语音文件等)。
有关下一代计算机网络技术的文章
另一方面,切换后移动节点转交地址的变化也会引起传输路径上的某些节点无法正确识别/转发带有与IP地址有关的QoS机制。为了在移动IP上提供QoS保证,网络中的中间节点需要为移动节点的数据流进行正确的QoS转发处理。因此,移动IP的QoS有其特殊性,重要体现在以下几个方面:链路质量对QoS的影响。主机的移动性对QoS的影响。便携终端的这些特性也会对QoS产生影响。移动IP协议对QoS的影响。......
2023-10-18
Internet电子邮件系统具有如图2.21所示的3个主要组成部分:用户代理、邮件服务器和电子邮件协议。电子邮件服务器是邮件系统的核心部分,主要功能是发送和接收电子邮件。......
2023-10-18
TCP/IP参考模型也是一个开放模型如图2.7所示,能很好地适应世界范围内数据通信的需要,它具有如下四个特点:开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统。图2.7TCP/IP模型与OSI参考模型对照图TCP/IP参考模型有4个层次。TCP/IP中没有OSI中的表示层和会话层。应用层是TCP/IP参考模型的最高层,它向用户提供一些常用应用程序,如电子邮件等。传输层定义了两种协议:传输控制协议TCP与用户数据报协议UDP。......
2023-10-18
为了使本单位的各子网之间使用路由器来互联,因而便于管理。需要注意的是,子网的划分纯属本单位内部的是,在本单位以外是看不见这样的划分。TCP/IP体系规定用一个32bit的子网掩码来表示子网号字段的长度。因此,主机号码的总数是62x1022=63364个,比不划分子网时要少了一些。图2.11子网掩码的意义图B类IP地址;增加子网号空段;子网掩码子网与掩码以及子网地址特性如下:B类IP地址:C类IP地址:......
2023-10-18
因此,IPv6协议将成为电信网、移动通信网和计算机网融合的唯一纽带,也是下一代互联网最重要的关键技术之一。软交换为下一代网络提供具有实时性要求的业务呼叫控制和连接控制功能,是下一代网络呼叫与控制的核心,也是电信网和计算机网融合的关键技术。下一代互联网的核心协议IPv6在第三代移动通信中的应用研究已经开始。......
2023-10-18
当前业界有两个名称成为讨论的热点,一个是下一代互联网,,另一个是下一代网络,。下一代互联网和下一代电信网络应该是融合一起的。统一协议的分组网络既是NGN的基石,也是计算机网络和电信网络融合的基础。......
2023-10-18
远程登录Telnet是一种Internet远程终端访问协议。Telnet能把用户的键盘操作传送给远程主机,同时也能把远程主机的输出通过TCP连接返回到用户屏幕。在本地系统运行Telnet客户进程,而在远程主机则运行Telnet服务器进程。服务器向用户返回数据时,再将远程系统的格式转换为NVT格式,本地客户收到后再从NVT格式转换回本地系统所需格式。表2.9Telnet的命令协商以上的WILL、WON'T、DO和DON'T是Telnet的协商命令,它们的十进制值分别是251-254。......
2023-10-18
4.5.4.2不同操作系统主机之间的IPv6互联为了验证各个操作系统之间IPv6协议的一致性,测试了Linux与Windows XP之间的IPv6网络互通,由于Windows 2000与Windows XP相近,所以未测试Winodws 2000。......
2023-10-18
相关推荐