CN103428304B - 移动网关路由器内的内联网络地址转换 - Google Patents

移动网关路由器内的内联网络地址转换 Download PDF

Info

Publication number
CN103428304B
CN103428304B CN201210545530.5A CN201210545530A CN103428304B CN 103428304 B CN103428304 B CN 103428304B CN 201210545530 A CN201210545530 A CN 201210545530A CN 103428304 B CN103428304 B CN 103428304B
Authority
CN
China
Prior art keywords
nat
port
network address
network
user
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
CN201210545530.5A
Other languages
English (en)
Other versions
CN103428304A (zh
Inventor
戈皮·克里希纳
阿普勒瓦·梅赫塔
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Publication of CN103428304A publication Critical patent/CN103428304A/zh
Application granted granted Critical
Publication of CN103428304B publication Critical patent/CN103428304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L45/745Address table lookup; Address filtering
    • 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/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels

Abstract

本发明公开了移动网络路由器内的内联网络地址转换。用于在移动网关路由器或其他设备的转发元件内执行内联NAT功能的技术,其中移动接入网络的用户会话可在多个会话管理卡中进行分布。会话管理卡在接收到用户相关的任何数据流量前,在建立网络连接以响应连接请求时,预先分配针对该用户的公共网络地址和端口范围。将NAT简档编程入移动网关路由器的硬件转发元件,用于路由针对移动接入网络的用户流量时的内联NAT。

Description

移动网关路由器内的内联网络地址转换
技术领域
本发明涉及计算机网络,更具体地,涉及针对移动无线设备的接入网。
背景技术
蜂窝无线接入网络是多个小区的集合,每个小区包括至少一个能传送和中继信号到用户无线设备的基站。“小区”通常表示使用特定频率或特定频率范围传送数据的移动网络中的一个特定区域。典型的基站是一种安装有若干天线的塔,其中天线用于以特定频率传送和接收数据。如蜂窝电话或移动电话、智能手机、拍照手机、个人数字助理(PDA)以及手提计算机的无线设备可以发起或相反地以指定的频率发送信号到基站以发起呼叫或数据会话以及开始传送数据。
移动服务提供商网络将基站从无线设备接收到的蜂窝信号(例如,时分多址(TDMA)信号、正交频分复用(OFDM)信号或码分多址(CDMA)信号)转换为互联网协议(IP)数据包以在分组网络中传送该信号。许多标准被提出来促进蜂窝信号到IP数据包的转换和传输,如全球移动通信系统(GSM)联合会提出了通用分组无线业务(GPRS)标准,名为长期演进(LTE)的通用移动通信系统(UMTS)增强版,Internet工程任务组(IETF)提出了移动IP标准,以及第三代合作伙伴项目(3GPP)、第三代合作伙伴项目2(3GPP/2)和微波存取全球互通(WiMAX)论坛提出的其他标准。
一个典型的3GPP移动服务供应商网络或移动网络包括一个核心分组交换网络、一个传输网络,和一个或多个无线接入网络。该移动网络的核心分组交换网络使用各种各样的控制协议来验证用户和创建无线设备与分组数据网络(PDN)间路径上的许多服务节点间的逻辑连接,被称为承载网络,其中该无线设备附接至其中一个无线接入网络。然后,服务节点利用该使用数据协议的承载网络来传送无线设备和PDN之间交换的用户流量;该承载网络可包括:如,互联网、企业内部网、第三层VPN和服务提供商的专用网络。不同的PDN为无线设备提供不同的分组数据服务,使无线设备与PDN的应用程序或其他服务器交换服务数据。
为了提供分组数据服务,每个移动服务提供商网络根据网络地址分配协议(如动态主机配置协议(DHCP))分配网络地址给无线设备。例如,DHCP服务器、Radius服务器或AAA服务器可在用户设备建立网络连接时来动态地为客户移动设备指派专用地址。这些专用网络地址不可在服务提供商网络外部路由。相反地,网络地址转换(NAT)设备将每个无线设备当前使用的专用地址转换为可在公共网络(如互联网)路由的公共网络地址。也就是说,在接收到对于用户通信会话(流量)的第一出站包时,NAT设备选定一个公共网络地址,并将该出站包的专用网络地址绑定到该公共网络地址。随后,NAT设备根据该绑定从而将出站包的专用网络地址转换为公共网络地址,并反向转换用户通信会话的入站包。在许多环境中,公共可用网络地址的数量明显少于必须支持的专用网络地址的数量。这些环境利用网络地址端口转换(NAPT),其中专用地址和端口被映射到公共地址和端口的特定组合。同样地,不同移动设备的不同专用网络地址可使用同一公共网络地址中的不同端口范围。
发明内容
总体上,本发明描述了一种移动接入网络中的网络地址转换(NAT)技术。在一个例子中,描述了一种在移动网关路由器或其他服务节点的转发平面中执行NAT内联(inline)的技术。在一些例子中,该技术可用于一种移动网关路由器,其中用户会话被分布在多个会话管理卡中,这些会话管理卡为成千上万或百万个并行用户提供控制平面操作。
在一个示例性实施方式中,一种移动网关路由器包括多个接口,被配置为针对移动接入网络中的用户的无线设备来发送和接收网络数据包。多个会话管理卡根据分配到无线设备的专用网络地址为该无线设备提供分布控制平面,以建立网络连接。一个具有转发信息库(FIB)的转发集成电路在多个接口间路由数据包。转发集成电路包括内部网络地址转换(NAT)元件。每个会话管理卡均被编程为在验证用户时以及从用户接收用户数据流量前为每个用户创建一个NAT简档(profile)。NAT简档指定一个预分配公共网络地址和端口范围。会话管理卡被编程为将NAT简档安装在移动网关路由器的转发集成电路中,用于在为用户路由数据包时在转发集成电路中内联NAT。
在另一示例性实施方式中,一种方法包括使用一个移动网关路由器接收将用户无线设备附接到移动无线网络的请求。该方法进一步地包括:使用移动网关路由器的控制平面为无线设备建立分组网络连接,以使用移动无线网络进行通信,包括为无线设备分配一个专用网络地址。在建立网络连接时以及在从无线设备接收用户数据流量之前,移动网关路由器的控制平面为无线设备预分配一个公共网络地址和端口范围,创建指定该公共网络地址和端口范围的网络地址转换(NAT)简档,并将该NAT简档安装在移动网关路由器的硬件转发元件中。该方法进一步地包括:在接收用户数据流量的新数据包流的数据包时,为用户动态地在NAT简档的端口范围内选择一个端口,在硬件转发元件中创建NAT绑定,其中该硬件转发元件将无线设备的专用网络地址映射到公共网络地址和所选端口,根据所述NAT绑定在硬件转发元件中对数据包流的数据包执行网络地址转换。
本发明的一个或多个实施方式将根据以下附图和说明详细陈述。本发明的其他特征、目的和优点可从说明、附图以及权利要求书中明显得出。
附图说明
图1是示出了实现本发明中描述的网络地址转换技术的一种典型网络系统的方框图。
图2为一种并入了本文所述的NAT功能的示例性移动网关路由器。
图3到图6示出了多个不同类型NAT简档的示例,该NAT简档可由一个锚定用户管理单元创建,并编程入一个锚定转发单元,用以验证用户并创建网络连接。
图7为显示了该内联网络地址转换(NAT)技术的一个具体实施方式的流程图。
具体实施方式
图1是示出了实现本发明中描述的网络地址转换技术的一种典型网络系统2的方框图。如图1所示例子,网络系统2包括经由移动接入网络4的移动网关路由器8耦接到公共网络12的移动接入网络4。移动接入网络4作为专用网络(如服务提供商网络)来运行,其为移动设备6A-6N(“移动设备6”)提供分组数据服务。举例来说,分组数据服务可包括:提供如批量数据传输、互联网协议电话(VoIP)、互联协议电视(IPTV)、短信服务(SMS)、无线应用协议(WAP)服务或客户指定应用服务。公共网络12可包括任意需要可路由网络地址的计算机网络,例如,互联网、广域网(WAN)、虚拟局域网(VLAN)、企业IP网络、第三层(L3)虚拟专用网络(VPN)等等。公共网络12执行一个或多个分组数据协议(PDP),如IP(IPv4和/或IPv6)、X.25或点对点通讯协议(PPP),以启用公共网络12服务的分组传输。
每个移动设备6均为用户(或者可以说是“用户设备”)的无线通信设备,可包括,例如,移动电话、具有如3G/4G无线网卡的笔记本计算机或台式计算机、无线上网本、视频游戏设备、寻呼机、智能手机或个人数字助理(PDA)。每个移动设备6可运行一个或多个应用程序,如VoIP客户端、视频游戏、视频会议、电子邮件、互联网浏览器等。移动设备6运行的特定应用程序可能需要访问公共网络12所提供的服务。移动设备6在不同的实施方式中,也可被称为用户设备(UE)或移动站(MS),在此也可被称为移动设备。
典型地,服务提供商运营移动接入网络4从而为附接到移动接入网络4的移动设备6提供网络接入、数据传输和其他服务。大体上讲,移动接入网络4可实现任何通常定义的蜂窝网络架构,其包括被诸如全球移动通信系统(GSM)联合会、第三代合作伙伴项目(3GPP),第三代合作伙伴项目2(3GPP/2)、Internet工程任务组和微波存取全球互通(WiMAX)论坛的标准组织限定的那些架构。例如,移动接入网络4可实施GSM架构、通用分组无线业务(GPRS)架构、通用移动通信系统(UMTS)架构及被称为长期演进(LTE)的UMTS演进中的一个或多个,其中的每一个均以3GPP为标准。移动接入网络4可选择地或与上述中的一个共同协作来实现码分多址-2000(CDMA 2000)架构或增强型数据速率GSM演进(EDGE)架构。移动接入网络4也可选择地或与上述中的一个或多个共同协作实现WiMAX论坛制定的WiMAX架构。
在一些例子中,移动接入网络4可包括核心分组交换网络和一个或多个无线电接入网络(radio access network)。移动接入网络4的核心分组交换网络可包括:例如,通用分组无线业务(GPRS)核心分组交换网络,基于IP的移动多媒体核心网络,演进数据封包(EPC)核心网络或演进分组系统(EPS)。移动接入网络4的核心分组交换网络包括用于实现移动接入网络4的特定架构实施方式的控制和数据协议的中间设备,如服务GPRS支持节点,服务网关(S-GW)以及移动管理实体(MME)。使用至内容接入网络的无线电接入网络之一的无线通信链路,移动设备6与移动接入网络4通信。移动接入网络4的无线电接入网络可包括,例如,GSM无线电接入网络(GRAN),WiMAX无线电接入网络,UMTS无线电接入网络(UTRAN),和/或被称为E-UTRAN的UTRAN演进。移动接入网络4可进一步地包括回程网络或传输网络(图中未示出),其包括内容接入网络的服务提供商经常租用的陆基传输线路,以在移动设备6和移动网关路由器8之间传输用户和控制流量。回程网络也包括网络设备,如聚合设备和路由器。提交于2010年10月15日、题为“COLLECTIVELY ADDRESSING WIRELESSDEVICES”的美国专利申请12.905,771详细描述了一种移动网络的内容接入网络实例,在此合并整个内容以作参考。
在图1所示的例子中,移动网关路由器8是一个网络设备,其作为对于公共网络12的网关来运行,并且可包括如网关GPRS服务节点(GGSN)、接入网关(aGW)或分封网关(P-GW)。移动网关路由器8可表现为对于下游节点(如SGSN、S-GW、和MME)的统一接口,以使下游节点将服务和/或信令流量寻址至统一接口而不是单独地在多个设备或单一设备的多个控制平面实体(如服务卡)引导流量。另外,移动网关路由器8可表现为对于控制平面服务器的统一接口,如图1中所示的动态主机配置协议(DHCP)服务器14和验证、授权和记账(AAA)服务器16,以使控制平面服务器为不同的控制协议的控制平面协议流量寻址到统一接口,而不是单独地在移动网关路由器8中的多个设备或多个控制平面实体引导流量。在一些例子中,统一接口是移动网关路由器8的IP地址或其他网络层地址,该移动网关路由器8为所有控制平面实体共享,包括用户管理服务单元10。另外,任一用户管理服务单元10均可为任意服务(如通过接入点名称(APN)标示的)锚定一个会话,其中,移动网关路由器8作为网关进行操作。
在一些实现方式中,移动网关路由器8为执行路由协议以识别从移动接入网络4或公共网络12到不同目的地的路由的路由器。尽管为了便于说明,本文就一个或多个特定架构进行描述,但移动接入网络4可实现为由任何标准组织提出的和私人拥有的架构。此外,该技术可适用于这些架构支持的任何移动数据协议以及实现或使用所述移动数据协议的任何设备。例如,关于移动网关路由器8所描述的技术可由下游节点执行,如SGSN、S-GW和MME。因此,所述技术不应限于在此提及的蜂窝架构以及这些架构支持的移动数据协议。因此,移动网关路由器8和移动接入网络4的其他元件均可代表任何一种类型的移动网络架构中存在的设备的抽象化。
移动接入网络4建立并运行承载网络以PDP分组数据单元(PDU)的形式传输用户流量,以下简称为“数据包”。大体上讲,承载网络是移动接入网络4中网络资源和数据传输功能的集合,用于在两个网络实体间传输用户流量。承载网络可包括路径、逻辑连接或两个网络设备间的物理或无线连接。承载网络可包括:例如演进分组系统(EPS)承载网络。承载网络的创建和管理相关的更多细节可参考2010年6月技术规范组服务和系统方面,第三代合作伙伴项目,10.0.0版本“3GPP TS 23.401-General Packet Radio Service(GPRS)enhancements for Evolved Universal Terrestrial Radio Access Network”和2010年技术规范组无线接入网络,第三代合作伙伴项目,版本10,“3GPP TS 36.300-EvolvedUniversal Terrestrial Radio Access(E-UTRA)and Evolved Universal TerrestrialRadio Access Network Evolved Universal Terrestrial Radio Access Network(E-UTRAN)Overall Description”,其中每个的全部内容均并入此文以作参考。
任何移动设备6可发起连接请求9以附接到移动接入网络4进而与公共网络12交换服务流量。连接请求9典型地包括移动设备标识符,其用于向移动网关路由器8唯一地标识移动设备6。无线设备识别码可代表(例如)国际移动用户识别码(IMSI)、临时移动用户识别码(TMSI)、P-TMSI、系统架构演进(SAE)TMSI或S-TMSI,国际移动设备识别码(IMEI),订户用户名,MSISDN号(如“移动用户综合业务数字网号码”)或其他标识该移动设备6的数据。这样,移动网关路由器8可接收连接请求9中移动设备6的无线设备识别码。
尽管示出了从移动设备6到移动网关路由器8的单个消息,但连接请求9可代表多个消息,其遍历移动接入网络4的中间网络设备,以向移动网关路由器8标识该移动设备6。例如,在LTE架构中,连接请求9可表示由移动设备6向电子节点B(eNode)发布的初始附接请求(Attach Request)消息,该电子节点B将该请求转发到MME。MME将附接请求消息中接收到的信息(其包括无线设备识别码)合并到第一创建会话请求消息,然后MME发送该消息(也可由连接请求9代表)到SGSN。SGSN生成第二创建会话请求消息,其在第一创建会话请求中合并SGSN接收到的信息(如无线设备识别码)。由SGSN发送到移动网关路由器8代表的GGSN的第二创建会话请求消息也可由连接请求9表示。在另一例子中,连接请求9可代表从移动设备6至SGSN的激活PDP上下文请求(Active PDP Context Request)消息以及从SGSN至移动网关路由器8的创建PDP上下文请求(Creat PDP Context Request)消息。其他移动网络架构具有相似的消息方案,用于向移动网关路由器8标识移动设备6,作为附接程序或创建所请求的会话的其他程序的一部分。另外,初始附接请求或激活PDP上下文请求消息可通过移动网关路由器8对移动设备6的请求做出响应,以利用移动网关路由器8发起会话。
移动接入网络4向移动网关路由器8通知该附接请求。在图1所示的例子中,移动网关路由器8包括多个用户管理服务单元10,其中任一项可通过执行控制协议18A-18C用以(1)利用AAA服务器16识别和验证无线设备,(2)接收来自DHCP服务器14的PDP地址配置信息,(3)与移动接入网络4通信以建立默认承载网络,通过移动接入网络来为进行请求的移动设备6承载用户流量,从而为进行请求的移动设备6建立用户连接。
如下进一步所述,移动网关路由器8接收连接请求9并根据会话请求承载的无线设备识别码将该连接请求分配到多个用户管理服务单元10之一。也就是说,移动网关路由器8为连接请求9选择一个相关的用户管理服务单元10,并将该连接请求发送到所选的用户管理服务单元以供处理。所选的用户管理服务单元10接收连接请求9并为移动设备6建立用户连接以与公共网络12通信。因此,所选的用户管理服务单元10通过处理对于该连接的所有控制流量并保持针对该连接的数据(例如记账、计费、策略分配和其他控制平面功能)来锚定最新建立的连接。以这种方式执行分散的会话请求处理可使移动网关路由器8通过增加额外用户管理服务单元10来扩展多个用户连接。
一般来说,用户连接是移动接入网络4与任一移动设备6之间的联合,其中所述移动设备可通过移动设备6PDP地址和对于公共网络12提供的服务的接入点名称(APN)的组合来识别。例如,用户连接可能是针对提供给相关的一个移动设备6的服务的服务指定(APN指定的)会话。除了建立默认承载网络,附接程序也可能通过移动接入网络4来触发移动网关路由器8和进行请求的移动设备6之间的一个或多个专用承载网络的建立,用以承载用户流量。由于任何用户管理服务单元10都可建立并运行任何移动设备6所请求的用户连接,因此每个用户管理服务单元10可执行建立用户连接所需的所有控制协议,以响应于创建或修改用户连接的用户请求。
在验证网络接入请求时,为每个移动设备6分配一个第三层(L3)专用网络地址(例如,IPv4网络地址),用以接收移动接入网络4中的数据服务。这可由多种不同的方式完成。例如,专用网络地址可能静态地配置于移动设备6或由DHCP服务器14或AAA服务器16(或网关8)动态或静态地分配。作为一个例子,DHCP服务器14可与任何用户管理服务单元10在协议会话18B中交换地址分配协议消息以将PDP地址分配到附接至移动接入网络4的无线设备,以使移动设备6能够与公共网络12通信。DHCP服务器14可执行DHCP或另外的地址分配协议,用以从专用网络地址池中分配PDP地址。作为另一个例子,AAA服务器16可执行AAA协议(如,远程认证拨号用户服务(RADIUS)或直径)并且在协议会话18C中与任一用户管理服务单元10交换AAA协议消息,用以识别并验证寻求附接到移动接入网络4的移动设备6。作为一个进一步的例子,移动接入网络4的元件执行诸如GPRS隧道协议(控制)(GTP-C)的承载网络设置协议,以及在协议会话18A中与任一用户管理服务单元10交换GTP-C消息,用于建立和修改对于移动设备6的承载网络。每个协议会话18A、18B和18C(下文统称为“协议会话18”)可代表一个或多个用于建立和维持用户连接的控制平面协议会话。
任一个用户管理服务单元10均可执行用于建立/维持用户连接所需的所有控制协议。这样,移动网关路由器8被分为两个逻辑或物理“平面”,从而包括控制平面11和“数据”或“转发”平面15。也就是说,移动网关路由器8实现两个单独的功能,例如,用户管理服务单元10提供的路由/控制以及数据平面15提供的转发/数据功能。数据平面15,也被称为转发平面,用于处理和转发移动接入网络4和公共网络12之间的数据包19。例如,转发单元15可包括由高速交换机构耦接的多个转发单元,用于为移动设备6的成千上万或百万个并行用户会话处理数据包19。在一些实施方式中,用户管理服务单元10可能被看作服务卡,其用于在“服务平面”运行以提供控制平面功能。
根据所述的技术,移动网关路由器8包括网络地址转换(NAT)元件17,其用于将服务提供商网络中可路由的专用网络地址转换为公共网络12中可路由的公共网络地址的网络地址转换。如这里所述,移动网关路由8在数据平面15中应用内联的源网络地址端口转换(NAPT)机制。也就是说,NAT元件17针对成千上万或上百万的用户会话将NAT应用到用户流量,而不需要将流量转发到控制平面11的用户管理服务单元10或外部NAT设备。
例如,当路由用户数据流量19的出站包时(从移动接入网络4至公共网络12中的目的地址),数据平面15(如,专用转发ASIC)的NAT元件17应用绑定,其用于将出站包识别码的专用源地址映射到公共地址和端口。NAT元件17执行网络地址转换以将数据包中的专用源网络地址转换为绑定到特定用户通信会话的公共网络地址和端口号。在此过程中,在转发该数据包到公共网络12之前,NAT元件17可替换数据包的报头(如IP或UDP报头)的全部或其一部分。在从公共网络12接收到入站包时,NAT元件17针对通信会话识别当前NAT入口,并将公共目的网络地址和目的端口映射到相应的专用网络地址和端口。在转发数据包到移动接入网络4之前,NAT元件17可以替换报头(如IP或UDP报头)的全部或其一部分。
在一个例子中,在响应于连接请求9而建立网络连接时以及在接收到用户相关的任何数据流量19之前,预先分配针对用户的公共网络地址和端口范围。例如,在登录和验证的过程中,DHCP服务器14或一个锚定的用户管理单元可从专用地址池中分配一个专用网络地址给移动设备6。这时,针对NAT绑定预先分配公共网络地址和端口范围,用于该网络连接的随后的通信会话(数据包流)。例如,当针对请求新用户会话的、经过验证的移动设备6分配专用网络地址时,DHCP服务器14可预先分配公共网络地址和端口范围。或者,对于用户会话,锚定的用户管理服务单元10可以从数据库或公共地址池中预先分配公共网络地址和端口范围。
在这两种情况下,在移动设备6附接到移动接入网络4时,负责管理网络连接的锚定的用户管理服务单元10可利用NAT简档对数据平面15的NAT元件17进行编程。数据平面15利用NAT简档来动态地为任何源于移动设备6的随后的用户通信会话(数据包流)提供内联NAT,而不需要另外编程或来自控制平面11的配置。
该技术使得NAT地址端口分配和转换在数据平面15中内联地建立和应用。而且,该技术可允许任何源于所给定用户的流来动态地建立在数据平面15的内联NAT,而不必与移动网关路由器8的控制平面11交互。这样,移动接入网络4中的NAT功能可以针对成千上万甚至上百万的并行移动设备6进行扩展,并在吞吐量上有显著改进。
该技术可允许NAT在无线网关设备(如,移动交换路由器)中执行,并仍然达到满足或超过针对成千上万的用户数据流的用户流量19的兆兆字节线路速率的高数据速率。这种速率先前在以下环境中难以做到,即,这些环境要求用户流量流经服务平面或控制平面以进行NAT处理或流经外部NAT设备。
进一步地,该技术可减少或消除对外部NAT设备的依赖,其中该外部NAT设备可设置在移动接入网络4和公共网络12的边界。另外,可继续保持地址共用性。也就是说,因为预先分配了NAT绑定,不论公共目的地址为何,公共地址总是绑定到相同的源(专用)地址,所以实现了端点独立映射(EIM)。进一步地,任何公共地址均可用于任何用户,即,任何移动设备6。该技术允许公共网络地址可随机地从池中选择,端口区块也可类似地随机选择。进一步地,数据平面15的NAT元件17可从所分配的端口范围中随机地选择端口。
图2为一框图,其更详细地显示了结合本文所述的NAT功能的图1中移动网关路由器8的具体实施方式。在该例子中,移动网关路由器8被分为两个逻辑或物理“平面”,从而包括第一控制平面11和第二“数据”或“转发”平面15。也就是说,移动网关路由器8实现两个单独的功能,例如:路由/控制和转发/数据功能,逻辑上地,两者例如作为在相同硬件组件集合上执行的不同的软件事例;或物理上地,两者例如作为单独的物理专用硬件组件,其或是静态地按照硬件来实现功能,或是动态地执行软件或计算机程序以实现该功能。
控制平面11为分散的控制平面,其中控制平面功能被分布到路由单元26和多个用户管理服务单元10A至10K(“用户管理服务单元10”)。相似地,此例中的数据平面15也为分散的数据平面,其中数据平面功能和数据包转发功能被分布到数个转发单元40A至40N(“转发单元40”)。在图2的移动网关路由器8的例子中,数据平面15包括转发单元40,其用于经由入站链路46A至46N到出站链路48A至48N提供接口卡44A至44N(“IFC 44”)接收到的网络流量的高速转发。各个转发单元40可包括一个或多个耦接到相应的接口卡44的包转发引擎(“PFE”),并可代表,如高埠密度集线器(DPC)、模块化端口集线器(MPC)、灵活物理接口卡(PIC)集线器(FPC)或例如移动网关路由器8机架中可插入的或可与机架组合的其他线路卡。
交换机22与路由单元26、用户管理服务单元10和转发单元40耦接以在单元间传送数据单元(data unit)和控制消息。交换机22可代表内部交换结构或纵横制交换机、总线或链路。题为“MULTI-CHASSIS ROUTER WITH MULTIPLEXED OPTICAL INTERCONNECTS”的美国专利申请2008/0044181描述了高速多级交换结构用作转发平面以在路由器中单元间中继数据包的例子。美国专利申请2008/0044181的全部内容合并在此以作参考。
路由单元26执行移动网关路由器8的路由功能。在这方面,路由单元26表示硬件或控制硬件和软件的组合,其实现路由平面路由协议40A-40N(“路由协议40”),由此确定存储在路由信息库29(“RIB 29”)中的路由信息。RIB 29可包括定义网络(比如图1中的移动接入网络4)拓扑结构的信息。路由协议40与在路由引擎26上执行的内核(如通过API调用)交互,以根据移动网关路由器8接收到的路由协议消息更新路由信息库(RIB)29。路由单元26可解析RIB 29中路由信息定义的拓扑结构,以选择或确定通过网络的一个或多个路由。例如,内核可根据RIB29代表的网络拓扑结构,以转发信息库39A-39N(“FIB 39”)的形式生成转发信息,即,执行路由解析。例如,内核可确定用于转发下一跳的物理界面端口。接下来,路由单元20利用FIB 39对数据平面15的转发单元40进行编程,其将FIB安装于查找ASIC 42中。
如图2中例子所示,每个转发单元40A-40N包括各自的查找ASIC42A-42N,其用于经由IFC卡44接收控制和数据会话流量,并内部转发该流量到锚定的用户管理服务单元10(控制流量)或根据安装到FIB 39的内部路由(其包括聚合路由38)转发到锚定的一个转发单元(数据流量)。在一个例子中,查找ASIC 42为微码控制芯片组,其由每个转发单元40上执行的从属微处理器来编程配置。特别地,一个或多个查找ASIC 42可由从属微处理器编程的内部微码控制。从属微处理器将相应的FIB 39编程入数据平面15内每个查找ASIC 42的内部存储器。
IFC卡44在入站接口446接收用户数据包19,并将数据包指向查找ASIC 42。例如,转发单元40可在SGi/Gi或SGn/Gn接口接收用户流量。查找ASIC 42转而确定匹配的聚合路由38,并经由交换机22转发用户数据包19到该聚合路由指定的转发单元。也就是说,查找ASIC 42接收用户数据包19,并根据聚合路由38将数据包内部地路由到转发单元40,其中转发单元锚定与该流量相关的相应的用户网络连接。
当转发数据包时,每个查找ASIC 42中的控制逻辑遍历FIB 39,并且在达到数据包(如叶节点)的FIB入口时,微码实现的控制逻辑自动地选择一个或多个转发下一跳(FNH)用于转发该数据包。查找ASIC 42A可使用转发特定用途集成电路(ASIC),现场可编程门阵列(FPGA)或其他等效的集成或分立逻辑电路,以及这些元件的组合来实现。每个转发单元40可包括大体相似的组件,用于执行大体相似的功能;此后所述的组件和功能都相对于转发单元40A而言。
路由单元26的资源管理器28作为处理器或“后台程序(daemon)”来运行,用于针对移动网关路由器8接收静态或动态资源相关信息,并且发布信息到用户管理服务单元10和转发单元40。例如,资源管理器28可由管理员或其他实体利用描述用户管理服务单元10的信息(如服务单元数量以及单个服务单元的相应能力(例如,服务单元可锚定的会话数量)通过管理接口来进行静态地配置。资源管理器28可静态或动态地下载用户管理服务单元10的更新的资源相关信息到转发单元40。
用户管理服务单元10提供控制平面功能以创建和管理移动设备6请求的多种网络连接,包括认证、记账以及与下游网关设备或其他承载网络的控制平面通信。如图所示,每个用户管理单元10提供计算环境,以执行不同的控制协议37A-37C,例如AAA服务37A,DHCP服务37B和GTP-C服务37C。连接控制模块36存储由连接控制模块36接收的控制平面协议消息中或由连接控制模块36分配的用户数据,用于服务单元10A锚定的一个或多个网络连接。服务单元10A可被称为针对连接的锚定服务单元,其中该服务单元10A存储用于管理网络连接所需的控制和转发信息。每个用户管理服务单元10包括连接控制模块36的实例,因此可以独立地执行用于建立针对用户的会话所需的控制平面协议。
IFC卡44A在入站接口46A接收网络附接请求9和其他控制消息,并将网络附接请求转发到查找ASIC 42A。查找ASIC 42A转而确定匹配的聚合路由38A,并经由交换机22转发控制消息到聚合路由所指定的用户管理单元,在此例中其为用户管理服务单元10A。例如,查找ASIC 42A可根据该请求的相应无线标识符或其他特性与针对网络附接请求所选的服务单元10之间的联系,委派该请求到所选定的一个用户管理服务单元10。该联系可能是对请求字段值执行散列或其他函数的结果。在所示例子中,当接收到网络连接请求9时,查找ASIC 42A选择相关的服务单元10A来处理网络连接请求,并转发该网络连接请求到服务单元10A。查找ASIC42A可处理该网络连接请求以移除GTP和其他报头。网络连接请求可代表图1中的连接请求9的一个例子,并可以包括,如:由服务网关(S-GW)发送到移动网关路由器8(其作为LTE网络的EPC的PGW运行)的创建会话请求消息,或者由SGSN发送到移动网关路由器8(其作为GPRS分组交换网络的GGSN运行)的创建PDP上下文请求。网络连接请求可包括无线设备标识符(如IMSI),可进一步地包括接入点名称,其用于标识分组数据网络,并在一些例子中进一步地标识所请求的服务(如互联网、WAP、或分组数据网络提供的多媒体信息服务(MMS))。换言之,APN是一个逻辑名称,其用于确定针对无线设备的适合的网关(如GGSN),并通过网关来确定用户请求的服务或外部分组网络中接入点的地址,以向其转发来自无线设备的用户数据包。
当收到网络连接请求9时,连接控制模块36和用户管理服务单元10A通过处理控制协议37A-37C来处理该请求,用以将进行请求的移动设备6附接到移动接入网络4。例如,用户管理服务单元10A可执行AAA服务37A以利用AAA服务器16来识别并验证无线设备。一旦验证该用户成功之后,用户管理服务单元10A可执行DHCP服务37B以接收来自DHCP服务器14的地址配置信息,并执行GTP-C服务37C,用以与移动接入网络4通信,建立默认承载网络,通过移动接入网络来为进行请求的移动设备6承载用户流量。此时,DHCP服务器14(或局部地经由DHCP服务37B)从专用地址池中分配一个专用网络地址给该无线设备。另外,DHCP服务器14(或局部地经由DHCP服务37B)为NAT绑定预先分配一个公共网络地址和端口范围,用于来自或去往与移动接入网络4附接的网络连接的通信会话(数据包流)。例如,当为请求新的用户会话的、已验证移动设备6分配专用网络地址时,DHCP服务器14或DHCP服务37B可预先分配公共网络地址和端口范围。
在将移动设备6附接到移动接入网络4时,负责管理新网络连接的锚定用户管理服务单元10A的资源管理器34与转发单元40A的从属处理器通信,直接或经由路由单元31的资源管理器28来构建查找ASIC 42A中用户指定的转发路径,用于处理和转发来自该新附接的移动设备的数据流量19。另外,资源管理器34指向转发单元40A,以利用针对特定用户的内联NAT的NAT简档对查找ASIC 42A进行编程。查找ASIC 42A将NAT简档存储于针对锚定到转发单元40A的用户的内部高速存储器中。查找ASIC的内部转发路径内的内部逻辑(NAT元件17)应用NAT简档从而动态地为来自或去往与所附接的网络连接相关的移动设备6的任何用户通信会话(数据包流)的用户数据流量19提供内联NAT。如此,查找ASIC42A可为用户提供内联NAT,而并不需要对于用户的每个新的通信会话的附加编程或来自控制平面11的设置。在2011年6月29日提交的题为“VARIABLE-BASED FORWARDING PATH CONSTRUCTION FORPACKET PROCESSING WITHIN A NETWORK DEVICE”美国专利申请No.13/172505中可以找到有关用户管理单元60在转发单元68内构建用户特定转发路径的详细示例,其完整内容合并入本文用于参考。
在针对新通信会话(数据包流)处理初始数据包后,NAT元件17根据从锚定用户管理单元10A收到的NAT简档,为该新通信会话创建NAT绑定。也就是说,NAT元件17为用户通信会话保持NAT绑定的内部缓存,其中每个通信均被唯一地标识,例如通过包括源网络地址和端口,目的网络地址和端口以及协议的五元组。当处理具有公共网络12中的目的地址的出站包时,NAT元件17访问NAT绑定以确定是否存在针对该特定数据包流的NAT绑定。当检测到来自移动接入网络4的新数据包流的出站包后,NAT元件17应用NAT简档来确定预先分配的公共网络地址,然后动态地在预配置端口范围内选择端口,以用于针对该用户的该特定通信会话。这样,在这个例子中,可在根据从锚定用户管理单元10接收到的用户简档,在从用户处看到有新通信会话(数据包流)时,执行实际端口配置。
在分配公共地址和特定端口时,NAT元件17更新其内部缓存以记录数据包流的公共地址/端口与用户的专用地址/端口之间的NAT绑定。相似地,NAT元件17在处理来自或去往用户的附加数据包流的初始数据包时,创建附加的NAT绑定。
在确定预先分配的公共地址和动态地选择端口后,查找ASIC 42A的NAT元件17执行网络地址转换以将出站包内的专用源网络地址和源端口转换为经计算的公共网络地址和分配端口号。相似地,当处理针对现有数据包流的用户数据流量19的出站包时,NAT元件17应用来自其内部缓存的相应的NAT绑定以根据该绑定使得出站包的专用源地址映射到公共地址和端口。NAT元件17执行网络地址转换以将数据包中的专用源网络地址转换为绑定到特定用户通信会话的公共网络地址和端口号。在此过程中,在转发该数据包到公共网络12之前,NAT元件17可替换该数据包的报头(如IP或UDP报头)的全部或其一部分。当查找ASIC 17对来自公共网络12的入站包执行路由操作时,NAT元件17针对该通信会话识别当前NAT入口,并将公共目的网络地址和目的端口映射到NAT绑定指定的、相应的专用网络地址和端口。在转发该数据包到移动接入网络4之前,NAT元件17替换数据包中的报头(如IP或UDP报头)的全部或其一部分。一旦NAT元件17处理通信流中的第一数据包,用于正向和反向流量的NAT绑定将在其内部存储器中恰当地设置,因此针对该会话中的数据包的流查找将成功。如果该流查找成功,则利用查找ASIC 42A中的现有NAT绑定来执行NAT或去NAT(de-NAT)动作,并转发数据包。用户管理单元10和路由单元26的功能可在包含指令的计算机可读介质中具体表现或编码,如计算机可读存储介质。在计算机可读介质中嵌入或编码的指令可使可编程处理器或其他处理器在(例如)执行所述指令来执行该方法。计算机可读存储介质可包括随机存取存储器(RAM),只读存储器(ROM),可编程序只读存储器(PROM),可擦可编程序只读存储器(EPROM),电可擦可编程序只读存储器(EEPROM),闪存,硬盘,CD-ROM,软盘,盒式磁带,磁性介质,光学媒体,或其他计算机可读存储介质。应了解的是,术语“计算机可读存储介质”是指物理存储介质,而不是信号或载波,尽管术语“计算机可读存储介质”可能包括除物理存储介质之外的瞬态媒介,诸如信号。
图3至图6显示了多个不同类型NAT简档的示例,该NAT简档可由锚定用户管理单元10创建,并编程入锚定转发单元40,用以验证用户并创建网络连接。此外,用户管理单元10可基于给定用户的配置或学习特性(如从转发平面11收到的历史数据)来选择适合的NAT简档。例如,下面将进一步详细解释的,图3至图6中的NAT简档80、90、100可在不同的条件下使用,诸如是否用户需要端口转换以及并行流的数量,用户的内联NAT都应支持。
图3显示了示例性NAT简档70,其为在静态NAT要被用于用户时(即,仅需要转换地址而不需端口转换的情况),可通过锚定用户管理单元10创建并编程入锚定转发单元40的示例性简档。在图3所示的例子中,NAT简档70包括地址字段72,其为用户指定了预先分配的32位公共地址。另外,第二32位字用作不活动定时器74。最后32位提供了一组标志位76和预留区78。标志位76的使用例子如下:指定静态NAT对NAPT,指定是否按顺序或随机地选择端口,指定所使用位掩码的等级(例如,使用一级还是二级位掩码),以及指定是否使用终点独立或终点依赖映射。尽管描述了32位字相关的例子,在此描述的NAT简档也可采用其他形式,如64位或128位,其可用于IPv6。
不活动定时器74可用于指定时间量,即NAT元件17在从查找ASIC42的内部存储器清除NAT简档前的等待时间。查找ASIC 42典型地维持内部计时结构,其在收到数据包流时更新,并可配置该内部计时结构以在使用NAT简档编程后增加相应的计时器。查找ASIC 42可在从用户接收到数据包后重置该计时器。
图4显示了NAT简档80的另一例子,其可由锚定用户管理单元10构建并编程入针对用户的锚定转发单元40,其配置用于网络地址端口转换(NAPT)两者。在图4所示的例子中,NAT简档80包括32位地址字段82(其用于对于用户的预先分配公共地址),及第二32位字(其用作不活动定时器84)。另外,NAT简档80提供一组标志位84,基本端口数88,多个端口90和64位端口位掩码92、94。
端口数88为用户指定了可维持NAT绑定的并行流的最大数。因此,基本端口数88和多个端口90共同地指定端口范围,端口可动态地从其中选择并映射到用户的新数据包流。在这个例子中,端口位掩码92、94提供了扁平64位宽位掩码以支持高达64个端口。每当ASIC42检测到新的数据包流,NAT元件17从位掩码中选择一个自由位,将其位移添加到基本端口数88,用于动态地计算端口以便在NAT绑定中使用。如果位掩码满了,即,端口范围内的所有端口都正在同时使用,则NAT元件17给出出错状态,查找ASIC 42配置FIB 39,因此转发该数据包流到锚定的用户管理服务单元10以应用控制平面11内的NAT。
在图4所示的例子中,不活动计时器74可用于指定时间量,即,NAT元件17在从查找ASIC 42的内部存储器清除NAT简档之前的等待时间。NAT元件为每个用户流在查找ASIC 42的内部计时结构中创建一个新的计时器。查找ASIC 42可在从用户接收到相应数据包后重置给定的计时器。当计时器过期后,NAT元件17从其内部缓存冲掉相应的NAT绑定,并清除端口位掩码92、94提供的位映射中的相应位。
图5显示了NAT简档100的另一例子,其由锚定用户管理单元10构建,并编程入针对用户的锚定转发单元40,其中针对多于64个的数据包流提供内联NAT。NAT简档100类似于NAT简档80,其中NAT简档100包括32位地址字段102(其指定了预先分配的网络地址),不活动计时器104(其用于冲洗针对单个流的NAT绑定),一组标志位106,基本端口数108,及多个端口110(其用于限定针对用户的端口范围)。但是,在图5所示的例子中,NAT简档100的字段116、122,用于限定多级位掩码。具体地,字段116A-116N包括一组32位字,其限定了位掩码的第一级;字段122A-122M包括一组32位字,其限定了位掩码的第二级。第一级中的每个位与第二级中的一组位相对应,用于提供在第二级中是否有至少一个位为空的指示符。这样,当动态创建NAT绑定内联时,NAT元件17扫描位掩码的第一级,以快速地识别具有至少一个自由位的低级中的一组位。接下来,NAT元件17从所识别的一组低级位中选择其中一个自由位,并计算如图4所述的相应端口。当第二级位掩码中给定位组中的所有位都被使用时,NAT元件在第一级中设定相应的位以指示所有相应的端口子范围此时都分配在了针对用户的NAT绑定中。如果第一级位掩码中的所有位被置位,即,在整个端口范围的所有端口都正在使用,查找ASIC 42转发用户的任意额外流到锚定用户管理服务单元10,以在控制平面11内应用NAT。在一个例子中,NAT简档100包括128个32位字段122,总共4K端口,以支持针对用户的4K并行NAT绑定,但是在其他例子中,每个用户可使用或多或少的绑定。在这种情况下,四个32位字段116可用于提供第一级位掩码,其中第一级的每个位对应于不同组的32个字段122,因此每个代表第二级位掩码的1024个位,即,1024个不同NAT绑定。这样,对于给定用户(如4K流量)大量的数据包流可同时支持,仍然允许针对内联NAT的快速端口配置。可使用附加级别来支持每个用户的更大端口范围。
图6为NAT简档130的另一例子,其由锚定用户管理单元10构建,并编程入针对用户的锚定转发单元40,其中,要使用内联网络地址分配和端口配置。NAT简档130扩展图5中NAT简档100以使用附加的位掩码来支持动态网络地址分配。例如,通过指定开始网络地址132和数个网络地址140来分配一系列公共网络地址给用户,或用户组。多级位掩码可类似于图5使用,其中字段146定义的第一级位掩码指示了是否有至少一个端口可用于给定的网络地址;字段152定义的第二级位掩码指示了是否每个单独端口可用或同时可用。NAT简档130包括不活动计时器135(其用于冲洗单独流量的NAT绑定),一组标志位136、基本端口数134,以及定义了用户端口范围的多个端口142。
图7为流程图,其显示了本文所述的内联网络地址转换(NAT)技术的一个具体实施方式。首先,移动网关路由器8接收来自无线设备(如移动设备6A)的网络附接请求,其指示该无线设备需要分组网络连接(162)。移动网关路由器8的转发平面根据(例如)请求移动设备6A的识别码将该网络附接请求转发给用户管理服务单元10中的一个(如用户管理服务单元10A)。作为响应,用户管理服务单元10A(如通过AAA服务37A和AAA服务器16)验证该移动设备6A,(例如,通过DHCP服务37B和DHCP服务器14)确定新的网络连接中的供使用的专用网络地址,并在移动接入网络4(“承载网络”)中与一个或多个网络设备通信,以建立转发路径或隧道用于承载网络连接的数据包(164)。
这时,用户管理服务单元10A针对与网络连接相关的单独通信会话(数据包流)确定在随后的NAT绑定中供使用的预先分配公共地址和端口范围(166)。用户管理服务单元10A生成特定的NAT简档(如NAT简档70、80、100、130),并将NAT简档编程入锚定的转发单元40(168)。用户管理服务单元10A可以根据来自管理员或移动网关4随时间学习得到的配置数据,选择并生成针对特定用户的NAT简档。例如,用户管理服务单元10A根据在验证用户时从AAA服务器16接收的用户信息来生成NAT简档。例如,AAA服务器可以提供关于使用内联NAT针对用户所支持的流量数的配置数据。在另一个例子中,用户管理服务单元10周期性地从转发平面15接收关于个人用户的并行通信会话的最大或平均数的统计信息,因此允许用户管理服务单元10通过配置具有更小位字段和端口范围的简档,保持查找ASIC 42中的空间,其中该用户典型地具有更少的并行数据包流。
在利用查找ASIC 42处理网络连接的数据包时(170),NAT元件17确定该数据包是否为新通信会话的出站包(174)。如果是,NAT元件17确定根据从锚定用户管理单元10A收到的NAT简档,为该新通信会话动态地创建NAT绑定(178)。在创建NAT绑定之后,或确定该数据包与现有NAT绑定关联之后,查找ASIC 42A的NAT元件17执行网络地址转换以转换任意出站包中的专用源网络地址和源端口为经计算的公共网络地址和分配端口号(178)。对于入站包,NAT元件17相反地根据所述NAT绑定,将公共网络地址转换为专用网络和端口。未经请求的具有NAT简档的去往合法专用网络地址的入站包可能以相似的方式产生NAT绑定,或者也可能被NAT元件17根据用户管理单元10A提供的配置数据而拒绝,可由一个或多个标记为给定用户在NAT简档中传送。
本文描述了本发明的不同实施方式。这些和其他实施方式都在下面权利要求书的范围内。

Claims (15)

1.一种用于内联网络地址转换的方法,包括:
利用移动网关路由器接收将用户的无线设备附接到移动无线网络的请求;
利用所述移动网关路由器的控制平面为所述无线设备建立分组网络连接,从而使用所述移动无线网络进行通信,其中,建立所述网络连接包括为所述无线设备分配专用网络地址;
在建立所述网络连接时以及在从所述无线设备接收用户数据流量之前,利用所述移动网关路由器的所述控制平面为所述无线设备预先分配公共网络地址和端口范围;
利用所述移动网关路由器的所述控制平面,构造用于指定所述公共网络地址和所述端口范围的网络地址转换NAT简档,并且将所述NAT简档安装到所述移动网关路由器的硬件转发元件中;
在接收到所述用户数据流量的新的数据包流的数据包时,为所述用户动态地选择所述NAT简档的所述端口范围中的端口,并在所述硬件转发元件中创建NAT绑定,其中,所述NAT绑定将所述无线设备的所述专用网络地址映射到所述公共网络地址和所选择的所述端口;以及
根据所述NAT绑定,在所述硬件转发元件中对于所述数据包流的数据包执行网络地址转换。
2.根据权利要求1所述的方法,其中,执行网络地址转换包括:
利用所述移动网关路由器接收所述数据包流的出站包,每个所述出站包都具有所述无线设备的所述专用网络地址作为专用源网络地址;以及
对于每个所述出站包,利用所述转发组件,生成经转换的数据包,其中,所述经转换的数据包包括代替所述出站包的所述专用源地址和源端口的所述公共网络地址和从所述端口范围中所选择的所述端口。
3.根据权利要求1所述的方法,进一步包括:在所述控制平面中,根据针对所述用户的历史数据,从多个不同类型的NAT简档中选择针对所述无线设备的所述NAT简档。
4.根据权利要求1至3中任一项所述的方法,其中,构造NAT简档包括:构造所述NAT简档从而包括多个位的位掩码,每个位对应于所述端口范围内的端口并指示所述端口当前是否被分配用以对通过所述网络连接的所述无线设备的一不同的数据包流执行NAT。
5.根据权利要求4所述的方法,
其中,所述位掩码包括具有第一级和第二级的多级位掩码,所述第一级和第二级均具有多个位,
其中,所述第二级的每个位对应于所述端口范围内的端口,并指示所述端口当前是否被分配用以对所述无线设备的数据包流中的一不同的数据包流执行NAT,以及
其中,所述第一级的每个位对应于所述第二级的不同位组,并指示所述位组中的至少一个位是否对应于未使用的端口。
6.根据权利要求1至3中任一项所述的方法,进一步包括:
将所述NAT绑定存储到所述硬件转发元件内的NAT绑定的内部缓存中;
在接收到所述新的数据包流的数据包时,访问所述NAT绑定以确定是否存在有针对所述新的数据包流的NAT绑定;以及
当针对所述新的数据包流的NAT绑定不存在时,在所述内部缓存中创建所述NAT绑定。
7.根据权利要求1至3中任一项所述的方法,
其中,所述控制平面包括所述移动网关路由器设备内的多个会话管理卡,所述硬件转发元件包括通过交换结构与所述多个会话管理卡耦接的多个转发单元中的一个;以及
其中,构造NAT简档包括利用锚定的会话管理卡来构造所述NAT简档,其中,所述锚定的会话管理卡在所述控制平面中锚定所述用户会话;和
其中,安装所述NAT简档包括将来自所述锚定的会话管理卡的所述NAT简档安装到所述移动网关路由器的锚定转发单元,所述移动网关路由器负责路由所述用户数据流量的所述数据包流。
8.根据权利要求1至3中任一项所述的方法,
其中,所述NAT转换(NAT)简档通过指定所述公共网络地址范围来指定所述公共网络地址,以及
其中,所述方法进一步包括在所述公共网络地址范围内动态地选择公共网络地址。
9.根据权利要求8所述的方法,
其中,构造NAT简档包括构造所述NAT简档从而包括针对所述公共网络地址范围的第一位掩码和针对所述端口范围的第二位掩码;
其中,所述第一位掩码的每个位与所述公共网络地址范围内的公共网络地址相对应,并表明所述公共网络地址当前是否被分配;
以及
其中,所述第一位掩码的每个位与所述端口范围内的端口相对应,并表明当前是否针对通过所述网络连接的所述无线设备的一不同的数据包流分配所述端口。
10.根据权利要求9所述的方法,
其中,所述第一位掩码和所述第二位掩码均包括具有第一级和第二级的多级位掩码,所述第一级和第二级均具有多个位,
其中,对于所述第一位掩码的所述第二级的每个位与所述公共网络地址范围内的公共网络地址相对应,并表明所述公共网络地址当前是否被分配;
其中,对于所述第二位掩码的所述第二级的每个位对应于所述端口范围内的端口,并指示当前是否分配所述端口用以对所述无线设备的一不同的数据包流执行NAT;以及
其中,对于所述第一位掩码和第二位掩码,所述第一级的每个位都对应于所述第二级的不同位组,并表明是否所述位组内的至少一个位对应于未使用的端口。
11.一种移动网关路由器,包括:
多个接口,被配置为针对移动接入网络的用户的无线设备发送和接收网络数据包;
多个会话管理卡,提供分布控制平面,从而根据分配到所述无线设备的专用网络地址为所述无线设备建立网络连接;
转发集成电路,具有转发信息库FIB用于在所述多个接口间路由数据包,所述转发集成电路包括内部网络地址转换NAT元件,
其中,各所述会话管理卡被编程为在验证所述用户时以及在从所述用户接收用户数据流量前针对各用户构造NAT简档,其中,所述NAT简档指定了预先分配的公共网络地址和端口范围,以及
其中,所述会话管理卡被编程为将所述NAT简档安装在所述移动网关路由器的所述转发集成电路中,用于当针对所述用户路由数据包时在所述转发集成电路中的内联网络地址转换。
12.根据权利要求11所述的移动网关路由器,其中,所述转发集成电路被配置为在接收所述用户数据流量的新的数据包流的数据包时,为所述用户动态地在所述NAT简档的端口范围内选择端口,创建将所述无线设备的所述专用网络地址映射到所述公共网络地址和所选择的所述端口的NAT,根据所述NAT绑定在硬件转发元件中对数据包流的数据包执行网络地址转换。
13.根据权利要求11所述的移动网关路由器,
其中,所述转发集成电路接收针对所述数据包流的出站包,每个所述出站包都具有所述无线设备的所述专用网络地址作为专用源网络地址,以及
其中,对于每个所述出站包,所述转发集成电路生成经转换的数据包,所述经转换的数据包包括代替所述出站包的所述专用源地址和源端口的所述公共网络地址和从所述端口范围内所选择的所述端口。
14.根据权利要求11至13中任一项所述的移动网关路由器,其中,所述会话管理卡被编程为根据所述转发集成电路收集的针对所述用户的历史数据,从多个不同类型的NAT简档中选择针对所述用户的所述NAT简档。
15.根据权利要求11至13中任一项所述的移动网关路由器,包括:用于执行权利要求1至10中任一项所述方法的装置。
CN201210545530.5A 2012-05-14 2012-12-14 移动网关路由器内的内联网络地址转换 Active CN103428304B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/471,252 2012-05-14
US13/471,252 US8891540B2 (en) 2012-05-14 2012-05-14 Inline network address translation within a mobile gateway router

Publications (2)

Publication Number Publication Date
CN103428304A CN103428304A (zh) 2013-12-04
CN103428304B true CN103428304B (zh) 2017-03-01

Family

ID=47598612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210545530.5A Active CN103428304B (zh) 2012-05-14 2012-12-14 移动网关路由器内的内联网络地址转换

Country Status (3)

Country Link
US (2) US8891540B2 (zh)
EP (1) EP2665335B1 (zh)
CN (1) CN103428304B (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120071700A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 이동 라우터와 이동 노드 및 그의 서비스 제공 방법
US9258272B1 (en) 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
US9490650B2 (en) * 2012-08-02 2016-11-08 Sandisk Technologies Llc Wireless power transfer
US9331930B1 (en) * 2012-09-04 2016-05-03 Big Switch Networks, Inc. Systems and methods for forwarding network packets in a network using network domain topology information
WO2014184724A2 (en) * 2013-05-13 2014-11-20 Ben Volach Systems and methods of controlled reciprocating communication
US9374788B2 (en) 2013-12-19 2016-06-21 Sandisk Technologies Inc. Mobile device peripheral
WO2015096005A1 (zh) * 2013-12-23 2015-07-02 华为技术有限公司 消息处理方法和网关
CN103888734B (zh) * 2014-03-26 2017-08-15 浙江宇视科技有限公司 两层私网下媒体流控制方法及装置
US10075337B2 (en) * 2015-01-23 2018-09-11 Cisco Technology, Inc. Mechanism for serving hardware resource information to an attached appliance
US9800549B2 (en) * 2015-02-11 2017-10-24 Cisco Technology, Inc. Hierarchical clustering in a geographically dispersed network environment
CN104618252A (zh) * 2015-03-03 2015-05-13 北京极科极客科技有限公司 一种路由器的接口体系的构建方法
US9794419B2 (en) 2015-05-29 2017-10-17 Blackberry Limited Method and system for transition of applications to a second cellular data networking interface for a virtual SIM service
US9794418B2 (en) * 2015-05-29 2017-10-17 Blackberry Limited Method and system for dynamic cellular networking activation for virtual SIM service
US9628633B2 (en) 2015-05-29 2017-04-18 Blackberry Limited Method and apparatus for virtual SIM service activation and deactivation via subscription tracking
US9954681B2 (en) 2015-06-10 2018-04-24 Nxp Usa, Inc. Systems and methods for data encryption
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
CN105227692B (zh) * 2015-09-17 2019-05-03 青岛海信电器股份有限公司 一种nat穿越方法及网关设备
KR102362395B1 (ko) 2015-09-22 2022-02-14 삼성전자 주식회사 이동 통신 시스템에서 프로파일 다운로드 방법 및 장치
US9521223B1 (en) 2015-10-22 2016-12-13 Sandisk Technologies Llc Mobile device case and method for use therewith
CN107124387A (zh) * 2016-02-25 2017-09-01 上海传真通信设备技术研究所有限公司 一种阻止硬件后门的嵌入式网络系统
US10470117B2 (en) * 2016-04-13 2019-11-05 Qualcomm Incorporated Connectivity to a local area network via a cellular radio access technology
US10178205B2 (en) 2016-05-31 2019-01-08 Gainspan Corporation Wireless device of a wireless local area network communicating with a device of an external network on a TCP session before and after disassociation from the wireless local area network
US9986080B2 (en) 2016-06-24 2018-05-29 Sandisk Technologies Llc Mobile device and method for displaying information about files stored in a plurality of storage devices
EP3479553B1 (en) * 2016-07-01 2020-04-29 Telefonaktiebolaget LM Ericsson (PUBL) Efficient nat in sdn network
US10284457B2 (en) * 2016-07-12 2019-05-07 Dell Products, L.P. System and method for virtual link trunking
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
US10492234B2 (en) * 2016-10-24 2019-11-26 General Motors Llc Determining availability of a cellular connection between a vehicle and a vehicle backend system
US10841275B2 (en) 2016-12-12 2020-11-17 Samsung Electronics Co., Ltd. Method and apparatus for reducing IP addresses usage of NVME over fabrics devices
CN106878259B (zh) * 2016-12-14 2020-12-11 新华三技术有限公司 一种报文转发方法及装置
CN106656596B (zh) * 2016-12-21 2019-11-01 瑞斯康达科技发展股份有限公司 基于dhcp服务器的snmp网络管理方法及装置
CN108259632B (zh) * 2017-05-24 2020-02-11 新华三技术有限公司 一种cgn实现方法及装置
BR112020000662A2 (pt) * 2017-07-10 2020-07-14 Motorola Mobility Llc conexão de dados de acesso múltiplo em uma rede móvel
US10547587B2 (en) 2018-03-19 2020-01-28 Didi Research America, Llc Method and system for near real-time IP user mapping
CN109688237B (zh) * 2018-03-26 2020-05-12 新华三技术有限公司 一种nat转换方法、装置及nat设备
CN109688238B (zh) * 2018-03-26 2020-06-09 新华三技术有限公司 一种nat转换方法、装置及nat设备
US11153203B2 (en) 2018-10-05 2021-10-19 Sandvine Corporation System and method for adaptive traffic path management
PL3703331T3 (pl) * 2019-02-27 2021-08-23 Ovh Systemy i sposoby zarządzania siecią
US11239898B1 (en) 2019-11-19 2022-02-01 T-Mobile Innovations Llc Relaying data to multiple access points
WO2021190029A1 (zh) * 2020-03-24 2021-09-30 中兴通讯股份有限公司 实现运营商级网络地址转换的方法、装置和系统
WO2021259510A1 (en) * 2020-06-24 2021-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Devices and methods therein for handling nat policies in a wireless communications network
US11916868B2 (en) * 2020-07-30 2024-02-27 T-Mobile Usa, Inc. Device based smart NAT selection
CN114363285A (zh) * 2020-09-28 2022-04-15 华为技术有限公司 地址管理的方法、装置及系统
CN112600765B (zh) * 2020-12-02 2022-07-29 杭州迪普科技股份有限公司 一种配置资源调度方法及装置
CN112738290B (zh) * 2020-12-25 2022-08-26 杭州迪普科技股份有限公司 一种nat转换方法、装置及设备
US11665131B1 (en) * 2022-09-13 2023-05-30 Cisco Technology, Inc. Stateful redundancy for deterministic carrier-grade network address translation (NAT) services

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742633A (zh) * 2008-11-14 2010-06-16 华为技术有限公司 无线接入网元、无线接入实现方法及系统
CN102148767A (zh) * 2011-05-12 2011-08-10 杭州华三通信技术有限公司 一种基于nat的数据路由方法及其装置

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006269A (en) 1998-03-11 1999-12-21 Hewlett-Packard Company Admission control system with messages admitted or deferred for re-submission at a later time on a priority basis
US6442608B1 (en) 1999-01-14 2002-08-27 Cisco Technology, Inc. Distributed database system with authoritative node
US7058973B1 (en) 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
US7007071B1 (en) 2000-07-24 2006-02-28 Mosaid Technologies, Inc. Method and apparatus for reducing pool starvation in a shared memory switch
KR100689034B1 (ko) 2000-08-26 2007-03-08 삼성전자주식회사 외부 네트워크에서 사설 아이피주소를 갖는 노드에접속하기 위한 네트워크 주소변환시스템과 방법 및 그방법을 기록한 컴퓨터로 읽을수 있는 기록매체
US20020138622A1 (en) 2001-03-21 2002-09-26 Motorola, Inc. Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices
US6687245B2 (en) 2001-04-03 2004-02-03 Voxpath Networks, Inc. System and method for performing IP telephony
US8363647B2 (en) 2001-04-03 2013-01-29 Voxpath Networks, Inc. System and method for configuring an IP telephony device
US8004971B1 (en) 2001-05-24 2011-08-23 F5 Networks, Inc. Method and system for scaling network traffic managers using connection keys
US20030058853A1 (en) * 2001-09-26 2003-03-27 Eugene Gorbatov Method and apparatus for mobile device roaming in wireless local area network
US7346044B1 (en) * 2001-10-12 2008-03-18 Mediaring Ltd. Network address translation for voice over internet protocol router
US6985479B2 (en) 2002-03-04 2006-01-10 Qualcomm Incorporated Method and apparatus for processing internet protocol transmissions
US7937471B2 (en) * 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
KR100876780B1 (ko) 2002-06-05 2009-01-07 삼성전자주식회사 로컬 네트워크를 위한 인터넷 액세스 게이트웨이에서네트워크 어드레스 변환 없이 단일의 인터넷 프로토콜어드레스를 공유하기 위한 방법 및 장치
US7194767B1 (en) 2002-06-28 2007-03-20 Sprint Communications Company L.P. Screened subnet having a secured utility VLAN
US7184437B1 (en) 2002-07-17 2007-02-27 Juniper Networks, Inc. Scalable route resolution
US7624195B1 (en) 2003-05-08 2009-11-24 Cisco Technology, Inc. Method and apparatus for distributed network address translation processing
US7760744B1 (en) 2003-11-20 2010-07-20 Juniper Networks, Inc. Media path optimization for multimedia over internet protocol
US7782878B2 (en) 2004-08-16 2010-08-24 I2Telecom Ip Holdings, Inc. System and method for sharing an IP address
JP4001138B2 (ja) 2004-09-10 2007-10-31 コニカミノルタビジネステクノロジーズ株式会社 通信装置、ネットワークパラメータ設定方法およびネットワークパラメータ設定プログラム
KR20070104348A (ko) 2005-01-11 2007-10-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 의사 멀티-홈 호스트에 대한 효율적인 주소-공간 확장
US7646775B2 (en) 2005-03-08 2010-01-12 Leaf Networks, Llc Protocol and system for firewall and NAT traversal for TCP connections
US20070043876A1 (en) 2005-08-19 2007-02-22 Nokia Corporation Stimulation traffic for binding refreshment
US20070162968A1 (en) 2005-12-30 2007-07-12 Andrew Ferreira Rule-based network address translation
US8274979B2 (en) 2005-12-30 2012-09-25 Telecom Italia S.P.A. Method and system for secure communication between a public network and a local network
TW200805968A (en) 2006-07-11 2008-01-16 Shaw-Hwa Hwang Improved SIP communication method capable of traversing NAT firewall
US8050559B2 (en) 2006-08-21 2011-11-01 Juniper Networks, Inc. Multi-chassis router with multiplexed optical interconnects
TW200822633A (en) 2006-11-03 2008-05-16 Hon Hai Prec Ind Co Ltd Network device and packet forwarding method thereof
US8135013B2 (en) 2007-04-06 2012-03-13 International Business Machines Corporation Internet protocol switch and use of the switch for switching a frame
US8144709B2 (en) 2007-04-06 2012-03-27 International Business Machines Corporation Method, system and computer processing an IP packet, routing a structured data carrier, preventing broadcast storms, load-balancing and converting a full broadcast IP packet
JP5163910B2 (ja) 2007-06-15 2013-03-13 日本電気株式会社 アドレス変換装置及びアドレス変換方法
US7924854B2 (en) 2007-10-30 2011-04-12 Cisco Technology, Inc. System and method for billing end users in a peer-to-peer transaction in a network environment
US20090129301A1 (en) * 2007-11-15 2009-05-21 Nokia Corporation And Recordation Configuring a user device to remotely access a private network
JP4705656B2 (ja) 2008-04-22 2011-06-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 アドレス変換装置、アドレス変換プログラム
GB2478470B8 (en) * 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US9083587B2 (en) * 2009-08-21 2015-07-14 Cisco Technology, Inc. Port chunk allocation in network address translation
US20110219123A1 (en) 2010-03-05 2011-09-08 Bo Yang Network firewall and nat traversal for tcp and related protocols
US8218557B2 (en) 2010-04-09 2012-07-10 Telefonaktiebolaget L M Ericsson (Publ) Scalable distributed user plane partitioned two-stage forwarding information base lookup for subscriber internet protocol host routes
WO2012031623A1 (en) * 2010-09-07 2012-03-15 Nokia Siemens Networks Oy Method and network devices for selecting between private addresses and public addresses within a user session
US8514756B1 (en) 2010-10-15 2013-08-20 Juniper Networks, Inc. Collectively addressing wireless devices
JP5640649B2 (ja) 2010-10-27 2014-12-17 ソニー株式会社 データ通信方法及び情報処理装置
US8656052B2 (en) * 2011-05-16 2014-02-18 Cox Communications, Inc. Systems and methods of mapped network address translation
US8650279B2 (en) 2011-06-29 2014-02-11 Juniper Networks, Inc. Mobile gateway having decentralized control plane for anchoring subscriber sessions
US8948174B2 (en) 2011-06-29 2015-02-03 Juniper Networks, Inc. Variable-based forwarding path construction for packet processing within a network device
US9742728B2 (en) 2011-08-30 2017-08-22 Sonus Networks, Inc. Determining expiration time of bindings for network address translation devices
US9306903B2 (en) 2011-09-13 2016-04-05 Cable Television Laboratories, Inc. Deterministic mapping
US8560757B2 (en) 2011-10-25 2013-10-15 Cavium, Inc. System and method to reduce memory access latencies using selective replication across multiple memory ports
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742633A (zh) * 2008-11-14 2010-06-16 华为技术有限公司 无线接入网元、无线接入实现方法及系统
CN102148767A (zh) * 2011-05-12 2011-08-10 杭州华三通信技术有限公司 一种基于nat的数据路由方法及其装置

Also Published As

Publication number Publication date
US20130301522A1 (en) 2013-11-14
EP2665335A1 (en) 2013-11-20
US8891540B2 (en) 2014-11-18
US9351324B2 (en) 2016-05-24
EP2665335B1 (en) 2021-01-27
CN103428304A (zh) 2013-12-04
US20150071225A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
CN103428304B (zh) 移动网关路由器内的内联网络地址转换
CN101180860B (zh) 一种宽带接入网及其接入节点以及重定向宽带接入网中业务的方法
US9173244B2 (en) Methods for establishing and using public path, M2M communication method, and systems thereof
US9674870B1 (en) Mobile gateway having reduced forwarding state for anchoring mobile subscribers
TWI410077B (zh) Method of Wrapping Method and Winding Path in Wireless Network Environment
KR101900536B1 (ko) Openflow 데이터 플레인 및 컨트롤 플레인을 갖는 클라우드 컴퓨터에서의 3g 패킷 코어의 구현
US9106711B2 (en) Minimizing mapping and signaling for data path aggregation
CN102316423A (zh) 一种信息推送方法、装置和系统
US20130294461A1 (en) CGN Entity Based Data Transmission Method, CGN Entity, Gateway, and System
CN106464583A (zh) 实现具有开放流数据和控制平面的云计算机中的3g分组核心
EP3300307A1 (en) Method for providing hybrid network connectivity to at least one client device being connected to a telecommunications network using a customer premises equipment device or functionality, telecommunications network, logical or physical central office point of delivery, and system for providing hybrid network connectivity to at least one client device, program and computer program product
CN104247462A (zh) 机器类型通信代理功能
CN103685032B (zh) 报文转发方法及网络地址转换服务器
US10819537B2 (en) Method and apparatus for processing service data
US9813345B1 (en) Offload of data transfer statistics from a mobile access gateway
US20160112300A1 (en) Method and device for selecting a communication interface
CN102547609A (zh) 向业务平台传送用户信息的方法及装置
US9094852B2 (en) Implementation of packet data service in a mobile communication network
CN115442289B (zh) 发送和接收消息的方法、装置和通信系统
CN105376174A (zh) 执行lte/epc中基于服务链的策略的方法与设备
Elsadek et al. IP mobility management using software defined networking: A review
WO2011026355A1 (zh) 节点接入家乡代理的方法、家乡代理集群系统及业务路由器
US8811344B1 (en) Methods and apparatus for assigning same sequence number to multiple GTP messages
CN101394655B (zh) 一种漫游用户ip分组路由方法
CN102883310B (zh) 长期演进网络中的远程访问方法和设备

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
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Juniper Networks, Inc.

Address before: California, USA

Patentee before: Jungle network

CP01 Change in the name or title of a patent holder