一种数据报文发送方法、网络设备、控制设备及网络系统转让专利

申请号 : CN201710381240.4

文献号 : CN108933763B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖倩谢于明吴俊张亮

申请人 : 华为技术有限公司

摘要 :

本申请提供了一种数据报文发送方法、网络设备、控制设备及网络系统。在一种数据报文发送方法中,网络设备接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值;所述网络设备获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值;所述网络设备向第二设备发送所述第二数据报文。通过本申请提供的方案,可以验证数据报文经过路径上中间网络设备的顺序,并且不需要中间网络设备进行加解密处理,有助于减轻中间网络设备的计算负担。

权利要求 :

1.一种数据报文发送方法,其特征在于,所述方法应用于一网络设备,所述网络设备是一路径上多个中间网络设备中的一个中间网络设备,数据报文经所述路径传送后被发送到验证设备进行路径验证,所述方法包括:所述网络设备接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证;

所述网络设备获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得;

所述网络设备向第二设备发送所述第二数据报文。

2.如权利要求1所述的方法,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述网络设备根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:ck=(cm+p×(n-a)!)%μ;

其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。

3.一种数据报文发送方法,其特征在于,所述方法应用于控制设备,所述控制设备经由一路径与验证设备通信,所述路径包括多个中间网络设备,所述方法包括:所述控制设备获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;

所述控制设备根据所述位置序号序列获得伪设备序号累加值和验证值;

所述控制设备向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。

4.如权利要求3所述的方法,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述控制设备根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合。

5.一种网络设备,其特征在于,所述网络设备是一路径上多个中间网络设备中的一个中间网络设备,数据报文经所述路径传送后被验证设备用于路径验证,所述网络设备包括:接收单元,用于接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证;

处理单元,用于获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得;

发送单元,用于向第二设备发送所述第二数据报文。

6.如权利要求5所述的网络设备,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述处理单元根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:ck=(cm+p×(n-a)!)%μ;

其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。

7.一种控制设备,其特征在于,所述控制设备用于经由一路径与验证设备通信,所述路径包括多个中间网络设备,所述控制设备包括处理单元和发送单元,所述处理单元,用于:

获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;

根据所述位置序号序列获得伪设备序号累加值和验证值;

所述发送单元,用于:

向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。

8.如权利要求7所述的控制设备,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述处理单元根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备序号的排序值的集合。

9.一种网络设备,其特征在于,所述网络设备是一路径上多个中间网络设备中的一个中间网络设备,经所述路径传送后到达验证设备的数据报文被所述验证设备用于路径验证,所述网络设备包括:接收器,用于接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证;

处理器,用于获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得;

发送器,用于向第二设备发送所述第二数据报文。

10.如权利要求9所述的网络设备,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述处理器根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:ck=(cm+p×(n-a)!)%μ;

其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。

11.一种控制设备,其特征在于,所述控制设备用于经由一路径与验证设备通信,所述路径包括多个中间网络设备,所述控制设备包括处理器和发送器,所述处理器,用于:

获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;

根据所述位置序号序列获得伪设备序号累加值和验证值;

所述发送器,用于:

向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。

12.如权利要求11所述的控制设备,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述处理器根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合。

13.一种网络系统,其特征在于,所述网络系统包括控制设备、验证设备和多个中间网络设备,所述控制设备经由一路径与所述验证设备通信,所述路径包括所述多个中间网络设备,所述控制设备,用于:

获得第一序号标记序列和第一位置标记序列,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记;

根据所述位置序号序列获得第一累加值和验证值;

向第一网络设备发送第一数据报文,所述第一网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述第一数据报文的报文头中包括所述第一序号标记序列、所述第一位置标记序列、所述第一累加值和所述验证值;

所述多个中间网络设备中的每一个中间网络设备,用于:

接收上游设备发送的第二数据报文,所述上游设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述每一个中间网络设备的上一个设备,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,所述第二序号标记序列包括顺序排列的多个序号标记,所述第二序号标记序列中第一个序号标记至最后一个序号标记分别记录了所述可用序号序列中的第一个序号至最后一个序号是否已被标记,所述第二位置标记序列包括顺序排列的多个位置标记,所述第二位置标记序列中第一个位置标记至最后一个位置标记分别记录了所述位置序号序列中的第一个序号至最后一个序号是否已被标记;

获得第三数据报文,所述第三数据报文的报文头中包括第三序号标记序列、第三位置标记序列、第三累加值和所述验证值,其中所述第三累加值根据所述第二序号标记序列、所述第二位置标记序列和所述第二累加值来获得,所述第三序号标记序列通过在所述第二序号标记序列中记录所述每一个中间网络设备的序号已被标记来获得,所述第三位置标记序列通过在所述第二位置标记序列中记录所述每一个中间网络设备的序号已被标记来获得;

向下游设备发送所述第三数据报文,所述下游设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述每一个中间网络设备的下一个设备;

所述验证设备,用于:

接收第二网络设备发送的第四数据报文,所述第二网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中最后一个中间网络设备,所述第四数据报文的报文头中包括第四累加值和所述验证值;

根据所述第四累加值和所述验证值进行路径验证。

14.如权利要求13所述的网络系统,其特征在于,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述控制设备根据所述位置序号序列使用以下公式获得所述第一累加值和所述全序号累加值:其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述第一累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合;

所述每一个中间网络设备根据所述第二序号标记序列、所述第二位置标记序列和所述第二累加值使用以下公式获得所述第三累加值:

ck=(cm+p×(n-a)!)%μ;

其中,ck是所述第三累加值,cm是所述第二累加值,p是所述第二序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第二序号标记序列中记录所述每一个中间网络设备的序号是否已被标记的序号标记,a是所述第二位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第二位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记;

所述根据所述第四累加值和所述验证值进行路径验证包括:确定对所述验证值进行解密获得的解密值是否与所述第四累加值相等,或确定对所述第四累加值进行加密获得的加密值是否与所述验证值相等。

说明书 :

一种数据报文发送方法、网络设备、控制设备及网络系统

技术领域

[0001] 本申请涉及通信领域,尤其涉及一种数据报文发送方法、网络设备、控制设备及网络系统。

背景技术

[0002] 路径验证可以包括对数据报文经过的节点以及节点经过顺序进行验证。路径验证可用于减轻拒绝服务(英文:distributed denial-of-service,DDoS)攻击,流重定向攻击,源地址欺骗攻击等风险,同时也有助于及时发现网络策略配置错误。
[0003] Jad Naous等公开了一种基于加密算法的路径验证方法ICING(参见“Verifying and enforcing network paths with icing”,ACM CoNEXT 2011,数字对象识别码(英语:digital object identifier,doi):10.1145/2079296.2079326)。ICING中传输路径上的每个中间节点利用上一个经过的节点的标识和该中间节点上配置的配对密钥,对该上一个经过的节点进行验证。ICING需要每个中间节点都支持加密解密,计算负担较大。

发明内容

[0004] 本申请提供了一种数据报文发送方法、网络设备、控制设备及网络系统,有助于降低路径验证中中间网络设备上的计算负担。
[0005] 第一方面,提供了一种数据报文发送方法。所述方法应用于一网络设备,所述网络设备是一路径上多个中间网络设备中的一个中间网络设备。数据报文经所述路径传送后被发送到验证设备进行路径验证。该方法包括:
[0006] 所述网络设备接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值。所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证;
[0007] 所述网络设备获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得;
[0008] 所述网络设备向第二设备发送所述第二数据报文。
[0009] 以上第一方面提供的方法可以验证数据报文经过路径上中间网络设备的顺序,并且不需要中间网络设备进行加解密处理,有助于减轻中间网络设备的计算负担。位置序号序列中包括伪设备的序号有助于防止重传攻击。
[0010] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述网络设备根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:
[0011] ck=(cm+p×(n-a)!)%μ;
[0012] 其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。该方案中累加值计算使用了模质数,有助于防止重传攻击。
[0013] 第二方面,提供了一种数据报文发送方法。所述方法应用于控制设备,所述控制设备经由一路径与验证设备通信,所述路径包括多个中间网络设备。所述方法包括:
[0014] 所述控制设备获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;
[0015] 所述控制设备根据所述位置序号序列获得伪设备序号累加值和验证值;
[0016] 所述控制设备向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。
[0017] 以上第二方面提供的方法可以验证数据报文经过路径上中间网络设备的顺序,只需要在控制设备和验证设备进行加解密处理,有助于减轻中间网络设备的计算负担。位置序号序列中包括伪设备的序号有助于防止重传攻击。
[0018] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述控制设备根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:
[0019]
[0020]
[0021]
[0022]
[0023] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合。该方案中累加值计算使用了模质数,有助于防止重传攻击。
[0024] 第三方面,提供了一种网络设备。所述网络设备是一路径上多个中间网络设备中的一个中间网络设备。数据报文经所述路径传送后被验证设备用于路径验证。所述网络设备包括接收单元、处理单元和发送单元。
[0025] 接收单元,用于接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证。
[0026] 处理单元,用于获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得。
[0027] 发送单元,用于向第二设备发送所述第二数据报文。
[0028] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述处理单元根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:
[0029] ck=(cm+p×(n-a)!)%μ;
[0030] 其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。
[0031] 第四方面,提供了一种控制设备。所述控制设备用于经由一路径与验证设备通信。所述路径包括多个中间网络设备。所述控制设备包括处理单元和发送单元。
[0032] 所述处理单元,用于:
[0033] 获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;
[0034] 根据所述位置序号序列获得伪设备序号累加值和验证值。
[0035] 所述发送单元,用于:
[0036] 向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。
[0037] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述处理单元根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:
[0038]
[0039]
[0040]
[0041]
[0042] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备序号的排序值的集合。
[0043] 第五方面,提供了一种网络设备。所述网络设备是一路径上多个中间网络设备中的一个中间网络设备。经所述路径传送后到达验证设备的数据报文被所述验证设备用于路径验证。所述网络设备包括接收器、处理器和发送器。
[0044] 接收器,用于接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证。
[0045] 处理器,用于获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得。
[0046] 发送器,用于向第二设备发送所述第二数据报文。
[0047] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述处理器根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:
[0048] ck=(cm+p×(n-a)!)%μ;
[0049] 其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。
[0050] 第六方面,提供了一种控制设备。所述控制设备用于经由一路径与验证设备通信。所述路径包括多个中间网络设备。所述控制设备包括处理器和发送器。
[0051] 所述处理器,用于:
[0052] 获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;
[0053] 根据所述位置序号序列获得伪设备序号累加值和验证值。
[0054] 所述发送器,用于:
[0055] 向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。
[0056] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述处理器根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:
[0057]
[0058]
[0059]
[0060]
[0061] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合。
[0062] 第七方面,提供了一种网络系统。所述网络系统包括控制设备、验证设备和多个中间网络设备。所述控制设备经由一路径与所述验证设备通信。所述路径包括所述多个中间网络设备。
[0063] 所述控制设备,用于:
[0064] 获得第一序号标记序列和第一位置标记序列,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记;
[0065] 根据所述位置序号序列获得第一累加值和验证值;
[0066] 向第一网络设备发送第一数据报文,所述第一网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述第一数据报文的报文头中包括所述第一序号标记序列、所述第一位置标记序列、所述第一累加值和所述验证值。
[0067] 所述多个中间网络设备中的每一个中间网络设备,用于:
[0068] 接收上游设备发送的第二数据报文,所述上游设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述每一个中间网络设备的上一个设备,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,所述第二序号标记序列包括顺序排列的多个序号标记,所述第二序号标记序列中第一个序号标记至最后一个序号标记分别记录了所述可用序号序列中的第一个序号至最后一个序号是否已被标记,所述第二位置标记序列包括顺序排列的多个位置标记,所述第二位置标记序列中第一个位置标记至最后一个位置标记分别记录了所述位置序号序列中的第一个序号至最后一个序号是否已被标记;
[0069] 获得第三数据报文,所述第三数据报文的报文头中包括第三序号标记序列、第三位置标记序列、第三累加值和所述验证值,其中所述第三累加值根据所述第二序号标记序列、所述第二位置标记序列和所述第二累加值来获得,所述第三序号标记序列通过在所述第二序号标记序列中记录所述每一个中间网络设备的序号已被标记来获得,所述第三位置标记序列通过在所述第二位置标记序列中记录所述每一个中间网络设备的序号已被标记来获得;
[0070] 向下游设备发送所述第三数据报文,所述下游设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述每一个中间网络设备的下一个设备。
[0071] 所述验证设备,用于:
[0072] 接收第二网络设备发送的第四数据报文,所述第二网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中最后一个中间网络设备,所述第四数据报文的报文头中包括第四累加值和所述验证值;
[0073] 根据所述第四累加值和所述验证值进行路径验证。
[0074] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,所述控制设备根据所述位置序号序列使用以下公式获得所述第一累加值和所述全序号累加值:
[0075]
[0076]
[0077]
[0078]
[0079] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述第一累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合;
[0080] 所述每一个中间网络设备根据所述第二序号标记序列、所述第二位置标记序列和所述第二累加值使用以下公式获得所述第三累加值:
[0081] ck=(cm+p×(n-a)!)%μ;
[0082] 其中,ck是所述第三累加值,cm是所述第二累加值,p是所述第二序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第二序号标记序列中记录所述每一个中间网络设备的序号是否已被标记的序号标记,a是所述第二位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第二位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记;
[0083] 所述根据所述第四累加值和所述验证值进行路径验证包括:确定对所述验证值进行解密获得的解密值是否与所述第四累加值相等,或确定对所述第四累加值进行加密获得的加密值是否与所述验证值相等。
[0084] 第八方面,提供了一种计算机可读存储介质。所述计算机可读存储介质中存储有指令,当其被执行时,使得所述计算机执行上述各方面所述的方法。
[0085] 第九方面,提供了一种包含指令的计算机程序产品,当所述指令被执行时,使得所述计算机执行上述各方面所述的方法。

附图说明

[0086] 图1为本申请实施例提供的一种应用场景示意图;
[0087] 图2为本申请实施例提供的一种数据报文发送方法的流程图。
[0088] 图3为本申请实施例提供的一种控制设备300的结构图;
[0089] 图4为本申请实施例提供的一种网络设备400的结构图;
[0090] 图5为本申请实施例提供的一种控制设备500的结构图;
[0091] 图6为本申请实施例提供的一种网络设备600的结构图;
[0092] 图7为本申请实施例提供的一种网络系统700的结构图。

具体实施方式

[0093] 下面将结合附图对本发明实施方式做出进一步地详细描述。
[0094] 图1为本申请实施例提供的一种应用场景示意图。如图1所示,发送设备101发出的数据报文到达控制设备102,经由一包括多个中间网络设备(多个中间网络设备是两个或两个以上中间网络设备,图1中以中间网络设备103、中间网络设备104和中间网络设备105为例)的路径到达验证设备106,再经过验证设备106进行路径验证后到达接收设备107。控制器108可以与控制设备102、多个中间网络设备、验证设备106进行通信。举例来说,控制设备102、多个中间网络设备、验证设备106可以位于一个数据中心网络中,由控制器108统一进行管理。发送设备101例如是用户设备,控制设备102例如是网关设备,中间网络设备103例如是执行防火墙处理的设备,中间网络设备104例如是执行反病毒处理的设备,中间网络设备105例如是执行网络优化的设备,验证设备106例如是执行路径验证的网关设备,接收设备107例如是服务器。由此,用户设备发出的数据报文经网关设备、执行防火墙处理的设备、执行反病毒处理的设备、执行网络优化的设备到达执行路径验证的网关设备。执行路径验证的网关设备对接收的数据报文经过的路径进行验证,在验证通过后将数据报文发送至服务器。
[0095] 图2为本申请实施例提供的一种数据报文发送方法的流程图。该方法可以应用于图1所示场景实现路径验证。
[0096] S201,控制设备102向中间网络设备103发送第一数据报文,该第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值。
[0097] 控制设备102获得第一序号标记序列和第一位置标记序列。第一序号标记序列包括顺序排列的多个序号标记,其中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记。可用序号序列包括按照大小进行顺序排列(从小到大或从大到小)的多个序号。可用序号序列中的序号包括从控制设备102到验证设备106的路径上的所有中间网络设备的序号。可用序号序列还可以包括不属于任何中间网络设备的序号。控制设备102可以根据控制器108发送的所述路径上所有中间网络设备的序号、可用序号集合或最大可用序号来获得可用序号序列。例如控制设备102根据控制器108发送的中间网络设备103、104和105的序号2、3和1获得可用序号序列(1,2,3)。可用序号集合是所有可用的序号组成的集合,例如控制设备102根据控制器108发送的可用序号集合{1,2,3,4}可以获得可用序号序列(1,2,3,4)。还例如控制设备102根据控制器108发送的最大可用序号4,按照从1开始至该最大可用序号4获得可用序号序列(1,2,3,4)。控制设备102也可以直接接收控制器108发送的可用序号序列。控制器108还可以向控制设备102发送所述路径上所有中间网络设备的标识,该标识例如是媒体访问控制(英文:Media Access Control,MAC)地址或互联网协议(英文:Internet Protocol,IP)地址。
[0098] 控制设备102也可以根据自身保存的预先设定的所述路径上所有中间网络设备的序号、可用序号集合或最大可用序号来获得可用序号序列。例如控制设备102根据自身保存的预先设定的中间网络设备103、104和105的序号2、3和1获得可用序号序列(1,2,3)。还例如控制设备102根据自身保存的预先设定的可用序号集合{1,2,3,4}获得可用序号序列(1,2,3,4)。还例如控制设备102根据自身保存的预先设定的最大可用序号4,按照从1开始至该最大可用序号4获得可用序号序列(1,2,3,4)。控制设备102也可以直接获取自身保存的预先设定的可用序号序列。控制设备102获得的第一序号标记序列记录了该可用序号序列中所有的序号均未被标记。
[0099] 以上序号1、2和3分别是中间网络设备105、103和104的序号,序号4是不属于任何中间网络设备的序号。第一序号标记序列的长度(即第一序号标记序列中包括的序号标记的数量)与可用序号序列的长度相同。
[0100] 控制设备102根据可用序号序列的长度可以获得第一序号标记序列。第一序号标记序列可以为比特序列,比特位的值0指示未被标记,比特位的值1指示已被标记。举例来说,当可用序号序列为(1,2,3,4)时,可用序号序列长度为4,第一序号标记序列包括四个0,也就是(0,0,0,0)。第一序号标记序列中从前向后的四个0分别指示可用序号1,2,3和4未被标记。以上例子中可用序号序列中的序号均为从小到大排列,类似地,可用序号序列中的序号也可以从大到小排列。
[0101] 第一位置标记序列包括顺序排列的多个位置标记,其中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记。位置序号序列包括从控制设备102到验证设备106的路径上的所有中间网络设备的序号。位置序号序列中按照所述所有中间网络设备在所述路径上沿从控制设备102到验证设备106的方向的先后顺序排列所述所有中间网络设备的序号。位置序号序列还可以包括伪设备的序号。伪设备是一种假想的具有序号的设备,可以不是真实存在的设备。伪设备的序号大于所述路径上任意一个中间网络设备的序号。控制设备102可以根据所述路径上所有中间网络设备的先后顺序以及控制器108发送的或者预先设定的所述所有中间网络设备的序号,排列所述序号,并在随机位置插入伪设备的序号,组成位置序号序列。伪设备的序号可以是一个或多个。例如图1所示路径,中间网络设备103、104和105的序号分别是2、3和1,则位置序号序列可以是(5,2,3,6,1),其中5和6是伪设备的序号,序号5和6的位置由控制设备102随机选择。序号5在位置序号序列中的排序值为1,序号6在位置序号序列中的排序值为4。序号2、3和1的排序值分别是2、3和5,序号2、3和1之间的排列顺序与中间网络设备103、104和105在所述路径上的先后顺序相同。
[0102] 控制设备102根据位置序号序列可以获得第一位置标记序列。第一位置标记序列的长度与位置序号序列的长度相同(即第一位置标记序列中包括的位置标记的数量与位置序号序列中包括的序号的数量相同,位置序号序列中包括的序号包括所述路径上所有中间网络设备的序号以及伪设备的序号)。控制设备102获得的第一位置标记序列记录了位置序号序列中所有伪设备的序号均已被标记。控制设备102获得的第一位置标记序列记录了位置序号序列中所有中间网络设备的序号均未被标记。第一位置标记序列可以为比特序列,比特位的值0指示未被标记,比特位的值1指示已被标记。举例来说,当位置序号序列为(5,2,3,6,1)时,第一位置标记序列为(1,0,0,1,0),其中第1位和第4位的位置标记分别指示伪设备的序号5和伪设备的序号6已被标记。
[0103] 控制设备102根据位置序号序列获得伪设备序号累加值和验证值。控制器102使用如下公式可以获得伪设备序号累加值和全序号累加值:
[0104]
[0105]
[0106]
[0107]
[0108] 其中,c是全序号序列累加值。si和sj分别是位置序号序列中第i个和第j个序号。n是位置序号序列的长度。μ是模质数,该模质数可以由控制器108发送至控制设备102,或在控制设备102预先设定。cf是伪设备序号累加值。If是所有伪设备的序号在位置序号序列中的排序值的集合。
[0109] 控制设备102使用加密密钥加密全序号累加值获得验证值。该加密密钥可以接收自控制器108,也可以是在控制设备102上预先设定的。该加密可以使用各种现有加密算法实现。该验证值随后被验证设备106用来进行路径验证。
[0110] 举例来说,模质数为7,位置序号序列为(5,2,3,6,1),此时n=5,s1、s2、s3、s4和s5分别为5、2、3、6和1。全序号序列累加值c和伪设备序号累加值cf计算过程如下:
[0111] c=(p1×(5-1)!+p2(5-2)!+p3×(5-3)!+p4×(5-4)!)%7;
[0112]
[0113] x2=1,s2<s1;
[0114] x3=1,s3<s1;
[0115] x4=0,s4>s1;
[0116] x5=1,s5<s1;
[0117] p2、p3和p4的计算过程与p1类似,简述如下:
[0118]
[0119]
[0120]
[0121] 进而可以得出全序号序列累加值如下:
[0122] c=(p1×(5-1)!+p2(5-2)!+p3×(5-3)!+p4×(5-4)!)%7
[0123] =(3×(5-1)!+1×(5-2)!+1×(5-3)!+1×(5-4)!)%7
[0124] =(3×4!+1×3!+1×2!+1×1!)%7
[0125] =(3×24+1×6+1×2+1×1)%7
[0126] =81%7=4
[0127] 位置序号序列(5,2,3,6,1)中伪设备的序号5和6的排序值的集合If为{1,4},结合以上计算结果,可以计算伪设备序号累加值cf如下:
[0128]
[0129] 控制设备102加密全序号序列累加值4可以获得验证值。
[0130] 随后,控制设备102生成第一数据报文,第一数据报文包括验证信息。该验证信息例如包括第一序号标记序列、第一位置标记序列、第一累加值(即以上伪设备序号累加值cf)和验证值。控制设备102可以接收来自发送设备101的原始数据报文或者生成原始数据报文,将验证信息添加在来自发送设备101的原始数据报文或者生成的原始数据报文的报文头中以获得第一数据报文。将验证信息添加到报文头中的方式可以参见国际互联网工程任务组(英文:the internet engineering task force,IETF)的草案:Encapsulations for In-situ OAM Data(draft-brockners-inband-oam-transport-03),该草案的全部内容以引入的方式并入本文中。该草案中描述了在第六版互联网协议(internet protocol version 6,IPv6)、第四版互联网协议(internet protocol version 4,IPv4)、虚拟可扩展局域网-通用协议扩展(英文:virtual extensible local area network—generic protocol extension,VXLAN-GPE)、网络服务头(Network Service Header,NSH)和段路由(英文:Segment Routing)等几种协议的数据报文的报文头中增加信息的报文格式。例如,第一数据报文采用IPv6报文格式,验证信息可以添加在IPv6的逐跳选项报文头(hop-by-hop option header)中。还例如,第一数据报文采用IPv4报文格式,验证信息的传送可以利用通用路由封装(generic routing encapsulation,GRE),通用路由封装可以参见征求意见稿(request for comments,RFC)2784。GRE报文头后的原位操作管理维护(in-situ operations,administration,and maintenance,IOAM)数据字段(data fields)可以用于添加验证信息。
[0131] 控制设备102向中间网络设备103发送包括验证信息的第一数据报文。中间网络设备103是沿所述路径上从控制设备102到验证设备106的方向各中间网络设备中第一个中间网络设备。
[0132] S202,中间网络设备103接收控制设备102发送的第一数据报文,向中间网络设备104发送第二数据报文。
[0133] 中间网络设备103接收第一数据报文后,获得第二数据报文。第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和S201中的验证值。
[0134] 中间网络设备103根据第一序号标记序列、第一位置标记序列和第一累加值计算第二累加值。具体可以使用如下公式计算第二累加值:
[0135] c2=(c1+p×(n-a)!)%μ;
[0136] 其中,c2是第二累加值,c1是第一累加值。p是第一序号标记序列中当前序号标记之前的并且记录可用序号序列中的序号未被标记的序号标记的数量。当前序号标记是第一序号标记序列中记录中间网络设备103的序号是否已被标记的序号标记。n是第一位置标记序列的长度。a是第一位置标记序列中当前位置标记的排序值。当前位置标记是第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记。μ是模质数,该模质数可以由控制器108发送至中间网络设备103,或在中间网络设备103预先设定,该模质数与控制设备102所使用的模质数相同。中间网络设备103的序号,可以由控制器108分配并发送给中间网络设备103,也可以是在中间网络设备103上预先设定的。控制器108为所述路径上各中间网络设备分配序号后,可以分别向每个中间网络设备发送分配给该每个中间网络设备的序号。例如图1所示场景,控制器108可以分别为中间网络设备103、104和105分配序号2、3和1,并将序号2发送给中间网络设备103,将序号3发送给中间网络设备104,将序号1发送给中间网络设备105。每个中间网络设备仅保存自身的序号可以避免一个中间网络设备被攻击后泄露其他中间网络设备的序号,由此提高安全性。
[0137] 举例来说,按图1所示场景,模质数为7,第一累加值(即S201中伪设备序号累加值)为3,第一序号标记序列(0,0,0,0),第一位置标记序列(1,0,0,1,0),第一位置标记序列的长度n是5,可用序号序列是(1,2,3,4),位置序号序列是(5,2,3,6,1)。中间网络设备103的序号是2,第一序号标记序列中记录序号2是否被标记的序号标记是第2个序号标记(即排序值是2)。第一序号标记序列(0,0,0,0)中第2个序号标记之前只有第1个序号标记,且该第1个序号标记值为0(即记录可用序号序列中的序号1未被标记),由此p的值为1。第一位置标记序列(1,0,0,1,0)中第1个值是0的位置标记(即第一个记录位置序号序列中的序号未被标记的位置标记)是第2位的位置标记(即排序值为2),由此a的值为2。由此第二累加值c2计算如下:
[0138] c2=(c1+p×(n-a)!)%μ
[0139] =(3+1×(5-2)!)%7=(3+1×6)%7
[0140] =2
[0141] 中间网络设备103还通过在第一序号标记序列中记录中间网络设备103的序号已被标记来获得第二序号标记序列。中间网络设备103确定第一序号标记序列中排序值等于中间网络设备103的序号的序号标记(即当前序号标记),将该序号标记的值记录为已标记。例如,中间网络设备103的序号为2,中间网络设备103将第一序号标记序列(0,0,0,0)中的第2位(即排序值为2)序号标记的值记录为1,由此获得第二序号标记序列(0,1,0,0)。
[0142] 中间网络设备103还通过在第一位置标记序列中记录中间网络设备103的序号已被标记来获得第二位置标记序列。第一位置标记序列中伪设备的序号已被标记,各中间网络设备的序号均尚未被标记,由此第一位置标记序列中第一个记录序号未被标记的位置标记即为记录中间网络设备103(中间网络设备103是所述路径上从控制设备102到验证设备106方向的第一个中间网络设备)的序号是否被标记的位置标记(即当前位置标记)。例如,第一位置标记序列是(1,0,0,1,0),位置序号序列是(5,2,3,6,1),第一位置标记序列中共有3个值为0的位置标记,分别顺序记录中间网络设备103、104和105的序号2、3和1尚未被标记。第一个值为0的位置标记记录了中间网络设备103的序号2未被标记。中间网络设备103将该第一个值为0的位置标记的值记录为1,由此获得第二位置标记序列(1,1,0,1,0)。
[0143] 中间网络设备103根据第二累加值、第二序号标记序列、第二位置标记序列和所述验证值获得第二数据报文,向中间网络设备104发送第二数据报文。第二数据报文的报文格式可以与第一数据报文的报文格式相同,后续S203中的第三数据报文和S204中的第四数据报文均可以与第一数据报文的报文格式相同。
[0144] S203,中间网络设备104接收中间网络设备103发送的第二数据报文,向中间网络设备105发送第三数据报文。
[0145] 中间网络设备104上的处理过程和中间网络设备103上的处理过程类似,具体可参见S202。处理过程举例如下:
[0146] 中间网络设备104接收中间网络设备103发送的第二数据报文。第二数据报文的报文头中包括第二序号标记序列(0,1,0,0),第二位置标记序列(1,1,0,1,0),第二累加值c2值为2,验证值(与S202中验证值相同)。
[0147] 中间网络设备104使用如下公式计算第三累加值c3:
[0148] c3=(c2+p×(n-a)!)%μ
[0149] =(2+1×(5-3)!)%7=4%7;
[0150] =4
[0151] 其中,中间网络设备104的序号是3,在第二序号标记序列(0,1,0,0)的第3位之前,有2个序号标记,但只有1个序号标记值为0,由此p的值为1。第二位置标记序列(1,1,0,1,0)中第1个值是0的位置标记是第3位的位置标记(即排序值为3),由此a的值为3。
[0152] 中间网络设备104的序号为3,因此中间网络设备104将第二序号标记序列(0,1,0,0)第3位序号标记的值记录为1,得到第三序号标记序列(0,1,1,0)。
[0153] 中间网络设备104将第二位置标记序列(1,1,0,1,0)中第一个值为0的位置标记的值记录为1,得到第三位置标记序列(1,1,1,1,0)。位置序号序列是(5,2,3,6,1),第二位置标记序列是(1,1,0,1,0),第二位置标记序列中第一个值为0的位置标记记录中间网络设备104的序号3未被标记。
[0154] 中间网络设备104根据第三累加值(即4)、第三序号标记序列(0,1,1,0)、第三位置标记序列(1,1,1,1,0)和所述验证值获得第三数据报文,向中间网络设备105发送第三数据报文。
[0155] S204,中间网络设备105接收中间网络设备104发送的第三数据报文,向验证设备106发送第四数据报文。
[0156] 中间网络设备105上的处理过程和中间网络设备103上的处理过程类似,具体可参见S202。处理过程举例如下:
[0157] 中间网络设备105接收中间网络设备104发送的第三数据报文。第三数据报文的报文头中包括第三序号标记序列(0,1,1,0),第三位置标记序列(1,1,1,1,0),第三累加值c3值4和验证值(与S203中验证值相同)。
[0158] 中间网络设备105使用如下公式计算第四累加值c4:
[0159] c4=(c3+p×(n-a)!)%μ
[0160] =(4+0×(5-5)!)%7=4%7;
[0161] =4
[0162] 其中,中间网络设备105的序号是1,在第三序号标记序列(0,1,1,0)的第1位之前没有序号标记,由此p的值为0。第三位置标记序列(1,1,1,1,0)中第1个值是0的位置标记是第5位的位置标记(即排序值为5),由此a的值为5。
[0163] 中间网络设备105的序号为1,因此中间网络设备105将第三序号标记序列(0,1,1,0)第1位序号标记的值记录为1,得到第四序号标记序列(1,1,1,0)。
[0164] 中间网络设备105将第三位置标记序列(1,1,1,1,0)中第一个值为0的位置标记的值记录为1,得到第四位置标记序列(1,1,1,1,1)。位置序号序列是(5,2,3,6,1),第二位置标记序列是(1,1,1,1,0),第三位置标记序列中第一个值为0的位置标记记录中间网络设备105的序号1未被标记。
[0165] 中间网络设备105根据第四累加值(即4)、第四序号标记序列(1,1,1,0)、第四位置标记序列(1,1,1,1,1)和所述验证值获得第四数据报文,向中间网络设备106发送第四数据报文。
[0166] S205,验证设备106接收中间网络设备105发送的第四数据报文,对第四数据报文进行路径验证。
[0167] 第四数据报文的报文头中包括第四序号标记序列(1,1,1,0),第四位置标记序列(1,1,1,1,1),第四累加值(即4),所述验证值(与S204中验证值相同)。其中第四位置标记序列(1,1,1,1,1)中所有位置标记的值为1,表明位置序号序列中所述路径上的所有中间网络设备的序号均已被标记,相当于指示第四数据报文除报文头以外的负载数据经过了所述路径上的所有中间网络设备传送到验证设备106。
[0168] 验证设备106使用解密密钥解密所述验证值,并确定解密后的值是否与第四累加值相等。解密密钥可以是控制器108发送到验证设备106的,也可以是验证设备106上预先设定的。验证设备106也可以使用加密密钥加密第四累加值,并确定加密后的值是否与所述验证值相等。加密密钥可以是控制器108发送到验证设备106的,也可以是验证设备106上预先设定的。如果所述解密后的值与第四累加值相等或者所述加密后的值与所述验证值相等,则表明验证通过(即控制设备102发送的数据报文在所述路径上沿从控制设备102到验证设备106的方向依次经过所述所有中间网络设备)。如果验证通过,验证设备106可以向接收设备107发送第四数据报文。如果所述解密后的值与第四累加值不相等或者所述加密后的值与所述验证值不相等(即控制设备102发送的数据报文未在所述路径上沿从控制设备102到验证设备106的方向依次经过所述所有中间网络设备),,则验证设备106可以做异常处理而并不向接收设备107发送第四数据报文。该异常处理例如发出告警消息或记入日志。
[0169] 以上方法的传输过程中累加值逐跳累加,可以验证数据报文经过路径上中间网络设备的顺序,并且只需要在控制设备102和验证设备106进行加解密处理,有助于减轻中间网络设备的计算负担。
[0170] 以上方法中,控制设备102在位置序号序列的随机位置插入伪设备的序号,使得每次生成的验证值都发生变化,有助于防止重传攻击。以及累加值采用取模后的计算结果传输,有助于防止重传攻击。
[0171] 以上方法中,第一至第四序号标记序列和第一至第四位置标记序列可以为比特序列,需要传输的数据量较小,有助于提高传输效率。对第一至第四序号标记序列和第一至第四位置标记序列的处理可以直接基于比特位的值进行处理有助于提高处理效率。
[0172] 图3为本申请实施例提供的一种控制设备300的结构图。控制设备300可以是图2所示方法中控制设备102。控制设备300包括处理单元301和发送单元302。
[0173] 处理单元301,用于:
[0174] 获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;
[0175] 根据所述位置序号序列获得伪设备序号累加值和验证值。
[0176] 发送单元302,用于:
[0177] 向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。
[0178] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,处理单元301根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:
[0179]
[0180]
[0181]
[0182]
[0183] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备序号的排序值的集合。
[0184] 图4为本申请实施例提供的一种网络设备400的结构图。网络设备400可以是图2所示方法中中间网络设备103、104或105。网络设备400包括接收单元401、处理单元402和发送单元403。
[0185] 接收单元401,用于接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证。
[0186] 处理单元402,用于获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得。
[0187] 发送单元403,用于向第二设备发送所述第二数据报文。
[0188] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,处理单元402根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:
[0189] ck=(cm+p×(n-a)!)%μ;
[0190] 其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。
[0191] 图4中接收单元401和发送单元403可以是同一个单元,也可以是两个单独的单元。
[0192] 图5为本申请实施例提供的一种控制设备500的结构图。控制设备500可以是图2所示方法中控制设备102。控制设备500包括处理器501和发送器502。
[0193] 处理器501,用于:
[0194] 获得序号标记序列和位置标记序列,所述序号标记序列包括顺序排列的多个序号标记,所述序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述位置标记序列包括顺序排列的多个位置标记,所述位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从所述控制设备到所述验证设备的方向的先后顺序排列所述多个中间网络设备的序号,所述位置标记序列中记录所述伪设备的序号已被标记;
[0195] 根据所述位置序号序列获得伪设备序号累加值和验证值。
[0196] 发送器502,用于:
[0197] 向网络设备发送数据报文,所述网络设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述多个中间网络设备中第一个中间网络设备,所述数据报文的报文头中包括所述序号标记序列、所述位置标记序列、所述伪设备序号累加值和所述验证值,所述验证值用于所述验证设备进行路径验证。
[0198] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,处理器501根据所述位置序号序列使用以下公式获得所述伪设备序号累加值和所述全序号累加值:
[0199]
[0200]
[0201]
[0202]
[0203] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述伪设备序号累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合。
[0204] 图6为本申请实施例提供的一种网络设备600的结构图。网络设备600可以是图2所示方法中中间网络设备103、104或105。网络设备600包括接收器601、处理器602和发送器603。
[0205] 接收器601,用于接收第一设备发送的第一数据报文,所述第一数据报文的报文头中包括第一序号标记序列、第一位置标记序列、第一累加值和验证值,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿所述第一数据报文的发送方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记,所述验证值用于所述验证设备进行路径验证。
[0206] 处理器602,用于获得第二数据报文,所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,其中所述第二累加值根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值来获得,所述第二序号标记序列通过在所述第一序号标记序列中记录所述网络设备的序号已被标记来获得,所述第二位置标记序列通过在所述第一位置标记序列中记录所述网络设备的序号已被标记来获得。
[0207] 发送器603,用于向第二设备发送所述第二数据报文。
[0208] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,处理器602根据所述第一序号标记序列、所述第一位置标记序列和所述第一累加值使用以下公式获得所述第二累加值:
[0209] ck=(cm+p×(n-a)!)%μ;
[0210] 其中,ck是所述第二累加值,cm是所述第一累加值,p是所述第一序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第一序号标记序列中记录所述网络设备的序号是否已被标记的序号标记,n是所述第一位置标记序列的长度,a是所述第一位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第一位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记,μ是模质数。
[0211] 图5中处理器501和图6中处理器602包括但不限于中央处理器(英文:Central Processing Unit,CPU),网络处理器(英文:Network Processor,NP),专用集成电路(英文:Application-Specific Integrated Circuit,ASIC)或者可编程逻辑器件(英文:
Programmable Logic Device,PLD)中的一个或多个。上述PLD可以是复杂可编程逻辑器件(英文:Complex Programmable Logic Device,CPLD),现场可编程逻辑门阵列(英文:
Field-Programmable Gate Array,FPGA),通用阵列逻辑(英文:Generic Array Logic,GAL)或其任意组合。
[0212] 图5中发送器502和图6中接收器601和发送器603可以是有线通信接口、无线通信接口或其组合。有线通信接口例如是以太网接口、异步传输模式(英文:Asynchronous Transfer Mode,ATM)接口或基于SDH/SONET的包封装(英文:Packet over SONET/SDH,POS)接口。无线通信接口例如是无线局域网(wireless local area network,WLAN)接口、蜂窝网络通信接口或其组合。
[0213] 图6中接收器601和发送器603可以是同一个部件,也可以是两个单独部件。
[0214] 图5中发送器502可以和处理器501通过总线通信,也可以直连。图6中接收器601和发送器603可以和处理器602通过总线通信,也可以直连。
[0215] 图7为本申请实施例提供的一种网络系统700的结构图。网络系统700包括控制设备702、验证设备706和多个中间网络设备。所述多个中间网络设备是两个或两个以上中间网络设备,图7中以所述多个中间网络设备是中间网络设备703、704和705为例。控制设备702经由包括所述多个中间网络设备的路径与验证设备706通信,控制设备702经由所述路径发送的数据报文可以被验证设备706用于进行路径验证。控制设备702可以是图1所示控制设备102,验证设备706可以是图1所示验证设备106,中间网络设备703、704和705可以分别是图1所示中间网络设备103、104和105。网络系统700还可以包括控制器708,控制器708可以与控制设备702、所述多个中间网络设备、验证设备706进行通信,控制器708可以是图1所示控制器108。
[0216] 控制设备702,用于(具体可参照S201中控制设备102执行的功能):
[0217] 获得第一序号标记序列和第一位置标记序列,所述第一序号标记序列包括顺序排列的多个序号标记,所述第一序号标记序列中第一个序号标记至最后一个序号标记分别记录了可用序号序列中的第一个序号至最后一个序号是否已被标记,所述可用序号序列中的序号按照大小进行顺序排列,所述可用序号序列中的序号包括所述多个中间网络设备的序号,所述第一位置标记序列包括顺序排列的多个位置标记,所述第一位置标记序列中第一个位置标记至最后一个位置标记分别记录了位置序号序列中的第一个序号至最后一个序号是否已被标记,所述位置序号序列包括所述多个中间网络设备的序号和伪设备的序号,所述位置序号序列中按照所述多个中间网络设备在所述路径上沿从控制设备702到验证设备706的方向的先后顺序排列所述多个中间网络设备的序号,所述第一位置标记序列中记录所述伪设备的序号已被标记;
[0218] 根据所述位置序号序列获得第一累加值和验证值;
[0219] 向第一网络设备(例如图7中中间网络设备703)发送第一数据报文,所述第一网络设备是在所述路径上沿从控制设备702到验证设备706的方向所述多个中间网络设备中第一个中间网络设备,所述第一数据报文的报文头中包括所述第一序号标记序列、所述第一位置标记序列、所述第一累加值和所述验证值。
[0220] 所述多个中间网络设备中的每一个中间网络设备(例如图7中中间网络设备703、704或705),用于(具体可参照S202、S203和S204中中间网络设备103、104和105执行的功能):
[0221] 接收上游设备发送的第二数据报文,所述上游设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述每一个中间网络设备的上一个设备(例如当所述每一个中间网络设备分别是中间网络设备703、704和705时,上游设备分别是控制设备702、中间网络设备703和中间网络设备704),所述第二数据报文的报文头中包括第二序号标记序列、第二位置标记序列、第二累加值和所述验证值,所述第二序号标记序列包括顺序排列的多个序号标记,所述第二序号标记序列中第一个序号标记至最后一个序号标记分别记录了所述可用序号序列中的第一个序号至最后一个序号是否已被标记,所述第二位置标记序列包括顺序排列的多个位置标记,所述第二位置标记序列中第一个位置标记至最后一个位置标记分别记录了所述位置序号序列中的第一个序号至最后一个序号是否已被标记;
[0222] 获得第三数据报文,所述第三数据报文的报文头中包括第三序号标记序列、第三位置标记序列、第三累加值和所述验证值,其中所述第三累加值根据所述第二序号标记序列、所述第二位置标记序列和所述第二累加值来获得,所述第三序号标记序列通过在所述第二序号标记序列中记录所述每一个中间网络设备的序号已被标记来获得,所述第三位置标记序列通过在所述第二位置标记序列中记录所述每一个中间网络设备的序号已被标记来获得(例如当所述每一个中间网络设备分别是中间网络设备703、704和705时,假设中间网络设备703、704和705的序号分别是2、3和1,第三序号标记序列分别通过在第二序号标记序列中记录序号2、3和1已被标记来获得,第三位置标记序列分别通过在第二位置标记序列中记录序号2、3和1已被标记来获得);
[0223] 向下游设备发送所述第三数据报文,所述下游设备是在所述路径上沿从所述控制设备到所述验证设备的方向所述每一个中间网络设备的下一个设备(例如当所述每一个中间网络设备分别是中间网络设备703、704和705时,下游设备分别是中间网络设备704、中间网络设备705和验证设备706)。
[0224] 验证设备706,用于(具体可参照S205中验证设备106执行的功能):
[0225] 接收第二网络设备(例如图7中中间网络设备705)发送的第四数据报文,所述第二网络设备是在所述路径上沿从控制设备702到验证设备706的方向所述多个中间网络设备中最后一个中间网络设备,所述第四数据报文的报文头中包括第四累加值和所述验证值;
[0226] 根据所述第四累加值和所述验证值进行路径验证。
[0227] 可选地,所述可用序号序列中的序号按照从小到大的顺序排列,所述验证值通过对全序号累加值进行加密获得,控制设备702根据所述位置序号序列使用以下公式获得所述第一累加值和所述全序号累加值:
[0228]
[0229]
[0230]
[0231]
[0232] 其中,c是所述全序号累加值,si和sj分别是所述位置序号序列中第i个和第j个序号,n是所述位置序号序列的长度,μ是模质数;cf是所述第一累加值,If是所述位置序号序列中所有伪设备的序号的排序值的集合;
[0233] 所述每一个中间网络设备根据所述第二序号标记序列、所述第二位置标记序列和所述第二累加值使用以下公式获得所述第三累加值:
[0234] ck=(cm+p×(n-a)!)%μ;
[0235] 其中,ck是所述第三累加值,cm是所述第二累加值,p是所述第二序号标记序列中当前序号标记之前的并且记录所述可用序号序列中的序号未被标记的序号标记的数量,所述当前序号标记是所述第二序号标记序列中记录所述每一个中间网络设备的序号是否已被标记的序号标记,a是所述第二位置标记序列中当前位置标记的排序值,所述当前位置标记是所述第二位置标记序列中第一个记录位置序号序列中的序号未被标记的位置标记;
[0236] 根据所述第四累加值和所述验证值进行路径验证(具体可参照S205中验证设备106执行的功能)包括:确定对所述验证值进行解密获得的解密值是否与所述第四累加值相等,或确定对所述第四累加值进行加密获得的加密值是否与所述验证值相等。
[0237] 本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
[0238] 本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0239] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0240] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0241] 本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
[0242] 应理解,在本申请的各种实施例中,上述各方法的序号的大小并不意味着执行顺序的先后,各方法的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。