CN107222408B - 一种分流方法及装置 - Google Patents

一种分流方法及装置 Download PDF

Info

Publication number
CN107222408B
CN107222408B CN201710403498.XA CN201710403498A CN107222408B CN 107222408 B CN107222408 B CN 107222408B CN 201710403498 A CN201710403498 A CN 201710403498A CN 107222408 B CN107222408 B CN 107222408B
Authority
CN
China
Prior art keywords
target service
message
service board
address
destination
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
Application number
CN201710403498.XA
Other languages
English (en)
Other versions
CN107222408A (zh
Inventor
袁野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201710403498.XA priority Critical patent/CN107222408B/zh
Publication of CN107222408A publication Critical patent/CN107222408A/zh
Application granted granted Critical
Publication of CN107222408B publication Critical patent/CN107222408B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses

Abstract

本发明提供一种分流方法及装置。本发明实施例中,网络设备上新增加了一块分流板卡。分流板卡在将正向报文发送至目标业务板后,目标业务板可以在属于自身的端口集合中选择一个端口,替换正向报文中的源端口,并发送修改后的正向报文;当分流板卡接收到对应于上述正向报文的反向报文后,可以根据反向报文中的目的端口确定出上述目标业务板,从而实现了将正向报文和反向报文分流至同一块业务板的目的。

Description

一种分流方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种分流方法及装置。
背景技术
为适应业务流量较大的网络环境,通常可在一台网络设备上安插多块业务板,来分摊业务流量的压力。而在有些情况下,比如当网络设备为安全类设备时,则有必要将一组源设备与目的设备之间传输的正、反向报文分流至同一业务板,以在一块业务板上实现源设备与目的设备之间所传输流量的全程跟踪。其中,正向报文为源设备发送至目的设备的报文;反向报文为目的设备返回至源设备的报文。
相关技术中,可将报文的源IP地址和目的IP地址作为哈希HASH因子进行HASH计算,确定报文待分流至的目标业务板。此后,若正向报文在目标业务板上未经过NAT(Network Address Translation,网络地址转换)即被发送至目的设备,则由于反向报文的源IP地址和目的IP地址仅分别为正向报文中源IP地址和目的IP地址的对调,故正、反向报文的HASH因子相同,计算出的目标业务板也相同;但是,若正向报文在目标业务板上完成NAT后被发送至目的设备,则由于接收到的反向报文中,用于HASH计算的HASH因子不同于正向报文中的HASH因子,所以计算出的目标业务板也与正向报文的目标业务板不同,从而导致正、反向报文被分流至不同的业务板。
发明内容
有鉴于此,本发明提供一种分流方法及装置,以在正向报文在目标业务板上完成NAT后被发送至目的设备的情况下,依然保证正、反向报文被分流至同一业务板。
根据本发明实施例的第一方面,提供一种分流的方法,所述方法应用于网络设备,所述网络设备包括分流板卡和至少两块业务板,所述方法包括:
分流板卡接收正向报文,根据所述正向报文确定目标业务板,将所述正向报文发送至所述目标业务板;
所述目标业务板确定属于自身的端口集合,从所述端口集合中选择一个端口;将所述正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文;
所述分流板卡接收对应于所述修改后的正向报文的反向报文,根据所述反向报文中的目的端口,确定所述目标业务板,将所述反向报文发送至所述目标业务板。
根据本发明实施例的第二方面,提供一种分流的装置,所述装置应用于网络设备,所述网络设备包括分流板卡和至少两块业务板,所述装置包括:
分流板卡,用于接收正向报文,根据所述正向报文确定目标业务板,将所述正向报文发送至所述目标业务板;
以及用于接收对应于所述修改后的正向报文的反向报文,根据所述反向报文中的目的端口,确定所述目标业务板,将所述反向报文发送至所述目标业务板;
从所述业务板中确定出的目标业务板,用于确定属于自身的端口集合,从所述端口集合中选择一个端口;将所述正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文。
本发明实施例中,网络设备上新增加了一块分流板卡。分流板卡在将正向报文发送至目标业务板后,目标业务板可以在属于自身的端口集合中选择一个端口,替换正向报文中的源端口,并发送修改后的正向报文;当分流板卡接收到对应于上述正向报文的反向报文后,可以根据反向报文中的目的端口确定出上述目标业务板,从而实现了将正向报文和反向报文分流至同一块业务板的目的。
附图说明
图1是本发明一种分流方法的示意图;
图2是本发明一种分流方法的一个实施例流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图2,图2是本发明一种分流方法的一个实施例流程图,该流程图可以包括以下步骤:
步骤201:分流板卡接收正向报文,根据上述正向报文确定目标业务板,将上述正向报文发送至上述目标业务板。
步骤202:目标业务板确定属于自身的端口集合,从上述端口集合中选择一个端口;将上述正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文。
本实施例中,属于上述目标业务板的端口集合可以为:
{端口|K×N+(n-1),K为正整数,N为业务板的总数,n为目标业务板的序列号};
作为一个实施例,业务板的端口集合可以预先存储在NAT规则中,业务板在接收到正向报文后,可在上述NAT规则中对上述端口集合进行查找。
步骤203:分流板卡接收对应于修改后的正向报文的反向报文,根据上述反向报文中的目的端口,确定上述目标业务板,将上述反向报文发送至上述目标业务板。
对应于上述步骤202中目标业务板的端口集合{端口|K×N+(n-1),K为正整数,N为业务板的总数,n为目标业务板的序列号},目标业务板可根据计算(M+1)/N所得的余数,确定上述目标业务板,其中,M为上述反向报文中的目的端口。
本实施例中,若为源网络地址转换SNAT场景,则在上述步骤201中,分流板卡在接收正向报文后,可以根据正向报文中的源IP地址和目的IP地址进行HASH计算,并根据HASH计算结果,确定目标业务板,然后将上述正向报文发送至上述目标业务板。
本实施例中,若为SNAT和目的网络地址转换DNAT场景,则在上述步骤201中,分流板卡在接收正向报文后,可首先获取正向报文中的目的IP地址对应的目标目的IP地址,根据上述目标目的IP地址和上述正向报文中的源IP地址进行HASH计算,并根据HASH计算结果,确定目标业务板。在此之后,将上述目标目的IP地址携带在上述正向报文中,并将携带有上述目标目的IP地址的正向报文发送至上述目标业务板。
则在步骤202中,目标业务板不仅需要将携带有目标目的IP地址的正向报文中的源端口替换为所选择的端口,还需要将该正向报文中的目的IP地址替换为所携带的目标目的IP地址。
本实施例中,若为ALG(Application Layer Gateway,应用层网关)场景,则网络设备可以通过以下方式,完成ALG报文的处理:
分流板卡接收ALG控制报文,根据ALG控制报文确定第一目标业务板,将ALG控制报文发送至第一目标业务板;
第一目标业务板获得上述ALG控制报文中的第一NAT信息,确定第一NAT信息对应的第二NAT信息,生成ALG表项,该ALG表项记录第一NAT信息和第二NAT信息的对应关系;将上述ALG表项发送至分流板卡;
分流板卡接收对应于上述ALG控制报文的ALG数据报文,根据ALG数据报文确定第二目标业务板;在根据ALG数据报文中的第二NAT信息查找到上述ALG表项后,将ALG表项中的第一NAT信息携带在ALG数据报文中,将携带有上述第一NAT信息的ALG数据报文发送至第二目标业务板;
第二目标业务板将携带有第一NAT信息的ALG数据报文中的第二NAT信息,替换为所携带的第一NAT信息,并发送修改后的ALG数据报文。
本发明实施例中,网络设备上新增加了一块分流板卡。分流板卡在将正向报文发送至目标业务板后,目标业务板可以在属于自身的端口集合中选择一个端口,替换正向报文中的源端口,并发送修改后的正向报文;当分流板卡接收到对应于上述正向报文的反向报文后,可以根据反向报文中的目的端口确定出上述目标业务板,从而实现了将正向报文和反向报文分流至同一块业务板的目的。
以下将分别对SNAT场景下、SNAT和DNAT场景下以及ALG场景下的具体实施例进行描述。以下实施例均应用于网络设备,该网络设备可以包括1块分流板卡和N块业务板,其中,N为大于1的整数,业务板有自己的序列号n,其中,n为大于0且小于等于N的整数。
SNAT场景下的实施例描述,可参见图1。具体地,本实施例可以包括以下步骤:
步骤1:分流板卡接收正向报文,根据正向报文中的源IP地址和目的IP地址进行HASH计算,并根据HASH计算结果,确定目标业务板,将正向报文发送至上述目标业务板。
本实施例中,若分流板卡根据正向报文中的源IP地址和目的IP地址计算出的HASH值为1,则可将序列号为1的业务板确定为目标业务板。
步骤2:目标业务板确定属于自身的端口集合:{端口|K×N+(n-1),K为正整数,N为业务板的总数,n为目标业务板的序列号},从上述端口集合中选择一个端口;将正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文。
作为一个实施例,K可以为区间[0,(Q-P)/N]内的正整数,其中,Q为本网络设备中最大的端口序号,P为本网络设备中最小的端口序号。若假设Q=1000,P=0,N=5,则K的取值范围为[0,200],
属于序列号为1的目标业务板的端口集合为{0、5、10、15……990、995、1000};
属于序列号为2的目标业务板的端口集合为{1、6、11、16……991、996};
属于序列号为3的目标业务板的端口集合为{2、7、12、17……992、997};
属于序列号为4的目标业务板的端口集合为{3、8、13、18……993、998};
属于序列号为5的目标业务板的端口集合为{4、9、14、19……994、999}。
本实施例中,目标业务板在从端口集合中选择端口时,可以从K=0开始依次计算,并判断计算出的端口是否未被占用,且端口的序列号小于等于Q,若计算出的端口满足上述两个条件,则将该计算出的端口确定为从端口集合中所选择的端口;若不满足上述两个条件,则将当前K值加1,重新计算,或者从K=0开始,再次计算。
作为一个实施例,若为保证计算出的端口的序列号大于等于P,则可使得上述端口集合为{端口|P+K×N+(n-1),P为本网络设备中最小的端口序号,K为正整数,N为业务板的总数,n为目标业务板的序列号}。
本实施例中,目标业务板除将正向报文中的源端口替换为所选择的端口外,还可以将上述正向报文中的源IP地址进行SNAT转换,并发送修改后的正向报文。
步骤3:分流板卡接收对应于修改后的正向报文的反向报文,计算(M+1)/N所得的余数,确定上述目标业务板,将上述反向报文发送至上述目标业务板。
本实施例中,M即为上述反向报文中的目的端口。
本实施例中,若在上述步骤1中所确定的目标业务板的序列号为1,且在步骤2中上述目标业务板所选择的端口号为15,则在本步骤3中,分流板卡可以在接收到的反向报文的目的端口字段中解析到端口号15,此时,通过计算得到(15+1)/5所得的余数1,可以确定目标业务板的序列号为1,即实现了上述正向报文和反向报文均被分流到了序列号为1的业务板。
本发明实施例中,网络设备上新增加了一块分流板卡。分流板卡在将正向报文发送至目标业务板后,目标业务板可以在属于自身的端口集合中选择一个端口,替换正向报文中的源端口,并发送修改后的正向报文;当分流板卡接收到对应于上述正向报文的反向报文后,可以根据反向报文中的目的端口确定出上述目标业务板,从而实现了将正向报文和反向报文分流至同一块业务板的目的。
SNAT和DNAT场景下的实施例描述,可参见图1。具体地,本实施例可以包括以下步骤:
步骤1:分流板卡接收正向报文,获取正向报文中的目的IP地址对应的目标目的IP地址,根据上述目标目的IP地址和上述正向报文中的源IP地址进行HASH计算,并根据HASH计算结果,确定目标业务板,将上述目标目的IP地址携带在上述正向报文中,并将携带有上述目标目的IP地址的正向报文发送至上述目标业务板。
本实施例中,分流板卡可在地址池中,获取正向报文中的目的IP地址对应的目标目的IP地址,也可将本网络设备的IP地址作为正向报文中的目的IP地址对应的目标目的IP地址。其中,根据实际情况,地址池中的IP地址可包括正向报文所访问的目的设备的私网IP地址,比如正向报文所访问的校园网服务器的私网IP地址。
步骤2:目标业务板确定属于自身的端口集合,从上述端口集合中选择一个端口,将携带有目标目的IP地址的正向报文中的源端口替换为所选择的端口,将该正向报文中的目的IP地址替换为所携带的目标目的IP地址,并发送修改后的正向报文。
其中,目标业务板确定属于自身的端口集合,从上述端口集合中选择一个端口,可参见上述SNAT场景下的步骤2,在此不再赘述。
本实施例中,目标业务板还可以对上述正向报文中的源IP地址进行SNAT转换,目的端口进行DNAT转换。
步骤3:分流板卡接收对应于修改后的正向报文的反向报文,根据上述反向报文中的目的端口,确定上述目标业务板,将上述反向报文发送至上述目标业务板。
其中,本步骤3可参见上述SNAT场景下的步骤3,在此不再赘述。
优选地,在上述两个实施例中,分流板卡可以通过以下方式确定接收到的报文是正向报文还是反向报文:
分流板卡判断接收到的报文中的目的IP地址,是否为地址池中的IP地址或者本网络设备的IP地址,若是,则确定接收到的报文为反向报文,并按照实施例中记录的反向报文的处理方式对接收到的报文进行处理;否则,确定接收到的报文为正向报文,并按照实施例中记录的正向报文的处理方式对接收到的报文进行处理。
需要指出的是,在本发明的网络设备中,对于不需要进行NAT转换的报文,分流板卡则可对正向报文中的源IP地址和目的IP地址进行HASH计算、对反向报文中的源IP地址和目的IP地址进行HASH计算,从而确定该报文待分流至的目标业务板,由于反向报文的源IP地址和目的IP地址仅分别为正向报文中源IP地址和目的IP地址的对调,故正、反向报文的HASH因子相同,计算出的目标业务板也相同。
本发明实施例中,网络设备上新增加了一块分流板卡。分流板卡在将正向报文发送至目标业务板后,目标业务板可以在属于自身的端口集合中选择一个端口,替换正向报文中的源端口,并发送修改后的正向报文;当分流板卡接收到对应于上述正向报文的反向报文后,可以根据反向报文中的目的端口确定出上述目标业务板,从而实现了将正向报文和反向报文分流至同一块业务板的目的。
ALG场景下的实施例描述,具体地,本实施例可以包括以下步骤:
步骤1:分流板卡接收ALG控制报文,根据ALG控制报文确定第一目标业务板,将ALG控制报文发送至第一目标业务板;
本实施例中,分流板卡根据ALG控制报文确定第一目标业务板,可参见上述SNAT场景下的步骤2,在此不再赘述。
步骤2:第一目标业务板获得上述ALG控制报文中的第一NAT信息,确定第一NAT信息对应的第二NAT信息,生成ALG表项,ALG表项记录第一NAT信息和第二NAT信息的对应关系;将上述ALG表项发送至分流板卡;
本实施例中,ALG控制报文中携带第一NAT信息,该第一NAT信息可以包括第一IP地址和第一端口,用于告知目的设备,比如FTP(File Transfer Protocol,文件传输协议)服务器,将后续的ALG数据报文发送至该第一IP地址和第一端口。
本实施例中,在需要进行NAT场景下,第一目标业务板需要为上述第一NAT信息确定用于NAT的第二NAT信息。
本实施例中,若上述第一NAT信息为IP1,PORT1,第二NAT信息为IP2,PORT2,则生成的ALG表项可以表示为如下表1所示的形式:
第一NAT信息 第二NAT信息
IP1,PORT1 IP2,PORT2
表1
第一目标业务板将ALG控制报文中的第一NAT信息转换为第二NAT信息,并发送修改后的ALG控制报文。
本实施例中,根据NAT场景的不同,对ALG控制报文报头部分的NAT转换,可参见上述SNAT场景、或者SNAT和DNAT的场景,在此不再赘述。
步骤3:分流板卡接收对应于上述ALG控制报文的ALG数据报文,根据ALG数据报文确定第二目标业务板;在根据ALG数据报文中的第二NAT信息查找到上述ALG表项后,将ALG表项中的第一NAT信息携带在ALG数据报文中,将携带有第一NAT信息的ALG数据报文发送至上述第二目标业务板;
本实施例中,针对每一个对应于上述ALG控制报文的ALG数据报文,分流板卡可以根据ALG数据报文中的源IP地址和目的IP地址进行HASH计算,根据计算结果确定第二目标业务板;也可以根据ALG数据报文中的源IP地址和查找到的ALG表项中第一NAT信息中的IP地址进行HASH计算,并根据计算结果确定第二目标业务板。
步骤4:第二目标业务板将携带有第一NAT信息的ALG数据报文中的第二NAT信息,替换为所携带的第一NAT信息,并发送修改后的ALG数据报文。
本发明实施例中,第一目标业务板将生成的ALG表项发送至分流板卡,可以使分流板卡在接收到对应于先前接收的ALG控制报文的ALG数据报文后,将上述ALG表项中的第一NAT信息携带在上述ALG数据报文中,发送至第二目标业务板,使得第二目标业务板可以根据该第一NAT信息对上述ALG数据报文中的第二NAT信息进行替换,从而实现对正确替换后的ALG数据报文的发送,实现了ALG场景下对报文的正常处理。
与前述一种分流方法的实施例相对应,本发明还提供了一种分流装置的实施例,本装置实施例应用于网络设备,该网络设备可以包括1块分流板卡和至少两块业务板,该装置可以包括:分流板卡和从上述业务板中确定出的目标业务板。
其中,分流板卡,用于接收正向报文,根据上述正向报文确定目标业务板,将上述正向报文发送至上述目标业务板;
以及用于接收对应于上述修改后的正向报文的反向报文,根据上述反向报文中的目的端口,确定上述目标业务板,将上述反向报文发送至上述目标业务板;
目标业务板,用于确定属于自身的端口集合,从上述端口集合中选择一个端口;将上述正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文。
在SNAT场景下,上述分流板卡,可具体用于:
根据上述正向报文中的源IP地址和目的IP地址进行HASH计算,根据HASH计算结果,确定目标业务板。
在SNAT和DNAT场景下,上述分流板卡,可具体用于:
获取上述正向报文中的目的IP地址对应的目标目的IP地址,根据上述目标目的IP地址和上述正向报文中的源IP地址进行HASH计算,根据HASH计算结果,确定目标业务板,将上述目标目的IP地址携带在上述正向报文中,将携带有上述目标目的IP地址的正向报文发送至上述目标业务板;
上述目标业务板,可具体用于:
将上述携带有目标目的IP地址的正向报文中的源端口替换为所选择的端口、目的IP地址替换为所携带的目标目的IP地址。
作为一个优选的实施例,若属于上述目标业务板的端口集合为:
{端口|K×N+(n-1),K为正整数,N为业务板的总数,n为目标业务板的序列号};
则上述分流板卡,具体用于:
根据计算(M+1)/N所得的余数,确定上述目标业务板,其中,M为上述反向报文中的目的端口。
本发明实施例中,网络设备上新增加了一块分流板卡。分流板卡在将正向报文发送至目标业务板后,目标业务板可以在属于自身的端口集合中选择一个端口,替换正向报文中的源端口,并发送修改后的正向报文;当分流板卡接收到对应于上述正向报文的反向报文后,可以根据反向报文中的目的端口确定出上述目标业务板,从而实现了将正向报文和反向报文分流至同一块业务板的目的。
作为一个实施例,上述分流板卡,还可用于接收ALG控制报文,根据ALG控制报文确定第一目标业务板,将上述ALG控制报文发送至上述第一目标业务板;
以及用于接收对应于上述ALG控制报文的ALG数据报文,根据上述ALG数据报文确定第二目标业务板;在根据上述ALG数据报文中的第二NAT信息查找到上述ALG表项后,将上述ALG表项中的第一NAT信息携带在上述ALG数据报文中,将携带有上述第一NAT信息的ALG数据报文发送至第二目标业务板;
则上述装置还可以包括:从上述业务板中确定出的第一目标业务板和第二目标业务板:
其中,第一目标业务板,可用于获得上述ALG控制报文中的第一NAT信息,确定第一NAT信息对应的第二NAT信息,生成ALG表项,上述ALG表项记录上述第一NAT信息和上述第二NAT信息的对应关系;将上述ALG表项发送至上述分流板卡;
第二目标业务板,可用于将上述携带有第一NAT信息的ALG数据报文中的第二NAT信息,替换为所携带的第一NAT信息,并发送修改后的ALG数据报文。
需要说明的是,上述目标业务板、第一目标业务板、第二目标业务板均是网络设备中的某一块被指定的业务板,其指定过程由网络设备中的分流板卡决定。
本发明实施例中,第一目标业务板将生成的ALG表项发送至分流板卡,可以使分流板卡在接收到对应于先前接收的ALG控制报文的ALG数据报文后,将上述ALG表项中的第一NAT信息携带在上述ALG数据报文中,发送至第二目标业务板,使得第二目标业务板可以根据该第一NAT信息对上述ALG数据报文中的第二NAT信息进行替换,从而实现对正确替换后的ALG数据报文的发送,实现了ALG场景下对报文的正常处理。
对于上述装置实施例的说明,可具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种分流方法,其特征在于,所述方法应用于网络设备,所述网络设备包括分流板卡和至少两块业务板,所述方法包括:
分流板卡接收正向报文,在SNAT场景下,根据所述正向报文确定目标业务板,包括:根据所述正向报文中的源IP地址和目的IP地址进行HASH计算,根据HASH计算结果,确定目标业务板,将所述正向报文发送至所述目标业务板;
所述目标业务板确定属于自身的端口集合,从所述端口集合中选择一个端口;将所述正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文;
所述分流板卡接收对应于所述修改后的正向报文的反向报文,根据所述反向报文中的目的端口,确定所述目标业务板,将所述反向报文发送至所述目标业务板。
2.根据权利要求1所述的方法,其特征在于,在SNAT和DNAT场景下,所述根据所述正向报文确定目标业务板,包括:
获取所述正向报文中的目的IP地址对应的目标目的IP地址,根据所述目标目的IP地址和所述正向报文中的源IP地址进行HASH计算,根据HASH计算结果,确定目标业务板,将所述目标目的IP地址携带在所述正向报文中,将携带有所述目标目的IP地址的正向报文发送至所述目标业务板;
所述将正向报文中的源端口替换为所选择的端口,包括:
将所述携带有目标目的IP地址的正向报文中的源端口替换为所选择的端口、目的IP地址替换为所携带的目标目的IP地址。
3.根据权利要求1所述的方法,其特征在于,属于所述目标业务板的端口集合为K×N+(n-1);其中,K为正整数,N为所述业务板的总数,n为目标业务板的序列号;
所述根据反向报文中的目的端口,确定所述目标业务板,包括:
根据计算(M+1)/N所得的余数,确定所述目标业务板,其中,M为所述反向报文中的目的端口。
4.根据权利要求1所述的方法,其特征在于,在ALG场景下,所述方法还包括:
分流板卡接收ALG控制报文,根据所述ALG控制报文确定第一目标业务板,将所述ALG控制报文发送至所述第一目标业务板;
所述第一目标业务板获得所述ALG控制报文中的第一NAT信息,确定所述第一NAT信息对应的第二NAT信息,生成ALG表项,所述ALG表项记录所述第一NAT信息和所述第二NAT信息的对应关系;将所述ALG表项发送至所述分流板卡;
所述分流板卡接收对应于所述ALG控制报文的ALG数据报文,根据所述ALG数据报文确定第二目标业务板;在根据所述ALG数据报文中的第二NAT信息查找到所述ALG表项后,将所述ALG表项中的第一NAT信息携带在所述ALG数据报文中,将携带有所述第一NAT信息的ALG数据报文发送至所述第二目标业务板;
所述第二目标业务板将所述携带有第一NAT信息的ALG数据报文中的第二NAT信息,替换为所携带的第一NAT信息,并发送修改后的ALG数据报文。
5.一种分流装置,其特征在于,所述装置应用于网络设备,所述网络设备包括分流板卡和至少两块业务板,所述装置包括:
分流板卡,用于接收正向报文,在SNAT场景下,根据所述正向报文确定目标业务板,包括:根据所述正向报文中的源IP地址和目的IP地址进行HASH计算,根据HASH计算结果,确定目标业务板,将所述正向报文发送至所述目标业务板;
以及用于接收对应于修改后的正向报文的反向报文,根据所述反向报文中的目的端口,确定所述目标业务板,将所述反向报文发送至所述目标业务板;
从所述业务板中确定出的目标业务板,用于确定属于自身的端口集合,从所述端口集合中选择一个端口;将所述正向报文中的源端口替换为所选择的端口,并发送修改后的正向报文。
6.根据权利要求5所述的装置,其特征在于,在SNAT和DNAT场景下,所述分流板卡,具体用于:
获取所述正向报文中的目的IP地址对应的目标目的IP地址,根据所述目标目的IP地址和所述正向报文中的源IP地址进行HASH计算,根据HASH计算结果,确定目标业务板,将所述目标目的IP地址携带在所述正向报文中,将携带有所述目标目的IP地址的正向报文发送至所述目标业务板;
所述目标业务板,具体用于:
将所述携带有目标目的IP地址的正向报文中的源端口替换为所选择的端口、目的IP地址替换为所携带的目标目的IP地址。
7.根据权利要求5所述的装置,其特征在于,属于所述目标业务板的端口集合为:
{端口|K×N+(n-1),K为正整数,N为业务板的总数,n为目标业务板的序列号};
所述分流板卡,具体用于:
根据计算(M+1)/N所得的余数,确定所述目标业务板,其中,M为所述反向报文中的目的端口。
8.根据权利要求5所述的装置,其特征在于,在ALG场景下,
所述分流板卡,还用于接收ALG控制报文,根据所述ALG控制报文确定第一目标业务板,将所述ALG控制报文发送至所述第一目标业务板;
以及用于接收对应于所述ALG控制报文的ALG数据报文,根据所述ALG数据报文确定第二目标业务板;在根据所述ALG数据报文中的第二NAT信息查找到所述ALG表项后,将所述ALG表项中的第一NAT信息携带在所述ALG数据报文中,将携带有所述第一NAT信息的ALG数据报文发送至所述第二目标业务板;
从所述业务板中确定出的第一目标业务板,用于获得所述ALG控制报文中的第一NAT信息,确定所述第一NAT信息对应的第二NAT信息,生成ALG表项,所述ALG表项记录所述第一NAT信息和所述第二NAT信息的对应关系;
将所述ALG表项发送至所述分流板卡;
从所述业务板中确定出的第二目标业务板,用于将所述携带有第一NAT信息的ALG数据报文中的第二NAT信息,替换为所携带的第一NAT信息,并发送修改后的ALG数据报文。
CN201710403498.XA 2017-06-01 2017-06-01 一种分流方法及装置 Active CN107222408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710403498.XA CN107222408B (zh) 2017-06-01 2017-06-01 一种分流方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710403498.XA CN107222408B (zh) 2017-06-01 2017-06-01 一种分流方法及装置

Publications (2)

Publication Number Publication Date
CN107222408A CN107222408A (zh) 2017-09-29
CN107222408B true CN107222408B (zh) 2020-08-04

Family

ID=59947381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710403498.XA Active CN107222408B (zh) 2017-06-01 2017-06-01 一种分流方法及装置

Country Status (1)

Country Link
CN (1) CN107222408B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417924B (zh) * 2018-04-28 2021-10-01 华为技术有限公司 分布式设备中的报文处理方法和分布式设备
CN109672564B (zh) * 2018-12-29 2021-08-24 杭州迪普科技股份有限公司 一种业务板卡管理方法及装置
CN110011935B (zh) * 2019-03-04 2022-05-24 平安科技(深圳)有限公司 数据流处理方法及相关设备
CN110177047B (zh) * 2019-05-27 2022-03-04 北京字节跳动网络技术有限公司 报文发送方法、装置、电子设备和计算机可读存储介质
CN112650704B (zh) * 2020-12-04 2024-02-06 北京天融信网络安全技术有限公司 分布式多板分流下nat处理方法、装置及电子设备
CN112738290B (zh) * 2020-12-25 2022-08-26 杭州迪普科技股份有限公司 一种nat转换方法、装置及设备
CN114363433A (zh) * 2021-12-24 2022-04-15 山石网科通信技术股份有限公司 网络资源的分配方法、装置、存储介质及处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141420A (zh) * 2007-09-05 2008-03-12 杭州华三通信技术有限公司 私网与公网进行数据通信的方法及系统
CN102739820A (zh) * 2012-06-28 2012-10-17 杭州华三通信技术有限公司 报文的网络地址转换处理方法和网络设备
CN102821036A (zh) * 2012-04-20 2012-12-12 杭州华三通信技术有限公司 一种实现报文转发的方法及设备
CN104580550A (zh) * 2014-12-30 2015-04-29 北京天融信科技有限公司 分布式系统中多业务板分流时的nat处理方法及设备
EP2928161A1 (en) * 2010-11-25 2015-10-07 Huawei Technologies Co., Ltd. Method and apparatus for message transmission

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141420A (zh) * 2007-09-05 2008-03-12 杭州华三通信技术有限公司 私网与公网进行数据通信的方法及系统
EP2928161A1 (en) * 2010-11-25 2015-10-07 Huawei Technologies Co., Ltd. Method and apparatus for message transmission
CN102821036A (zh) * 2012-04-20 2012-12-12 杭州华三通信技术有限公司 一种实现报文转发的方法及设备
CN102739820A (zh) * 2012-06-28 2012-10-17 杭州华三通信技术有限公司 报文的网络地址转换处理方法和网络设备
CN104580550A (zh) * 2014-12-30 2015-04-29 北京天融信科技有限公司 分布式系统中多业务板分流时的nat处理方法及设备

Also Published As

Publication number Publication date
CN107222408A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
CN107222408B (zh) 一种分流方法及装置
CN109981457B (zh) 一种报文处理的方法、网络节点和系统
US9825859B2 (en) Item aggregation in shortest path bridging mac-in-mac mode (SPBM) network
CN108259347B (zh) 一种报文传输方法和装置
CN101699786B (zh) 一种丢包检测的方法、装置和系统
CA2469169A1 (en) Method and apparatus for determination of network topology
CN108111432A (zh) 报文转发方法及装置
CN103414798B (zh) 基于网络地址转换的通信方法、设备和系统
CN101729425B (zh) Vrrp组网中流量发送的方法及设备
CN101997768A (zh) 一种上送地址解析协议报文的方法和装置
US20210136021A1 (en) System and method for regulating electronic message transmissions
CN113014689B (zh) 一种网络地址转换的方法和装置
US20180041570A1 (en) System, Apparatus and Method for Load Balancing
CN105704036A (zh) 报文转发方法、装置和系统
CN104994022A (zh) 一种报文传输的方法和业务板
CN109379241A (zh) 一种路径信息确定方法及装置
CN109120732B (zh) 分布式nat系统中的业务板热插方法、系统及存储介质
CN111049947B (zh) 报文转发方法及装置、电子设备、存储介质
CN106027356A (zh) 一种隧道标识的转换方法及装置
JP2006246460A (ja) ブリッジ装置及び情報の伝送及び取得方法
CN112020862B (zh) 在远程网络上标识设备的方法、系统和计算机可读存储介质
CN110086727B (zh) 一种cgn板间负载分担方法及装置
CN106411553B (zh) 一种业务链路径的优化方法及装置
GB2592315A (en) Methods and systems for sending packets through a plurality of tunnels
CN103036789B (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