CN109561164B - Nat表项的管理方法、装置及nat设备 - Google Patents

Nat表项的管理方法、装置及nat设备 Download PDF

Info

Publication number
CN109561164B
CN109561164B CN201710896356.1A CN201710896356A CN109561164B CN 109561164 B CN109561164 B CN 109561164B CN 201710896356 A CN201710896356 A CN 201710896356A CN 109561164 B CN109561164 B CN 109561164B
Authority
CN
China
Prior art keywords
nat
address
message
controller
static
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
CN201710896356.1A
Other languages
English (en)
Other versions
CN109561164A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710896356.1A priority Critical patent/CN109561164B/zh
Priority to EP18196751.4A priority patent/EP3462713B1/en
Priority to US16/145,099 priority patent/US10652205B2/en
Publication of CN109561164A publication Critical patent/CN109561164A/zh
Application granted granted Critical
Publication of CN109561164B publication Critical patent/CN109561164B/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
    • 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
    • H04L61/256NAT traversal
    • 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
    • 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
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • 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
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • 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
    • H04L61/255Maintenance or indexing of mapping tables
    • 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
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5053Lease time; Renewal aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种NAT表项的管理方法、装置及NAT设备。该方法包括:NAT设备接收并存储连接参数,连接参数包括控制器的地址;接收网络设备发送的报文,报文的源地址为网络设备的私网地址,报文的目的地址为控制器的地址;对报文执行NAT,NAT后的报文的源地址为公网地址;基于静态表项条件被满足,生成目标静态NAT表项,目标静态NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系,静态表项条件包括报文的目的地址为控制器的地址。能够防止NAT表项老化影响网络设备和控制器之间的通信。

Description

NAT表项的管理方法、装置及NAT设备
技术领域
本发明涉及通信技术领域,尤其涉及一种NAT表项的管理方法、装置及NAT设备。
背景技术
网络地址转换(英文:network address translation,NAT)用于实现私网(使用的地址为私网网际协议(英文:Internet Protocol,IP)地址)设备访问公网(使用的地址为公网IP地址)设备的功能。
NAT设备将私网IP地址转换为公网IP地址时,会在NAT表中建立NAT表项,用于记录私网IP地址和公网IP地址之间的转换关系。命中一条NAT表项的报文被按照该NAT表项记录的转换关系执行NAT。当一条NAT表项未被命中的时长超过老化时间时,该NAT表项将会被删除。
一些场景中,控制器对路由器或交换机等网络设备进行远程控制。网络设备通常位于私网,控制器则通常位于公网,所以网络设备在访问控制器时,网络设备发送的报文需要被NAT设备进行地址转换后传输给控制器。网络设备和控制器之间建立的是长时间保持不断开的长连接。在长连接建立后网络设备和控制器之间经常长时间不通信,这就会导致NAT设备中与网络设备和控制器对应的NAT表项出现长期未被命中,进而因老化而被删除。此时网络设备再向控制器发送报文时,NAT设备将无法按照原NAT表项中的转换关系对报文进行地址转换,从而导致网络设备和控制器之间无法进行正常通信。
发明内容
本申请提供了一种NAT表项的管理方法、装置及NAT设备,能够防止NAT表项老化影响网络设备和控制器之间的通信。
第一方面,本申请提供了一种NAT表项的管理方法,包括:NAT设备接收并存储连接参数。连接参数包括控制器的地址。NAT设备接收网络设备发送的报文。报文的源地址为网络设备的私网地址。报文的目的地址为控制器的地址。NAT设备对报文执行NAT。NAT后的报文的源地址为公网地址。基于静态表项条件被满足,NAT设备生成目标静态NAT表项。目标静态NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系。静态表项条件包括报文的目的地址为控制器的地址。
本申请中,NAT设备为目的地址为控制器的地址的报文生成静态NAT表项。如此,网络设备和控制器之间建立的长连接对应的NAT表项为静态NAT表项。静态NAT表项即使未被命中的时长超过老化时间也不会被删除,从而避免了网络设备和控制器之间长时间内没有通信,而导致NAT表项被删除,网络设备和控制器之间无法进行正常通信的问题。
结合第一方面,在第一方面的第一种可能的实施方式中,连接参数还包括端口号集合,端口号集合包括控制器的向网络设备开放的一个或多个端口号。静态表项条件还包括报文的目的端口号属于端口号集合。目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址和报文的目的端口号的对应关系。
结合第一方面或上述可能的实施方式,在第一方面的第二种可能的实施方式中,连接参数还包括控制器与网络设备建立连接的传输层协议类型。静态表项条件还包括连接建立报文的传输层协议类型为连接参数中的传输层协议类型。目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址和传输层协议类型的对应关系。
结合第一方面或上述可能的实施方式,在第一方面的第三种可能的实施方式中,还包括:
NAT设备接收控制器发送的第一删除指令。第一删除指令包括连接参数。NAT设备删除连接参数,以及与连接参数对应的所有静态NAT表项。
当控制器重启时,控制器发送第一删除指令,以指示NAT设备删除和控制器的所有长连接对应的静态NAT表项。NAT设备根据第一连接参数删除存储的连接参数,以及与连接参数对应的所有静态NAT表项,即和控制器的所有长连接对应的静态NAT表项,降低NAT设备中存储NAT表项的数量,降低了维护和管理NAT表项的工作量。
结合第一方面或上述可能的实施方式,在第一方面的第四种可能的实施方式中,还包括:
NAT设备接收控制器发送的第二删除指令。第二删除指令包括连接参数和目标参数。目标参数包括网络设备的公网地址,或者目标参数包括网络设备的公网地址和NAT之后源端口号。NAT设备删除连接参数,以及与连接参数和目标参数对应的目标静态NAT表项。
当控制器与特定网络设备之前的所有连接断开时,控制器发送目标参数包括网络设备的公网地址的第二删除指令,以指示NAT设备删除和控制器与特定网络设备之间的所有长连接对应的静态NAT表项。当控制器与特定网络设备之前的特定连接断开时,控制器发送目标参数包括网络设备的公网地址和NAT之后源端口号的第二删除指令,以指示NAT设备删除和控制器与特定网络设备之间的特定长连接对应的静态NAT表项。NAT设备根据第二连接参数删除存储的连接参数,以及与连接参数和目标参数对应的目标静态NAT表项,降低NAT设备中存储NAT表项的数量,降低了维护和管理NAT表项的工作量。
第二方面,本申请提供了一种NAT表项的管理装置,包括:接收单元,用于接收并存储连接参数,连接参数包括控制器的地址。接收单元还用于接收网络设备发送的报文,报文的源地址为网络设备的私网地址,报文的目的地址为控制器的地址。转换单元,用于对报文执行NAT,NAT后的报文的源地址为公网地址。生成单元,用于基于静态表项条件被满足,生成目标静态NAT表项。目标静态NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系。静态表项条件包括报文的目的地址为控制器的地址。
结合第二方面,在第二方面的第一种可能的实施方式中,连接参数还包括端口号集合,端口号集合包括控制器的向网络设备开放的一个或多个端口号。静态表项条件还包括报文的目的端口号属于端口号集合。目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址和报文的目的端口号的对应关系。
结合第二方面或上述可能的实施方式,在第二方面的第二种可能的实施方式中,连接参数还包括控制器与网络设备建立连接的传输层协议类型。静态表项条件还包括连接建立报文的传输层协议类型为连接参数中的传输层协议类型。目标静态NAT表项还包括网络设备的私网地址、私网端口号、公网端口号、控制器的地址和传输层协议类型的对应关系。
结合第二方面或上述可能的实施方式,在第二方面的第三种可能的实施方式中,接收单元还用于接收控制器发送的第一删除指令,第一删除指令包括连接参数。
装置还包括:第一删除单元,用于删除连接参数,以及与连接参数对应的所有静态NAT表项。
结合第二方面或上述可能的实施方式,在第二方面的第四种可能的实施方式中,接收单元还用于接收控制器发送的第二删除指令,第二删除指令包括连接参数和目标参数,目标参数包括网络设备的公网地址,或者目标参数包括网络设备的公网地址和NAT之后源端口号。
装置还包括:第二删除单元,用于删除连接参数,以及与连接参数和目标参数对应的目标静态NAT表项。
第三方面,本发明实施例提供一种NAT设备,包括:存储器、处理器和通信接口。其中,处理器用于:通过通信接口接收连接参数,并在存储器中存储连接参数,连接参数包括控制器的地址;通过通信接口接收网络设备发送的报文,报文的源地址为网络设备的私网地址,报文的目的地址为控制器的地址;对报文执行NAT,NAT后的报文的源地址为公网地址;基于静态表项条件被满足,生成目标静态NAT表项,目标静态NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系,静态表项条件包括报文的目的地址为控制器的地址。
结合第三方面,在第三方面的第一种可能的实施方式中,连接参数还包括端口号集合,端口号集合包括控制器的向网络设备开放的一个或多个端口号。静态表项条件还包括报文的目的端口号属于端口号集合。目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址和报文的目的端口号的对应关系。
结合第三方面或上述可能的实施方式,在第三方面的第二种可能的实施方式中,连接参数还包括控制器与网络设备建立连接的传输层协议类型。静态表项条件还包括连接建立报文的传输层协议类型为连接参数中的传输层协议类型。目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、AT之后报文的源端口号、控制器的地址和传输层协议类型的对应关系。
结合第三方面或上述可能的实施方式,在第三方面的第三种可能的实施方式中,处理器还用于:通过通信接口接收控制器发送的第一删除指令,第一删除指令包括连接参数;并删除连接参数,以及与连接参数对应的所有静态NAT表项。
结合第三方面或上述可能的实施方式,在第三方面的第四种可能的实施方式中,处理器还用于:通过通信接口接收控制器发送的第二删除指令,第二删除指令包括连接参数和目标参数,目标参数包括网络设备的公网地址,或者目标参数包括网络设备的公网地址和NAT之后源端口号;并删除连接参数,以及与连接参数和目标参数对应的目标静态NAT表项。
第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。
图1是根据本发明一实施例提供的网络架构示意图;
图2是根据本发明一实施例提供的NAT表项的管理方法的示意性流程框图;
图3是根据本发明一实施例提供的NAT表项的管理装置的示意性框图;
图4是根据本发明一实施例提供的NAT设备的示意性框图。
具体实施方式
本发明实施例适用于NAT设备对NAT表项的管理。图1为本发明实施例提供的一种网络架构示意图。图1所示,网络设备位于私网,控制器位于公网,控制器与网络设备之间通过建立的长连接进行通信,NAT设备用于在网络设备和控制器进行通信时,对两者之间传输报文执行NAT,NAT设备可以通过广域网与控制器连接,网络设备可以具体为路由器或交换机等。
本发明一实施例提供了一种NAT表项的管理方法,用于NAT设备,具体的可以用于如图1所示网络架构中的NAT设备,如图2所示,该方法包括以下步骤。
101,NAT设备接收并存储连接参数。
其中,连接参数包括控制器的地址,例如IP地址。连接参数可以为控制器发送给NAT设备,也可以为其他管理设备或服务器发送给NAT设备。
连接参数还可以包括端口号集合,端口号集合包括控制器的向网络设备开放的一个或多个端口号。控制器中可以预先设置开放给各网络设备的一个或多个端口号,这些开放给各网络设备的端口号用于控制器与网络设备之间建立连接。端口号为传输层协议端口号,例如,传输控制协议(英文:Transmission Control Protocol,TCP)端口号或用户数据报协议(英文:User Datagram Protocol,UDP)端口号等。
连接参数还可以包括控制器与网络设备建立连接的传输层协议类型。例如,连接参数指示传输层协议类型为TCP或传输层协议类型为UDP等等。
102,NAT设备接收网络设备发送的报文。
其中,报文的源地址为网络设备的私网地址,报文的目的地址为控制器的地址。
网络设备在与控制器建立连接或进行通信时,会通过NAT设备向控制器发送报文。网络设备发送报文的源地址为网络设备的私网地址,目的地址为控制器的地址,报文中还包括网络设备发送报文的端口号。
103,NAT设备对报文执行NAT,NAT后的报文的源地址为公网地址。
其中,由于控制器位于公网,所以NAT设备接收到网络设备发送的报文后,需要执行NAT,即将报文的源地址转换为公网地址。NAT设备对报文执行NAT后,将报文发送给控制器。
NAT设备还可以对网络设备发送报文中的源端口号进行转换。
104,基于静态表项条件被满足,NAT设备生成目标静态NAT表项。
静态NAT表项是不会被老化(或老化时间足够长,例如长达一周或一个月)的NAT表项。目标静态NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系。NAT之前报文的源端口号表示网络设备发送报文包括的端口号,即网络设备在与控制器通信时使用的端口号。静态表项条件可以包括报文的目的地址为控制器的地址,以及NAT设备缺少对应网络设备的私网地址和NAT之前的源端口号的静态NAT表项。NAT设备在判断静态表项条件被满足时,即可生成目标静态NAT表项。NAT设备生成目标静态NAT表项包括建立静态NAT表项或者将动态NAT表项转换为静态NAT表项。
NAT后可用的公网地址可以为一个或多个。例如,NAT设备在对所有网络设备发送的报文执行NAT时,可以使用一个公网地址,即各报文使用相同的公网地址,不同的连接通过端口号进行区分。此时由于各报文使用相同的公网地址,所以NAT表项可以不包括公网地址,即用缺省公网地址执行NAT。而在NAT设备使用多个公网地址对各报文进行地址转换时,NAT表项还需要包括公网地址,即目标静态NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、公网地址、NAT之后报文的源端口号和控制器的地址的对应关系。
本发明实施例中步骤103和步骤104在执行时没有时间先后顺序。
本发明实施例中,NAT设备为目的地址为控制器的地址的报文生成目标静态NAT表项。如此,网络设备与控制器之间建立的长连接对应的NAT表项为静态NAT表项。静态NAT表项即使未被命中的时长超过老化时间也不会被删除,从而避免了网络设备和控制器之间长时间内没有通信,而导致NAT表项被删除,网络设备和控制器之间无法进行正常通信的问题。
另外,现有技术中,为避免网络设备与控制器之间的动态NAT表项因老化而被删除,所以网络设备定时向控制器发送周期小于老化周期的探测报文。本发明实施例中,NAT设备生成目标静态NAT表项,不会因老化而被删除,所以不需要网络设备定时向控制器发送探测报文,从而节省了NAT设备与控制器之间的带宽,避免了资源浪费。
NAT设备接收网络设备发送的报文后,会对其执行NAT,并建立NAT表项。NAT表项包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系。本发明实施例中,为了避免网络设备和控制器对应的NAT表项发生因老化而被删除的情况,所以在NAT设备中通过静态NAT表项来记录网络设备和控制器之间进行地址转换关系,即目标静态NAT表项。
本发明实施例中,步骤101和步骤102在执行时没有时间先后顺序,步骤101和步骤102执行的顺序不同,NAT设备生成目标静态NAT表项的方式不同。
NAT设备在先执行步骤101时,可以先对接收到的连接参数进行存储,NAT设备中此时还没有记录网络设备和控制器之间进行地址转换关系的静态NAT表项。NAT设备接收到网络设备发送给控制器的报文后,发现没有对应的动态或静态NAT表项,因此需要建立相应的NAT表项。此时由于报文的目的地址为控制器的地址,说明网络设备的报文是发送给控制器的,所以NAT设备可以直接建立目标静态NAT表项,通过目标静态NAT表项记录网络设备和控制器之间进行地址转换关系。NAT设备还可以先建立动态NAT表项,动态NAT表项中包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系,然后根据动态NAT表项中内容判断网络设备发送报文的目的地址是否为控制器的地址,判定出网络设备发送报文的目的地址为控制器的地址后,即可将动态NAT表项转换为静态NAT表项。
如果NAT设备先接收到网络设备发送的报文时,NAT设备中不包括对应网络设备的私网地址和报文中的源端口号的静态NAT表项,此时可以判断NAT设备中是否包括对应网络设备的私网地址和报文中的源端口号的动态NAT表项。如果NAT设备中包括对应网络设备的私网地址和报文中的源端口号的动态NAT表项,则可以根据动态NAT表项对报文执行NAT。如果NAT设备中缺少对应网络设备的私网地址和报文中的源端口号的动态NAT表项,则可以一方面对报文执行NAT,另一方面建立动态NAT表项。动态NAT表项中包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号和控制器的地址的对应关系。然后,NAT设备接收到连接参数。NAT设备用连接参数检索动态NAT表项,找到包括了连接参数的动态NAT表项,该动态NAT表项中包括了网络设备发送报文的目的地址,该目的地址为控制器的地址。NAT设备将动态NAT表项转换为静态NAT表项。由于转换为静态NAT表项后,原动态NAT表项不再存在,因此,如果能找到包括了连接参数的动态NAT表项,则说明NAT设备中不存在对应的静态NAT表项。
本发明实施例中,在步骤104的基础上,当连接参数还包括端口号集合时,静态表项条件还可以包括网络设备发送报文的目的端口号属于端口号集合,此时目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址和报文的目的端口号的对应关系。当连接参数还包括控制器与网络设备建立连接的传输层协议类型时,静态表项条件还可以包括连接建立报文的传输层协议类型为连接参数中的传输层协议类型,目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址和传输层协议类型的对应关系。连接参数还可以同时包括端口号集合,以及控制器与网络设备建立连接的传输层协议类型;此时静态表项条件还可以包括网络设备发送报文的目的端口号属于端口号集合,以及连接建立报文的传输层协议类型为连接参数中的传输层协议类型;目标静态NAT表项还包括网络设备的私网地址、NAT之前报文的源端口号、NAT之后报文的源端口号、控制器的地址、报文的目的端口号和传输层协议类型的对应关系。
本发明实施例的一种实施方式中,图2所示的方法还可以包括:NAT设备接收控制器发送的第一删除指令,第一删除包括连接参数;然后,NAT设备删除连接参数,以及与连接参数对应的所有静态NAT表项。
与连接参数对应的静态NAT表项表示包括连接参数的静态NAT表项。例如,连接参数包括控制器地址时,与连接参数对应的静态NAT表项表示包括控制器地址的静态NAT表项。再例如,连接参数包括控制器地址和端口号时,与连接参数对应的静态NAT表项表示包括控制器地址和端口号的静态NAT表项。再例如,连接参数包括控制器地址和协议类型时,与连接参数对应的静态NAT表项表示包括控制器地址和协议类型的静态NAT表项。再例如,连接参数包括控制器地址、端口号和协议类型时,与连接参数对应的静态NAT表项表示包括控制器地址、端口号和协议类型的静态NAT表项。
控制器在重启等情况时,控制器与各网络设备之间的连接均需要重新建立,重新建立连接的连接参数很可能会发生变化,则NAT设备中与连接参数对应的所有静态NAT表项中的对应关系均可能发生变化,所以此时控制器可以向NAT设备发送第一删除指令,来指示NAT设备删除存储的连接参数,以及与连接参数对应的所有静态NAT表项,即和控制器的所有长连接对应的静态NAT表项。如此,NAT设备根据第一删除指令删除对应关系可能发生变化的静态NAT表项,可以避免NAT设备因根据对应关系发生变化的静态NAT表项对报文执行NAT,而导致报文转发出现错误,并且NAT设备删除存储的连接参数,以及与连接参数对应的目标静态NAT表项,可以降低NAT设备中存储NAT表项的数量,降低了维护和管理NAT表项的工作量。
本发明实施例的又一种实施方式中,图2所示的方法还可以包括:NAT设备接收第二删除指令,第二删除指令包括连接参数和目标参数,目标参数包括网络设备的公网地址,或者目标参数包括网络设备的公网地址和NAT之后源端口号;然后,NAT设备删除连接参数,以及与连接参数和目标参数对应的目标静态NAT表项。
控制器与网络设备之间可以建立一条或多条连接,控制器可以根据需求来指示NAT设备删除网络设备与控制器之间所有长连接对应的目标静态NAT表项。例如,当控制器与特定网络设备之前的所有连接断开时,控制器发送目标参数包括网络设备的公网地址的第二删除指令,以指示NAT设备删除和控制器与特定网络设备之间的所有长连接对应的静态NAT表项,此时目标参数可以包括网络设备的公网地址。或者控制器可以只删除网络设备与控制器之间某一条连接对应的目标静态NAT表项。例如,当控制器与特定网络设备之前的特定连接断开时,控制器发送目标参数包括网络设备的公网地址和NAT之后源端口号的第二删除指令,以指示NAT设备删除和控制器与特定网络设备之间的特定长连接对应的静态NAT表项,此时目标参数包括网络设备的公网地址和NAT之后源端口号。
控制器与网络设备之间的连接断开后,NAT设备中对应的目标静态NAT表项将不会再使用,控制器可以向NAT设备发送第二删除指令,来指示NAT设备删除连接参数,以及与连接参数和目标参数对应的目标静态NAT表项,从而NAT设备中不会存在过多的NAT表项,降低了NAT表项的数量和维护管理的工作量。
图3是根据本发明一实施例的NAT表项的管理装置200的示意性框图。如图3所示,该装置200包括:
接收单元201,用于接收并存储连接参数,所述连接参数包括控制器的地址;
所述接收单元201还用于接收网络设备发送的报文,所述报文的源地址为所述网络设备的私网地址,所述报文的目的地址为所述控制器的地址;
转换单元202,用于对所述报文执行NAT,NAT后的所述报文的源地址为公网地址;
生成单元203,用于基于静态表项条件被满足,生成目标静态NAT表项,所述目标静态NAT表项包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号和所述控制器的地址的对应关系,所述静态表项条件包括所述报文的目的地址为所述控制器的地址。
本发明实施例中,装置200为目的地址为控制器的地址的报文生成目标静态NAT表项。如此,网络设备与控制器之间建立的长连接对应的NAT表项为静态NAT表项。静态NAT表项即使未被命中的时长超过老化时间也不会被删除,从而避免了网络设备和控制器之间长时间内没有通信,而导致NAT表项被删除,网络设备和控制器之间无法进行正常通信的问题。
可以理解的是,所述连接参数还包括端口号集合,所述端口号集合包括所述控制器的向所述网络设备开放的一个或多个端口号;
所述静态表项条件还包括所述报文的目的端口号属于所述端口号集合;
所述目标静态NAT表项还包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号、所述控制器的地址和所述报文的目的端口号的对应关系。
根据本发明实施例的NAT表项的管理装置200,可对应于根据本发明实施例的NAT表项的管理方法中的执行主体,并且NAT表项的管理装置200中的各个模块的上述和其它操作和/或功能分别为了实现图2中NAT设备执行的各个方法的相应流程,为了简洁,在此不再赘述。
图4是根据本发明一实施例的NAT设备300的示意性框图。如图4所示,NAT设备300包括处理器301、存储器302和通信接口303,通信接口303用于与外部设备通信。
处理器301可以包括专用NAT芯片,中央处理器(CPU),网络处理器(NP)或其任意组合。专用NAT芯片可以为专用集成电路(ASIC)或可编程逻辑器件(PLD)。上述PLD可以是复杂可编程逻辑器件(CPLD),现场可编程逻辑门阵列(FPGA),通用阵列逻辑(GAL)或其任意组合。处理器中的各电路可以是独立的,也可以集成在一个或多个芯片中。
存储器301可以是独立的器件也可以集成在处理器301中。存储器301可以包括易失性存储器,例如随机存取存储器(RAM)。存储器301也可以包括非易失性存储器,例如只读存储器(ROM),快闪存储器,光盘,磁带,软盘,硬盘或固态硬盘。存储器301还可以包括上述种类的存储器的任意组合。
通信接口303可以为可以是无线接口或有线接口。其中,无线接口可以是蜂窝移动网络接口,无线局域网接口等。有线接口可以是以太网接口,例如或光接口或电接口。
NAT设备300还可以包括总线304,总线304用于连接处理器301、存储器302和通信接口303,使处理器301、存储器302和通信接口303通过总线304进行相互通信。
具体的,处理器301可以用于:
通过所述通信接口303接收连接参数,并在所述存储器302中存储所述连接参数,所述连接参数包括控制器的地址;
通过所述通信接口303接收网络设备发送的报文,所述报文的源地址为所述网络设备的私网地址,所述报文的目的地址为所述控制器的地址;
对所述报文执行NAT,NAT后的所述报文的源地址为公网地址;
基于静态表项条件被满足,生成目标静态NAT表项,所述目标静态NAT表项包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号和所述控制器的地址的对应关系,所述静态表项条件包括所述报文的目的地址为所述控制器的地址。
根据本发明实施例的NAT设备300,可对应于根据本发明实施例的NAT表项的管理方法中的执行主体,并且在NAT设备300中的上述操作和/或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、双绞线、光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如固态硬盘)等。

Claims (13)

1.一种网络地址转换NAT表项的管理方法,其特征在于,包括:
NAT设备接收并存储连接参数,所述连接参数包括控制器的地址;
所述NAT设备接收网络设备发送的报文,所述报文的源地址为所述网络设备的私网地址,所述报文的目的地址为所述控制器的地址;
所述NAT设备对所述报文执行NAT,NAT后的所述报文的源地址为公网地址;
基于静态表项条件被满足,所述NAT设备生成目标静态NAT表项,所述目标静态NAT表项为包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号和所述控制器的地址的对应关系的静态NAT表项,所述静态NAT表项为不会被老化或老化时间超过时长阈值的NAT表项,所述静态表项条件包括所述报文的目的地址为所述控制器的地址。
2.根据权利要求1所述的方法,其特征在于,所述连接参数还包括端口号集合,所述端口号集合包括所述控制器的向所述网络设备开放的一个或多个端口号;
所述静态表项条件还包括所述报文的目的端口号属于所述端口号集合;
所述目标静态NAT表项还包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号、所述控制器的地址和所述报文的目的端口号的对应关系。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述NAT设备接收所述控制器发送的第一删除指令,所述第一删除指令包括所述连接参数;
所述NAT设备删除所述连接参数,以及与所述连接参数对应的所有静态NAT表项。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
所述NAT设备接收所述控制器发送的第二删除指令,所述第二删除指令包括所述连接参数和目标参数,所述目标参数包括所述网络设备的所述公网地址,或者所述目标参数包括所述网络设备的所述公网地址和NAT之后所述源端口号;
所述NAT设备删除所述连接参数,以及与所述连接参数和所述目标参数对应的所述目标静态NAT表项。
5.一种网络地址转换NAT表项的管理装置,其特征在于,包括:
接收单元,用于接收并存储连接参数,所述连接参数包括控制器的地址;
所述接收单元还用于接收网络设备发送的报文,所述报文的源地址为所述网络设备的私网地址,所述报文的目的地址为所述控制器的地址;
转换单元,用于对所述报文执行NAT,NAT后的所述报文的源地址为公网地址;
生成单元,用于基于静态表项条件被满足,生成目标静态NAT表项,所述目标静态NAT表项为包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号和所述控制器的地址的对应关系的静态NAT表项,所述静态NAT表项为不会被老化或老化时间超过时长阈值的NAT表项,所述静态表项条件包括所述报文的目的地址为所述控制器的地址。
6.根据权利要求5所述的装置,其特征在于,所述连接参数还包括端口号集合,所述端口号集合包括所述控制器的向所述网络设备开放的一个或多个端口号;
所述静态表项条件还包括所述报文的目的端口号属于所述端口号集合;
所述目标静态NAT表项还包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号、所述控制器的地址和所述报文的目的端口号的对应关系。
7.根据权利要求5所述的装置,其特征在于,所述接收单元还用于接收所述控制器发送的第一删除指令,所述第一删除指令包括所述连接参数;
所述装置还包括:
第一删除单元,用于删除所述连接参数,以及与所述连接参数对应的所有静态NAT表项。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述接收单元还用于接收所述控制器发送的第二删除指令,所述第二删除指令包括所述连接参数和目标参数,所述目标参数包括所述网络设备的所述公网地址,或者所述目标参数包括所述网络设备的所述公网地址和NAT之后所述源端口号;
所述装置还包括:
第二删除单元,用于删除所述连接参数,以及与所述连接参数和所述目标参数对应的所述目标静态NAT表项。
9.一种网络地址转换NAT设备,其特征在于,包括:存储器、处理器和通信接口;其中,
所述处理器用于:
通过所述通信接口接收连接参数,并在所述存储器中存储所述连接参数,所述连接参数包括控制器的地址;
通过所述通信接口接收网络设备发送的报文,所述报文的源地址为所述网络设备的私网地址,所述报文的目的地址为所述控制器的地址;
对所述报文执行NAT,NAT后的所述报文的源地址为公网地址;
基于静态表项条件被满足,生成目标静态NAT表项,所述目标静态NAT表项为包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号和所述控制器的地址的对应关系的静态NAT表项,所述静态NAT表项为不会被老化或老化时间超过时长阈值的NAT表项,所述静态表项条件包括所述报文的目的地址为所述控制器的地址。
10.根据权利要求9所述的NAT设备,其特征在于,所述连接参数还包括端口号集合,所述端口号集合包括所述控制器的向所述网络设备开放的一个或多个端口号;
所述静态表项条件还包括所述报文的目的端口号属于所述端口号集合;
所述目标静态NAT表项还包括所述网络设备的私网地址、NAT之前所述报文的源端口号、NAT之后所述报文的源端口号、所述控制器的地址和所述报文的目的端口号的对应关系。
11.根据权利要求9所述的NAT设备,其特征在于,所述处理器还用于:
通过所述通信接口接收所述控制器发送的第一删除指令,所述第一删除指令包括所述连接参数;
删除所述连接参数,以及与所述连接参数对应的所有静态NAT表项。
12.根据权利要求9-11中任一项所述的NAT设备,其特征在于,所述处理器还用于:
通过所述通信接口接收所述控制器发送的第二删除指令,所述第二删除指令包括所述连接参数和目标参数,所述目标参数包括所述网络设备的所述公网地址,或者所述目标参数包括所述网络设备的所述公网地址和NAT之后所述源端口号;
删除所述连接参数,以及与所述连接参数和所述目标参数对应的所述目标静态NAT表项。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行权利要求1-4任一项所述的方法。
CN201710896356.1A 2017-09-27 2017-09-27 Nat表项的管理方法、装置及nat设备 Active CN109561164B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710896356.1A CN109561164B (zh) 2017-09-27 2017-09-27 Nat表项的管理方法、装置及nat设备
EP18196751.4A EP3462713B1 (en) 2017-09-27 2018-09-26 Nat entry management method and apparatus, and nat device
US16/145,099 US10652205B2 (en) 2017-09-27 2018-09-27 NAT entry management method and NAT device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710896356.1A CN109561164B (zh) 2017-09-27 2017-09-27 Nat表项的管理方法、装置及nat设备

Publications (2)

Publication Number Publication Date
CN109561164A CN109561164A (zh) 2019-04-02
CN109561164B true CN109561164B (zh) 2021-02-09

Family

ID=63720496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710896356.1A Active CN109561164B (zh) 2017-09-27 2017-09-27 Nat表项的管理方法、装置及nat设备

Country Status (3)

Country Link
US (1) US10652205B2 (zh)
EP (1) EP3462713B1 (zh)
CN (1) CN109561164B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110505248B (zh) * 2019-09-29 2022-05-24 国家计算机网络与信息安全管理中心 一种内网nat流量的定位方法及***
US11303609B2 (en) 2020-07-02 2022-04-12 Vmware, Inc. Pre-allocating port groups for a very large scale NAT engine
CN113973022A (zh) * 2020-07-22 2022-01-25 华为技术有限公司 通信方法、cp设备及nat设备
US11115381B1 (en) 2020-11-30 2021-09-07 Vmware, Inc. Hybrid and efficient method to sync NAT sessions
CN114422428A (zh) * 2022-01-13 2022-04-29 挂号网(杭州)科技有限公司 服务节点的重启方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139230A1 (en) * 2002-12-27 2004-07-15 Lg Electronics Inc. SIP service method in a network having a NAT
US20040252683A1 (en) * 2000-06-30 2004-12-16 Kennedy Thomas Scott System, method , and computer program product for resolving addressing in a network including a network address translator
US20060212554A1 (en) * 2005-03-18 2006-09-21 Canon Kabushiki Kaisha Control apparatus, communication control method executed by the control apparatus, communication control program controlling the control apparatus, and data processing system
US7127524B1 (en) * 2000-12-29 2006-10-24 Vernier Networks, Inc. System and method for providing access to a network with selective network address translation
WO2006114037A1 (fr) * 2005-04-27 2006-11-02 Huawei Technologies Co., Ltd. Systeme de communication dote d’un module de commande de session en peripherie et procede de transmission de paquet de signalisation
US20070189190A1 (en) * 2006-02-15 2007-08-16 Feng Fujen Topology discovery of a private network
CN101355568A (zh) * 2008-09-03 2009-01-28 中兴通讯股份有限公司 一种静态pat支持绑定路由器接口的方法及***
US20110188491A1 (en) * 2010-01-30 2011-08-04 Oleg Boulanov System for rapidly establishing human/machine communication links using pre-distributed static network-address maps in sip networks
CN103067534A (zh) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 一种NAT实现***、方法及Openflow交换机
CN105591863A (zh) * 2014-10-20 2016-05-18 中兴通讯股份有限公司 一种实现虚拟私有云网络与外部网络互通的方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753637A (zh) * 2009-12-17 2010-06-23 北京星网锐捷网络技术有限公司 防止网络攻击的方法及网络地址转换设备
CN102480530B (zh) 2010-11-25 2015-07-22 华为技术有限公司 一种报文发送方法及装置
US9197667B2 (en) * 2013-02-25 2015-11-24 F5 Networks, Inc. IP reflection
CN103944760B (zh) * 2014-04-17 2017-07-04 新华三技术有限公司 一种穿越nat的网络管理方法及装置
CN104135548B (zh) * 2014-08-12 2018-12-11 邦彦技术股份有限公司 基于fpga的静态nat实现方法及装置
US20160072764A1 (en) * 2014-09-10 2016-03-10 T-Mobile Usa, Inc. Dynamic double network address translator
US10129207B1 (en) * 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040252683A1 (en) * 2000-06-30 2004-12-16 Kennedy Thomas Scott System, method , and computer program product for resolving addressing in a network including a network address translator
US7127524B1 (en) * 2000-12-29 2006-10-24 Vernier Networks, Inc. System and method for providing access to a network with selective network address translation
US20040139230A1 (en) * 2002-12-27 2004-07-15 Lg Electronics Inc. SIP service method in a network having a NAT
US20060212554A1 (en) * 2005-03-18 2006-09-21 Canon Kabushiki Kaisha Control apparatus, communication control method executed by the control apparatus, communication control program controlling the control apparatus, and data processing system
WO2006114037A1 (fr) * 2005-04-27 2006-11-02 Huawei Technologies Co., Ltd. Systeme de communication dote d’un module de commande de session en peripherie et procede de transmission de paquet de signalisation
US20070189190A1 (en) * 2006-02-15 2007-08-16 Feng Fujen Topology discovery of a private network
CN101355568A (zh) * 2008-09-03 2009-01-28 中兴通讯股份有限公司 一种静态pat支持绑定路由器接口的方法及***
US20110188491A1 (en) * 2010-01-30 2011-08-04 Oleg Boulanov System for rapidly establishing human/machine communication links using pre-distributed static network-address maps in sip networks
CN103067534A (zh) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 一种NAT实现***、方法及Openflow交换机
CN105591863A (zh) * 2014-10-20 2016-05-18 中兴通讯股份有限公司 一种实现虚拟私有云网络与外部网络互通的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于静态路由和NAT的局域网架构设计;龚文涛;《信息技术》;20150125;全文 *

Also Published As

Publication number Publication date
US20190097967A1 (en) 2019-03-28
US10652205B2 (en) 2020-05-12
EP3462713B1 (en) 2020-02-26
CN109561164A (zh) 2019-04-02
EP3462713A1 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
CN109561164B (zh) Nat表项的管理方法、装置及nat设备
US10191758B2 (en) Directing data traffic between intra-server virtual machines
RU2562438C2 (ru) Сетевая система и способ управления сетью
CN112929241B (zh) 一种网络测试方法及装置
CN112887229B (zh) 一种会话信息同步方法及装置
US20190020570A1 (en) Link discovery method and apparatus
CN109088957B (zh) Nat规则管理的方法、装置和设备
CN110278152B (zh) 一种建立快速转发表的方法及装置
US9680739B2 (en) Information transmission system, information communication apparatus, and information transmission apparatus
CN113839894A (zh) 报文处理方法及***
US11057820B2 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core
CN110278558B (zh) 报文的交互方法及wlan***
US10205787B2 (en) Method, system, and apparatus for reducing the size of route updates
US9954767B2 (en) Internet control message protocol for completing a secondary protocol transaction
CN105763414B (zh) 一种表项的学习方法和装置
CN112511440B (zh) 报文转发方法、***、存储介质和电子设备
US20150334016A1 (en) Relay device
CN110289979B (zh) 桥接器及网络的管理方法
CN111614791B (zh) 用于实体链接分析的接入装置及其方法
US11418537B2 (en) Malware inspection apparatus and malware inspection method
US20120233431A1 (en) Relay device
JP6256471B2 (ja) 通信装置、通信方法、及びプログラム
CN114915492B (zh) 一种流量转发方法、装置、设备及介质
CN113794644B (zh) 一种路由表项删除方法及装置
CN114500062B (zh) 一种nat穿越方法、装置、电子设备及存储介质

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