具体实施方式
以下结合具体实施方式来说明本发明的实现过程。
本发明的实施例通过对映射信息进行保护得到令牌Token,并在进行PCP快速恢复时使用得到的令牌Token验证用户身份的合法性,从而在主用PCP服务器发生故障时,安全可靠地完成主备用PCP服务器地快速切换,保证了用户通信业务的正常进行。
实施例一
根据本发明实施例的一个方面,提供了一种PCP快速恢复方法,包括:
100,备份PCP服务器通知用户发生PCP服务器切换;
具体地,当正在工作的主用PCP服务器发生故障,备份PCP服务器接替发生故障的主用PCP服务器,并通知用户发生PCP服务器切换,用户收到通知后向备份PCP服务器提交PCP映射请求。例如,网络感受到主用PCP服务器发生故障后,通知备份PCP服务器接替发生故障的主用PCP服务器工作,或者备份PCP服务器检测主用PCP服务器的状态,当发现主用PCP服务器发生故障后接替主用PCP服务器工作。
102,备份PCP服务器接收用户发送的令牌Token;
用户接收到备份PCP服务器发送的PCP服务器发生切换的通知后,向备份PCP服务器发送一个令牌Token请求建立映射。举例来说,该令牌Token可以通过如下方式获得:在用户通过主用PCP服务器建立映射时,主用PCP服务器对生成的映射信息进行签名或者采用消息验证码(MessageAuthentication Code,MAC)对映射消息进行保护,得到令牌Token,并将得到的令牌Token发送给用户,用户对令牌Token进行保存。进行签名的算法例如可以为通用关键字密码算法(Revest-Shamir-Adleman algorithm,RSA),MAC保护的算法例如可以为基于哈希算法的消息验证码(Hashed-BaseMessage Authentication Code,HMAC)、MAC-SHA1(Secure Hash Algorithm,安全散列算法)或者MAC-SHA2等。
举例来说,用户向主用PCP服务器发送建立映射的请求,主用PCP服务器同意用户发送的建立映射的请求,并对生成的映射信息使用本地保存的密钥进行保护,从而得到对应该映射信息的令牌Token。上述密钥可以为签名公钥私钥对或者MAC对称密钥,这个密钥由PCP主备服务器共享。令牌Token的一个实例如图2所示。其中,该令牌Token实例中的参数意义如下:
Option Code,选项码,用于标识选项类型;
Reserved,保留字段;取值可以由用户和PCP服务器约定,例如可以设为全0;
Option Length,选项长度字段,表示从Protocol字段到Signature or MAC字段的总的长度,以字节为单位;
Protocol,指示与映射信息相关的上层协议,取值可以遵循因特网地址分配组织(Internet Assigned Number Authority,IANA)协议注册表,例如当该字段取值为6时代表传输控制协议(Transmission Control Protocol,TCP);Algorithm,对映射信息签名和MAC保护所使用的算法,用序号表示。举例来说,可以使用序号1来表示签名算法RSA,用序号2来表示MAC算法HMAC,用序号3表示MAC算法MAC-SHA1,用序号4表示MAC算法MAC-SHA2等;
Internal Port,映射的内部端口的端口号,长度为16比特;
Assigned External Port:分配的外部端口的端口号,长度为16比特;
Assigned External IP Address,分配的外部端口的端口号,长度为128比特;
Remote Peer Port,远端通信节点的端口号,长度为16比特;
Reserved(16bits),保留字段,取值可以由用户和PCP服务器约定,例如可以设为全0;
Remote Peer IP Address,远端通信节点的端口号,长度为128比特;
Signature or MAC,签名值或者MAC值。
上述字段中的参数除了Signature or MAC字段以外的参数的意义和取值均可以遵循PCP协议的规定。
举例来说,当生成Token的时候,PCP服务器从生成的PCP映射信息中得到上述Token实例中的相应参数值并填入Token的相应字段,然后在Algorithm字段插入签名算法或者MAC算法的编号,将Signature or MAC字段填满零(也可以填满其他取值的数字),然后按照Algorithm字段对应的算法生成签名值或者MAC值,将签名值或者MAC值填入Signature or MAC字段,从而得到一个完整的Token。
104,备用PCP服务器根据接收到的token生成新的映射信息。
备用PCP服务器接收到用户发送的token,利用本地保存的密钥对Token进行签名验证或者MAC验证,如果验证通过,则从验证通过的Token中得到映射相关信息从而生成新的映射信息。备用PCP服务器生成新的映射信息后,用户即可和外部通信节点进行正常的通信。
实施例二
参见图3,根据本发明实施例的另一个方面,提供了一种PCP快速恢复方法,包括:
300,主用PCP服务器接收用户发送的PCP映射请求;
302,主用PCP服务器生成映射信息,根据映射信息生成令牌Token;
304,主用PCP服务器将生成的令牌Token发送给用户。
举例来说,主用PCP服务器根据用户发送的映射请求生成映射信息,然后对生成的映射信息进行签名或MAC保护,从而生成令牌Token,并将令牌Token发送给用户。用户将令牌Token保存起来供发生主备PCP服务器切换时使用。进行签名的算法例如可以为通用关键字密码算法(Revest-Shamir-Adleman algorithm,RSA),MAC保护的算法例如可以为基于哈希算法的消息验证码(Hashed-Base Message Authentication Code,HMAC)、MAC-SHA1(Secure Hash Algorithm,安全散列算法)或者MAC-SHA2等。举例来说,用户向主用PCP服务器发送建立映射的请求,主用PCP服务器同意用户发送的建立映射的请求,并对生成的映射信息使用本地保存的密钥进行保护,从而得到对应该映射信息的令牌Token。上述密钥可以为签名公钥私钥对或者MAC对称密钥,这个密钥由PCP主备服务器共享。生成的令牌Token的一个实施如图2,其中的参数的含义和取值和实施例一中相同,在此不再赘述。
实施例三
参见图4,根据本发明实施例的另一个方面,提供了一种PCP快速恢复方法,包括:
400,主用PCP服务器接收用户发送的PCP映射请求;
402,主用PCP服务器生成映射信息,根据映射信息生成令牌Token;
举例来说,主用PCP服务器根据用户发送的映射请求生成映射信息,然后对生成的映射信息进行签名或MAC保护,从而生成令牌Token,并将令牌Token发送给用户。进行签名的算法例如可以为通用关键字密码算法(Revest-Shamir-Adleman algorithm,RSA),MAC保护的算法例如可以为基于哈希算法的消息验证码(Hashed-Base Message Authentication Code,HMAC)、MAC-SHA1(Secure Hash Algorithm,安全散列算法)或者MAC-SHA2等。举例来说,用户向主用PCP服务器发送建立映射的请求,主用PCP服务器同意用户发送的建立映射的请求,并对生成的映射信息使用本地保存的密钥进行保护,从而得到对应该映射信息的令牌Token。上述密钥可以为签名公钥私钥对或者MAC对称密钥,这个密钥由PCP主备服务器共享。生成的令牌Token的一个实施如图2,其中的参数的含义和取值和实施例一中相同,在此不再赘述。
404,将令牌Token发送给用户;
406,备份PCP服务器通知用户发生PCP服务器切换;
具体地,当正在工作的主用PCP服务器发生故障,备份PCP服务器接替发生故障的主用PCP服务器,并通知用户发生PCP服务器切换。例如,网络感受到主用PCP服务器发生故障后,通知备份PCP服务器接替发生故障的主用PCP服务器工作,或者备份PCP服务器检测主用PCP服务器的状态,当发现主用PCP服务器发生故障后接替主用PCP服务器工作。
408,备份PCP服务器接收用户发送的令牌Token;
用户接收到备份PCP服务器发送的PCP服务器发生切换的通知后,向备份PCP服务器发送保存的令牌Token请求建立映射。
410,备用PCP服务器根据接收到的token生成新的映射信息。
备用PCP服务器接收到用户发送的token,利用本地保存的密钥对Token进行签名验证或者MAC验证,如果验证通过,则从验证通过的Token中得到映射相关信息从而生成新的映射信息。备用PCP服务器生成新的映射信息后,用户即可和外部通信节点进行正常的通信。
本发明实施例提供的端口控制协议快速恢复方法,通过对映射信息进行保护得到令牌Token,并在进行PCP快速恢复时使用得到的令牌Token验证用户身份的合法性,从而在主用PCP服务器发生故障时,安全可靠地完成主备用PCP服务器地快速切换,保证了用户通信业务的正常进行。
实施例四
参见图5,本发明实施例还提供一种PCP快速恢复装置50,该装置50例如可以是PCP协议中的服务器,该装置50包括:
通知单元501,用于在主用PCP服务器故障后通知用户发生PCP服务器切换;
令牌Token接收单元502,用于接收用户发送的令牌Token;
映射信息生成单元503,用于根据接收到的令牌Token生成新的映射信息。
进一步地,装置50还可以包括主用PCP服务器故障检测单元,用于检测主用PCP服务器发生故障或者接收主用PCP服务器发生故障的通知。
进一步地,映射信息生成单元503具体包括:
签名验证子单元,用于对接收到的用户发送的令牌Token进行签名验证;
映射信息生成子单元,用于从签名验证子单元签名验证通过的Token中得到映射相关信息从而生成新的映射信息。
或者,映射信息生成单元503具体包括:
MAC验证子单元,用于对接收到的用户发送的令牌Token进行MAC验证;
映射信息生成子单元,用于从MAC验证子单元MAC验证通过的Token中得到映射相关信息从而生成新的映射信息。
本发明实施例提供的PCP快速恢复装置50可以具体用于执行实施例一对应的方法,其实现原理和技术效果类似,此处不再赘述。
实施例五
参见图6,本发明实施例还提供一种PCP快速恢复装置60,该装置60包括:
映射请求接收单元601,用于接收用户发送的PCP映射请求;
令牌Token生成单元602,用于生成映射信息,根据映射信息生成令牌Token;
令牌Token发送单元603,用于将令牌Token发送给用户。
进一步地,所述令牌Token生成单元602具体包括:
映射信息生成子单元,用于生成映射信息;
签名生成子单元,用于对映射信息生成子单元生成的映射信息进行签名得到令牌Token。
或者,所述令牌Token生成单元602具体包括:
映射信息生成子单元,用于生成映射信息;
消息验证码MAC生成子单元,用于对映射信息生成子单元生成的所述映射信息进行消息验证码MAC得到所述令牌Token。
本发明实施例提供的PCP快速恢复装置60可以具体用于执行实施例二对应的方法,其实现原理和技术效果类似,此处不再赘述。
实施例六
参见图7,本发明实施例还提供一种PCP快速恢复系统70,该系统70包括如实施例四中所述的快速恢复装置50和实施例五中所述的快速恢复装置60。
本发明实施例提供的PCP快速恢复系统60可以具体用于执行实施例三对应的方法,其实现原理和技术效果类似,此处不再赘述。
本发明实施例提供的端口控制协议快速恢复装置和系统,通过对映射信息进行保护得到令牌Token,并在进行PCP快速恢复时使用得到的令牌Token验证用户身份的合法性,从而在主用PCP服务器发生故障时,安全可靠地完成主备用PCP服务器地快速切换,保证了用户通信业务的正常进行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围和不脱离本发明的技术思想范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。