CN105406989B - 处理报文的方法、网卡及系统、更新信息的方法及主机 - Google Patents
处理报文的方法、网卡及系统、更新信息的方法及主机 Download PDFInfo
- Publication number
- CN105406989B CN105406989B CN201510702561.0A CN201510702561A CN105406989B CN 105406989 B CN105406989 B CN 105406989B CN 201510702561 A CN201510702561 A CN 201510702561A CN 105406989 B CN105406989 B CN 105406989B
- Authority
- CN
- China
- Prior art keywords
- network interface
- interface card
- session
- mark
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种处理报文的方法、网卡及系统、更新信息的方法及主机,所述方法应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,第一网卡生成处理所述会话的其他报文时所依据的参考信息;然后在将所述会话的目的网卡的标识更新为第二网卡的标识之后,第二网卡获得更新后的所述会话的目的网卡标识和参考信息,这样,第二网卡根据参考信息,确定会话的目的网卡的标识为所述第二网卡的标识时,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡与交换机之间的链路发生故障,第二网卡能够获得参考信息,且会话的目的网卡的标识已更新为第二网卡的标识,所以第二网卡能够对接收到的报文进行处理。
Description
技术领域
本发明涉及计算机领域,特别涉及一种处理报文的方法、网卡及系统、更新信息的方法及主机。
背景技术
网卡是配置在主机中的一种物理硬件,网卡接收其他主机发送的报文并上送给主机,主机对该报文进行处理。为了提高主机的可靠性,可以配置两个或两个以上的网卡在主机中,这样,即使一个网卡发生故障,也可以由剩余网卡中的一个网卡接替已发生故障的网卡,不会影响主机对其他主机发送的报文进行处理。
随着主机需要处理的报文越来越多,目前出现了具有卸载功能的网卡,对报文实现硬件卸载。如果具有卸载功能的网卡配置为主机所属的网卡,则原本需要主机处理的报文中的部分报文可以由具有卸载功能的网卡进行处理,因此,主机的工作量减少,性能提高。然而,存在多个具有卸载功能的网卡的情况下,针对每个会话会分配一个网卡与之对应,且该网卡会生成并记录该会话的报文的上下文用于卸载处理,如果由于交换机故障或者其他原因导致该会话的报文发送至其他网卡中,其他网卡无法进行卸载工作。
发明内容
本发明实施例提供一种处理报文的方法、网卡及系统、更新信息的方法及主机,用于解决现有技术中存在的配置为主机所属的网卡中具有卸载功能的网卡与交换机之间的链路发生故障后,另一具有卸载功能的网卡无法对接收到的报文进行处理的问题。
本发明实施例第一方面提供了一种处理报文的方法,应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,所述方法包括:
所述第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
所述第一主机确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
第二网卡根据参考信息,确定会话的目的网卡的标识为所述第二网卡的标识时,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡与交换机之间的链路发生故障,第二网卡能够获得参考信息,且会话的目的网卡的标识已更新为第二网卡的标识,所以第二网卡能够对接收到的报文进行处理。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
所述第二网卡丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;
所述第二网卡将统计出的被所述第二网卡丢弃的所述会话的报文的数量发送给所述第一主机;
所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
在第一方面的第一种可能的实现方式中,第一主机借助于第二网卡确定会话的目的网卡的标识需要更新,具体地,第二网卡丢弃接收到的所述会话的报文,并统计被第二网卡丢弃的所述会话的报文的数量,将统计出的被第二网卡丢弃的所述会话的报文的数量发送给第二主机,然后第一主机判断第二网卡统计出的数量是否大于预定阈值,如果大于预定阈值,则确定所述会话的目的网卡的标识需要更新。
结合第一方面,在第一方面的第二种可能的实现方式中,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
所述第二网卡丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;
所述第二网卡确定统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,向所述第一主机发送通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
在第一方面的第二种可能的实现方式中,第一主机借助于第二网卡确定会话的目的网卡的标识需要更新,与第一方面的第一种可能的实现方式不同的是,由第二网卡判断第二网卡统计出的数量是否大于预定阈值,如果大于预定阈值,则通知第一主机所述会话的目的网卡的标识需要更新。
结合第一方面,在第一方面的第三种可能的实现方式中,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
所述第二网卡将接收到的所述会话的报文添加到所述第一主机的转发队列中;
所述第一主机统计所述转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
在第一方面的第三种可能的实现方式中,第一主机自己确定会话的目的网卡的标识需要更新,与第一方面的第一种可能的实现方式和第一方面的第二种可能的实现方式不同的是,第二网卡将接收到的所述会话的报文发送给第一主机的转发队列,第一主机判断转发队列中所述会话的报文的数量是否大于预定阈值,如果大于预定阈值,则确定所述会话的目的网卡的标识需要更新。
结合第一方面的第三种可能的实现方式中,在第一方面的第四种可能的实现方式中,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息后,所述方法还包括:
所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
在第一方面的第四种可能的实现方式中,第一主机设置有转发队列,由于更新后的会话的目的网卡的标识与第二网卡的标识相同,所以将转发队列中的所述会话的报文发送给第二网卡,以便第二网卡能够及时处理所述会话的报文。
结合第一方面至第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息前,所述方法还包括:
所述第一网卡将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
所述第一主机存储更新后的所述会话的目的网卡的标识和所述参考信息;所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息,包括:
所述第二网卡读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
在第一方面的第五种可能的实现方式中,第二网卡主动地获取所述会话的更新后的所述会话的目的网卡的标识和所述参考信息。第一网卡将更新后的所述会话的目的网卡的标识和参考信息先发送给第一主机,然后第二网卡从第一主机中读取第一网卡发送的内容。
结合第一方面至第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息前,所述方法还包括:
所述第一主机从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息,包括:
所述第二网卡接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
在第一方面的第六种可能的实现方式中,第二网卡被动地接收所述会话的更新后的所述会话的目的网卡的标识和所述参考信息。第一网卡将更新后的所述会话的目的网卡的标识和参考信息先发送给第一主机,然后第一主机向第二网卡写入第一网卡发送的内容。
本发明实施例第二方面提供了一种处理报文的系统,所述系统包括:
第一主机、第一网卡和第二网卡;
其中,所述第一网卡用于:接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第一主机用于:确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第二网卡用于:获得更新后的所述会话的目的网卡的标识和所述参考信息。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二网卡还用于:
丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;将统计出的被所述第二网卡丢弃的所述会话的报文的数量发送给所述第一主机;
所述第一主机还用于:确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
结合第二方面,在第二方面的第二种可能的实现方式中,所述第二网卡用于:
丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;确定统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,向所述第一主机发送通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
结合第二方面,在第二方面的第三种可能的实现方式中,所述第二网卡还用于:
将接收到的所述会话的报文添加到所述第一主机的转发队列中;
所述第一主机还用于:统计所述转发队列中所述会话的报文的数量;当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
结合第二方面的第三种可能的实现方式中,在第二方面的第四种可能的实现方式中,所述第一主机还用于:
将所述转发队列中所述会话的报文发送给所述第二网卡。
结合第二方面至第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一网卡还用于:
将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
所述第一主机还用于:存储更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡还用于:接收所述会话的报文;读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
结合第二方面至第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第一主机还用于:
从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡还用于:接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
本发明实施例第三方面提供了一种处理报文的方法,所述方法包括:
第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
所述第一网卡接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
本发明实施例第四方面提供了一种第一网卡,所述第一网卡包括:
处理器、存储器、接收器,所述处理器与所述存储器和接收器均通过总线连接,所述存储器用于存储所述处理器执行的程序代码;
所述接收器用于:接收会话的第一报文;接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述处理器用于:确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
本发明实施例第五方面提供了一种更新信息的方法,所述方法包括:
第一主机确定会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
所述第一主机将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
结合第五方面,在第五方面的第一种可能的实现方式中,所述方法还包括:
所述第一主机统计被所述第二网卡丢弃的所述会话的报文的数量;
所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
结合第五方面,在第五方面的第二种可能的实现方式中,所述方法还包括:
所述第一主机统计所述第一主机的转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,在所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息之后,所述方法还包括:
所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
本发明实施例第六方面提供了一种第一主机,所述第一主机包括:
处理器、存储器、接收器和发送器,所述处理器与所述存储器、接收器和发送器均通过总线连接,所述存储器用于存储所述处理器执行的程序代码;
所述处理器用于:确定会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述接收器用于:接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
所述发送器用于:将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
结合第六方面,在第六方面的第一种可能的实现方式中,所述处理器还用于:
统计被所述第二网卡丢弃的对应所述会话的其他报文的数量;
当所述统计出的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
结合第六方面,在第六方面的第二种可能的实现方式中,所述处理器还用于:
统计所述第一主机的转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
结合第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述发送器还用于:
将所述转发队列中所述会话的报文发送给所述第二网卡。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例中,第一网卡接收会话的第一报文,确定会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;然后在将所述会话的目的网卡的标识更新为第二网卡的标识之后,第二网卡获得更新后的所述会话的目的网卡标识和参考信息,这样,第二网卡根据参考信息,确定会话的目的网卡的标识为所述第二网卡的标识时,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡与交换机之间的链路发生故障,第二网卡能够获得参考信息,且会话的目的网卡的标识已更新为第二网卡的标识,所以第二网卡能够对接收到的报文进行处理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种处理报文的系统的结构示意图;
图2为本发明实施例提供的系统执行处理报文的方法的信息交互示意图;
图3为本发明实施例提供的第一网卡执行处理报文的方法的流程图;
图4为本发明实施例提供的第一网卡的结构示意图;
图5为本发明实施例提供的第一主机执行信息更新的方法的流程图;
图6为本发明实施例提供的第一主机的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
未经特别说明,本发明实施例提到的网卡都是具有卸载功能的网卡。通常在网卡上实现硬件卸载的报文遵循的协议有:TCP(中文:传输控制协议;英文:TransmissionControl Protocol)、iSCSI(中文:互联网小型计算机系统接口;英文:Internet SmallComputer System Interface)协议、FCoE(中文:以太网光纤通道;英文:Fibre Channelover Ethernet)协议等。
上述协议都是有状态的协议,如果报文遵循的协议是有状态的协议,则报文之间有依赖关系,上下文用于记录报文之间的依赖关系,网卡依据上下文对报文进行处理。由于原始报文经网卡处理后变为已处理的报文,所以报文之间的依赖关系相应地发生改变,因此,网卡每次对报文进行处理之后,上下文都会相应地发生改变。网卡需要依据最新的上下文对报文进行处理,如果依据的上下文不是最新的,则网卡不能对报文进行正确地处理。本发明实施例中的上下文包括处理报文时所依据的参考信息和目的网卡的标识。
卸载分为全卸载和半卸载。对于全卸载,完全由网卡对报文进行处理,主机不参与报文处理,因此,网卡在处理第一个报文时,没有最新的上下文可以依据,网卡处理完第一个报文之后,根据已处理的第一个报文,生成最新的上下文,网卡依据生成的最新的上下文,处理第一个报文之后的其他报文。
对于半卸载,主机首先处理一部分简单的报文,然后将剩余一部分复杂的报文卸载到网卡上,由网卡对剩余一部分复杂的报文进行处理。因此,主机首先处理所述一部分简单的报文,然后已处理的所述一部分简单的报文,生成最新的上下文,并发送给网卡,同时将所述剩余一部分复杂的报文发送给网卡,网卡在处理所述剩余一部分复杂的报文中的第一个报文时,依据主机发送的最新的上下文,对所述剩余一部分复杂的报文中的第一个报文进行处理,网卡处理完所述剩余一部分复杂的报文中的第一个报文之后,根据已处理的所述剩余一部分复杂的报文中的第一个报文,生成最新的上下文,网卡依据生成的最新的上下文,处理所述剩余一部分复杂的报文中的第一个报文之后的其他报文。
首先以两个具有卸载功能的网卡配置为第一主机的所属网卡为例,说明现有技术中的报文处理方法存在的技术问题。
假设第一主机与第二主机通过交换机建立物理连接,且第一主机与第二主机之间建立有会话,该会话的目的网卡为第一网卡,交换机接收到第二主机发送给第一主机的对应该会话的报文后,会转发到第一网卡。
如果对应该会话的报文全卸载,则第一网卡接收到第二主机通过交换机发送的对应该会话的第一个报文后,对接收到的报文进行处理。如果对应该会话的报文半卸载,则第一主机处理对应该会话的报文中的一部分报文后,根据已处理的报文,生成最新的上下文并发给第一网卡,第一网卡接收到第二主机通过交换机发送的对应该会话的剩余部分报文后,第一网卡依据接收到的最新的上下文,对接收到的报文进行处理。
无论是全卸载还是半卸载,第一网卡对接收到的报文进行处理后,依据处理后的报文,生成最新的上下文,以便接收到第二主机通过交换机发送的对应该会话的其他报文后,依据最新的上下文,对对应该会话的其他报文进行处理。当第一网卡发生故障时,交换机接收第二主机发送给第一主机的报文后,会转发到第二网卡,由于最新的上下文是第一网卡生成的,缓存在第一网卡中,所以第二网卡中没有最新的上下文,导致第二网卡无法对接收到的报文进行处理。
面对上述技术问题,本发明实施例提供了一种报文处理的方法,该方法适用于一种处理报文的系统。如图1所示,该系统包括:第一主机、第一网卡和第二网卡,所述第一网卡和所述第二网卡配置为所述第一主机所属的网卡,所述第一网卡和所述第二网卡均具有卸载功能。当然,配置为所述第一主机所属的网卡的具有卸载功能的网卡的数量也可以是两个以上,本发明实施例以配置为所述第一主机所属的具有卸载功能的网卡的数量是两个为例进行说明。
其中,第一主机通过交换机与第二主机建立物理连接,交换机和第二主机之间有通信网络,或者交换网络。对第二主机所配置的物理硬件不做限制,只要能够通过交换机与第一主机建立物理连接即可,第二主机中可以配置任意数量的具有卸载功能的网卡,也可以配置任意数量的不具有卸载功能的网卡。
请参考图2,本发明实施例提供的报文处理的方法包括:
步骤21:所述第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
步骤22:所述第一主机确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
步骤23:所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
步骤24:所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
本发明实施例中,第一主机配置有存储器,用于存储第一主机与第二主机之间已建立的会话的目的网卡的标识。第一网卡配置有第一缓存器,第二网卡配置有第二缓存器,第一网卡和第二网卡均可以读取第一主机的存储器中存储的所述会话的目的网卡的标识,并分别存储到第一缓存器中和第二缓存器中。
此外,第一网卡和第二网卡中具有的标识与目的网卡的标识相同的网卡,具有对接收到的所述会话的报文进行处理的权限,在网卡根据所述会话的已处理的报文,生成在处理所述会话的其他报文时所依据的参考信息并存储到自身的缓存器中后,还具有将缓存器中存储的最新的上下文同步到第一主机的存储器中的权限,而第一网卡和第二网卡中具有的标识与目的网卡的标识不同的网卡,不具有上述两种权限。
当所述会话的目的网卡的标识为第一网卡的标识,且第一网卡与交换机之间的链路正常时,交换机接收到第二主机发送给第一主机的所述会话的报文后,会转发给第一网卡,这样,第一网卡就接收到了所述会话的报文。以下将第一网卡接收到的所述会话的报文称为所述会话的第一报文。
第一主机可以将存储器中存储的所述会话的目的网卡的标识发给第一网卡,以便于第一网卡确定所述会话的目的网卡的标识是否为第一网卡的标识。此外,第一网卡在接收所述会话的第一报文后,还可以执行以下步骤:
所述第一网卡读取所述第一主机存储的所述会话的目的网卡的标识。
也就是说,除第一主机主动将所述会话的目的网卡的标识发送给第一网卡外,还可以是第一网卡在接收到所述会话的第一报文后,主动地从第一主机的存储器中读取所述会话的目的网卡的标识。
然后第一网卡确定所述会话的目的网卡的标识是否为第一网卡的标识,如果是,则对接收到的所述会话的第一报文进行处理。接着根据所述会话的已处理的第一报文,生成处理所述会话的其他报文时所依据的参考信息,并存储到自身的缓存器中,然后将自身的缓存器中存储的参考信息同步到第一主机的存储器中。
当所述会话的目的网卡的标识为第一网卡的标识,且第一网卡与交换机之间的链路发生故障时,交换机接收到第二主机发送给第一主机的所述会话的报文后,会转发给第二网卡,这样,第二网卡就接收到了所述会话的报文。
与第一网卡确定所述会话的目的网卡的标识是否为第一网卡的目的标识类似,第一主机可以将存储器中存储的所述会话的目的网卡的标识发给第二网卡,以便于第二网卡确定所述会话的目的网卡的标识是否为第二网卡的标识。还可以是第二网卡执行以下步骤:
所述第二网卡接收对应所述会话的报文;
所述第二网卡读取所述第一主机存储的所述会话的目的网卡的标识。
也就是说,除第一主机主动将所述会话的目的网卡的标识发送给第二网卡外,还可以是第一网卡在接收到所述会话的其他报文后,主动地从第一主机的存储器中读取所述会话的目的网卡的标识。
然后第二网卡确定所述会话的目的网卡的标识是否为第二网卡的标识,如果否,则执行以下步骤:
所述第二网卡在确定所述会话的目的网卡的标识与所述第二网卡的标识不同时,丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;所述第二网卡将统计出的数量发送给所述第一主机。
或者执行以下步骤:
所述第二网卡在确定所述会话的目的网卡的标识与所述第二网卡的标识不同时,丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;所述第二网卡确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,向所述第一主机发送通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
或者执行以下步骤:
所述第二网卡在确定所述会话的目的网卡的标识与所述第二网卡的标识不同时,将接收到的所述会话的报文添加到所述第一主机的转发队列中。
由于所述会话的目的网卡的标识不为第二网卡的标识,所以第二网卡不具有对接收到的所述会话的报文进行处理的权限。第二网卡在接收到所述会话的报文后,可以丢弃接收到的所述会话的报文,并统计被第二网卡丢弃的所述会话的报文的数量,将统计出的数量发送给第一主机,或者第二网卡将统计出的数量与预定阈值比较,如果统计出的数量大于预定阈值,则通知第一主机所述会话的目的网卡的标识需要更新。如果第一主机中设置有转发队列,则第二网卡还可以将接收到的所述会话的报文添加到第一主机的转发队列中。
相应地,第一主机可以执行以下步骤:
所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
或者第一主机可以执行以下步骤:
所述第一主机统计所述转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
或者第一主机可以执行以下步骤:
所述第一主机接收所述第二网卡发送的通知消息,所述通知消息用于通知所述第一主机所述会话的目的网卡的标识需要更新。
第一主机将第二网卡发送的统计出的数量或者转发队列中所述会话的报文的数量与预定阈值比较,如果统计出的数量大于预定阈值,或者转发队列中对应所述会话的报文的数量大于预定阈值,或者第一主机接收到第二网卡发送的用于通知所述第一主机所述会话的目的网卡的标识需要更新的通知消息,则第一主机确定所述会话的目的网卡的标识需要更新。接着第一主机执行步骤22。
在第一主机确定交换机向第二网卡发送的所述会话的报文的数量大于预定阈值时,第一主机确定第一网卡与交换机之间的链路发生故障,此时,需要将所述会话的目的网卡的标识更新为第二网卡的标识,即赋予第二网卡对接收到的对应所述会话的报文进行处理的权限,以便于第二网卡在确定所述会话的更新后的目的网卡的标识为第二网卡的标识时,对接收到的所述会话的报文进行处理。
然而,第二网卡仅具有对接收到的所述会话的报文进行处理的权限,还不能够对接收到的所述会话的报文进行处理,因为第二网卡的缓存器中没有缓存处理所述会话的其他报文时所依据的参考信息,该参考信息是第一网卡生成的,缓存在第一网卡的缓存器中。
为了保证第二网卡能够对接收到的所述会话的报文进行处理,系统需要执行步骤22-步骤24。首先,第一主机向第一网卡发送更新消息,指示第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识。
第一网卡在接收到第一主机发送的更新消息后,首先,将所述会话的目的网卡的标识更新为第二网卡的标识,然后,第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息有多种具体实施方式,在此以以下两种具体实施方式为例进行说明:
在第一种具体实施方式被执行之前,还包括以下步骤:
所述第一网卡将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
所述第一主机存储更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡接收所述会话的报文。
相应地,第一种具体实施方式包括以下步骤:
所述第二网卡读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
在第一种具体实施方式中,第一网卡将更新后的所述会话的目的网卡的标识和参考信息发送给第一主机,第一主机的存储器存储接收到的更新后的所述会话的目的网卡的标识和参考信息。如果第二网卡接收到所述会话的报文,则第二网卡可以从第一主机的存储器中读取更新后的所述会话的的目的网卡的标识和参考信息。
在第二种具体实施方式被执行之前,还包括以下步骤:
所述第一主机从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息。
相应地,第二种具体实施方式包括以下步骤:
所述第二网卡接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
第二种实施方式适用于第一主机与第一网卡以及第二网卡之间的数据存储不是存储器与缓存器的场景。第一主机从第一网卡中读取更新后的所述会话的目的网卡的标识和参考信息,然后第一主机将读取到的更新后的所述会话的目的网卡的标识和参考信息写入第二网卡。
无论是通过上述哪种实施方式,第二网卡都能够获取更新后的所述会话的目的网卡的标识和参考信息,这样,第二网卡可以执行步骤以下步骤:
所述第二网卡接收会话的报文,确定所述会话的目的网卡的标识为所述第二网卡的标识,依据所述参考信息,对接收到的所述会话的报文进行处理。
由于更新后的所述会话的目的网卡的标识为第二网卡的标识,并且所述第二网卡获取到参考信息,所以第二网卡能够对接收到的所述会话的报文进行处理。
其中,第二网卡接收到所述会话的报文可以是:在第二网卡确定所述会话的目的网卡的标识不为第二网卡的标识,而为第一网卡的标识时,被第二网卡丢弃的所述会话的报文,或者存入第一主机的转发队列中的所述会话的报文。
对于被第二网卡丢弃的所述会话的报文,第二主机会重新发送给第二网卡。而对于存储第一主机的转发队列中的报文,要求第一主机执行以下步骤:
所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
也就是说,第一主机将转发队列中所述会话的报文发送给第二网卡,无需第二主机重新发送被第二网卡丢弃的所述会话的报文。
如果对应所述会话的报文全卸载,则在前述步骤21中,如果第一网卡接收到的所述会话的报文是所述会话的所有报文中的第一个报文,则没有参考信息,第一网卡直接对该第一个报文进行处理。
如果对应所述会话的报文半卸载,则第一主机对所述会话的一部分报文进行处理后,根据所述会话的已处理的一部分报文,生成处理所述会话的剩余报文时所依据的参考信息,然后将该参考信息发送给第一网卡,或者第一主机将该参考信息存储在存储器中,第一网卡在接收到所述会话的第一报文属于所述会话的剩余报文后,从第一主机的存储器中读取该参考信息。相应地,在前述步骤21中,第一网卡依据接收到的参考信息,对接收到的所述会话的第一报文进行处理。
下面举一个例子说明本发明实施例提供的报文处理方法。该例的应用场景为:具有卸载功能的第一网卡和第二网卡配置为第一主机的所属网卡,第一主机通过交换机与第二主机建立TCP连接。该TCP连接的报文半卸载。
第一步:第一主机对该TCP连接的部分报文进行处理,根据该TCP连接的已处理的部分报文生成参考信息,确定该TCP连接的目的网卡的标识为第一网卡的标识,创建上下文,上下文中包括该参考信息和该TCP连接的目的网卡的标识。
第二步:交换机将该TCP连接的剩余报文中的一个报文发送给第一网卡,第一网卡查询上下文,确定该TCP连接的目的网卡的标识与自身具有的标识相同,对该报文进行处理,并根据处理后的报文生成新的参考信息,创建新的上下文,新的上下文中包括该新的参考信息和该TCP连接的目的网卡的标识。
第三步:第一网卡与交换机之间的链路发生故障,交换机将该TCP连接的剩余报文中的其他报文发送给第二网卡,第二网卡查询上下文,确定该TCP连接的目的网卡的标识与自身具有的标识不同,将接收到的该TCP连接的剩余报文添加到第一主机的转发队列中。
第四步:第一主机统计转发队列中该TCP连接的剩余报文的数量,确定统计出的数量大于预定阈值,第一主机通知第一网卡将该TCP连接的目的网卡的标识更新为第二网卡的标识。
第五步:第一网卡将创建的新的上下文包括的该TCP连接的目的网卡的标识,更新为第二网卡的标识,将更新后的上下文发送给第一主机。
第六步:第一主机存储更新后的上下文,并将转发队列中的该TCP连接的剩余报文发送给第二网卡。
第七步:第二网卡查询上下文,确定该TCP连接的更新后的目的网卡的标识与自身具有的标识相同,对该TCP连接的剩余报文进行处理。
基于同一发明构思,本发明实施例还提供了一种处理报文的系统。如图1所示,该报文系统用于执行上述处理报文的方法,为了说明书的简洁,在此就不再赘述。
基于同一发明构思,本发明实施例还提供了一种处理报文的方法,应用于第一网卡,所述第一网卡配置为第一主机所属的网卡,所述第一网卡具有卸载功能,如图3所示,该方法包括以下步骤:
步骤31:第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
步骤32:所述第一网卡接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
步骤33:所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
对于第一网卡所执行的方法的说明,可以参考前述对处理报文的系统所执行的方法的说明,为了说明书的简洁,在此就不再赘述。
基于同一发明构思,本发明实施例还提供了一种第一网卡,所述第一网卡配置为第一主机所属的网卡,所述第一网卡具有卸载功能,如图4所示,该第一网卡包括:
处理器41、存储器42、接收器43,所述处理器41与所述存储器42和接收器43均通过总线40连接,所述存储器42用于存储所述处理器执行的程序代码;
所述接收器43用于:接收会话的第一报文;接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述处理器41用于:确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
进一步,在图4中,总线40可以包括任意数量的互联的总线和桥,总线40将包括由处理器41代表的一个或多个处理器和存储器42代表的存储器的各种电路连接在一起。总线40还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口45在总线40和接收器43之间提供接口。接收器43可以是收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器41负责管理总线40和通常的处理,而存储器42可以被用于存储处理器41在执行操作时所使用的数据。
前述图3实施例中的处理报文的方法中的各种变化方式和具体实例同样适用于本实施例的第一网卡,通过前述对处理报文的方法的详细描述,本领域技术人员可以清楚的知道本实施例中第一网卡的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本发明实施例还提供了一种更新信息的方法,应用于第一主机,如图5所示,该方法包括以下步骤:
步骤51:第一主机确定会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
步骤52:所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
步骤53:所述第一主机将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
可选的,所述方法还包括:
所述第一主机统计被所述第二网卡丢弃的所述会话的报文的数量;
所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
可选的,所述方法还包括:
所述第一主机统计所述第一主机的转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
可选的,在所述步骤53之后,所述方法还包括:
所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
由于第一网卡和第二网卡配置为第一主机所属的网卡,所以第一主机的操作系统中安装有管理所述第一网卡和所述第二网卡的驱动程序,第一主机执行上述方法是指所述驱动程序执行上述方法。对于所述驱动程序所执行的方法的说明,可以参考前述对处理报文的系统所执行的方法的说明,为了说明书的简洁,在此就不再赘述。
基于同一发明构思,本发明实施例还提供了一种第一主机,如图6所示,该第一主机包括:
处理器61、存储器62、接收器63和发送器64,所述处理器61与所述存储器62、接收器63和发送器64均通过总线60连接,所述存储器62用于存储所述处理器执行的程序代码;
所述存储器62还用于:存储所述第一主机与第二主机之间已建立的会话的目的网卡的标识;
所述处理器61用于:确定会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述接收器63用于:接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
所述发送器64用于:将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
可选的,所述处理器61还用于:
统计被所述第二网卡丢弃的对应所述会话的其他报文的数量;
当所述统计出的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
可选的,所述处理器61还用于:
统计所述第一主机的转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
可选的,所述发送器64还用于:
将所述转发队列中所述会话的报文发送给所述第二网卡。
进一步,在图6中,总线60可以包括任意数量的互联的总线和桥,总线60将包括由处理器61代表的一个或多个处理器和存储器62代表的存储器的各种电路连接在一起。总线60还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口65在总线60和接收器63和发送器64之间提供接口。接收器63和发送器64可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器61负责管理总线60和通常的处理,而存储器62可以被用于存储处理器61在执行操作时所使用的数据。
前述图5实施例中的更新信息的方法中的各种变化方式和具体实例同样适用于本实施例的第一主机,通过前述对更新信息的方法的详细描述,本领域技术人员可以清楚的知道本实施例中第一主机的实施方法,所以为了说明书的简洁,在此不再详述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (22)
1.一种处理报文的方法,其特征在于,应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,所述方法包括:
所述第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
所述第一主机确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息。
2.如权利要求1所述的方法,其特征在于,所述第一主机确定所述会话的目的网卡的标识需要更新包括:
所述第二网卡丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;
所述第二网卡将统计出的被所述第二网卡丢弃的所述会话的报文的数量发送给所述第一主机;
所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
3.如权利要求1所述的方法,其特征在于,所述第一主机确定所述会话的目的网卡的标识需要更新,包括:
所述第二网卡将接收到的所述会话的报文添加到所述第一主机的转发队列中;
所述第一主机统计所述转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
4.如权利要求3所述的方法,其特征在于,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息后,所述方法还包括:
所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
5.如权利要求1-4任一所述的方法,其特征在于,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息前,所述方法还包括:
所述第一网卡将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
所述第一主机存储更新后的所述会话的目的网卡的标识和所述参考信息;所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息,包括:
所述第二网卡读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
6.如权利要求1-4任一所述的方法,其特征在于,所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息前,所述方法还包括:
所述第一主机从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡获得更新后的所述会话的目的网卡的标识和所述参考信息,包括:
所述第二网卡接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
7.一种处理报文的系统,其特征在于,所述系统包括:
第一主机、第一网卡和第二网卡;
其中,所述第一网卡用于:接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
所述第一主机用于:确定所述会话的目的网卡的标识需要更新,向所述第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第一网卡还用于:根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识;
所述第二网卡用于:获得更新后的所述会话的目的网卡的标识和所述参考信息。
8.如权利要求7所述的系统,其特征在于,所述第二网卡还用于:
丢弃接收到的所述会话的报文,并统计被所述第二网卡丢弃的所述会话的报文的数量;将统计出的被所述第二网卡丢弃的所述会话的报文的数量发送给所述第一主机;
所述第一主机还用于:确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
9.如权利要求7所述的系统,其特征在于,所述第二网卡还用于:
将接收到的所述会话的报文添加到所述第一主机的转发队列中;
所述第一主机还用于:统计所述转发队列中所述会话的报文的数量;当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
10.如权利要求9所述的系统,其特征在于,所述第一主机还用于:
将所述转发队列中所述会话的报文发送给所述第二网卡。
11.如权利要求7-10任一所述的系统,其特征在于,所述第一网卡还用于:
将更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第一主机;
所述第一主机还用于:存储更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡还用于:接收所述会话的报文;读取所述第一主机存储的更新后的所述会话的目的网卡的标识和所述参考信息。
12.如权利要求7-10任一所述的系统,其特征在于,所述第一主机还用于:
从所述第一网卡中读取更新后的所述会话的目的网卡的标识和所述参考信息;
所述第二网卡还用于:接收由所述第一主机写入的更新后的所述会话的目的网卡的标识和所述参考信息。
13.一种处理报文的方法,其特征在于,所述方法包括:
第一网卡接收会话的第一报文,确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;
所述第一网卡接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述第一网卡根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
14.一种第一网卡,其特征在于,所述第一网卡包括:
处理器、存储器、接收器,所述处理器与所述存储器和接收器均通过总线连接,所述存储器用于存储所述处理器执行的程序代码;
所述接收器用于:接收会话的第一报文;接收第一主机发送的更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述处理器用于:确定所述会话的目的网卡的标识为所述第一网卡的标识,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的参考信息;根据所述更新消息,将所述会话的目的网卡的标识更新为所述第二网卡的标识。
15.一种更新信息的方法,其特征在于,所述方法包括:
第一主机确定会话的目的网卡的标识需要更新,向第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
所述第一主机将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
16.如权利要求15所述的方法,其特征在于,所述方法还包括:
所述第一主机统计被所述第二网卡丢弃的所述会话的报文的数量;
所述第一主机确定所述统计出的被所述第二网卡丢弃的所述会话的报文的数量大于预定阈值时,所述会话的目的网卡的标识需要更新。
17.如权利要求15所述的方法,其特征在于,所述方法还包括:
所述第一主机统计所述第一主机的转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,所述第一主机确定所述会话的目的网卡的标识需要更新。
18.如权利要求17所述的方法,其特征在于,在所述第一主机接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息之后,所述方法还包括:
所述第一主机将所述转发队列中所述会话的报文发送给所述第二网卡。
19.一种第一主机,其特征在于,所述第一主机包括:
处理器、存储器、接收器和发送器,所述处理器与所述存储器、接收器和发送器均通过总线连接,所述存储器用于存储所述处理器执行的程序代码;
所述处理器用于:确定会话的目的网卡的标识需要更新,向第一网卡发送更新消息,所述更新消息用于指示所述第一网卡将所述会话的目的网卡的标识更新为第二网卡的标识;
所述接收器用于:接收所述第一网卡发送的更新后的所述会话的目的网卡的标识和参考信息,所述参考信息是所述第一网卡生成的处理所述会话的其他报文时所依据的信息;
所述发送器用于:将接收到的更新后的所述会话的目的网卡的标识和所述参考信息发送给所述第二网卡。
20.如权利要求19所述的第一主机,其特征在于,所述处理器还用于:
统计被所述第二网卡丢弃的对应所述会话的其他报文的数量;
当所述统计出的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
21.如权利要求19所述的第一主机,其特征在于,所述处理器还用于:
统计所述第一主机的转发队列中所述会话的报文的数量;
当所述转发队列中所述会话的报文的数量大于预定阈值时,确定所述会话的目的网卡的标识需要更新。
22.如权利要求21所述的第一主机,其特征在于,所述发送器还用于:
将所述转发队列中所述会话的报文发送给所述第二网卡。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510702561.0A CN105406989B (zh) | 2015-10-26 | 2015-10-26 | 处理报文的方法、网卡及系统、更新信息的方法及主机 |
PCT/CN2016/099591 WO2017071430A1 (zh) | 2015-10-26 | 2016-09-21 | 处理报文的方法、网卡及系统、更新信息的方法及主机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510702561.0A CN105406989B (zh) | 2015-10-26 | 2015-10-26 | 处理报文的方法、网卡及系统、更新信息的方法及主机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105406989A CN105406989A (zh) | 2016-03-16 |
CN105406989B true CN105406989B (zh) | 2019-04-05 |
Family
ID=55472252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510702561.0A Active CN105406989B (zh) | 2015-10-26 | 2015-10-26 | 处理报文的方法、网卡及系统、更新信息的方法及主机 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105406989B (zh) |
WO (1) | WO2017071430A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105406989B (zh) * | 2015-10-26 | 2019-04-05 | 华为技术有限公司 | 处理报文的方法、网卡及系统、更新信息的方法及主机 |
CN109921930A (zh) * | 2019-02-27 | 2019-06-21 | 苏州浪潮智能科技有限公司 | 一种自动设置多网卡ip地址的方法及装置 |
CN112188327B (zh) * | 2020-09-27 | 2022-10-14 | 上海欣诺通信技术股份有限公司 | 一种光网络单元的烧录方法、装置、介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321085A (zh) * | 2007-05-18 | 2008-12-10 | 辉达公司 | 负载平衡的联网环境下的智能故障转移 |
US20100121947A1 (en) * | 2008-11-07 | 2010-05-13 | Dell Products L.P. | System and Method for Managing the Offload Type for Offload Protocol Processing |
CN103139253A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
CN103414714A (zh) * | 2013-08-07 | 2013-11-27 | 华为数字技术(苏州)有限公司 | 一种报文处理方法、装置和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7756012B2 (en) * | 2007-05-18 | 2010-07-13 | Nvidia Corporation | Intelligent failover in a load-balanced network environment |
CN105406989B (zh) * | 2015-10-26 | 2019-04-05 | 华为技术有限公司 | 处理报文的方法、网卡及系统、更新信息的方法及主机 |
CN105245387A (zh) * | 2015-10-26 | 2016-01-13 | 华为技术有限公司 | 一种处理报文的方法及系统 |
-
2015
- 2015-10-26 CN CN201510702561.0A patent/CN105406989B/zh active Active
-
2016
- 2016-09-21 WO PCT/CN2016/099591 patent/WO2017071430A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321085A (zh) * | 2007-05-18 | 2008-12-10 | 辉达公司 | 负载平衡的联网环境下的智能故障转移 |
US20100121947A1 (en) * | 2008-11-07 | 2010-05-13 | Dell Products L.P. | System and Method for Managing the Offload Type for Offload Protocol Processing |
CN103139253A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
CN103414714A (zh) * | 2013-08-07 | 2013-11-27 | 华为数字技术(苏州)有限公司 | 一种报文处理方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2017071430A1 (zh) | 2017-05-04 |
CN105406989A (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9430308B2 (en) | Operational status of network nodes | |
CN106131175B (zh) | 一种信息获取、信息推送方法和设备 | |
CN104021069A (zh) | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 | |
KR20130111531A (ko) | 운송수단과 원격 애플리케이션 서버 간의 통신을 위한 방법 및 시스템 | |
CN105406989B (zh) | 处理报文的方法、网卡及系统、更新信息的方法及主机 | |
CN107451012A (zh) | 一种数据备份方法及流计算系统 | |
EP3210343B1 (en) | Method and system for non-tagged based latency calculation | |
US8948020B2 (en) | Detecting and isolating dropped or out-of-order packets in communication networks | |
WO2019047573A1 (zh) | 一种下行数据传输的缓存方法、终端及基站 | |
CN112769639B (zh) | 一种并行下发配置信息的方法及装置 | |
CN113157465B (zh) | 基于指针链表的消息发送方法及装置 | |
CN110266765A (zh) | 一种基于区块链的物联网在线共识节点实时更新方法和装置 | |
CN107896196B (zh) | 一种分配报文的方法和装置 | |
CN114979022A (zh) | 远程直接数据存取的实现方法、装置、适配器和存储介质 | |
US11231969B2 (en) | Method for auditing a virtualised resource deployed in a cloud computing network | |
US11210156B1 (en) | Intelligent distributed tracing | |
CN114070798A (zh) | 一种报文传输方法、装置及设备 | |
CN108494766A (zh) | Waf规则管理方法及waf群组 | |
CN104348711B (zh) | 消息接收装置及方法 | |
CN115348333B (zh) | 基于udp双端通信交互的数据传输方法、系统及设备 | |
EP3949296B1 (en) | Telemetry for cloud switches queuing excursion | |
CN104660506A (zh) | 一种数据包转发的方法、装置及系统 | |
CN112217689A (zh) | 一种基于OpenStack实现的网络报文跟踪方法及系统 | |
CN117956054B (zh) | 在rdma中实现定时器处理的方法、系统、芯片及存储介质 | |
US20190140980A1 (en) | Non-transitory computer-readable storage medium, packet control method, and packet control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |