处理报文的方法、网卡及系统、更新信息的方法及主机的制作方法_3

文档序号:9648896阅读:来源:国知局
换机和第二主机之间有通信网络,或者交换网络。对第二主机所配置的物理硬件不做限制,只要能够通过交换机与第一主机建立物理连接即可,第二主机中可以配置任意数量的具有卸载功能的网卡,也可以配置任意数量的不具有卸载功能的网卡。
[0113]请参考图2,本发明实施例提供的报文处理的方法包括:
[0114]步骤21:所述第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
[0115]步骤22:所述第一主机确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
[0116]步骤23:所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
[0117]步骤24:所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
[0118]本发明实施例中,第一主机配置有存储器,用于存储第一主机与第二主机之间已建立的会话的目的网卡的标识。第一网卡配置有第一缓存器,第二网卡配置有第二缓存器,第一网卡和第二网卡均可以读取第一主机的存储器中存储的所述会话的目的网卡的标识,并分别存储到第一缓存器中和第二缓存器中。
[0119]此外,第一网卡和第二网卡中具有的标识与目的网卡的标识相同的网卡,具有对接收到的所述会话的报文进行处理的权限,在网卡根据所述会话的已处理的报文,生成在处理所述会话的其他报文时所依据的参考信息并存储到自身的缓存器中后,还具有将缓存器中存储的最新的上下文同步到第一主机的存储器中的权限,而第一网卡和第二网卡中具有的标识与目的网卡的标识不同的网卡,不具有上述两种权限。
[0120]当所述会话的目的网卡的标识为第一网卡的标识,且第一网卡与交换机之间的链路正常时,交换机接收到第二主机发送给第一主机的所述会话的报文后,会转发给第一网卡,这样,第一网卡就接收到了所述会话的报文。以下将第一网卡接收到的所述会话的报文称为所述会话的第一报文。
[0121]第一主机可以将存储器中存储的所述会话的目的网卡的标识发给第一网卡,以便于第一网卡确定所述会话的目的网卡的标识是否为第一网卡的标识。此外,第一网卡在接收所述会话的第一报文后,还可以执行以下步骤:
[0122]所述第一网卡读取所述第一主机存储的所述会话的目的网卡的标识。
[0123]也就是说,除第一主机主动将所述会话的目的网卡的标识发送给第一网卡外,还可以是第一网卡在接收到所述会话的第一报文后,主动地从第一主机的存储器中读取所述会话的目的网卡的标识。
[0124]然后第一网卡确定所述会话的目的网卡的标识是否为第一网卡的标识,如果是,则对接收到的所述会话的第一报文进行处理。接着根据所述会话的已处理的第一报文,生成处理所述会话的其他报文时所依据的参考信息,并存储到自身的缓存器中,然后将自身的缓存器中存储的参考信息同步到第一主机的存储器中。
[0125]当所述会话的目的网卡的标识为第一网卡的标识,且第一网卡与交换机之间的链路发生故障时,交换机接收到第二主机发送给第一主机的所述会话的报文后,会转发给第二网卡,这样,第二网卡就接收到了所述会话的报文。
[0126]与第一网卡确定所述会话的目的网卡的标识是否为第一网卡的目的标识类似,第一主机可以将存储器中存储的所述会话的目的网卡的标识发给第二网卡,以便于第二网卡确定所述会话的目的网卡的标识是否为第二网卡的标识。还可以是第二网卡执行以下步骤:
[0127]所述第二网卡接收对应所述会话的报文;
[0128]所述第二网卡读取所述第一主机存储的所述会话的目的网卡的标识。
[0129]也就是说,除第一主机主动将所述会话的目的网卡的标识发送给第二网卡外,还可以是第一网卡在接收到所述会话的其他报文后,主动地从第一主机的存储器中读取所述会话的目的网卡的标识。
[0130]然后第二网卡确定所述会话的目的网卡的标识是否为第二网卡的标识,如果否,则执行以下步骤:
[0131]所述第二网卡在确定所述会话的目的网卡的标识与所述第二网卡的标识不同时,丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;所述第二网卡将统计出的数量发送给所述第一主机。
[0132]或者执行以下步骤:
[0133]所述第二网卡在确定所述会话的目的网卡的标识与所述第二网卡的标识不同时,丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;所述第二网卡确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,向所述第一主机发送通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
[0134]或者执行以下步骤:
[0135]所述第二网卡在确定所述会话的目的网卡的标识与所述第二网卡的标识不同时,将接收到的所述会话的报文添加到所述第一主机的转发队列中。
[0136]由于所述会话的目的网卡的标识不为第二网卡的标识,所以第二网卡不具有对接收到的所述会话的报文进行处理的权限。第二网卡在接收到所述会话的报文后,可以丢弃接收到的所述会话的报文,并统计被第二网卡丢弃的所述会话的报文的数量,将统计出的数量发送给第一主机,或者第二网卡将统计出的数量与预定阈值比较,如果统计出的数量大于预定阈值,则通知第一主机所述会话的目的网卡的标识需要更新。如果第一主机中设置有转发队列,则第二网卡还可以将接收到的所述会话的报文添加到第一主机的转发队列中。
[0137]相应地,第一主机可以执行以下步骤:
[0138]所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
[0139]或者第一主机可以执行以下步骤:
[0140]所述第一主机统计所述转发队列中所述会话的报文的数量;
[0141]当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
[0142]或者第一主机可以执行以下步骤:
[0143]所述第一主机接收所述第二网卡发送的通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
[0144]第一主机将第二网卡发送的统计出的数量或者转发队列中所述会话的报文的数量与预定阈值比较,如果统计出的数量大于预定阈值,或者转发队列中对应所述会话的报文的数量大于预定阈值,或者第一主机接收到第二网卡发送的用于通知所述第一主机所述会话的目的网卡的标识需要更新的通知消息,则第一主机确定所述会话的目的网卡的标识需要更新。接着第一主机执行步骤22。
[0145]在第一主机确定交换机向第二网卡发送的所述会话的报文的数量大于预定阈值时,第一主机确定第一网卡与交换机之间的链路发生故障,此时,需要将所述会话的目的网卡的标识更新为第二网卡的标识,即赋予第二网卡对接收到的对应所述会话的报文进行处理的权限,以便于第二网卡在确定所述会话的更新后的目的网卡的标识为第二网卡的标识时,对接收到的所述会话的报文进行处理。
[0146]然而,第二网卡仅具有对接收到的所述会话的报文进行处理的权限,还不能够对接收到的所述会话的报文进行处理,因为第二网卡的缓存器中没有缓存处理所述会话的其他报文时所依据的参考信息,该参考信息是第一网卡生成的,缓存在第一网卡的缓存器中。
[0147]为了保证第二网卡能够对接收到的所述会话的报文进行处理,系统需要执行步骤22-步骤24。首先,第一主机向第一网卡发送更新消息,指示第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识。
[0148]第一网卡在接收到第一主机发送的更新消息后,首先,将所述会话的目的网卡的标识更新为第二网卡的标识,然后,第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
[0149]第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息有多种【具体实施方式】,在此以以下两种【具体实施方式】为例进行说明:
[0150]在第一种【具体实施方式】被执行之前,还包括以下步骤:
[0151]所述第一网卡将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
[0152]所述第一主机存储更新后的所述会话的目的网卡的标识和所述参考信息;
[0153]所述第二网卡接收所述会话的报文。
[0154]相应地,第一种【具体实施方式】包括以下步骤:
[0155]所述第二网卡读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
[0156]在第一种【具体实施方式】中,第一网卡将更新后的所述会话的目的网卡的标识和参考信息发送给第一主机,第一主机的存储器存储接收到的更新后的所述会话的目的网卡的标识和参考信息。如果第二网卡接收到所述会话的报文,则第二网卡可以从第一主机的存储器中读取更新后的所述会话的的目的网卡的标识和参考信息。
[0157]在第二种【具体实施方式】被执行之前,还包括以下步骤:
[0158]所述第一主机从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息。
[0159]相应地,第二种【具体实施方式】包括以下步骤:
[0160]所述第二网卡接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
[0161]第二种实施方式适用于第一主机与第一网卡以及第二网卡之间的数据存储不是存储器与缓存器的场景。第一主机从第一网卡中读取更新后的所述会话的目的网卡的标识和参考信息,然后第一主机将读取到的更新后的所述会话的目的网卡的标识和参考信息写入第二网卡。
[0162]无论是通过上述哪种实施方式,第二网卡都能够获取更新后的所述会话的目的网卡的标识和参考信息,这样,第二网卡可以执行步骤以下步骤:
[0163]所述第二网卡接收会话的报文,确定所述会话的目的网卡的标识为所述第二网卡的标识,依据所述参考信息,对接收到的所述会话的报文进行处理。
[0164]由于更新后的所述会话的目的网卡的标识为第二网卡的标识,并且所述第二网卡获取到参考信息,所以第二网卡能够对接收到的所述会话的报文进行处理。
[0165]其中,第二网卡接收到所述会话的报文可以是:在第二网卡确定所述会话的目的网卡的标识不为第二网卡的标识,而为第一网卡的标识时,被第二网卡丢弃的所述会话的报文,或者存入第一主机的转发队列中的所述会话的报文。
[0166]对于被第二网卡丢弃的所述会话的报文,第二主机会重新发送给第二网卡。而对于存储第一主机的转发队列中的报文,要求第一主机执行以下步骤:
[0167]所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
[016
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1