CN107547689B - 一种运营商级的网络地址转换cgn方法和装置 - Google Patents
一种运营商级的网络地址转换cgn方法和装置 Download PDFInfo
- Publication number
- CN107547689B CN107547689B CN201710853641.5A CN201710853641A CN107547689B CN 107547689 B CN107547689 B CN 107547689B CN 201710853641 A CN201710853641 A CN 201710853641A CN 107547689 B CN107547689 B CN 107547689B
- Authority
- CN
- China
- Prior art keywords
- nat
- rule
- session
- interface
- output interface
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种运营商级的网络地址转换CGN方法和装置。所述方法包括:为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的;接收用户设备发送的指定业务的流量;当流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断所述NAT会话使用的公网IP地址对应的出接口是否可用;若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对所述流量进行网络地址转换。该技术方案根据CGN设备的出接口的状态,在出接口发生故障时可以根据NAT规则重新选择可用的出接口,能够确保回程流量得到正确的接收。
Description
技术领域
本公开涉及计算机网络技术领域,具体涉及一种运营商级的网络地址转换CGN方法和装置。
背景技术
公网IP地址是可以直接在互联网中通信使用的地址,但其数量是有限的,已经无法满足日益增多的网络设备。NAT(Network Address Translation,网络地址转换)技术可以解决该问题,大量的网络设备可以在一个局域网中被分配到私网IP地址,在其需要进行互联网通信时,需要将私网IP地址转换为一个公网IP地址,这一过程就称为NAT。
ISP(Internet Service Provider,互联网服务提供商)可以提供公网IP地址,但用户设备往往不会直接连接到ISP,而是需要宽带运营商的设备作为中介,也就是BRAS(Broadband Remote Access Server,宽带接入服务器),用户设备接入BRAS,再进行NAT,才能够实现将私网地址转换为公网地址,这种运营商级的NAT又可称为CGN(Carrier-GradeNAT)。
发明内容
本公开提供了一种运营商级的网络地址转换CGN方法和装置。
依据本公开的一个方面,提供了一种运营商级的网络地址转换CGN方法,应用于CGN设备中,所述CGN设备包括两个或两个以上出接口,各出接口分别用于连接一个互联网服务提供商ISP,各ISP分别为相应的出接口分配公网IP地址,该方法包括:为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的;接收用户设备发送的指定业务的流量;当所述流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断所述NAT会话使用的公网IP地址对应的出接口是否可用;若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对所述流量进行网络地址转换。
依据本公开的另一方面,提供了一种运营商级的网络地址转换CGN装置,应用于CGN设备中,所述CGN设备包括两个或两个以上出接口,各出接口分别用于连接一个互联网服务提供商ISP,各ISP分别为相应的出接口分配公网IP地址,该装置包括:NAT规则配置单元,用于为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的;用户流量接收单元,用于接收用户设备发送的指定业务的流量;网络地址转换单元,用于当所述流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断所述NAT会话使用的公网IP地址对应的出接口是否可用;若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对所述流量进行网络地址转换。
依据本公开的另一方面,提供了一种运营商级的网络地址转换CGN装置,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现如上述任一所述的方法步骤。
依据本公开的再一方面,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现如上述任一所述的方法步骤。
由上述可知,本公开的技术方案,对于包含两个或两个以上出接口、可分别连接不同ISP的CGN设备,为各出接口配置NAT规则,当接收到用户设备发送的指定业务的流量时,如该流量命中了一个已有的NAT会话,那么根据NAT规则判断该NAT会话使用的公网IP地址所对应的出接口是否可用,如果可用,那么继续使用该NAT会话,如果不可用,那么根据NAT规则选择与一个当前可用的出接口建立新的NAT会话。该技术方案根据出接口的状态,在出接口发生故障时可以根据NAT规则重新选择可用的出接口,能够确保回程流量得到正确的接收。
附图说明
图1示出了现有技术中运营商级的网络地址转换CGN回程流量不通的情况示意图;
图2示出了根据本公开一个实施例的一种运营商级的网络地址转换CGN方法的流程示意图;
图3示出了根据本公开一个实施例的一种运营商级的网络地址转换CGN装置的结构示意图;
图4示出了根据本公开一个实施例的一种运营商级的网络地址转换CGN设备硬件的结构示意图。
具体实施方式
目前,已有了一些集成了BRAS和CGN功能的设备,并且每个设备可以连接到多个ISP。一种方案中的CGN设备,在用户上线后根据预设的NAT规则为其分配一个公网IP地址,将来自该用户的流量的源地址转换为该公网IP地址。以用户被分配到的公网IP地址是ISP1提供的为例,出接口1与ISP1相连,那么该用户的流量通过出接口1转发到ISP1,回程流量根据流量的源IP地址(被转换为分配的公网IP地址)从出接口1返回。而当出接口1发生故障时,该用户的流量依然是以分配的公网IP地址(也就是ISP1提供的地址)进行网络地址转换,但是会根据路由切换,从出接口2进行转发。这样在流量的发出上并没有问题,但是由于这些流量的源IP地址依然被转换ISP1提供的地址,因此回程流量会打到出接口1而不是出接口2上。由于出接口1已故障,因此会出现接收不到回程流量的情况,这样会使用户感觉到网络发生故障。这种情况的示例可以参照图1。
利用端口,可以实现一个公网IP地址对应多个私网IP地址,例如为一用户分配一个公网IP的一部分端口块,为另一用户分配该公网IP的另一部分端口块。因此在上述过程中,分配公网IP地址的同时,还需要为用户分配端口块。
如果能够在用户发送流量时,根据出接口的状态分配相应的公网IP地址,就应该可以避免这样的问题发生。
为此,本公开提供了一种网络地址转换方法和装置,以解决现有技术中可连接多ISP的CGN设备在出接口故障时接收不到回程流量的问题。为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图2示出了根据本公开一个实施例的一种运营商级的网络地址转换CGN方法的流程示意图,该方法应用于运营商级的网络地址转换CGN设备中,CGN设备包括多个出接口,各出接口分别用于连接一个互联网服务提供商ISP,各ISP分别为相应的出接口分配公网IP地址。如图2所示,该方法包括:
步骤S210,为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的。
步骤S220,接收用户设备发送的指定业务的流量。
步骤S230,当流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断NAT会话使用的公网IP地址对应的出接口是否可用。
步骤S240,若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对流量进行网络地址转换。
可见,图2所示的方法,对于包含两个或两个以上出接口、可分别连接不同ISP的CGN设备,为各出接口配置NAT规则,当接收到用户设备发送的指定业务的流量时,如该流量命中了一个已有的NAT会话,那么根据NAT规则判断该NAT会话使用的公网IP地址所对应的出接口是否可用,如果可用,那么继续使用该NAT会话,如果不可用,那么根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,从而实现根据出接口的状态,在出接口发生故障时可以根据NAT规则重新选择可用的出接口,能够确保回程流量得到正确的接收。
在本公开的一个实施例中,根据NAT规则,判断NAT会话使用的公网IP地址对应的出接口是否可用包括:确定转发该流量的出接口,判断为该出接口配置的NAT规则中是否存在与该用户设备匹配且与NAT会话中记录的NAT规则不同的NAT规则;若存在,则判断NAT会话使用的公网IP地址对应的出接口为不可用;若不存在,则判断NAT会话使用的公网IP地址对应的出接口为可用。
一种情形下,CGN设备的出接口1连接ISP1,得到了ISP1分配的一个公网IP地址,为出接口1配置的多个NAT规则都是要将私网IP地址转换为这个公网IP地址。对于用户设备A的一条流量,命中了一个已有的NAT会话。确定转发该流量的出接口是出接口2,出接口2上的NAT规则分别针对用户设备A、B和C,针对用户设备A的规则为:仅在出接口1不可用时生效。那么此时在出接口2上的NAT规则中就找不到与该用户设备匹配的规则,而这也就说明了出接口1是可用的(否则针对用户设备A的规则就生效了)。这时候如果已有的NAT会话中使用了ISP1分配的一个公网IP地址,那么回程流量就会打到出接口1上,不受影响。
另一情形下,已有的NAT会话中使用了与ISP1连接的出接口1上的规则1,将私网IP地址转换为ISP1分配的一个公网IP地址。用户设备A的流量命中了这个会话,并且转发该流量的出接口是出接口1。出接口上的规则1是针对用户设备A一直生效的,那么此时规则1是匹配的NAT规则,这一规则与已有的NAT会话中记录的NAT规则是相同的,那么使用已有的NAT会话;由于出接口1是可用的,回程流量打到出接口1上也不受影响。
再一情形下,CGN设备的出接口1连接ISP1,得到了ISP1分配的一个公网IP地址;CGN设备的出接口2连接ISP2,得到了ISP2分配的一个公网IP地址。用户设备A的流量命中了一个已有的NAT会话,这个NAT会话使用了一个出接口1上的NAT规则(假设为规则1),将流量的源IP地址转换为ISP1分配给出接口1的公网IP地址。此时,出接口1坏了,重新确定要由出接口2转发用户设备A的流量。出接口2上的规则4被配置为:对于用户设备A,仅在出接口1不可用时生效。那么此时这就是一个匹配成功的规则。另外,规则4是出接口2上的规则,会将流量的源IP地址转换为ISP2分配给出接口2的公网IP地址。由于规则4与原NAT会话中记录的规则1是不同的,那么要删除原NAT会话,根据规则4新建一个NAT会话。根据规则4新建的NAT会话由于使用了ISP2分配给出接口2的公网IP地址,出接口2可用,那么回程流量也不受影响。
当出接口1修好后,出接口2上的规则4变为无效,此时用户设备A的流量如果命中上次新建的NAT会话,并且依然由出接口2转发,那么出接口2上也没有匹配的NAT规则,此时使用上次新建的NAT会话,转换后的源IP地址是ISP2提供的公网IP地址;而出接口2可用,回程流量也不受影响。
上面的例子示出了CGN设备有两个出接口的情况,事实上可以推而广之到任意数量的出接口。
在本公开的一个实施例中,为各出接口配置的NAT规则包括与该出接口对应的NAT主规则和与其他出接口分别对应的NAT备规则,备规则仅在其对应的出接口不可用时生效;根据NAT规则选择与一个当前可用的出接口建立新的NAT会话包括:在新的NAT会话中记录使用的NAT规则,当该NAT规则为NAT备规则时,在建立的NAT会话中记录下一跳信息;下一跳信息是根据路由表确定的;确定转发该流量的出接口包括:如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前可用,则确定该出接口为转发该流量的出接口;如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前不可用,则根据路由表确定该流量的出接口。
当一个NAT主规则与多个用户设备对应时,可以使用ACL(Access Control List,访问控制列表)来进行区分。下面给出了三个出接口情况下的NAT规则示例:
出接口1:
主规则:表A,分配ISP1的地址;
备规则1:表B,分配ISP1的地址,监控出接口2,仅在出接口2不可用时生效;
备规则2:表C,分配ISP1的地址,监控出接口3,仅在出接口3不可用时生效。
出接口2:
主规则:表B,分配ISP2的地址
备规则1:表A,分配ISP2的地址,监控出接口1,仅在出接口1不可用时生效;
备规则2:表C,分配ISP2的地址,监控出接口3,仅在出接口3不可用时生效。
出接口3:
主规则:表C,分配ISP3的地址
备规则1:表A,分配ISP3的地址,监控出接口1,仅在出接口1不可用时生效;
备规则2:表B,分配ISP3的地址,监控出接口2,仅在出接口2不可用时生效。
上述中的表A、B、C可以是ACL,每个表对应若干个用户设备。那么可以看出,在出接口1不可用时,出接口2上的备规则1和出接口1上的备规则1都是生效的。这时候如果根据路由表,确定出接口2和出接口3中的任一个作为用户设备A的流量的转发出接口,都可以选择生效的备规则。
在初次建立NAT会话时,根据路由表就可以直接确定转发流量的出接口;而在已有NAT会话时,则需要进行一些处理。例如,使用备规则建立的NAT会话,在备规则不再生效时(说明原来不可用的出接口已被修复),如果按照路由表确定原来不可用的出接口为转发该流量的出接口,那么会出现该出接口中的主规则生效,需要重新建立NAT会话的情况,而已有的NAT会话实际上是可以正常工作的,不需要浪费资源。因此在使用备规则建立的NAT会话中,需要记录下一跳信息,直接根据下一跳信息来确定转发流量的出接口。但是这又出现了一个问题:当下一跳信息对应的出接口不可用时(这种情况罕见,因为这说明至少有两个出接口不可用),如果根据下一跳信息直接确定转发流量的出接口,那么流量无法正常转发出去,因此需要判断下一跳信息对应的出接口是否可用。
举例来说,路由表配置了流量A通过出接口1转发,当出接口1故障时通过出接口2转发,出接口1和2都故障时通过出接口3转发。根据出接口1上的主规则,流量A使用出接口1的IP地址(分配ISP1的地址)建立了NAT会话。当出接口1故障后,出接口2上的备规则生效,在根据出接口2中的备规则建立的NAT会话中记录的下一跳信息为出接口2;如果出接口2也故障,通过查找路由表,流量A通过出接口3转发,在根据出接口3中的备规则建立的NAT会话中记录的下一跳信息为出接口3。
由于出接口在不可用之后,通常会很快被修复,长期依赖NAT备规则的效率是不高的。因此会尽量使用NAT主规则进行网络地址转换。通常情况下,在分配公网IP地址时还会一并分配端口块,因此在本公开的一个实施例中,上述方法还包括:对通过NAT备规则分配的端口块,维护该端口块上的NAT会话数量;当一个通过NAT备规则分配的端口块上的NAT会话数量为0,且该状态持续时间达到预设阈值时,将该端口块和该端口块对应的公网IP地址进行释放。
本公开的实施例中的CGN设备可以是整合了BRAS和CGN功能的设备,用户设备可以是BRAS用户设备。由于用户设备上线时,就需要为其分配公网IP地址和端口块,这时可以根据各出接口状态,确定该用户设备匹配的NAT规则,为其分配公网IP地址。不过这与该用户设备的业务流量到来时进行网络地址转换使用的公网IP地址和端口块的关联性并不高,只会在使用的公网地址和端口块是已分配过的情况下不再进行二次分配,而不是类似现有技术中,直接将此次分配的公网IP地址和端口块一直用作后续业务流量的网络地址转换。
在本公开的一个实施例中,上述方法中,为各出接口配置的NAT规则包括与该出接口对应的NAT主规则,NAT主规则与一个或一个以上用户设备相对应;该方法还包括:当流量没有命中任一个已有的NAT会话时,根据NAT规则选择与一个当前可用的出接口建立新的NAT会话;根据NAT规则选择与一个当前可用的出接口建立新的NAT会话包括:判断为转发该流量的出接口配置的NAT规则中是否存在与该用户设备匹配的NAT规则;若存在,则使用本次匹配的NAT规则建立新的NAT会话,当前可用的出接口为转发该流量的出接口;若不存在,则使用与该用户设备对应的NAT主规则建立新的NAT会话,当前可用的出接口为与该用户设备对应的NAT主规则所属的出接口。
接收到用户设备A的两个流量——流量1和流量2后,这两个流量均没有命中任何一个已有的NAT会话,那么分别确定转发流量的出接口,例如转发流量1的出接口为出接口1(连接ISP1,其上的NAT规则可分配的公网IP地址是ISP1提供的),转发流量2的出接口为出接口2(简言之,使用ISP2提供的公网IP地址进行转换)。举例来说,出接口1上的NAT规则中,针对用户设备A的规则是一直生效的,也就是与该用户设备A对应的主规则,出接口2上的NAT规则中,针对用户设备A的规则仅在出接口1不可用时才生效。那么此时,出接口1上存在与用户设备A匹配的规则,出接口2上不存在与用户设备A匹配的规则。那么对于流量1,使用匹配到的主规则建立NAT会话,对于流量2,也只能使用主规则建立NAT会话。但是要注意的是,流量1被出接口1转发,回程流量打到出接口1上;流量2被出接口2转发,回程流量打到出接口1上。也即是说,回程流量打到哪个出接口,与原流量进行NAT转换时使用的NAT规则有关,而不是类似现有技术中,一个用户设备的所有回程流量都打到一个出接口上(因为进行网络地址转换时使用的公网IP地址是同一个IP地址)。
在本公开的实施例中,当删除的NAT会话时TCP类型的会话时,考虑到TCP会话的三次握手机制,需要模拟其访问的服务器向用户设备发送一个RST(重置)报文,以使用户设备尽快重新发起一个TCP连接。
在本公开的实施例中,各NAT规则可以分配有不同的标识,这样在NAT会话中可以仅记录NAT规则的标识。以上面的NAT规则示例为例,出接口1上的三个NAT规则虽然都分配ISP1的地址,但是由于匹配的ACL表不同,因此不是相同的NAT规则,需要分配不同的ID;出接口1上的主规则和出接口2上的备规则1虽然都匹配ACL表,但是分配的公网地址不同,因此也不是相同的NAT规则,也需要分配不同的ID。
图3示出了根据本公开一个实施例的一种运营商级的网络地址转换CGN装置的结构示意图,该装置应用于CGN设备中,所述CGN设备包括两个或两个以上出接口,各出接口分别用于连接一个互联网服务提供商ISP,各ISP分别为相应的出接口分配公网IP地址,该装置包括:
NAT规则配置单元310,用于为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的。
用户流量接收单元320,用于接收用户设备发送的指定业务的流量。
网络地址转换单元330,用于当流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断NAT会话使用的公网IP地址对应的出接口是否可用;若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对流量进行网络地址转换。
在本公开的一个实施例中,上述装置中,网络地址转换单元330,用于确定转发该流量的出接口,判断为该出接口配置的NAT规则中是否存在与该用户设备匹配且与NAT会话中记录的NAT规则不同的NAT规则;若存在,则判断NAT会话使用的公网IP地址对应的出接口为不可用;若不存在,则判断NAT会话使用的公网IP地址对应的出接口为可用。
在本公开的一个实施例中,上述装置中,为各出接口配置的NAT规则包括与该出接口对应的NAT主规则和与其他出接口分别对应的NAT备规则,备规则仅在其对应的出接口不可用时生效;网络地址转换单元330,用于在新的NAT会话中记录使用的NAT规则,当该NAT规则为NAT备规则时,在建立的NAT会话中记录下一跳信息;下一跳信息是根据路由表确定的;如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前可用,则确定该出接口为转发该流量的出接口;如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前不可用,则根据路由表确定该流量的出接口。
在本公开的一个实施例中,上述装置还包括:NAT会话维护单元(图未示),用于对通过NAT备规则分配的端口块,维护该端口块上的NAT会话数量;当一个通过NAT备规则分配的端口块上的NAT会话数量为0,且该状态持续时间达到预设阈值时,将该端口块和该端口块对应的公网IP地址进行释放。
在本公开的一个实施例中,上述装置中,为各出接口配置的NAT规则包括与该出接口对应的NAT主规则,NAT主规则与一个或一个以上用户设备相对应;网络地址转换单元330,还用于当流量没有命中任一个已有的NAT会话时,根据NAT规则选择与一个当前可用的出接口建立新的NAT会话;判断为转发该流量的出接口配置的NAT规则中是否存在与该用户设备匹配的NAT规则;若存在,则使用本次匹配的NAT规则建立新的NAT会话,当前可用的出接口为转发该流量的出接口;若不存在,则使用与该用户设备对应的NAT主规则建立新的NAT会话,当前可用的出接口为与该用户设备对应的NAT主规则所属的出接口。
本公开提供的运营商级的网络地址转换CGN装置300可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,可通过处理器410将非易失性存储器450中与运营商级的网络地址转换CGN装置300对应的机器可执行指令读取到易失性存储器440中运行。
从硬件层面而言,如图4所示,为本公开一个实施例的一种运营商级的网络地址转换CGN设备硬件的结构示意图,除了图4所示的处理器410、内部总线420、网络接口430、易失性存储器440以及非易失性存储器450之外,根据该CGN设备的实际功能,还可以包括其他硬件(例如出接口,图未示),对此不再赘述。
在不同的实施例中,所述非易失性存储器450可以是:存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。所述易失性存储器440可以是:RAM(Radom Access Memory,随机存取存储器)。
进一步,非易失性存储器450和易失性存储器440作为机器可读存储介质,其上可存储由处理器410执行的运营商级的网络地址转换CGN装置300对应的机器可执行指令。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可,这里不再复述。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
综上所述,本公开的技术方案,对于包含两个或两个以上出接口、可分别连接不同ISP的CGN设备,为各出接口配置NAT规则,当接收到用户设备发送的指定业务的流量时,如该流量命中了一个已有的NAT会话,那么根据NAT规则判断该NAT会话使用的公网IP地址所对应的出接口是否可用,如果可用,那么继续使用该NAT会话,如果不可用,那么根据NAT规则选择与一个当前可用的出接口建立新的NAT会话。该技术方案根据出接口的状态,在出接口发生故障时可以根据NAT规则重新选择可用的出接口,能够确保回程流量得到正确的接收。
以上所述仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本公开的保护范围内。
Claims (12)
1.一种运营商级的网络地址转换CGN方法,其特征在于,该方法应用于CGN设备中,所述CGN设备包括两个或两个以上出接口,各出接口分别用于连接一个互联网服务提供商ISP,各ISP分别为相应的出接口分配公网IP地址,该方法包括:
为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的;
接收用户设备发送的指定业务的流量;
当所述流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断所述NAT会话使用的公网IP地址对应的出接口是否可用;
若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对所述流量进行网络地址转换。
2.如权利要求1所述的方法,其特征在于,所述根据NAT规则,判断所述NAT会话使用的公网IP地址对应的出接口是否可用包括:
确定转发该流量的出接口,判断为该出接口配置的NAT规则中是否存在与该用户设备匹配且与所述NAT会话中记录的NAT规则不同的NAT规则;
若存在,则判断所述NAT会话使用的公网IP地址对应的出接口为不可用;
若不存在,则判断所述NAT会话使用的公网IP地址对应的出接口为可用。
3.如权利要求2所述的方法,其特征在于,所述为各出接口配置的NAT规则包括与该出接口对应的NAT主规则和与其他出接口分别对应的NAT备规则,备规则仅在其对应的出接口不可用时生效;
所述根据NAT规则选择与一个当前可用的出接口建立新的NAT会话包括:在新的NAT会话中记录使用的NAT规则,当该NAT规则为NAT备规则时,在建立的NAT会话中记录下一跳信息;所述下一跳信息是根据路由表确定的;
所述确定转发该流量的出接口包括:
如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前可用,则确定该出接口为转发该流量的出接口;
如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前不可用,则根据路由表确定该流量的出接口。
4.如权利要求3所述的方法,其特征在于,该方法还包括:
对通过NAT备规则分配的端口块,维护该端口块上的NAT会话数量;
当一个通过NAT备规则分配的端口块上的NAT会话数量为0,且该状态持续时间达到预设阈值时,将该端口块和该端口块对应的公网IP地址进行释放。
5.如权利要求1所述的方法,其特征在于,所述为各出接口配置的NAT规则包括与该出接口对应的NAT主规则,所述NAT主规则与一个或一个以上用户设备相对应;该方法还包括:
当所述流量没有命中任一个已有的NAT会话时,根据NAT规则选择与一个当前可用的出接口建立新的NAT会话;
所述根据NAT规则选择与一个当前可用的出接口建立新的NAT会话包括:
判断为转发该流量的出接口配置的NAT规则中是否存在与该用户设备匹配的NAT规则;
若存在,则使用本次匹配的NAT规则建立新的NAT会话,所述当前可用的出接口为转发该流量的出接口;
若不存在,则使用与该用户设备对应的NAT主规则建立新的NAT会话,所述当前可用的出接口为与该用户设备对应的NAT主规则所属的出接口。
6.一种运营商级的网络地址转换CGN装置,其特征在于,该装置应用于CGN设备中,所述CGN设备包括两个或两个以上出接口,各出接口分别用于连接一个互联网服务提供商ISP,各ISP分别为相应的出接口分配公网IP地址,该装置包括:
NAT规则配置单元,用于为各出接口配置NAT规则,根据各NAT规则分配的公网IP地址是与该NAT规则所属的出接口对应的;
用户流量接收单元,用于接收用户设备发送的指定业务的流量;
网络地址转换单元,用于当所述流量命中了一个已有的网络地址转换NAT会话时,根据NAT规则,判断所述NAT会话使用的公网IP地址对应的出接口是否可用;若不可用,则根据NAT规则选择与一个当前可用的出接口建立新的NAT会话,使用新建立的NAT会话对所述流量进行网络地址转换。
7.如权利要求6所述的装置,其特征在于,
所述网络地址转换单元,用于确定转发该流量的出接口,判断为该出接口配置的NAT规则中是否存在与该用户设备匹配且与所述NAT会话中记录的NAT规则不同的NAT规则;若存在,则判断所述NAT会话使用的公网IP地址对应的出接口为不可用;若不存在,则判断所述NAT会话使用的公网IP地址对应的出接口为可用。
8.如权利要求7所述的装置,其特征在于,所述为各出接口配置的NAT规则包括与该出接口对应的NAT主规则和与其他出接口分别对应的NAT备规则,备规则仅在其对应的出接口不可用时生效;
所述网络地址转换单元,用于在新的NAT会话中记录使用的NAT规则,当该NAT规则为NAT备规则时,在建立的NAT会话中记录下一跳信息;所述下一跳信息是根据路由表确定的;如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前可用,则确定该出接口为转发该流量的出接口;如果NAT会话中记录有下一跳信息,且下一跳信息对应的出接口当前不可用,则根据路由表确定该流量的出接口。
9.如权利要求8所述的装置,其特征在于,该装置还包括:
NAT会话维护单元,用于对通过NAT备规则分配的端口块,维护该端口块上的NAT会话数量;当一个通过NAT备规则分配的端口块上的NAT会话数量为0,且该状态持续时间达到预设阈值时,将该端口块和该端口块对应的公网IP地址进行释放。
10.如权利要求6所述的装置,其特征在于,所述为各出接口配置的NAT规则包括与该出接口对应的NAT主规则,所述NAT主规则与一个或一个以上用户设备相对应;
所述网络地址转换单元,还用于当所述流量没有命中任一个已有的NAT会话时,根据NAT规则选择与一个当前可用的出接口建立新的NAT会话;判断为转发该流量的出接口配置的NAT规则中是否存在与该用户设备匹配的NAT规则;若存在,则使用本次匹配的NAT规则建立新的NAT会话,所述当前可用的出接口为转发该流量的出接口;若不存在,则使用与该用户设备对应的NAT主规则建立新的NAT会话,所述当前可用的出接口为与该用户设备对应的NAT主规则所属的出接口。
11.一种运营商级的网络地址转换CGN装置,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法步骤。
12.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710853641.5A CN107547689B (zh) | 2017-09-20 | 2017-09-20 | 一种运营商级的网络地址转换cgn方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710853641.5A CN107547689B (zh) | 2017-09-20 | 2017-09-20 | 一种运营商级的网络地址转换cgn方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547689A CN107547689A (zh) | 2018-01-05 |
CN107547689B true CN107547689B (zh) | 2020-12-04 |
Family
ID=60964318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710853641.5A Active CN107547689B (zh) | 2017-09-20 | 2017-09-20 | 一种运营商级的网络地址转换cgn方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547689B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306998B (zh) * | 2018-01-24 | 2021-06-29 | 新华三技术有限公司 | 网络地址转换方法及装置 |
CN109040330B (zh) * | 2018-06-12 | 2021-08-06 | 新华三技术有限公司 | 一种流量切换方法以及装置 |
CN109120746B (zh) * | 2018-09-30 | 2022-04-15 | 新华三技术有限公司 | 网络地址转换方法、装置及地址转换设备 |
CN109379450B (zh) * | 2018-10-11 | 2022-03-22 | 平安科技(深圳)有限公司 | 网络接口交互管理方法、装置、计算机设备及存储介质 |
CN111131530B (zh) * | 2018-11-01 | 2022-04-01 | 中国移动通信集团河南有限公司 | 运营商级网络地址转换方法及装置 |
CN109743414B (zh) * | 2019-02-18 | 2021-12-31 | 国家计算机网络与信息安全管理中心 | 利用冗余连接提高地址翻译可用性的方法及计算机可读存储介质 |
CN112911353B (zh) * | 2019-12-03 | 2023-01-20 | 海信视像科技股份有限公司 | 一种显示设备、端口调度方法及存储介质 |
CN112511658B (zh) * | 2020-03-24 | 2024-04-30 | 中兴通讯股份有限公司 | 实现运营商级网络地址转换的方法、装置和系统 |
CN113472676A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 一种网络接入控制方法、sdf、cp、up以及网络系统 |
CN115086274B (zh) * | 2022-06-10 | 2023-12-22 | 北京启明星辰信息安全技术有限公司 | 一种网络流量分配方法、装置、设备和存储介质 |
CN114938351A (zh) * | 2022-06-13 | 2022-08-23 | 中国电信股份有限公司 | 流量调控方法及装置 |
CN115514732B (zh) * | 2022-09-02 | 2023-08-25 | 上海量讯物联技术有限公司 | 一种基于tcp连接数的源nat ip分配方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630268A (zh) * | 2003-12-19 | 2005-06-22 | 华为技术有限公司 | 一种多isp局域网的出口路由方法 |
CN101119324A (zh) * | 2007-09-21 | 2008-02-06 | 杭州华三通信技术有限公司 | 网络地址转换属性自适应方法及装置 |
CN105491171A (zh) * | 2014-09-17 | 2016-04-13 | 中兴通讯股份有限公司 | 网络地址转换nat资源的分配方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599899B (zh) * | 2009-07-06 | 2011-09-28 | 杭州华三通信技术有限公司 | 网络地址转换设备支持多种组网的访问方法及设备 |
US9736244B2 (en) * | 2012-10-10 | 2017-08-15 | Nokia Solutions And Networks Oy | Peer revival detection |
US20140294006A1 (en) * | 2013-03-29 | 2014-10-02 | Alcaltel-Lucent Canada Inc. | Direct service mapping for nat and pnat |
-
2017
- 2017-09-20 CN CN201710853641.5A patent/CN107547689B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630268A (zh) * | 2003-12-19 | 2005-06-22 | 华为技术有限公司 | 一种多isp局域网的出口路由方法 |
CN101119324A (zh) * | 2007-09-21 | 2008-02-06 | 杭州华三通信技术有限公司 | 网络地址转换属性自适应方法及装置 |
CN105491171A (zh) * | 2014-09-17 | 2016-04-13 | 中兴通讯股份有限公司 | 网络地址转换nat资源的分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107547689A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547689B (zh) | 一种运营商级的网络地址转换cgn方法和装置 | |
US11265368B2 (en) | Load balancing method, apparatus, and system | |
CN108886540B (zh) | 域名解析方法、装置及计算机可读存储介质 | |
CN106412142B (zh) | 一种资源设备地址获取方法及装置 | |
US9882866B2 (en) | Address allocating method, apparatus, and system | |
JP5488591B2 (ja) | 通信システム | |
KR102392120B1 (ko) | Nf 구성요소의 예외를 처리하기 위한 방법 및 시스템, 그리고 기기 | |
CN114070723B (zh) | 裸金属服务器的虚拟网络配置方法、系统及智能网卡 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
CN106533973B (zh) | 分发业务消息的方法、设备和系统 | |
CN109347670A (zh) | 路径追踪方法及装置、电子设备、存储介质 | |
CN109120746B (zh) | 网络地址转换方法、装置及地址转换设备 | |
US10237157B1 (en) | Managing host failures in a traffic forwarding system | |
CN112367257B (zh) | 路由通告方法及装置 | |
EP2675117A1 (en) | Routing method and device for host in multi-homing site | |
EP3200432B1 (en) | Method for implementing session border controller pool, and session border controller pool | |
CN109698767A (zh) | 一种主备切换方法及装置 | |
US20170099161A1 (en) | Access Apparatus and Access Apparatus-Performed Method for Connecting User Device to Network | |
JP6445408B2 (ja) | 通信システムおよび設定方法 | |
CN114553771B (zh) | 用于虚拟路由器加载的方法及相关设备 | |
CN105847143A (zh) | 基于vrrp的负载均衡方法及系统 | |
CN107172229B (zh) | 路由器的配置方法及装置 | |
US9838302B1 (en) | Managing loss of network connectivity in traffic forwarding systems | |
CN111131530B (zh) | 运营商级网络地址转换方法及装置 | |
EP4199430A1 (en) | Access control method and apparatus |
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 |