补偿通信协议缺陷的拦截方法和系统的制作方法

文档序号:7634106阅读:190来源:国知局
专利名称:补偿通信协议缺陷的拦截方法和系统的制作方法
1.发明背景1.1发明领域本方法涉及计算机系统和/或普通计算设备之间进行通信时使用的方法和相关装置。具体来讲,本发明提出了一种原理,可以在一个通信协议本身不能被取代的情况下补偿此通信协议所固有的一些缺陷。
1.2现有技术的说明及其缺陷本发明主要用于处理通信协议中的缺陷。这些缺陷(将在下面讲述)是多种通信协议所固有的。由于无线通信协议是能反映这些缺陷的最为人熟知的通信协议,对本发明的描述将重点围绕无线通信协议展开。不过,在其它类型的通信协议中,可能会找到同样或类似的缺陷;本发明的原理当然也适用于这些通信协议。本发明与它所适用的通信协议无关。
早在几年前,行业观察家们就预言说,无线因特网的使用会爆炸性增长。看看市场上超过2亿的因特网用户,以及超过4亿的移动用户,谁都会相信,随着这个行业的发展,必然会对人们访问信息的方式产生重大影响。
移动通信市场以惊人的速度持续膨胀,新业务和新目标段层出不穷,酝酿着潜在的收入增长。这些新出现的业务和目标段给传统办公环境以外的商业活动带来了新的挑战。使用无线因特网,企业可以提供各种比以往更加方便快捷的服务,包括像销售自动化、文档管理这样的内部服务,以及像差旅预订、股票交易、信息销售之类的外部服务。移动数据通信将制定新的业务标准,以实现对人和信息更快捷的访问。无论是经理、商业合作伙伴还是客户执行主管,谁都希望能更多地把时间花在实地现场,这些人的利益将和企业网络的远程访问技术息息相关。
移动数据通信及其不断增长的接纳用户的能力,将对地面网的发展产生深刻影响。除了由于移动无线数据传输网络的发展而带来的基础设施方面的影响之外,还存在一些特殊的问题,其中无线数据通信协议就是一个例子;当然,其它通信协议也存在同样缺陷。其中一些缺陷如下1.带宽窄/传输速度低—无线数据传输业务的传输带宽至今仍远远落后于固定网络。
2.成本高—无线通信网络的传输成本要比固定网络高得多。
3.复杂—在动态体系结构中,逻辑连接必须映射到不同的物理结构上。
4.可靠性低—无线连接的可靠性较有线连接相比要低得多。
5.等待时间长—无线链路的响应时间要比地面链路长得多。
6.连接总开销高—基于TCP/IP服务器的每个数据请求都需要客户端打开一个TCP/IP套接字。结果导致数据总开销剧增,等待时间延长。
当无线通信终端在空中收发信号时,可能会出现各种问题。所有终端的信号容易相互干扰。传播介质的特性会随着用户的移动而随机改变,而且移动无线信道会在接收到的信号功率中引入随机变化,同时还会产生其它失真,比如,频率偏移和信号随时间扩展。在空中传送的信号与通过线缆或光缆传输的信号相比,更容易受到干扰和截断。结果导致所传输的数据分组丢失。解决上述缺点没有一种基于软件的全面解决方法,通常的做法是结合使用天线以及各种先进的信号处理技术。但是,这些解决方法增加了无线网络的复杂性,并且提高了功率要求。
带宽窄是一个原因,因为这会增加与无线终端之间的数据链路的成本。目前的传输速度局限在9600比特/秒(ISDN64,000比特/秒)。这种限制的根本原因在于GSM(全球移动通信系统)的技术原理。GSM每个信道只能传输大约13kBit/s的数据。为弥补上述缺陷,曾进行过各种努力。根据GSM第二阶段的规范,有人曾提出了14,4kBit/s的传输数据模式。但传输速率提高却要以前向纠错为代价。因此,连接质量随连续基础结构而下降。
GSM实际上并非为移动因特网接入而设计。即便有14,4kBit/s的数据率,这些过程也只能提供一些眼前的改善而已。语音传输中所固有的原理上的根本缺陷并未消除。例如,GSM信道预约适用于线路媒体网络。因此,在谈话或数据传输期间,线路占用需要收费。
与信息技术的其它领域相比,无线通信还必须向单个技术标准或很少的几个技术标准靠拢。而在今后几年,技术标准必定会经历多样性的发展道路。在这个单一的技术标准尚未出现之前,必须考察能解决上述问题的其它方法(可能是基于软件的解决方案),以便能够提供解决上述问题的方案。
其它一些问题是由于在无线网上使用TCP/IP产生的。这种第一协议和第二协议混合使用的情况有时是不可避免的。之所以必须使用第一协议TCP/IP是因为该协议是因特网的协议;而必须使用第二协议的原因在于,在特定的通信环境中,没有可以替代无线通信协议的其它协议。在这种情况下,人们可能要面对的问题是,如何处理某些协议的缺陷,这些缺陷可能是协议本身所固有的,也可能是混合使用两个协议造成的。
在目前使用TCP/IP的无线网络中,由于延迟时间长以及数据损失,导致许多标准多媒体应用以及诸如TCP/IP这样可靠的协议,其性能令人无法接受。多媒体应用和可靠协议适合对数据源和目的之间的延迟和分组损失进行长期端到端估计。但是,当网络特征发生快速变化它们不能很好地使用,导致估计结果中有很大波动。为使这些应用和协议实现较好的性能,将数据传输到移动主机的协议必须保证通信具有可靠的连接,并且数据损失可以达到忽略不记的程度(不适用于无线通信协议)。
一般的无线因特网接入的工作原理与使用固定数据调制解调器的网络接入非常相似。通常,移动终端(笔记本和无线数据电话的组合)向放在ISP(因特网服务提供商)处的固定网络调制解调器发出呼叫。调制解调器利用PPP(RFC1662)或SLIP(RFC1055)通过电话线启用TCP/IP(此外,还有单个便携式无线网络载波的专用解决方案)。但是,由于传输成本问题,PPP和SLIP并不是非常适合不可靠的无线连接。在进行与维护定时器、调度过程和特定的协议控制数据有关的收发通信时,存在一定的传输成本。
IP(因特网协议)是OSI参考模型网络层面向无连接分组的协议。在传输层,通常使用TCP(传输控制协议)。TCP使用IP。TCP是一种面向连接的可靠协议,包括错误识别和纠正、流控制、避免路由器中的拥塞以及保证网络组件之间公平性。
TCP协议的用户能确保所获得的数据完整而没有错误。代价是在易出错的信道上进行低速传输。但使用一种成熟的开窗口技术,TCP消除了这一缺陷。滑动窗口允许TCP发送若干个数据段并在发送后等待确认。只要收到确认,该窗口就会移走,并可以发送另一个数据段。对每个已发送的数据段,TCP都会启动一个独立的定时器,这也可能表示丢失的确认,并开始进行段的重发。
TCP借助避免拥塞、相乘性减少以及慢速启动功能,适应网络条件并避免网络过载。
当今网络的误码率非常低(~10-6)。因此,TCP机制是为低错误率的有线网络设计的。一般的无线网络无法提供这么好的传输质量和这么短的延迟。此外,无线网络中较低的OSI层使用错误识别和纠正技术,这项技术会增加延迟时间。TCP认为这些延迟是拥塞。虽然无线网络层的完善机制提供了没有错误的传输,TCP定时器还是到点并启动重发。通过测量往返时间,这些定时器进行动态调整。只在收到数据段(尚未重发)的确认时才记下一个新时间。经过一段无错传输后,定时器相应变短。如果发生短暂的干扰或传输条件差,则无线网络层的纠错机制会导致更长的延迟,以至更长的TCP往返时间。TCP用即将到点的定时器和重发对此做出反应。因为无线网络层已经提供了无错传输,所以定时器和重发是不必要的。TCP一般将到点时间(或数据损失)解释为拥塞的象征。结果导致定时器时间变长以及滑动窗口缩小。传输率会迅速下降。即使网络中的传输又好了起来,TCP仍需要一些时间针对这一条件调整定时器。由于TCP将所有确认延迟解释为拥塞,所以无法在这种对无线网络而言很普通的环境中做出正确的反应。总之,在无线网络中TCP不是传输数据的最佳协议解决方案。
1.3本发明的目标本发明的目标是,提供一种方法,可以在一个通信协议本身不能被取代的情况下补偿此通信协议所固有的一些缺陷。
2.本发明的概要和优点本发明的目标在独立的权利要求部分解释。本发明的其他优选装置和实施例在相应的从属权利要求中阐述。
本发明涉及数据通信的装置和方法,能补偿客户应用和服务器应用之间的数据通信中使用的第一协议所存在的一些缺陷。
如果客户应用和服务器应用的通信请求遵守第二协议,这些请求将由客户拦截器和服务器拦截器拦截。
拦截器除了将第二协议映射到第一协议,然后再反向映射之外,还能透明地补偿第一协议固有的缺陷,以及由于混合使用协议产生的缺陷。
在现代计算机互联的环境中,应用开发人员通常不能自由选择通信协议的类型。例如,为使用因特网,许多应用都强制使用TCP/IP协议。另一方面,移动和普通计算设备方面的技术发展突飞猛进,随着新计算设备的出现,必须处理各种新出现的低层次的通信协议,实现与这些设备的互联。通常,在这些低层次的协议上,如果通过TCP/IP直接进行通信,就会产生上面所说的缺点。本发明的拦截器方法提出了一种有效的原理,能透明地补偿这些缺点。
3.附图简述

图1描述了能产生上述问题的具有目前技术水平的环境。
图2通过和图1对比,描述了所提出的拦截机制如何以及从何处扩展具有目前技术水平的环境。
图3描述了一种完整的环境,在该环境中可有利地使用所提议的拦截器技术。
图4描述了分层模型中拦截器解决方案的系统架构。
图5使用更为模块化的视图,描述了图4中的拦截器架构。
图6描述了采用现有技术的一般的GSM网络,其中,移动电话连接到服务器应用。
图7描述了如何利用拦截器方法通过一个连接多路传输多个并行连接。
在附图和说明书中,陈述了本发明的一个优选实施例。虽然文中用到了一些专门术语,但使用术语只是出于进行一般性说明的目的,不起限定作用。
本发明可以用硬件、软件或软硬件相结合的形式实现。本发明对任何计算机系统(或其它为实施本文说明的方法而进行改装的装置)都适合。通常,软硬件组合的形式可以是一个带有计算机程序的通用计算机系统,该计算机程序在加载和执行后,能控制计算机系统实施本文所讲述的方法。本发明还可以嵌入一个计算机程序产品,该产品包含了所有能实现本文所描述方法的功能,加载到计算机系统后,能实施这些方法。
本文中计算机程序方法或计算机程序是指用任何语言、代码或表示法给出的指令集合表达式,这些指令集的作用是,使具有的信息处理功能的系统能执行某一特定功能,或者直接执行,或者在完成下列操作之一(或二者均完成)后执行a)转换到另一种语言、代码或表示法;b)以另一种材料形式复制。
在描述本发明时,以无线通信协议和TCP/IP协议为例,前者代表第一协议,后者代表第二协议。尽管如此,本发明与所使用的特定协议类型完全无关,因而适用于其它协议。
4.1所提出拦截器的介绍和概述图1描述了能产生上述问题的具有目前技术水平的环境。
通信平台101、102、103使移动客户端设备104到105使用无线无线电网络109(例如,GSM网络)与固定网关组件103交换数据。通信平台确保数据进行可靠有效的传输。它具有故障恢复功能,能重新建立断开的连接;以及短暂保持模式,能使成本降至最低。它还能压缩数据提高传输速度,而这亦对降低成本有积极影响。
通信平台客户端为每个移动设备上的客户应用106和107提供与服务器108进行通信的功能,服务器108与通信平台网关相连。一次只能有一个服务器应用连接到通信平台网关。多个移动设备可以同时连接到通信网关,因此,可以有多个客户应用与该服务器应用通信。
除在图1所述环境中产生的上述问题以外,从配有GSM的PC机到公司数据中心的数字数据连接为远程接入用户提供了新的移动性等级。本发明提出的拦截器解决方案利用了这一特点并对其加以补充,克服了GSM数据某些固有的缺点,如成本高、连接不可靠、带宽有限,以及存在数据保密性和完整性方面的风险。
该拦截器利用一种拦截机制提高无线连接的传输质量,并补偿无线通信协议的某些缺点。
图2通过和图1对比,描述了所提出的拦截机制如何以及从何处扩展具有目前技术水平的环境,该拦截机制用客户拦截器201和202以及服务器拦截器203表示。
在这种拦截机制下,拦截器并不知道当前应用。所有呼出的TCP/IP连接都用低水平的拦截机制透明地在客户和服务器端进行拦截;拦截后使用无线传输功能传送到转发这些连接的通信部件。此方法不需要对TCP/IP堆栈进行任何修改,但依靠操作系统特定机制请求拦截。用这种方法,无需对基于TCP/IP的客户/服务器应用进行任何更改就可以非常有效地达到目的。该高性能系统包括两个基本单元,用来透明拦截TCP/IP请求的嵌入组件,和一个无线通信平台。拦截器使用这两个分别在客户端和服务器端运行的组件来代替和优化协议,或从总体上补偿基础无线通信协议的缺点。移动通信平台使物理无线网络的类型和状态对应用是透明的。这种软件组件适用于不同种类的蜂窝无线网络,并且其目前技术水平满足或超过了与任何无线网络相关的一些要求,如预期的带宽避免和减少TCP/IP接入次数。
使用拦截器可以配置客户端与其服务器之间交换数据的方式,以满足一些特殊需要。业务可以是面向连接的,也可以是无连接的;换言之,本原理适用于两类协议。对于面向连接的协议,可以在拦截器中包含下列功能,补偿基础协议的缺点1.可缩放性企业环境可以配置成各种拓扑结构,以满足特定的应用和安装的需要。拦截器可以同时使用不同的蜂窝无线网络。
2.可靠性所有数据在传输中保持不变,并且没有损失。在移动呼叫过程中,连接有时也可能意外断开,例如,在下载文档时进入隧道。拦截器具有很好的移动恢复功能,能以一种专门的逻辑脱机模式保持会话,直到通过自动重试重新建立连接为止。
3.短暂保持模式短暂保持模式是指在空闲期间不必再保持呼叫拦截器检测到这些空闲时段,并结束呼叫。当再有业务时,自动重新连接。该模式可以大大降低呼叫成本。
4.用无线最佳传输协议替代TCP/IP呼出TCP/IP数据流被拦截。所有请求都通过一个无线连接路由,以避免建立连接的成本开销。请求和响应通过此连接进行多路传输。无线连接使用一种优化专用协议来减少数据业务量。因此,拦截器实例通过一个无线协议连接多路传输N个连接,实现N-1-N连接映射。
5.鉴权在数据传输之前,客户端必须在网关鉴权。由于维护用户会话的连接有断开的可能(有意或无意),安全级别是必不可少。防止一个用户连接到另一个脱机或短暂保持断开连接会话至关重要。拦截器安全方法利用相应的功能确保不会发生这种情况。
6.压缩通过使用V42bis算法压缩数据业务可以提高传输速度并减少成本。换言之,拦截器可以使用特定的压缩算法。
正如前面所述,拦截器方法并不局限于面向连接的协议(在客户端拦截器和服务器拦截器之间)。对于要减少传输成本的实例,拦截器以同样的方式支持无连接无线电网络。
4.2拦截器架构图3描述了一种完整的环境,在其中可有利地使用所提议的拦截器技术。可以将示例环境看作使用拦截器的典型情况。客户系统301(实例中的移动计算机或移动电话)所表示的移动用户可以使用各种基于TCP/IP的应用。这些应用的例子有,使用HTTP的因特网浏览器,使用SMTP的电子邮件程序,使用NNTP的新闻,使用TELNET的终端仿真程序或使用专用协议的Lotus Notes。相应的应用服务器302可以是企业内部网或因特网的一部分。
客户系统除包含用户应用外,还包含客户部分SOCKS、拦截器303和通信平台。SOCKS客户用于将所有呼出TCP/IP连接重定向到拦截器客户。拦截器客户通过这种TCP/IP连接接收用户应用发出的所有数据,并使用通信平台客户通过无线网络304传输这些数据。通信平台从无线网络接收的数据通过拦截器客户传送到适当的用户应用。
服务器系统包括拦截器客户的和通信平台客户对应部分,即拦截器服务器305和通信平台服务器。客户系统通过无线电网络发出的数据由通信平台服务器接收,再由通信平台服务器传送到拦截器服务器。如果知道拦截器服务器的IP地址和目标端口,则通过TCP/IP连接将数据发送到相应的应用服务器。反之,应用服务器通过TCP/IP连接发送到拦截器服务器的数据使用通信平台服务器通过无线网络传送到客户系统。在图3所描述的环境中,可能有一台应用服务器306,它可以是某台服务器,也可以在因特网上;应用服务器还可以像应用服务器308所表现的那样放在专用企业内部网中某种防火墙307后面,而这种做法并不违背本原理。
本结构图很好地表现了客户应用、客户拦截器、服务器应用和服务器拦截器之间的特定关系。从客户应用角度看,客户拦截器仿佛代表服务器应用。如果像本例中那样,客户应用和客户拦截器驻留在同一个(移动或普通)计算设备中,由TCP/IP连接绑定(假定通信介质可靠),这种连接将不会受到干扰。本原理还适用于客户应用和客户拦截器驻留在不同计算设备上的情况;但是,如果像本例中那样,两个实例都驻留在相同计算设备上,可以得到的好处最多,因为在这种情况下,TCP/IP连接的脆弱性减少到最低程度。
从服务器应用角度看,服务器拦截器仿佛代表客户应用。如果服务器拦截器所驻留的计算系统代表不可靠连接(本例中通过无线网)的端点,可以得到的好处最多。在一般环境中,服务器应用所驻留的计算系统与作为服务器拦截器宿主的计算系统不同;当然,这不排除服务器拦截器和服务器应用共享相同计算系统的情况。
图4描述了分层模型中拦截器解决方案的系统架构。
客户系统401上的通信平台通过第一协议(本例中的无线无线电网络403)连接到服务器系统402上的通信平台。从逻辑角度看,这实现了两个通信平台之间的通信404。根据当前技术水平,客户应用405将通过通信平台与应用服务器406之间建立一个TCP/IP连接。这将在应用客户和应用服务器之间建立一个逻辑通信连接407。与目前技术水平不同,本原理引入了两个新实例,客户拦截器408和服务器拦截器409。如果客户应用试图根据第二协议(TCIP/IP协议)建立一个到服务器应用的连接,则实际上将建立的是一个到客户拦截器的连接。从某种意义上说,客户拦截器对客户应用而言,就仿佛代表服务器应用。客户拦截器拦截客户应用的所有通信请求,并将这些请求从第二协议(TCP/IP)映射到第一协议(不可靠的、无线无线电网络);然后通过通信平台与其对应部分服务器拦截器通信。通过这种拦截器到拦截器的逻辑通信410,建立了补偿第一协议缺点的基础。服务器拦截器然后建立一个到服务器应用的连接,并执行从第一协议到第二协议的反向映射。这种拦截特点使服务器拦截器对服务器应用而言,就仿佛代表客户应用。
图5中同样表现了图4所描述的拦截器体系结构,但使用了模块化的视图。
参照对图4的说明,来看图5代表的内容-客户应用501到502,-通过第二协议503发出通信请求-客户拦截器504,拦截这些通信请求,并将这些通信请求映射到第一协议505,-通信平台客户506和通信平台服务器507通过此第一协议通信,-服务器拦截器508在第一协议和第二协议509之间执行反向映射,-服务器应用510到511。
在图5的示例中,拦截器包含移动(客户)和固定(服务器)部分。
4.3拦截架构和各种通信协议1.使用TCP/IP连接的标准LAN客户/服务器方案在本方案中,客户应用使用TCP/IP连接与服务器应用之间通信。双方均可以启动连接或接听呼入连接。局域网的特点满足TCP协议的设计目标。因此,在这种环境中应用拦截架构不会得到全部的优点。例如,在只有LAN的环境中,将不会具有可靠性提高(如上所述)的优点。
2.在面向连接的无线网络中的无线方案(例如,GSM承载业务)在GSM网络中,通过电话拨号可以建立数据传输连接。能传输数据的GSM电话通常具有一个到计算机的贺氏兼容接口,类似调制解调器。因此,在通过GSM网络将计算机连接到LAN时可以使用PPP协议的标准实施(参见RFC1661)。
这种环境存在严重缺点。GSM网络和其它面向连接的无线网络具有的如下特征需要找到一种除PPP(点到点协议)之外的其它解决方案-目前的无线网络只提供低速率数据传输(通常是9600比特/秒)-根据无线电覆盖区的范围不同,数据传输的速度可能更慢-如果没有其它无线电覆盖区,数据连接可能断开-当无线计算机移动时,其无线电覆盖区可能发生迅速且永久的变化。
这些特点导致PPP中存在下列问题-一旦数据连接断开,所有当前TCP/IP连接都将关闭-TCP/IP的超时机制不是为这种具有变化的传输速度和换向时间(参见RFC813)的网络设计的。本发明所提出的原理是解决这些问题的上策。由于拦截器技术适合无线网络的专有特征,因而能回避上述问题。
-网络层上断开的数据连接重新建立时不影响现有的TCP/IP连接。
-在无线链路上不使用TCP协议,而是通信平台使用具有调整的超时机制的协议。
该解决方案对客户和服务器应用是透明的。也就是说它们仍使用原有的TCP/IP接口。通过利用拦截器组件获得TCP/IP业务(使用SOCKS)并使用通信平台进行传输,业已存在的客户和服务器应用不需进行任何修改就可以从本原理受益;换言之,现有应用可以透明利用本原理。下面列举了拦截器技术可以处理的其它协议HTTP(参见RFC2068),SMTP(因特网邮件,参见RFC821),NNTP(因特网新闻,参见RFC977),当然还有许多其它例子。
3.SOCKS在一个优选实施例中,本发明利用SOCKS协议(参见RFC1928)获得所有客户应用用服务器应用打开的TCP/IP连接。通常,SOCKS协议用于通过防火墙建立TCP/IP连接。SOCKS客户将打开的TCP/IP连接重新定向到SOCKS服务器。通过新连接传输的前几字节告诉最初打开连接时使用的客户应用的IP地址和远程端口。因此,SOCKS服务器可以用该IP地址和远程端口打开第二个TCP/IP连接,并将每个TCP/IP连接的业务转发到其对应部分。
拦截器客户如同一个SOCKS服务器;这使得客户拦截器仿佛代表相应的服务器应用。SOCKS客户必须安装在移动计算机上,用以将所有呼出TCP/IP连接(“本地环路”连接除外)重定向到拦截器客户(“本地主机”,IP地址127.0.0.1)。SOCKS客户几乎对每个操作系统都可用。
4.4拦截、连接处理和名称解析拦截器客户和拦截器服务器使用通信平台通信。每次客户应用设法用服务器应用打开TCP/IP连接时,该连接都会重新定向到拦截器客户。拦截器客户使用SOCKS协议获得原始目标IP地址和远程端口。然后将这些信息传输到拦截器服务器,拦截器服务器再用此IP地址和远程端口打开一个到服务器应用的TCP/IP连接。
如果拦截器服务器未能用服务器应用打开连接,则拦截器客户将关闭与客户应用的连接。
客户应用通过TCP/IP连接发送的所有数据都通过通信平台由拦截器客户转发到拦截器服务器,拦截器服务器再将这些数据发送到相应的服务器应用。
服务器应用通过TCP/IP连接发送的所有数据都通过通信平台由拦截器服务器转发到拦截器客户,拦截器客户再将这些数据发送到相应的客户应用。
当客户或服务器应用关闭TCP/IP连接时,拦截器将关闭与其对应部分的连接。
所提出的拦截机制还解决了名称解析的问题。一般来讲,实际的名称解析是由所谓的“域名服务”(DNS)提供的。
大多数可用的SOCKS客户只处理TCP/IP业务。这是一个问题,因为客户用户可能用域名解析(DNS,参见RFC1101)获得服务器应用主机的IP地址。DNS使用UDP。
出于这个原因,本原理建议实施拦截器时使其还可用做域名服务器。从客户应用接收到的每个名称解析请求都转发到拦截器服务器,拦截器服务器再将其转发到真正的域名服务器。拦截器服务器转发每个请求都使用不同的本地UDP端口,以便真正域名服务器的应答可以指配到请求客户。拦截器服务器将这些应答发送回正确的拦截器客户,拦截器客户再将其转发到始发方(例如,客户应用)。客户系统中系统范围的域名服务器地址必须配置为“本地主机”(IP地址127.0.0.1),以便支持通过拦截器的DNS。
4.5拦截器的补偿功能如上所述,建议在本发明的优选实施例中由客户和服务器拦截器拦截SOCKS协议。SOCKS这种协议中继防火墙主机的TCP会话,允许应用用户跨防火墙透明接入。因为该协议与应用协议无关,可以(而且已经)用于多种不同业务,如,telnet、ftp、finger、whois、gopher、WWW等。服务器只中继客户和应用服务器之间的数据,由此产生的处理成本最小。由于SOCKS始终不必知道有关应用协议的任何内容,它可以很容易地接受各种应用,这些应用使用加密技术保护业务免受窥探者的侵袭。
SOCKS客户不是与本发明优选实施例中的SOCKS服务器通信,而是与运行在移动设备上的拦截器客户通信。拦截器客户从SOCKS客户接收的所有数据都将使用通信平台发送到拦截器服务器。通常由SOCKS服务器完成的任务现在由拦截器客户和拦截器服务器完成。
图6描述了采用现有技术的一般的GSM网络,其中,移动设备601利用移动电话602连接到服务器应用603。
客户网络层604使用GSM电话602物理连接到网关网络层。GSM电话连接到GSM网络提供商的基站605,而提供商的交换中心606则通过ISDN607连接到网关网络层608(使用V.110协议)。
如果在本例环境中引入如上所述的拦截器技术,则-在每个移动设备601中都会在客户应用609和通信平台604之间包含一个客户拦截器;-在服务器应用603和通信平台网关608之间包含一个服务器拦截器。
在本例环境中,功能通过使用提出的拦截器技术得到增强。联合使用客户拦截器和服务器拦截器可通过成功处理下列情况中的问题而获得相当显著的优点1.事故恢复通过GSM网络的物理连接可能会由于无线电覆盖区丢失而随时中断。当移动设备真正来回移动时,会频繁发生这种中断。
拦截器技术将补偿这一缺点每次网络层必须发送某些数据,但当时又没有物理连接时,就会设法与其对等部分建立一个新的物理连接。除非连接建立成功,或因可靠性层检测到会话超时,会话层关闭了该逻辑连接,否则,建立连接的尝试将重复进行。
2.短暂保持模式采用拦截器技术会关闭那些在较长时间内不再使用的物理连接,以降低成本,减轻管理空连接的负担。只要可靠性层传输新数据,就会再次建立连接。因此,拦截器方法能够补偿基础协议效率方面的缺点。
3.建立新连接当基于TCP的客户想要建立到应用服务器的连接时,SOCKS客户首先必须打开一个到拦截器客户的TCP连接。如果连接请求成功,则SOCKS客户会发送一条版本标识/方法选择消息。拦截器客户发送到SOCKS客户的METHOD选择方法消息是“NOAUTHENTICATION REQUIRED”(不需要鉴权)。此后,SOCKS客户向包含目标地址和目标端口的拦截器客户发送CONNECT请求。拦截器客户评估该请求,并向SOCKS客户发送一条回答消息“SUCCEEDED”(已成功)。
此外,拦截器客户还会使用通信平台向拦截器服务器通过无线电网络发送一个”打开”请求分组。该”打开”请求分组包含目标地址、目标端口和客户连接标识(客户连接ID)。拦截器服务器使用给定的目标地址和目标端口建立到应用服务器的TCP连接。该TCP连接与给定的客户连接标识和客户标识(客户ID)相关。
4.关闭连接应用客户和应用服务器可以关闭一个连接。对于应用客户,拦截器客户使用通信平台向拦截器服务器发送”关闭”请求分组,然后由拦截器服务器关闭到应用服务器的TCP连接。对于应用服务器,拦截器服务器使用通信平台向拦截器客户发送一个”关闭”请求分组,然后由拦截器客户关闭到应用客户的TCP连接。
5.传输数据由客户应用始发的数据发送到拦截器客户。拦截器客户在将数据发送到拦截器服务器之前在数据中增加客户连接标识。利用客户连接标识信息,拦截器服务器决定通过哪个TCP连接将数据发送到适当的应用服务器。
由服务器应用始发的数据通过现有TCP连接传输到拦截器服务器。拦截器服务器在数据中增加现有TCP连接的客户连接标识。另一方面,拦截器服务器还知道TCP连接的客户标识(客户ID),并能将数据发送到拦截器客户。利用客户连接标识信息,拦截器客户决定通过哪个TCP连接将数据发送到适当的应用客户。
6.传输容量不足如果拦截器确定出连接容量(即带宽)不足,无法在某时间框架内处理传输请求,则客户拦截器和服务器拦截器可以决定在二者之间另外建立并行连接。由于有多个能另外提供传输能力的并行连接,拦截器现在能在一个更短的时间框架内执行传输。
7.多路传输多个连接图7描述了如何利用拦截器方法通过一个连接多路传输多个并行连接。在图7中,客户应用701通过客户拦截器702、客户系统上的通信平台703、服务器系统上的通信平台704,经服务器拦截器705到服务器应用706进行通信。从图7可以看出,客户拦截器和服务器拦截器可以用来通过一个连接708多路传输多个并行连接707。使用拦截器的这种功能,可以针对效率和成本,优化利用基础协议。
权利要求
1.一种数据通信的方法,用于补偿客户应用和服务器应用之间的数据通信中使用的第一协议存在的一些缺陷,其特征在于,所述客户应用和所述服务器应用使用第二协议进行数据通信,该协议映射到所述的第一协议进行实际通信,所述方法包括一个第一步,其中基于所述客户应用的所述第二协议的数据通信请求由一个客户拦截器拦截,该客户拦截器通过扮做代表所述服务器应用来为所述服务器应用进行拦截,所述方法包括一个第二步,其中,对所述客户应用和所述服务器应用来说以透明的方式,所述客户拦截器将所述通信请求映射到所述第一协议并执行到服务器拦截器的数据通信,以及其中,所述的客户拦截器和所述服务器拦截器透明补偿所述缺点,并且所述方法包括一个第三步,其中,对所述客户应用和所述服务器应用来说以透明的方式,所述服务器拦截器通过扮做代表所述客户应用来为所述客户应用进行拦截,将所述通信请求反向映射到第二协议,并传送到所述服务器应用。
2.根据权利要求1所述的方法,其特征在于,所述的第一协议是不可靠的、面向连接的协议,并且其中,在所述的第二步中,如果所述的客户拦截器或所述的服务器拦截器确定连接丢失,所述的客户拦截器或所述的服务器拦截器通过重新建立连接而不是向所述客户应用和所述服务器应用指示所述丢失来进行透明补偿,和/或其中,在所述的第二步中,如果所述客户拦截器或所述服务器拦截器确定连接是空闲的,则通过透明地断开所述连接,并在从所述客户应用或所述服务器应用拦截到新的通信请求时重建新连接,以进行补偿,和/或其中,在所述的第二步中,如果所述客户拦截器或所述服务器拦截器确定所述连接的容量不足,无法在某时间框架内处理所述通信请求,则通过重新建立一个或多个用于并行通信的其它连接进行补偿。
3.根据权利要求2所述的方法,其特征在于,所述的第二个协议是面向连接的,以及其中,在所述第一步和所述第二步中,所述客户拦截器和所述服务器拦截器拦截了所述第二协议的多个连接,这些连接为所述客户应用和所述客户拦截器之间的连接,以及所述服务器应用和所述服务器拦截器之间的连接。
4.根据权利要求3所述的方法,其特征在于,所述的多个连接通过所述第一协议的单个连接进行多路传输,有效使用基础通信介质。
5.根据权利要求3所述的方法,其特征在于,所述的第二协议是面向连接的,并且其中,所述客户拦截器,一旦在第一步中拦截到一个打开到所述服务器应用的连接的请求,就打开到所述服务器拦截器的一个连接,而所述服务器拦截器则打开一个到所述服务器应用的连接。
6.根据权利要求5所述的方法,其特征在于,所述的客户拦截器接收所述请求,为连接打开一个所述服务器应用标识,以及其中,所述客户拦截器将所述标识转发到可能不同的又一个服务器拦截器,以便在所述第一协议中进行地址解析,以及其中,所述客户拦截器使用所述返回的地址,打开到所述服务器拦截器的所述连接。
7.根据权利要求2到6中任意一项所述的方法,其特征在于,所述客户应用和所述客户拦截器驻留在第一个计算机系统中,以及所述服务器拦截器驻留在第二个计算机系统中。
8.根据权利要求2到7中任意一项所述的方法,其特征在于,所述第一协议是无线通信介质上的无线通信协议。
9.根据权利要求8所述的方法,其特征在于,所述第一计算机系统形成所述无线通信介质的第一个终端,所述第二个计算机系统形成所述无线通信介质的第二个终端,以及其中,所述第二个计算机系统形成基于有线或基于光纤的通信介质的第一个终端,而执行所述服务器应用的第三个计算机系统形成所述基于有线或基于光纤的通信介质的第二个终端。
10.根据权利要求9所述的方法,其特征在于,所述第一个计算机系统和/或所述第二个计算机系统是移动计算机系统。
11.根据权利要求10所述方法,其特征在于,所述移动计算机系统是移动电话和/或其中,所述第二协议是TCP/IP协议。
12.一个系统,用于补偿客户应用和服务器应用之间的数据通信的第一协议中存在的缺陷,所述系统包括实现根据上述权利要求1到11中任意一项所述的方法的步骤而进行了改装的装置。
13.一个在数据处理系统中执行的数据处理程序,包括软件代码部分,用于当在所述计算机上运行所述程序时执行上述权利要求1到11中任意一项所述的方法。
14.一个存储在计算机可用介质上的计算机程序产品,包括计算机可读程序装置,用于当在所述计算机上运行所述程序时使计算机执行上述权利要求1到11中任意一项所述的方法。
全文摘要
本发明涉及数据通信的装置和方法,用于补偿客户应用和服务器应用之间的数据通信中使用的第一协议所存在的一些缺陷。遵守第二协议的客户应用和服务器应用的通信请求将由客户拦截器和服务器拦截器拦截。拦截器除了将第二协议映射到第一协议,然后再反向映射之外,还能透明地补偿第一协议固有的缺陷,以及由于混合使用协议产生的缺陷。
文档编号H04L29/08GK1332421SQ0112240
公开日2002年1月23日 申请日期2001年7月5日 优先权日2000年7月7日
发明者路德维格·冈瑟, 特文坦·彼德鲁维, 德克·萨比维斯凯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1