CN108390954B - 一种报文传输方法和设备 - Google Patents
一种报文传输方法和设备 Download PDFInfo
- Publication number
- CN108390954B CN108390954B CN201810251460.XA CN201810251460A CN108390954B CN 108390954 B CN108390954 B CN 108390954B CN 201810251460 A CN201810251460 A CN 201810251460A CN 108390954 B CN108390954 B CN 108390954B
- Authority
- CN
- China
- Prior art keywords
- message
- flow table
- sub
- board
- table corresponding
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文传输方法和设备,所述方法包括:接收第一报文;判断是否存在所述第一报文对应的子流表;若是,从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;若否,从多个业务板中选择目标业务板,将所述第一报文发送给目标业务板,接收所述目标业务板发送的第二报文对应的子流表;所述第二报文为所述第一报文经过NAT转换后得到的报文,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息。通过本申请的技术方案,充分利用每个业务板的资源,提高业务板的处理性能,避免某个业务板的处理压力过大。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种报文传输方法和设备。
背景技术
分布式系统架构的网络设备(如路由器、交换机和防火墙等),可以由设备机架和设备机架上的插板组成,插板的类型可以包括:主控板、接口板和业务板,各板之间通过交换网络连通。其中,主控板负责接口板和业务板的管理和版本升级;接口板负责报文的接收和发送;业务板负责报文的业务处理,如安全业务处理、NAT(Network AddressTranslation,网络地址转换)处理等。
为了实现NAT处理功能,接口板在接收到报文后,是将接收到的所有报文发送给同一个业务板,由该业务板对报文进行NAT处理。但是,由于网络设备通常包括多个业务板,将所有报文发送给同一个业务板时,这个业务板的处理压力很大,消耗大量资源,而其它业务板处理空闲状态,大量资源被闲置。
发明内容
本申请提供一种报文传输方法,应用于分布式设备的接口板,包括:
接收第一报文;
判断是否存在所述第一报文对应的子流表;
若是,从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;
若否,从所述分布式设备的多个业务板中选择目标业务板,将所述第一报文发送给目标业务板,接收所述目标业务板发送的第二报文对应的子流表;其中,所述第二报文为所述第一报文经过NAT转换后得到的报文,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息。
本申请提供一种报文传输方法,应用于分布式设备,所述方法包括:
所述分布式设备的接口板接收第一报文;
所述接口板判断是否存在所述第一报文对应的子流表;
若是,所述接口板从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;
若否,所述接口板从所述分布式设备的多个业务板中选择目标业务板,并将所述第一报文发送给所述目标业务板;
所述目标业务板对所述第一报文进行NAT转换,得到转换后的第二报文,并向所述接口板下发所述第二报文对应的子流表,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息。
本申请提供一种分布式设备,包括接口板和多个业务板,其中:
接口板,用于接收第一报文;判断是否存在所述第一报文对应的子流表;若是,则从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;若否,则从所述多个业务板中选择目标业务板,并将所述第一报文发送给所述目标业务板;
目标业务板,用于对接收到的所述第一报文进行NAT转换,得到转换后的第二报文,并向所述接口板下发所述第二报文对应的子流表,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息。
基于上述技术方案,本申请实施例中,针对数据流的首个报文,可以从分布式设备的多个业务板中选择目标业务板,将该报文发送给目标业务板;这样,不同数据流的报文可以分担到不同业务板进行处理,从而充分利用每个业务板的资源,提高业务板的处理性能,避免某个业务板的处理压力过大。针对同一数据流的所有报文,基于报文对应的子流表,能够将同一数据流的所有报文发送给同一个业务板,由同一个业务板对同一数据流的所有报文进行处理。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的报文传输方法的流程图;
图3是本申请另一种实施方式中的报文传输方法的流程图;
图4是本申请一种实施方式中的分布式设备的硬件结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种报文传输方法,可以应用于分布式设备(即分布式系统架构的网络设备,如路由器、交换机和防火墙等),分布式设备可以包括主控板、接口板和多个业务板。参见图1所示,为本申请实施例的一可能的应用场景示意图,主控板的数量可以为一个或者多个,图1中以1个主控板145为例;接口板的数量可以为一个或者多个,图1中以1个接口板141为例,在实际应用中,接口板的数量远远大于1个;业务板的数量可以为多个,图1中以3个业务板(如业务板142、业务板143、业务板144等)为例。
参见图1所示,内网服务器15,例如NAT内部服务器(NAT server),可以为外部网络提供服务,如Web(World Wide Web,万维网)服务、FTP(File Transfer Protocol,文件传输协议)服务等,对此服务的类型不做限制,基于此,外网主机(如外网主机11)可以访问内网服务器15提供的服务。
为了保护内网服务器15的安全,不是将内网服务器15的IP地址通知给外网主机11,而是将分布式设备14的公网侧IP地址通知给外网主机11。
这样,外网主机11发送给内网服务器15的报文,目的IP地址是分布式设备14的公网侧IP地址,不是内网服务器15的IP地址,分布式设备14的业务板可以对报文进行NAT处理,即将报文的目的IP地址修改为内网服务器15的IP地址,并将修改后的报文发送给内网服务器15。进一步的,内网服务器15发送给外网主机11的报文,源IP地址是内网服务器15的IP地址,因此,分布式设备14的业务板可以对报文进行NAT处理,即将报文的源IP地址修改为分布式设备14的公网侧IP地址,并将修改后的报文发送给外网主机11。
在上述应用场景下,参见图2所示,为本申请实施例提出的报文传输方法的流程图,该方法可以应用于分布式设备的接口板,该方法可以包括以下步骤。
步骤201,接收第一报文。其中,为了区别方便,可以将接口板接收到的报文称为第一报文,该第一报文可以是外网主机发送给内网服务器的报文,该第一报文也可以是内网服务器发送给外网主机的报文。
步骤202,判断是否存在该第一报文对应的子流表。
若是,则可以执行步骤203;若否,则可以执行步骤204。
在一个例子中,判断是否存在该第一报文对应的子流表,可以包括:
情况一、若该第一报文是外网主机发送给内网服务器的正向报文,则可以判断是否存在该第一报文的源信息对应的子流表;或者,还可以判断是否存在该第一报文的源信息和该第一报文的目的端口对应的子流表。
情况二、若该第一报文是内网服务器发送给外网主机的反向报文,则可以判断是否存在该第一报文的源信息和目的信息对应的子流表。
其中,为了区别方便,可以将外网主机发送给内网服务器的报文称为正向报文,并可以将内网服务器发送给外网主机的报文称为反向报文。
其中,源信息可以包括:源IP地址,和/或,源端口;目的信息可以包括:目的IP地址,和/或,目的端口。为了区分方便,在后续过程中,以源信息为源IP地址和源端口,目的信息为目的IP地址和目的端口为例进行说明。
其中,接口板可以存储子流表,该子流表用于记录源IP地址和源端口、目的IP地址和目的端口、业务板的信息(如业务板的标识等)的对应关系,对于接口板存储子流表的过程,将在后续实施例中介绍,在此不再赘述。
综上所述,若第一报文是正向报文,则可以通过第一报文的源IP地址和源端口(或者,第一报文的源IP地址、源端口和目的端口)查询本接口板的所有子流表;若本接口板的某个子流表中存在第一报文的源IP地址和源端口,则说明存在第一报文对应的子流表;若本接口板的所有子流表中均不存在第一报文的源IP地址和源端口,则说明不存在第一报文对应的子流表。
若第一报文是反向报文,则通过第一报文的源IP地址和源端口、目的IP地址和目的端口,查询本接口板的所有子流表;若本接口板的某个子流表中存在第一报文的源IP地址和源端口、目的IP地址和目的端口,说明存在第一报文对应的子流表;若本接口板的所有子流表中均不存在第一报文的源IP地址和源端口、目的IP地址和目的端口,说明不存在第一报文对应的子流表。
在一个例子中,在判断是否存在第一报文对应的子流表之前,还可以判断是否存在该第一报文的目的IP地址对应的父流表;如果存在,则可以确定该第一报文是正向报文;如果不存在,则可以确定第一报文是反向报文。
其中,接口板可以预先配置父流表,该父流表用于记录分布式设备的公网侧IP地址。基于此,接口板在接收到第一报文之后,可以先通过该第一报文的目的IP地址查询本接口板的父流表。若某个父流表记录的公网侧IP地址与第一报文的目的IP地址相同,则该第一报文是正向报文。若所有父流表记录的公网侧IP地址与第一报文的目的IP地址均不同,则该第一报文是反向报文。
步骤203,从该第一报文对应的子流表中获取业务板的信息,并将该第一报文发送给该业务板的信息对应的业务板。其中,由于子流表用于记录源IP地址和源端口、目的IP地址和目的端口、业务板的信息的对应关系,因此,接口板可以从该第一报文对应的子流表中获取到业务板的信息。
步骤204,从分布式设备的多个业务板中选择目标业务板,并将第一报文发送给目标业务板。
其中,从分布式设备的多个业务板中选择目标业务板,可以包括但不限于:采用hash运算,从多个业务板中选择目标业务板;或者,采用循环算法,从多个业务板中选择目标业务板;或者,采用随机算法,从多个业务板中选择目标业务板,对此目标业务板的选择方式不做限制。
步骤205,接收目标业务板发送的第二报文对应的子流表。
其中,第二报文为所述第一报文经过NAT转换后得到的报文,第二报文对应的子流表包括第二报文的源信息和目的信息、目标业务板的信息。
基于上述技术方案,本申请实施例中,针对数据流的首个报文,可以从分布式设备的多个业务板中选择目标业务板,将该报文发送给目标业务板;这样,不同数据流的报文可以分担到不同业务板进行处理,从而充分利用每个业务板的资源,提高业务板的处理性能,避免某个业务板的处理压力过大。针对同一数据流的所有报文,基于报文对应的子流表,能够将同一数据流的所有报文发送给同一个业务板,由同一个业务板对同一数据流的所有报文进行处理。
参见图3所示,为本申请实施例提出的另一个报文传输方法的流程图,该方法可以应用于分布式设备,该方法可以包括以下步骤。
步骤301,分布式设备的接口板接收第一报文。
步骤302,接口板判断是否存在该第一报文对应的子流表。
若是,则可以执行步骤303;若否,则可以执行步骤304。
步骤303,接口板从该第一报文对应的子流表中获取业务板的信息,并将该第一报文发送给该业务板的信息对应的业务板。
步骤304,接口板从分布式设备的多个业务板中选择目标业务板,并将第一报文发送给目标业务板。
其中,步骤301-步骤304与步骤201-步骤204的过程类似,在此不再赘述。
步骤305,目标业务板对第一报文进行NAT转换,得到转换后的第二报文(将转换后的报文称为第二报文),并向接口板下发第二报文对应的子流表,该子流表包括第二报文的源信息和目的信息、目标业务板的信息。
其中,目标业务板向接口板下发第二报文对应的子流表,可以包括:目标业务板可以先判断是否存在第二报文的源信息和目的信息对应的NAT会话。如果否,则目标业务板可以建立第二报文的源信息和目的信息对应的NAT会话,并生成该第二报文对应的子流表,该子流表可以包括第二报文的源信息和目的信息、目标业务板的信息。然后,目标业务板将该第二报文对应的子流表发送给接口板,由接口板存储该第二报文对应的子流表。如果是,则说明已经向接口板下发过相应的子流表,目标业务板不再生成该第二报文对应的子流表。
在一个例子中,目标业务板建立第二报文的源信息和目的信息对应的NAT会话之后,若第二报文的源信息和目的信息对应的NAT会话被删除(具体删除过程不做限制),目标业务板可以通知接口板删除该第二报文对应的子流表。
基于上述技术方案,本申请实施例中,针对数据流的首个报文,可以从分布式设备的多个业务板中选择目标业务板,将该报文发送给目标业务板;这样,不同数据流的报文可以分担到不同业务板进行处理,从而充分利用每个业务板的资源,提高业务板的处理性能,避免某个业务板的处理压力过大。针对同一数据流的所有报文,基于报文对应的子流表,能够将同一数据流的所有报文发送给同一个业务板,由同一个业务板对同一数据流的所有报文进行处理。
以下结合具体的实施例,对上述的报文传输方法进行详细说明。本应用场景下,如图1所示,分布式设备14的公网侧IP地址可以为5.5.5.5,外网主机11的IP地址可以为6.6.6.6,外网主机12的IP地址可以为7.7.7.7,外网主机13的IP地址可以为8.8.8.8,内网服务器15的IP地址可以为10.1.1.10。
在上述应用场景下,本实施例中的报文传输方法,可以包括以下步骤。
步骤411,接口板141为每个业务板配置父流表,该父流表用于记录分布式设备14的公网侧IP地址5.5.5.5、接口板141的接口G1/0/1的对应关系。
其中,接口板141通过接口G1/0/1接收到配置命令(用于为业务板配置父流表的命令)后,可以从配置命令中获取到公网侧IP地址5.5.5.5,并为业务板142配置父流表1,参见表1所示,为业务板143配置父流表2,参见表2所示,为业务板144配置父流表3,参见表3所示。当然,表1、表2和表3只是父流表的示例,对父流表的内容不做限制,后续以表1、表2和表3为例进行说明。
表1
编号 | 1 |
目的IP地址(Destination address) | 5.5.5.5 |
入接口(Interface) | G1/0/1 |
动作(Action) | 业务板142 |
表2
编号 | 2 |
目的IP地址(Destination address) | 5.5.5.5 |
入接口(Interface) | G1/0/1 |
动作(Action) | 业务板143 |
表3
编号 | 3 |
目的IP地址(Destination address) | 5.5.5.5 |
入接口(Interface) | G1/0/1 |
动作(Action) | 业务板144 |
在表1、表2和表3中,编号是父流表的序号,不同父流表的编号不同即可;目的IP地址是分布式设备14的公网侧IP地址5.5.5.5;动作表示报文进入哪个业务板进行处理,可以为该业务板的信息,如可以是该业务板的标识,对此不做限制。综上所述,若接口板141从接口G1/0/1接收到报文,且报文的目的IP地址为5.5.5.5,则该报文可以命中表1、表2和表3。
步骤412,外网主机11向内网服务器15发送第一报文,例如报文1,该报文1的源IP地址为6.6.6.6,源端口为1024,目的IP地址为5.5.5.5,目的端口为21。
步骤413,接口板141在接收到报文1后,确定报文1是正向报文。
其中,由于报文1的目的IP地址为5.5.5.5,表1、表2和表3记录的公网侧IP地址均为5.5.5.5,因此存在报文1的目的IP地址对应的父流表,即报文1是正向报文。或者,接口板141通过接口G1/0/1接收到报文1后,由于报文1的目的IP地址为5.5.5.5,表1、表2和表3记录公网侧IP地址5.5.5.5和接口G1/0/1,因此存在报文1的目的IP地址对应的父流表,即报文1是正向报文。
步骤414,接口板141判断是否存在与源IP地址6.6.6.6、源端口1024、目的端口21对应的子流表,由于不存在,因此,可以从业务板142、业务板143和业务板144中选择目标业务板,假设选择的目标业务板为业务板142。
其中,接口板141可以采用hash运算,从业务板142、业务板143和业务板144中选择目标业务板。例如,将报文1的源IP地址6.6.6.6转换成数值6666,将数值6666对业务板数量3取余;或,将报文1的源IP地址6.6.6.6和目的IP地址5.5.5.5转换成数值66665555,将数值66665555对业务板数量3取余。若取余结果为0,则选择业务板142,若取余结果为1,则选择业务板143,若取余结果为2,则选择业务板144。当然,上述方式只是一个示例,对此不做限制。
接口板141可以采用循环算法,从业务板142、业务板143和业务板144中选择目标业务板。例如,若上次选择目标业务板时,是选择业务板142,则本次选择业务板143;若上次选择业务板143,则本次选择业务板144;若上次选择业务板144,则本次选择业务板142……以此类推。
接口板141可以采用随机算法,从业务板142、业务板143和业务板144中选择目标业务板。例如,随机选择一个业务板,对此选择方式不做限制。
在一个例子中,接口板141可以从报文1对应的所有父流表(如父流表1、父流表2和父流表3)中选择一个父流表,父流表的选择方式与目标业务板的选择方式类似,在此不再重复赘述,假设接口板141选择出父流表1。然后,接口板141还可以将父流表1中记录的业务板142,确定为目标业务板。
步骤415,接口板141将报文1发送给选择的业务板142。
步骤416,业务板142对报文1进行NAT转换,得到转换后的第二报文,例如报文2。
其中,业务板142可以配置公网侧IP地址5.5.5.5与内网服务器15的IP地址10.1.1.10的对应关系,因此,业务板142收到报文1后,查询与5.5.5.5对应的10.1.1.10,将报文1的目的IP地址修改为10.1.1.10,得到报文2,报文2的源IP地址为6.6.6.6,源端口为1024,目的IP地址为10.1.1.10,目的端口为21。
步骤417,业务板142将转换后的报文2发送给内网服务器15。
步骤418,由于没有源IP地址6.6.6.6、源端口1024、目的IP地址10.1.1.10、目的端口21对应的NAT会话,即报文是首报文,因此业务板142建立NAT会话1,NAT会话1可以包括源IP地址6.6.6.6、源端口1024、目的IP地址10.1.1.10、目的端口21,当然,NAT会话1还可以包括其它内容,对此不做限制。
步骤419,业务板142生成报文2对应的子流表4(也是报文1对应的子流表),并将子流表4发送给接口板141,由接口板141存储子流表4。
其中,子流表4可以包括源IP地址6.6.6.6、源端口1024、目的IP地址10.1.1.10、目的端口21、业务板142。参见表4或者表5所示,为子流表4的示例,对所述子流表4的内容不做限制,后续以表4为例进行说明。
表4
编号 | 4 |
目的IP地址(Destination address) | 10.1.1.10 |
源IP地址(Source address) | 6.6.6.6 |
目的端口(Destination port) | 21 |
源端口(Source port) | 1024 |
动作(Action) | 业务板142 |
表5
其中,若生成如表5的子流表,由于表5的源信息、目的信息是基于反向报文的,故当正向报文匹配表5时,应当用正向报文的目的信息匹配表5的源信息,用正向报文的源信息匹配表5的目的信息。当正向报文的目的信息匹配表5的源信息,和/或,正向报文的源信息匹配表5的目的信息时,认为存在与正向报文对应的子流表。
步骤420,内网服务器15向外网主机11发送报文3,该报文3的源IP地址为10.1.1.10、源端口为21、目的IP地址为6.6.6.6,目的端口为1024。
其中,内网服务器15接收到报文2后,可以根据报文2进行业务处理,对此处理不做限制,并向外网主机11返回针对报文2的响应报文,即报文3。
步骤421,接口板141在接收到报文3后,确定报文3是反向报文。
其中,由于报文3的目的IP地址为6.6.6.6,父流表记录的公网侧IP地址为5.5.5.5,因此,不存在报文3的目的IP地址对应的父流表,报文3是反向报文。
步骤422,接口板141判断是否存在与源IP地址10.1.1.10、源端口21、目的IP地址6.6.6.6,目的端口1024对应的子流表。由于存在对应的子流表4,因此,从子流表4中获取到处理该报文的业务板为业务板142,并将报文3发送给业务板142。
其中,由于表4的源信息、目的信息是基于正向报文的,故当判断反向报文是否匹配表4时,应当用反向报文的目的信息匹配表4的源信息,用反向报文的源信息匹配表4的目的信息。当反向报文的目的信息匹配表4的源信息,且反向报文的源信息匹配表4的目的信息时,认为存在与反向报文对应的子流表。
步骤423,业务板142对报文3进行NAT转换,得到转换后的报文4。
其中,业务板142可以配置公网侧IP地址5.5.5.5与内网服务器15的IP地址10.1.1.10的对应关系,因此,业务板142在接收到报文3后,查询与10.1.1.10对应的5.5.5.5,并将报文3的源IP地址修改为5.5.5.5,得到报文4,报文4的源IP地址为5.5.5.5、源端口为21、目的IP地址为6.6.6.6,目的端口为1024。
步骤424,业务板142将转换后的报文4发送给外网主机11。
步骤425,外网主机11再次向内网服务器15发送第一报文,例如报文5,该报文5的源IP地址为6.6.6.6,源端口为1024,目的IP地址为5.5.5.5,目的端口为21。
步骤426,接口板141在接收到报文5后,确定报文5是正向报文。
步骤427,接口板141判断是否存在与源IP地址6.6.6.6、源端口1024、目的端口21对应的子流表,由于判断结果为存在对应的子流表4,因此,接口板141从子流表4中获取到业务板142,并将报文5发送给业务板142。
步骤428,业务板142对报文5进行NAT转换,得到转换后的第二报文,例如报文6,将转换后的报文6发送给内网服务器15,具体方式参见上述步骤416和步骤417,此处不再赘述。
在本步骤中,由于已经存在源IP地址6.6.6.6、源端口1024、目的IP地址10.1.1.10、目的端口21对应的NAT会话1(参见步骤418),即报文不是首报文,因此,业务板142不再建立NAT会话,也不用生成报文6对应的子流表。
步骤428之后,将重新执行上述步骤421-步骤428,在此不再重复赘述。
在一个例子中,业务板142在建立NAT会话1后,还可以为NAT会话1设置老化定时器,该老化定时器的超时时间可以根据经验配置,如3秒等,对此超时时间不做限制。基于此,业务板142每次接收到针对NAT会话1的报文时,就可以更新NAT会话1对应的老化定时器的超时时间。进一步的,在NAT会话1对应的老化定时器超时之前,则业务板142可以保留NAT会话1;在NAT会话1对应的老化定时器超时之后,则业务板142可以删除NAT会话1。
在NAT会话1被删除之后,业务板142还可以通知接口板141删除NAT会话1对应的子流表4,由接口板141删除子流表4,如删除表4或者表5。
在上述实施例中,介绍了外网主机11向内网服务器15发送报文的实现流程,外网主机12、外网主机13向内网服务器15发送报文时,其实现流程类似,只是接口板141选择的业务板可能为业务板143或业务板144,对应的父流表可能为表2或表3,在此不再赘述。
基于上述技术方案,本申请实施例中,针对数据流的首个报文,可以从分布式设备的多个业务板中选择目标业务板,将该报文发送给目标业务板;这样,不同数据流的报文可以分担到不同业务板进行处理,从而充分利用每个业务板的资源,提高业务板的处理性能,避免某个业务板的处理压力过大。针对同一数据流的所有报文,基于报文对应的子流表,能够将同一数据流的所有报文发送给同一个业务板,由同一个业务板对同一数据流的所有报文进行处理。若同一数据流的报文被发送给不同业务板,导致报文被丢弃,业务出现异常。
如图4所示,为本申请提出的分布式设备的结构图,所述分布式设备包括接口板41和多个业务板42,其中:
接口板41,用于接收第一报文;判断是否存在所述第一报文对应的子流表;若是,则从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;若否,则从所述多个业务板42中选择目标业务板,并将所述第一报文发送给所述目标业务板;
目标业务板42,用于对接收到的所述第一报文进行NAT转换,得到转换后的第二报文,并向所述接口板下发所述第二报文对应的子流表,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息。
在一个例子中,所述接口板41判断是否存在所述第一报文对应的子流表时具体用于:若所述第一报文是外网主机发送给内网服务器的正向报文,则判断是否存在所述第一报文的源信息对应的子流表;或者,判断是否存在所述第一报文的源信息和所述第一报文的目的端口对应的子流表;若所述第一报文是内网服务器发送给外网主机的反向报文,则判断是否存在所述第一报文的源信息和目的信息对应的子流表。
在一个例子中,所述接口板41还用于判断是否存在所述第一报文的目的IP地址对应的父流表;其中,所述父流表用于记录所述分布式设备的公网侧IP地址;如果存在,则确定所述第一报文是正向报文;如果不存在,则确定所述第一报文是反向报文。
在一个例子中,所述目标业务板42向所述接口板下发所述第二报文对应的子流表时具体用于:判断是否存在所述第二报文的源信息和目的信息对应的NAT会话;如果否,则生成所述第二报文对应的子流表,并将所述第二报文对应的子流表发送给所述接口板,由所述接口板存储所述第二报文对应的子流表。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种报文传输方法,其特征在于,应用于分布式设备的接口板,包括:
接收第一报文;
判断是否存在所述第一报文对应的子流表;其中,所述子流表用于记录源信息、目的信息和业务板的信息的对应关系;
若是,从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;
若否,从所述分布式设备的多个业务板中选择目标业务板,将所述第一报文发送给目标业务板,接收所述目标业务板发送的第二报文对应的子流表;其中,所述第二报文为所述第一报文经过NAT转换后得到的报文,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息;
其中,所述判断是否存在所述第一报文对应的子流表,包括:
若所述第一报文是外网主机发送给内网服务器的正向报文,则判断是否存在所述第一报文的源信息对应的子流表;或者,判断是否存在所述第一报文的源信息和所述第一报文的目的端口对应的子流表;
若所述第一报文是内网服务器发送给外网主机的反向报文,则判断是否存在所述第一报文的源信息和目的信息对应的子流表。
2.根据权利要求1所述的方法,其特征在于,
所述判断是否存在所述第一报文对应的子流表之前,还包括:
判断是否存在所述第一报文的目的IP地址对应的父流表;其中,所述父流表用于记录所述分布式设备的公网侧IP地址;
如果存在,则确定所述第一报文是正向报文;
如果不存在,则确定所述第一报文是反向报文。
3.根据权利要求1所述的方法,其特征在于,
从所述分布式设备的多个业务板中选择目标业务板,包括:
采用hash运算,从所述多个业务板中选择目标业务板;或者,
采用循环算法,从所述多个业务板中选择目标业务板。
4.一种报文传输方法,其特征在于,应用于分布式设备,所述方法包括:
所述分布式设备的接口板接收第一报文;
所述接口板判断是否存在所述第一报文对应的子流表;其中,所述子流表用于记录源信息、目的信息和业务板的信息的对应关系;
若是,所述接口板从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;
若否,所述接口板从所述分布式设备的多个业务板中选择目标业务板,并将所述第一报文发送给所述目标业务板;
所述目标业务板对所述第一报文进行NAT转换,得到转换后的第二报文,并向所述接口板下发所述第二报文对应的子流表,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息;
其中,所述接口板判断是否存在所述第一报文对应的子流表,包括:
若所述第一报文是外网主机发送给内网服务器的正向报文,则所述接口板判断是否存在所述第一报文的源信息对应的子流表;或者,所述接口板判断是否存在所述第一报文的源信息和所述第一报文的目的端口对应的子流表;
若所述第一报文是内网服务器发送给外网主机的反向报文,则所述接口板判断是否存在所述第一报文的源信息和目的信息对应的子流表。
5.根据权利要求4所述的方法,其特征在于,
所述接口板判断是否存在所述第一报文对应的子流表之前,还包括:
所述接口板判断是否存在所述第一报文的目的IP地址对应的父流表;其中,所述父流表用于记录所述分布式设备的公网侧IP地址;
如果存在,则确定所述第一报文是正向报文;
如果不存在,则确定所述第一报文是反向报文。
6.根据权利要求4所述的方法,其特征在于,
所述接口板从所述分布式设备的多个业务板中选择目标业务板,包括:
所述接口板采用hash运算,从所述多个业务板中选择目标业务板;或者,
所述接口板采用循环算法,从所述多个业务板中选择目标业务板。
7.根据权利要求4所述的方法,其特征在于,
所述目标业务板向所述接口板下发所述第二报文对应的子流表,包括:
判断是否存在所述第二报文的源信息和目的信息对应的NAT会话;
如果否,则生成所述第二报文对应的子流表,并将所述第二报文对应的子流表发送给所述接口板,由所述接口板存储所述第二报文对应的子流表。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第二报文的源信息和目的信息对应的NAT会话被删除之后,所述目标业务板通知所述接口板删除所述第二报文对应的子流表。
9.一种分布式设备,其特征在于,包括接口板和多个业务板,其中:
接口板,用于接收第一报文;判断是否存在所述第一报文对应的子流表;其中,所述子流表用于记录源信息、目的信息和业务板的信息的对应关系;
若是,则从所述第一报文对应的子流表中获取业务板的信息,并将所述第一报文发送给所述业务板的信息对应的业务板;若否,则从所述多个业务板中选择目标业务板,并将所述第一报文发送给所述目标业务板;
目标业务板,用于对接收到的所述第一报文进行NAT转换,得到转换后的第二报文,并向所述接口板下发所述第二报文对应的子流表,所述第二报文对应的子流表包括所述第二报文的源信息和目的信息、所述目标业务板的信息;
其中,所述接口板判断是否存在所述第一报文对应的子流表时具体用于:若所述第一报文是外网主机发送给内网服务器的正向报文,则判断是否存在所述第一报文的源信息对应的子流表;或者,判断是否存在所述第一报文的源信息和所述第一报文的目的端口对应的子流表;若所述第一报文是内网服务器发送给外网主机的反向报文,则判断是否存在所述第一报文的源信息和目的信息对应的子流表。
10.根据权利要求9所述的分布式设备,其特征在于,所述接口板还用于判断是否存在所述第一报文的目的IP地址对应的父流表;其中,所述父流表用于记录所述分布式设备的公网侧IP地址;如果存在,则确定所述第一报文是正向报文;如果不存在,则确定所述第一报文是反向报文。
11.根据权利要求9所述的分布式设备,其特征在于,
所述目标业务板向所述接口板下发所述第二报文对应的子流表时具体用于:判断是否存在所述第二报文的源信息和目的信息对应的NAT会话;如果否,则生成所述第二报文对应的子流表,并将所述第二报文对应的子流表发送给所述接口板,由所述接口板存储所述第二报文对应的子流表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810251460.XA CN108390954B (zh) | 2018-03-26 | 2018-03-26 | 一种报文传输方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810251460.XA CN108390954B (zh) | 2018-03-26 | 2018-03-26 | 一种报文传输方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108390954A CN108390954A (zh) | 2018-08-10 |
CN108390954B true CN108390954B (zh) | 2021-09-21 |
Family
ID=63072132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810251460.XA Active CN108390954B (zh) | 2018-03-26 | 2018-03-26 | 一种报文传输方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108390954B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086727B (zh) * | 2019-04-30 | 2022-07-01 | 新华三技术有限公司 | 一种cgn板间负载分担方法及装置 |
CN110519009B (zh) * | 2019-08-05 | 2022-01-11 | 视联动力信息技术股份有限公司 | 一种数据包传输方法和装置 |
CN110784535B (zh) * | 2019-10-25 | 2022-06-28 | 新华三信息安全技术有限公司 | 报文转发方法、装置及网络设备 |
CN112738290B (zh) * | 2020-12-25 | 2022-08-26 | 杭州迪普科技股份有限公司 | 一种nat转换方法、装置及设备 |
CN113452619A (zh) * | 2021-06-29 | 2021-09-28 | 杭州迪普科技股份有限公司 | 一种基于acl的流量分流方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731356A (zh) * | 2013-12-09 | 2014-04-16 | 福建星网锐捷网络有限公司 | 报文处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN102904975B (zh) * | 2012-09-28 | 2015-06-17 | 华为技术有限公司 | 报文处理的方法和相关装置 |
CN103825976B (zh) * | 2014-03-04 | 2017-05-10 | 新华三技术有限公司 | 分布式系统架构中的nat处理方法及装置 |
US9485183B2 (en) * | 2014-04-25 | 2016-11-01 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for efectuating packet distribution among servers in a network |
CN106878179B (zh) * | 2016-12-14 | 2020-10-09 | 新华三技术有限公司 | 一种报文转发方法及装置 |
-
2018
- 2018-03-26 CN CN201810251460.XA patent/CN108390954B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731356A (zh) * | 2013-12-09 | 2014-04-16 | 福建星网锐捷网络有限公司 | 报文处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108390954A (zh) | 2018-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108390954B (zh) | 一种报文传输方法和设备 | |
US10742722B2 (en) | Server load balancing | |
CN107547391B (zh) | 一种报文传输方法和装置 | |
CN106878194B (zh) | 一种报文处理方法和装置 | |
CN108259347B (zh) | 一种报文传输方法和装置 | |
US9742667B2 (en) | Packet processing method, device and system | |
US10182091B2 (en) | Decentralized, hierarchical, and overlay-driven mobility support architecture for information-centric networks | |
CN109361606B (zh) | 一种报文处理系统及网络设备 | |
CN108848034B (zh) | 一种网络设备及表项学习方法 | |
US8472311B2 (en) | Systems, methods, and computer readable media for providing instantaneous failover of packet processing elements in a network | |
CN108737224B (zh) | 一种基于微服务架构的报文处理方法和装置 | |
US20170180246A1 (en) | Service Processing Method, Device, and System | |
CN108600109B (zh) | 一种报文转发方法和装置 | |
CN107786450B (zh) | 一种数据报文传输方法、装置及机器可读存储介质 | |
CN111431800B (zh) | 一种建立路径的方法、装置、设备及机器可读存储介质 | |
CN106878184B (zh) | 一种数据报文传输方法和装置 | |
CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
CN108123901B (zh) | 一种报文传输方法和装置 | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
CN109379241B (zh) | 一种路径信息确定方法及装置 | |
US10476746B2 (en) | Network management method, device, and system | |
CN108566344B (zh) | 一种报文处理方法和装置 | |
CN107547400B (zh) | 一种虚拟机迁移方法和装置 | |
CN110581784B (zh) | 一种节点健康检查方法、装置及设备 | |
CN108234358B (zh) | 一种组播报文传输方法、装置及机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |