公开/公告号CN1816041A
专利类型发明专利
公开/公告日2006-08-09
原文格式PDF
申请/专利权人 合勤科技股份有限公司;
申请/专利号CN200510005280.6
申请日2005-02-04
分类号H04L29/06;
代理机构北京律诚同业知识产权代理有限公司;
代理人梁挥
地址 台湾省新竹
入库时间 2023-12-17 17:33:59
法律状态公告日
法律状态信息
法律状态
2020-01-24
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20100127 终止日期:20190204 申请日:20050204
专利权的终止
2010-01-27
授权
授权
2007-05-09
实质审查的生效
实质审查的生效
2006-08-09
公开
公开
技术领域
本发明涉及一种解决网络通信的冲突的方法与装置,特别涉及一种避免产生网络密钥交换程序冲突的方法与装置。
背景技术
随着网络的发达,各种通信及加密技术也不断的发展。因特网协议安全性(Internet protoeol security:IPSec)是目前业界在网络通信应用中最被广泛使用的加密及通道(tunnel)技术,此技术不仅费用低廉,且具有相当好的安全性,因此在企业中被广泛的运用。
图1a为现有技术的IPSec拓朴(topology)动作的示意图。如图1a所示,IPSec拓朴是利用一第一网关器(Initiator)101以及一第二网关器(Responder)102进行网络密钥交换(Internet Key Exchange:IKE)通信协议。
此时第一网关器101作为启始端使用,第二网关器102作为响应端使用,且第一网关器101和第二网关器102利用通道(tunnel)103连接。IKE通信协议为一种乒乓(PING-PONG)程序,第一网关器101传送作为请求(request)的IKE包给第二网关器102,而第二网关器102根据此IKE包送出做出响应,直到通道被建立为止。
然而,此类现有技术的装置却有着很大的缺点。如图1b所示,上述的第二网关器102有时也会作为启始端使用。此种状况下便有可能发生两启始端同时发送请求IKE包104和105给彼此的情况,如此便会发生冲突(conflict),并产生错误时间。
现有技术处理此状况的方法通常都是等待”错误时间”经过,或者重复发出请求的IKE包。但以上两种作法会造成IKE通信协议程序的缓慢以及网络的堵塞,甚至造成通信协议的失败,且使用者也需花上很长的时间等待包的传送。因此,需要一种新颖的网络通信方法来解决上述问题。
本案发明人为解决上述现有IPSec拓朴上会发生冲突(conflict),并产生错误时间所具有的不便与缺失,提出了一种解决网络通信冲突的方法与装置。
发明内容
因此,本发明所要解决的技术问题在于提供一种避免产生网络密钥交换程序冲突的方法与装置,此方法由不断的变换网关器所扮演的角色而使IKE通信协议程序更有效率。
为实现上述目的,本发明提出一种避免产生IKE程序的冲突的方法,包含以下步骤:一第一网关器发出第一IKE包并接收来自一第二网关器的第二IKE包;执行一决定步骤,以决定第一网关器是作为启始端或是响应端。若第一网关器作为启始端,则第一网关器会舍弃收到的第二IKE包而继续执行启始端的功能;若第一网关器作为响应端,则第一网关器会取消先前所发出的第一IKE包而执行响应端的功能,且第一网关器响应于第二IKE包而进行IKE通信协议。其中第一IKE包和第二IKE包作为请求之用。本发明第一网关器跟第二网关器间,启始端与响应端的角色变换需配合对方,一方维持是启始端,另一端则自动变换成为响应端。因此不需另外沟通就自动完成。
上述的决定步骤可包含:从第一IKE包以及第二IKE包的首部取得cookie(通过WEB服务器发送的小文本文件);以及一比较步骤,用以比较第一IKE包和第二IKE包的cookie而决定何者为响应端。而IKE包的首部可包含:启始端cookie、响应端cookie、下一载量、主要版本、次要版本、交换型式、标志、消息ID以及长度。
且其中比较步骤可包含:根据第二IKE包的cookie计算出一第二摘要;根据第一IKE包的cookie计算出一第一摘要;以及判断第一摘要的值是否比第二摘要的值大,若第一摘要的值大于第二摘要的值,则第一网关器为一启始端,若第一摘要的值小于第二摘要的值,则第一网关器为一响应端。而第一摘要以及第二摘要可由对第一IKE包的cookie以及第二IKE包的cookie执行随机数程序而产生。
为实现上述目的,本发明提供了一种避免产生IKE程序的冲突的装置,包含:一第一网关器,发出第一IKE包;一第二网关器,向第一网关器发出第二IKE包;以及一控制单元,执行一决定步骤以决定该第一网关器作为启始端或是响应端;若第一网关器作为启始端,第一网关器会舍弃收到的第二IKE包而继续执行启始端的功能;若第一网关器作为响应端,则第一网关器会取消先前所发出的第一IKE包而执行响应端的功能,且第一网关器响应于第二IKE包而进行IKE通信协议。
采用本发明的避免产生IKE程序的冲突的方法,通过不断的变换网关器所扮演的角色而使IKE通讯通信协议程序更有效率,可在冲突发生时,将发生冲突的两网关器其中一个转变为响应端,不仅可使使用者减少等待时间,同时也让网络运作的更加顺利。
附图说明
图1a以及图1b为现有技术的IPSec拓朴动作的示意图;
图2为本发明的避免产生IKE程序冲突的方法的装置的较佳实施例示意图;
图3为本发明的第一和第二IKE包首部的其中一种形态图;
图4为本发明的比较步骤的较佳实施例示意图;以及
图5为根据本发明的避免产生IKE程序冲突的方法较佳实施利的流程图。
其中,附图标记:
101、102网关器
103通道
104、105包
201、202网关器
203通道
204~206包
具体实施方式
图2为应用本发明的避免产生IKE程序冲突的方法的装置的较佳实施例示意图。如图2所示,当作为启始端的网关器201以及同样作为启始端的网关器202通过通道203互相传送作为请求的第一IKE包204和第二IKE包205给对方,也就是所谓的”冲突”发生时,网关器201以及网关器202会将原来的IKE包205丢弃,两网关器将以204为一IKE交换的启始,且网关器202将作为响应端而传送响应网关器201的IKE包206给网关器201,而IKE包206响应包即是响应204而来。
然而,上述的动作需要一决定步骤(决定装置)来决定哪一网关器要作为响应端。此决定步骤是利用cookie作为判断,而cookie取自第一IKE包204和第二IKE包205的首部。
图3为第一和第二IKE包204和205的首部(head)的其中一种形态图,如图3所示,此首部包含了启始端cookie、响应端cookie、下一载量(Next Payload)、主要版本(Major Version)、次要版本(Minor Version)、交换型式(ExchangeType)、标志(Flag)、消息ID(Message ID)以及长度(Length),这些结构属于现有技术的参数,为本领域技术人员所知晓,故在此不再详述。
但需要注意的是此处所揭露的首部结构仅为众多首部结构中的一种,并非用以限定本发明的范围。由上述可知cookie为8数字元的随机数且为IKE包首部的一部分,而且每一IKE连接都具有特别的cookie,因此在IKE通信协议中cookie字段是固定的,但内容会因为每次IKE通道的建立而改变。
当第一网关器接收到第二IKE包205时,也从第二IKE包205的首部获得cookie,此外第一网关器也会从本身所送的第一IKE包204获得cookie,此两cookie便用以执行比较步骤(比较装置)以决定哪一网关器要作为响应端。
图4为此比较步骤的较佳实施例示意图。如图4所示,在本发明的实施例中上述第一和第二网关器会对所接收的cookie执行随机数程序(hash)以从8数字元(byte)中取出4位(bit)形成摘要(digest),当然也可以利用其它方式将cookie化为较简单的参数。
接着此两摘要会被用以比较,比较之后,摘要值较大的网关器便继续作为启始端使用,而摘要值较小的网关器便作为响应端使用。需要注意的是,以上的步骤中IKE的建立因为牵涉到许多参数的运算,可由外部模块或是控制单元(如CPU等)所控制(未绘示),也可由网关器本身所执行,但通常不会交由底层硬件加速器来作。
图5为根据本发明的避免产生IKE程序冲突的方法较佳实施利的流程图,由此流程图,可更详细的了解本发明。如图5所示,在步骤501中,第一网关器接收来自第二网关器的第二IKE包,同时本身也送出第一IKE包给第二网关器,若第一网关器在送出IKE包之前已经收到第二网关器的IKE包,它将不会产生冲突而直接成为响应端。关键是第一网关器跟第二网关器都同时送出第一IKE包,第一和第二IKE包通常作为请求之用。
接着,进入决定步骤502,决定第一网关器作为启始端或是响应端。若作为启始端,则进入步骤503,第一网关器会舍弃收到的第二IKE包而继续执行启始端的功能。若作为响应端,则进入步骤504,第一网关器会取消第一IKE包,然后进入步骤505,第一网关器执行响应端的功能,响应第二IKE包而进行IKE通信协议。
根据本发明的较佳实施例,决定步骤502包含步骤506以及比较步骤507。步骤506是从第一和第二IKE包的首部中取得cookie,而比较步骤507是用以比较第一和第二IKE包的cookie而决定何者为响应端。
根据本发明的较佳实施例,比较步骤507包含步骤508、步骤509以及步骤510。步骤508是根据第二IKE包的cookie计算出第二摘要,步骤509是根据第一IKE包的cookie计算出第一摘要,而步骤510是判断第一摘要的值是否比第二摘要的值大。若是,表示第一网关器作为启始端,进入步骤503。若否,表示第一网关器作为响应端,进入步骤504及步骤505。
需要注意的是,上述的决定步骤和比较步骤,不一定要遵照上述的本发明的较佳实施例。本领域的技术人员当可利用各种现有的技术而实现此两步骤的效果。
由前述可知,利用本发明的避免产生IKE程序的冲突的方法,可在冲突发生时,将发生冲突的两网关器其中一个转变为响应端,不仅可使使用者减少等待时间,同时也让网络运作的更加顺利。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
机译: 能够防止集成在终端设备中的各种活动无线电调制解调器之间的通信冲突的终端设备;用于避免终端设备中集成的活动无线电调制解调器的多样性之间的通信冲突的方法;计算机程序产品,包括有用的计算机通信介质,该计算机通信介质具有并入该通信介质中的计算机可读程序代码,以避免集成在终端设备内的多个活动无线电调制解调器之间的通信冲突;用于防止终端设备中集成的各种活动无线电调制解调器之间的通信冲突的系统;芯片组,用于在终端设备的组件之间传输对时间敏感的信息;和方法,用于将延迟敏感信息与发送方设备上的原始创建时间相关联
机译: 一种避免冲突的方法和一种避免冲突的系统
机译: 一种避免冲突的方法和一种避免冲突的系统