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

文档序号:9648896阅读:1152来源:国知局
处理报文的方法、网卡及系统、更新信息的方法及主机的制作方法
【技术领域】
[0001]本发明涉及计算机领域,特别涉及一种处理报文的方法、网卡及系统、更新信息的方法及主机。
【背景技术】
[0002]网卡是配置在主机中的一种物理硬件,网卡接收其他主机发送的报文并上送给主机,主机对该报文进行处理。为了提高主机的可靠性,可以配置两个或两个以上的网卡在主机中,这样,即使一个网卡发生故障,也可以由剩余网卡中的一个网卡接替已发生故障的网卡,不会影响主机对其他主机发送的报文进行处理。
[0003]随着主机需要处理的报文越来越多,目前出现了具有卸载功能的网卡,对报文实现硬件卸载。如果具有卸载功能的网卡配置为主机所属的网卡,则原本需要主机处理的报文中的部分报文可以由具有卸载功能的网卡进行处理,因此,主机的工作量减少,性能提高。然而,存在多个具有卸载功能的网卡的情况下,针对每个会话会分配一个网卡与之对应,且该网卡会生成并记录该会话的报文的上下文用于卸载处理,如果由于交换机故障或者其他原因导致该会话的报文发送至其他网卡中,其他网卡无法进行卸载工作。

【发明内容】

[0004]本发明实施例提供一种处理报文的方法、网卡及系统、更新信息的方法及主机,用于解决现有技术中存在的配置为主机所属的网卡中具有卸载功能的网卡与交换机之间的链路发生故障后,另一具有卸载功能的网卡无法对接收到的报文进行处理的问题。
[0005]本发明实施例第一方面提供了一种处理报文的方法,应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,所述方法包括:
[0006]所述第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
[0007]所述第一主机确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
[0008]所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
[0009]所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
[0010]第二网卡根据参考信息,确定会话的目的网卡的标识为所述第二网卡的标识时,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡与交换机之间的链路发生故障,第二网卡能够获得参考信息,且会话的目的网卡的标识已更新为第二网卡的标识,所以第二网卡能够对接收到的报文进行处理。
[0011]结合第一方面,在第一方面的第一种可能的实现方式中,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
[0012]所述第二网卡丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;
[0013]所述第二网卡将统计出的被所述第二网卡丢弃的所述会话的报文的数量发送给所述第一主机;
[0014]所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
[0015]在第一方面的第一种可能的实现方式中,第一主机借助于第二网卡确定会话的目的网卡的标识需要更新,具体地,第二网卡丢弃接收到的所述会话的报文,并统计被第二网卡丢弃的所述会话的报文的数量,将统计出的被第二网卡丢弃的所述会话的报文的数量发送给第二主机,然后第一主机判断第二网卡统计出的数量是否大于预定阈值,如果大于预定阈值,则确定所述会话的目的网卡的标识需要更新。
[0016]结合第一方面,在第一方面的第二种可能的实现方式中,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
[0017]所述第二网卡丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;
[0018]所述第二网卡确定统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,向所述第一主机发送通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
[0019]在第一方面的第二种可能的实现方式中,第一主机借助于第二网卡确定会话的目的网卡的标识需要更新,与第一方面的第一种可能的实现方式不同的是,由第二网卡判断第二网卡统计出的数量是否大于预定阈值,如果大于预定阈值,则通知第一主机所述会话的目的网卡的标识需要更新。
[0020]结合第一方面,在第一方面的第三种可能的实现方式中,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
[0021]所述第二网卡将接收到的所述会话的报文添加到所述第一主机的转发队列中;
[0022]所述第一主机统计所述转发队列中所述会话的报文的数量;
[0023]当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
[0024]在第一方面的第三种可能的实现方式中,第一主机自己确定会话的目的网卡的标识需要更新,与第一方面的第一种可能的实现方式和第一方面的第二种可能的实现方式不同的是,第二网卡将接收到的所述会话的报文发送给第一主机的转发队列,第一主机判断转发队列中所述会话的报文的数量是否大于预定阈值,如果大于预定阈值,则确定所述会话的目的网卡的标识需要更新。
[0025]结合第一方面的第三种可能的实现方式中,在第一方面的第四种可能的实现方式中,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息后,所述方法还包括:
[0026]所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
[0027]在第一方面的第四种可能的实现方式中,第一主机设置有转发队列,由于更新后的会话的目的网卡的标识与第二网卡的标识相同,所以将转发队列中的所述会话的报文发送给第二网卡,以便第二网卡能够及时处理所述会话的报文。
[0028]结合第一方面至第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息前,所述方法还包括:
[0029]所述第一网卡将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
[0030]所述第一主机存储更新后的所述会话的目的网卡的标识和所述参考信息;所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息,包括:
[0031]所述第二网卡读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
[0032]在第一方面的第五种可能的实现方式中,第二网卡主动地获取所述会话的更新后的所述会话的目的网卡的标识和所述参考信息。第一网卡将更新后的所述会话的目的网卡的标识和参考信息先发送给第一主机,然后第二网卡从第一主机中读取第一网卡发送的内容。
[0033]结合第一方面至第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息前,所述方法还包括:
[0034]所述第一主机从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息;
[0035]所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息,包括:
[0036]所述第二网卡接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
[0037]在第一方面的第六种可能的实现方式中,第二网卡被动地接收所述会话的更新后的所述会话的目的网卡的标识和所述参考信息。第一网卡将更新后的所述会话的目的网卡的标识和参考信息先发送给第一主机,然后第一主机向第二网卡写入第一网卡发送的内容。
[0038]本发明实施例第二方面提供了一种处理报文的系统,所述系统包括:
[0039]第一主机、第一网卡和第二网卡;
[0040]其中,所述第一网卡用于:接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
[0041]所述第一主机用于:确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
[0042]所述第二网卡用于:获得更新后的所述会话的目的网卡的标识和所述参考信息。
[0043]结合第二方面,在第二方面的第一种可能的实现方式中,所述第二网卡还用于:
[0044]丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;将统计出的被所述第二网卡丢弃的所述会话的报文的数量发送给所述第一主机;
[0045]所述第一主机还用于:确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
[0046]结合第二方面,在第二方面的第二种可能的实现方式中,所述第二网卡用于:
[0047]丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;确定统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,向所述第一主机发送通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
[0048]结合第二方面,在第二方面的第三种可能的实现方式中,所述第二网卡还用于:
[0049]将接收到的所述会话的报文添加到所述第一主机的转发队列中;
[0050]所述第一主机还用于:统计所述转发队列中所述会话的报文的数量;当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
[0051]结合第二方面的第三种可能的实现方式中,在第二方面的第四种可能的实现方式中,所述第一主机还用于:
[0052]将所述转发队列中所述会话的报文发送给所述第二网卡。
[0053]结合第二方面至第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一网卡还用于:
[0054]将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
[0055]所述第一主机还用于:存储更新后的所述会话的目的网卡的标识和所述参考信息;
[0056]所述第二网卡还用于:接收所述会话的报文;读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
[0057]结合第二方面至第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第一主机还用于:
[0058]从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息;
[0059]所述第二网卡还用
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1