基于网络参数的完整性校验和选择性去重复的制作方法

文档序号:9292035阅读:299来源:国知局
基于网络参数的完整性校验和选择性去重复的制作方法
【技术领域】
[0001] 本发明涉及用于管理通信流量的数据处理方法和系统,更具体来说,涉及对消息 包流进行完整性校验和选择性去重复的技术。
【背景技术】
[0002] 加密哈希函数是这样一种算法,其以任意数据块作为输入,生成并返回哈希摘要 (也称"哈希值"、"加密哈希值"、或"摘要")。哈希摘要(hashdigest)是一个固定大小的 位串。加密哈希函数产生哈希摘要,以致对输入数据的意外的或有意的改变将以非常高的 概率改变哈希摘要。此外,加密哈希函数是一个雪崩函数(avalanchefunction),因为函数 输入的相当小的差异(例如,即使是一位的差异)都导致相当大的(即,高度非线性的)摘 要差异。加密哈希函数包括安全哈希算法(SecureHashAlgorithm或SHA)函数和消息摘 要(MessageDigest或MD)函数。表1包含了加密哈希函数和它们各自的哈希摘要的大小 的例子。
[0003]表1
[0004]
[0005]
[0006] 网络通信设备用通信协议从发送网络设备(即发送端)向接收网络设备(即接收 器或接收方)发送通信(即数据)包。按照已知的通信协议,诸如传输控制协议/网间协议 (TCP/IP),光纤通道以太网(FCoE)、小型计算机系统接口(SCSI)、InternetSCSI(iSCSI), 串行连接SCSI(SAS)、InfiniBand、以及以太网通信软件包包含用于元数据和有效载荷数据 的字段。元数据和有效载荷数据字段由按照开放系统互连(0SI)网络分层模型的协议标准 定义。某些元数据字段用于存储有效载荷数据的校验和(checksum),其允许执行完整性校 验。发送网络设备计算校验和并把它添加到元数据,并将有效载荷数据和包含校验和的元 数据发送到接收网络设备。接收网络设接收有效载荷数据和包含校验和的元数据后,计算 接收到的有效载荷数据的校验和,并比较计算结果与接收到的元数据中包含的校验和,以 保证数据的完整性(integrity)。已知的校验和基于的是诸如循环冗余校验(CRC)的循环 码(cycliccodes)〇

【发明内容】

[0007] 在第一实施例中,本发明提供一种管理数据包的方法。该方法包含第一计算机确 定网络的利用率大于网络利用率阈值。该网络包括第一计算机和第二计算机。该方法进一 步包含根据该网络的利用率大于网络利用率阈值,第一计算机进入去重复模式,随后执行 去重复模式中的步骤。去重复模式中的步骤包含第一计算机向第二计算机发送第一计算机 已进入去重复模式的通知。去重复模式中的步骤进一步包含第一计算机判定第一计算机中 包含的中央处理单元(CPU)的利用率是否大于CPU利用率阈值。去重复模式中的步骤进一 步包含,如果该CPU的利用率大于CPU利用率阈值,第一计算机选择第一哈希函数而非第二 哈希函数。去重复模式中的步骤进一步包含,如果该CPU的利用率小于或等于CPU利用率 阈值,则选择第二哈希函数而非第一哈希函数。去重复模式中的步骤进一步包含,第一计算 机利用所选择的第一或第二哈希函数来确定该数据包的哈希摘要。去重复模式中的步骤进 一步包含,第一计算机判定该哈希摘要是否在与第一计算机耦合的发送方哈希表中。去重 复模式中的步骤进一步包含,如果该哈希摘要在该发送方哈希表中,则第一计算机不是向 第二计算机发送该数据包,而是向第二计算机发送该哈希摘要、针对发送方哈希表中的和 与第二计算机耦合的接收方哈希表中的哈希摘要的索引、以及一可选地一所选择的第一或 第二哈希函数的标识符。去重复模式中的步骤进一步包含,如果该哈希摘要不在发送方哈 希表中,贝第一计算机把该数据包和该哈希摘要添加到发送方哈希表,并向第二计算机发 送该数据包、该哈希摘要、以及所选择的第一或第二哈希函数的标识符,以便根据该哈希摘 要确定该数据包是否具有完整性。
[0008] 在第二实施例中,本发明提供第一计算机系统,包含:中央处理单元(CPU);耦合 到CPU的存储器;计算机可读的、耦合到CPU的有形存储设备,该存储设备含有通过存储器 由CPU执行的、实现一种管理数据包的方法的指令。该方法包含:第一计算机系统确定网 络的利用率大于网络利用率阈值,该网络包括第一计算机系统和第二计算机系统。该方法 进一步包含:根据该网络的利用率大于网络利用率阈值,第一计算机系统进入去重复模式, 随后执行去重复模式中的步骤。去重复模式中的步骤包含:第一计算机系统向第二计算机 系统发送第一计算机系统已进入去重复模式的通知。去重复模式中的步骤进一步包含:第 一计算机系统判定第一计算机系统中包含的CPU的利用率是否大于CPU利用率阈值。去重 复模式中的步骤进一步包含:如果该CPU的利用率大于CPU利用率阈值,第一计算机系统 选择第一哈希函数而非第二哈希函数。去重复模式中的步骤进一步包含:如果该CPU的利 用率小于或等于CPU利用率阈值,第一计算机选择第二哈希函数而非第一哈希函数。去重 复模式中的步骤进一步包含:第一计算机系统利用所选择的第一或第二哈希函数来确定该 数据包的哈希摘要。去重复模式中的步骤进一步包含:第一计算机系统判定该哈希摘要是 否在与第一计算机系统耦合的发送方哈希表中。去重复模式中的步骤进一步包含:如果该 哈希摘要在该发送方哈希表中,则第一计算机系统不是向第二计算机系统发送该数据包, 而是向第二计算机系统发送该哈希摘要、针对发送方哈希表中的和与第二计算机系统耦合 的接收方哈希表中的哈希摘要的索引、以及一可选地一所选择的第一或第二哈希函数的标 识符。去重复模式中的步骤进一步包含:如果该哈希摘要不在发送方哈希表中,则第一计 算机系统把该数据包和该哈希摘要添加到发送方哈希表,并向第二计算机系统发送该数据 包、该哈希摘要、以及所选择的第一或第二哈希函数的标识符,以便根据该哈希摘要确定该 数据包是否具有完整性。
[0009] 在第三实施例中,本发明提供一种计算机程序产品,包含计算机可读的有形存储 设备存储在该计算机可读的有形存储设备中的计算机可读的程序代码。计算机可读的程序 代码含有由第一计算机系统的CPU执行以实现管理数据包的方法的指令。该方法包含:第 一计算机系统确定网络的利用率大于网络利用率阈值,该网络包括第一计算机系统和第二 计算机系统。该方法进一步包含:根据该网络的利用率大于网络利用率阈值,第一计算机系 统进入去重复模式,随后执行去重复模式中的步骤。去重复模式中的步骤包含:第一计算机 系统向第二计算机系统发送第一计算机系统已进入去重复模式的通知。去重复模式中的步 骤进一步包含:第一计算机系统判定第一计算机系统中包含的CPU的利用率是否大于CPU 利用率阈值。去重复模式中的步骤进一步包含:如果该CPU的利用率大于CPU利用率阈值, 第一计算机系统选择第一哈希函数而非第二哈希函数。去重复模式中的步骤进一步包含: 如果该CPU的利用率小于或等于CPU利用率阈值,第一计算机选择第二哈希函数而非第一 哈希函数。去重复模式中的步骤进一步包含:第一计算机系统利用所选择的第一或第二哈 希函数来确定该数据包的哈希摘要。去重复模式中的步骤进一步包含:第一计算机系统判 定该哈希摘要是否在与第一计算机系统耦合的发送方哈希表中。去重复模式中的步骤进一 步包含:如果该哈希摘要在该发送方哈希表中,则第一计算机系统不是向第二计算机系统 发送该数据包,而是向第二计算机系统发送该哈希摘要、针对发送方哈希表中的和与第二 计算机系统耦合的接收方哈希表中的哈希摘要的索引、以及一可选地一所选择的第一或第 二哈希函数的标识符。去重复模式中的步骤进一步包含:如果该哈希摘要不在发送方哈希 表中,贝第一计算机系统把该数据包和该哈希摘要添加到发送方哈希表,并向第二计算机 系统发送该数据包、该哈希摘要、以及所选择的第一或第二哈希函数的标识符,以便根据该 哈希摘要确定该数据包是否具有完整性。
[0010] 在第四实施例中,本发明提供一种用于支持计算基础设施的过程。该过程包含为 在第一计算机系统集成、托管、维护和部署计算机可读代码的至少一项而提供至少一个支 持服务。计算机可读代码中包含的指令,在被第一计算机系统的处理器执行时,执行一种管 理数据包的方法。该方法包含第一计算机系统确定网络的利用率大于网络利用率阈值。该 网络包括第一计算机系统和第二计算机系统。该方法进一步包含根据该网络的利用率大 于网络利用率阈值,第一计算机系统进入去重复模式,随后执行去重复模式中的步骤。去 重复模式中的步骤包含第一计算机系统向第二计算机系统发送第一计算机系统已进入去 重复模式的通知。去重复模式中的步骤进一步包含第一计算机系统判定第一计算机系统 中包含的CPU的利用率是否大于CPU利用率阈值。去重复模式中的步骤进一步包含,如果 该CPU的利用率大于CPU利用率阈值,第一计算机系统选择第一哈希函数而非第二哈希函 数,如果该CPU的利用率小于或等于CPU利用率阈值,则选择第二哈希函数而非第一哈希函 数。去重复模式中的步骤进一步包含第一计算机系统利用所选择的第一或第二哈希函数来 确定该数据包的哈希摘要。去重复模式中的步骤进一步包含第一计算机系统判定该哈希摘 要是否在与第一计算机系统耦合的发送方哈希表中。去重复模式中的步骤进一步包含,如 果该哈希摘要在该发送方哈希表中,则第一计算机系统不是向第二计算机系统发送该数据 包,而是向第二计算机系统发送该哈希摘要、针对发送方哈希表中的和与第二计算机系统 耦合的接收方哈希表中的哈希摘要的索引、以及一可选地一所选择的第一或第二哈希函数 的标识符。去重复模式中的步骤进一步包含,如果该哈希摘要不在发送方哈希表中,则第一 计算机系统把该数据包和该哈希摘要添加到发送方哈希表,并向第二计算机系统发送该数 据包、该哈希摘要、以及所选择的第一或第二哈希函数的标识符,以便根据该哈希摘要确定 该数据包是否具有完整性。
[0011] 在第五实施例中,本发明提供一种管理数据包的方法。该方法包含第二计算机执 行再重复(reduplication)模式中的步骤。再重复模式中的步骤是继以下情况后执行的: 确定网络的利用率大于网络利用率阈值,该网络包括第一计算机和第二计算机;第一计算 机进入去重复模式;第一计算机向第二计算机发送第一计算机已进入去重复模式的通知; 第一计算机判定第一计算机中包含的CPU的利用率是否大于CPU利用率阈值;如果该CPU 的利用率大于CPU利用率阈值,选择第一哈希函数而非第二哈希函数;如果该CPU的利用 率小于或等于CPU利用率阈值,则选择第二哈希函数而非第一哈希函数,其中,采用第一哈 希函数比采用第二哈希函数使用更少的CPU;通过利用所选择的第一或第二哈希函数确定 该数据包的哈希摘要;确定该哈希摘要在与第一计算机耦合的发送方哈希表中;和由第一 计算机向第二计算机发送该哈希摘要、针对发送方哈希表中的和与第二计算机耦合的接收 方哈希表中的哈希摘要的索引、以及所选择的第一或第二哈希函数的标识符,而不向第二 计算机发送该数据包。再重复模式中的步骤包含:根据第一计算机向第二计算机发送第一 计算机已进入去重复模式的通知,第二计算机确定没有随该哈希摘要、该索引、以及该标识 符一起收到该数据包。再重复模式中的步骤进一步包含:第二计算机接收该哈希摘要、针对 发送方哈希表中的和接收方哈希表中的哈希摘要的索引和所选择的第一或第二哈希函数 的标识符。再重复模式中的步骤进一步包含:响应于第二计算机确定没有收到该数据包并 且根据该索引,第二计算机在接收方哈希表中查找哈希摘要。再重复模式中的步骤进一步 包含:第二计算机确定在接收方哈希表中查找的哈希摘要匹配所接收的哈希摘要。再重复 模式中的步骤进一步包含:基于所查找的哈希摘要匹配所接收的哈希摘要,第二计算机从 接收方哈希表中检索与所查找的哈希摘要相关联的数据包。再重复模式中的步骤进一步包 含:基于所接收的标识符,第二计算机确定所选择的第一或第二哈希函数,并通过在所检索 的数据包上运用所选择的第一或第二哈希函数而确定新的哈希摘要。再重复模式中的步骤 进一步包含:第二计算机判定该新的哈希摘要是否匹配所接收的哈希摘要。再重复模式中 的步骤进一步包含:如果该新的哈希摘要匹配所接收到的哈希摘要,第二计算机向应用程 序传送所检索的数据包。
[0012] 在第六实施例中,本发明提供一种管理数据包的方法,该方法包含:第一计算机确 定网络的第一利用率小于或等于网络利用率阈值。该网络包括第一计算机和第二计算机。 该方法进一步包含:根据该网络的利用率小于或等于网络利用率阈值,第一计算机执行不 在去重复模式中的步骤。不在去重复模式中的步骤包括:第一计算机判定第一计算机中包 含的CPU的利用率是否大于CPU利用率阈值。不在去重复模式中的步骤包括:如果该CPU 的利用率大于CPU利用率阈值,第一计算机选择第一哈希函数而非第二哈希函数。不在去 重复模式中的步骤进一步包括:如果该CPU的利用率小于或等于CPU利用率阈值,则第一计 算机选择第二哈希函数而非第一哈希函数。不在去重复模式中的步骤进一步包括:第一计 算机利用所选择的第一或第二哈希函数来确定该数据包的哈希摘要。该方法进一步包含: 在第一计算机执行不在去重复模式中的步骤的基础上,第一计算机把该哈希摘要添加到与 第一计算机耦合的发送方哈希表,并且,第一计算机向第二计算机发送该数据包、该哈希摘 要、以及所选择的第一或第二哈希函数的标识符,以便根据该哈希摘要确定该数据包是否 具有完整性。第一计算机向第二计算机发送该数据包、该哈希摘要、以及所选择的第一或第 二哈希函数的标识符的结果包含:该数据包、该哈希摘要、以及所选择的第一或第二哈希函 数的标识符由第二计算机接收。第一计算机向第二计算机发送该数据包、该哈希摘要、以 及所选择的第一或第二哈希函数的标识符的结果进一步包含:根据所接收的所选择的第一 或第二哈希函数的标识符,通过在所接收的数据包上运用所选择的第一或第二哈希函数而 确定新的哈希函数。第一计算机向第二计算机发送该数据包、该哈希摘要、以及所选择的 第一或第二哈希函数的标识符的结果进一步包含:判定所接收的哈希摘要是否匹配新的哈 希函数,并且,如果所接收的哈希摘要匹配新的哈希函数,则第一计算机发送该数据包、该 哈希摘要、以及该标识符的结果包含确定数据包具有完整性,把数据包和哈希摘要添加到 与第二计算机耦合的接收方哈希表,以及向应用程序发送数据包,并且,如果所接收的哈希 摘要不匹配新的哈希函数,则第一计算机发送该数据包、该哈希摘要、以及该标识符的结果 包含向第一计算机通知数据包不具有完整性,并且作为响应,由第一计算机向第二计算机 重新发送数据包和哈希摘要。该方法进一步包含:在第一计算机向第二计算机发送该数据 包、该哈希摘要、以及所选择的第一或第二哈希函数的标识符的步骤后,第一计算机确定网 络的第二利用率大于网络利用率阈值。该方法进一步包含:根据该网络的利用率大于网络 利用率阈值,第一计算机进入去重复模式,随后执行去重复模式中的步骤。去重复模式中的 步骤包含:第一计算机通知第二计算机第一计算机已进入去重复模式。该方法进一步包含: 第一计算机通过利用所选择的第一或第二哈希函数来确定第二数据包的第二哈希摘要。该 方法包含:第一计算机确定第二数据包的第二哈希摘要与添加到发送方哈希表的哈希摘要 相匹配。该方法进一步包含:基于第二数据包的第二哈希摘要与添加到发送方哈希表的哈 希摘要相匹配,并且在第一计算机不向第二计算机发送该数据包的情况下,第一计算机向 第二计算机发送第二哈希摘要、针对添加到发送方哈希表的哈希摘要的索引、以及所选择 的第一或第二哈希函数的标识符。第一计算机向第二计算机发送第二哈希摘要、索引、以及 标识符的结果包含:基于第二计算机被通知第一计算机已经进入去重复模式,由第二计算 机确定没有随第二哈希摘要、该索引、以及该标识符一起收到该数据包。第一计算机向第二 计算机发送第二哈希摘要、索引、以及标识符的结果进一步包含:由第二计算机接收第二哈 希摘要、索引、以及所选择的第一或第二哈希函数的标识符。第一计算机向第二计算机发送 第二哈希摘要、索引、以及标识符的结果进一步包含:响应于确定没有收到该数据包并且根 据该索引,由第二计算机查找添加到接收方哈希表的哈希摘要。第一计算机向第二计算机 发送第二哈希摘要、索引、以及标识符的结果进一步包含:确定在接收方哈希表中查找的哈 希摘要匹配所接收的第二哈希摘要。第一计算机向第二计算机发送第二哈希摘要、索引、以
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1