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

文档序号:9648896阅读:来源:国知局
于:接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
[0060]本发明实施例第三方面提供了一种处理报文的方法,所述方法包括:
[0061]第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
[0062]所述第一网卡接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
[0063]所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
[0064]本发明实施例第四方面提供了一种第一网卡,所述第一网卡包括:
[0065]处理器、存储器、接收器,所述处理器与所述存储器和接收器均通过总线连接,所述存储器用于存储所述处理器执行的程序代码;
[0066]所述接收器用于:接收会话的第一报文;接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
[0067]所述处理器用于:确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
[0068]本发明实施例第五方面提供了一种更新信息的方法,所述方法包括:
[0069]第一主机确定会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
[0070]所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
[0071]所述第一主机将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
[0072]结合第五方面,在第五方面的第一种可能的实现方式中,所述方法还包括:
[0073]所述第一主机统计被所述第二网卡丢弃的所述会话的报文的数量;
[0074]所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
[0075]结合第五方面,在第五方面的第二种可能的实现方式中,所述方法还包括:
[0076]所述第一主机统计所述第一主机的转发队列中所述会话的报文的数量;
[0077]当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
[0078]结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,在所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息之后,所述方法还包括:
[0079]所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
[0080]本发明实施例第六方面提供了一种第一主机,所述第一主机包括:
[0081]处理器、存储器、接收器和发送器,所述处理器与所述存储器、接收器和发送器均通过总线连接,所述存储器用于存储所述处理器执行的程序代码;
[0082]所述处理器用于:确定会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
[0083]所述接收器用于:接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
[0084]所述发送器用于:将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
[0085]结合第六方面,在第六方面的第一种可能的实现方式中,所述处理器还用于:
[0086]统计被所述第二网卡丢弃的对应所述会话的其他报文的数量;
[0087]当所述统计出的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
[0088]结合第六方面,在第六方面的第二种可能的实现方式中,所述处理器还用于:
[0089]统计所述第一主机的转发队列中所述会话的报文的数量;
[0090]当所述转发队列中所述会话的报文的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
[0091]结合第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述发送器还用于:
[0092]将所述转发队列中所述会话的报文发送给所述第二网卡。
[0093]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0094]本发明实施例中,第一网卡接收会话的第一报文,确定会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;然后在将所述会话的目的网卡的标识更新为第二网卡的标识之后,第二网卡获得更新后的所述会话的目的网卡标识和参考信息,这样,第二网卡根据参考信息,确定会话的目的网卡的标识为所述第二网卡的标识时,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡与交换机之间的链路发生故障,第二网卡能够获得参考信息,且会话的目的网卡的标识已更新为第二网卡的标识,所以第二网卡能够对接收到的报文进行处理。
【附图说明】
[0095]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0096]图1为本发明实施例提供的一种处理报文的系统的结构示意图;
[0097]图2为本发明实施例提供的系统执行处理报文的方法的信息交互示意图;
[0098]图3为本发明实施例提供的第一网卡执行处理报文的方法的流程图;
[0099]图4为本发明实施例提供的第一网卡的结构示意图;
[0100]图5为本发明实施例提供的第一主机执行信息更新的方法的流程图;
[0101]图6为本发明实施例提供的第一主机的结构示意图。
【具体实施方式】
[0102]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0103]未经特别说明,本发明实施例提到的网卡都是具有卸载功能的网卡。通常在网卡上实现硬件卸载的报文遵循的协议有:TCP(中文:传输控制协议;英文transmiss1nControl Protocol)、iSCSI (中文:互联网小型计算机系统接口 ;英文:Internet SmallComputer System Interface)协议、FCoE (中文:以太网光纤通道;英文:Fibre Channelover Ethernet)协议等。
[0104]上述协议都是有状态的协议,如果报文遵循的协议是有状态的协议,则报文之间有依赖关系,上下文用于记录报文之间的依赖关系,网卡依据上下文对报文进行处理。由于原始报文经网卡处理后变为已处理的报文,所以报文之间的依赖关系相应地发生改变,因此,网卡每次对报文进行处理之后,上下文都会相应地发生改变。网卡需要依据最新的上下文对报文进行处理,如果依据的上下文不是最新的,则网卡不能对报文进行正确地处理。本发明实施例中的上下文包括处理报文时所依据的参考信息和目的网卡的标识。
[0105]卸载分为全卸载和半卸载。对于全卸载,完全由网卡对报文进行处理,主机不参与报文处理,因此,网卡在处理第一个报文时,没有最新的上下文可以依据,网卡处理完第一个报文之后,根据已处理的第一个报文,生成最新的上下文,网卡依据生成的最新的上下文,处理第一个报文之后的其他报文。
[0106]对于半卸载,主机首先处理一部分简单的报文,然后将剩余一部分复杂的报文卸载到网卡上,由网卡对剩余一部分复杂的报文进行处理。因此,主机首先处理所述一部分简单的报文,然后已处理的所述一部分简单的报文,生成最新的上下文,并发送给网卡,同时将所述剩余一部分复杂的报文发送给网卡,网卡在处理所述剩余一部分复杂的报文中的第一个报文时,依据主机发送的最新的上下文,对所述剩余一部分复杂的报文中的第一个报文进行处理,网卡处理完所述剩余一部分复杂的报文中的第一个报文之后,根据已处理的所述剩余一部分复杂的报文中的第一个报文,生成最新的上下文,网卡依据生成的最新的上下文,处理所述剩余一部分复杂的报文中的第一个报文之后的其他报文。
[0107]首先以两个具有卸载功能的网卡配置为第一主机的所属网卡为例,说明现有技术中的报文处理方法存在的技术问题。
[0108]假设第一主机与第二主机通过交换机建立物理连接,且第一主机与第二主机之间建立有会话,该会话的目的网卡为第一网卡,交换机接收到第二主机发送给第一主机的对应该会话的报文后,会转发到第一网卡。
[0109]如果对应该会话的报文全卸载,则第一网卡接收到第二主机通过交换机发送的对应该会话的第一个报文后,对接收到的报文进行处理。如果对应该会话的报文半卸载,则第一主机处理对应该会话的报文中的一部分报文后,根据已处理的报文,生成最新的上下文并发给第一网卡,第一网卡接收到第二主机通过交换机发送的对应该会话的剩余部分报文后,第一网卡依据接收到的最新的上下文,对接收到的报文进行处理。
[0110]无论是全卸载还是半卸载,第一网卡对接收到的报文进行处理后,依据处理后的报文,生成最新的上下文,以便接收到第二主机通过交换机发送的对应该会话的其他报文后,依据最新的上下文,对对应该会话的其他报文进行处理。当第一网卡发生故障时,交换机接收第二主机发送给第一主机的报文后,会转发到第二网卡,由于最新的上下文是第一网卡生成的,缓存在第一网卡中,所以第二网卡中没有最新的上下文,导致第二网卡无法对接收到的报文进行处理。
[0111]面对上述技术问题,本发明实施例提供了一种报文处理的方法,该方法适用于一种处理报文的系统。如图1所示,该系统包括:第一主机、第一网卡和第二网卡,所述第一网卡和所述第二网卡配置为所述第一主机所属的网卡,所述第一网卡和所述第二网卡均具有卸载功能。当然,配置为所述第一主机所属的网卡的具有卸载功能的网卡的数量也可以是两个以上,本发明实施例以配置为所述第一主机所属的具有卸载功能的网卡的数量是两个为例进行说明。
[0112]其中,第一主机通过交换机与第二主机建立物理连接,交
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1