CN1809033A - 网络地址转换的硬件实现方法 - Google Patents

网络地址转换的硬件实现方法 Download PDF

Info

Publication number
CN1809033A
CN1809033A CNA2006100202973A CN200610020297A CN1809033A CN 1809033 A CN1809033 A CN 1809033A CN A2006100202973 A CNA2006100202973 A CN A2006100202973A CN 200610020297 A CN200610020297 A CN 200610020297A CN 1809033 A CN1809033 A CN 1809033A
Authority
CN
China
Prior art keywords
network address
address
conversion
implementation method
hardware implementation
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.)
Pending
Application number
CNA2006100202973A
Other languages
English (en)
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.)
NANSHAN ZHIQIAO MICRO ELECTRONICS CO Ltd SICHUAN
Original Assignee
NANSHAN ZHIQIAO MICRO ELECTRONICS CO Ltd SICHUAN
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 NANSHAN ZHIQIAO MICRO ELECTRONICS CO Ltd SICHUAN filed Critical NANSHAN ZHIQIAO MICRO ELECTRONICS CO Ltd SICHUAN
Priority to CNA2006100202973A priority Critical patent/CN1809033A/zh
Publication of CN1809033A publication Critical patent/CN1809033A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及网络技术,特别涉及网络地址转换方法。本发明解决了现有NAT技术,转换速度慢,耗费***资源,降低***效率的问题,公开了一种直接在FPGA/CPLD,ASIC等硬件基础上实现的网络地址转换方法。本发明的网络地址转换方法,首先按照预订格式,在NAT模块中建立规则表;从数据包中抽取五元组并输入NAT模块,在NAT模块中,五元组与规则表进行匹配,根据规则表的内容决定转换类型,最后,计算出需要转换的IP地址和PORT号。本发明的有益效果是,能充分发挥硬件的速度优势,转换速度快,效率高。本发明的技术方案,主要用于网络芯片的设计。

Description

网络地址转换的硬件实现方法
技术领域
本发明涉及网络技术,特别涉及网络地址转换方法。
背景技术
由于IPv4网络协议本身的不足,加之现在越来越多的网络设备接入,网络地址正面临着被分配耗尽的危险。为了缓解这个问题,网络地址转换(NAT)技术被提出并得到了应用。NAT技术可以将网络数据流中的多个关键元素,尤其是网络地址按一定规律进行转换,在局部范围内形成互不冲突的地址/端口组合,从而提高网络地址的利用效率。现有NAT技术通常有两种方式:
1.采用软件方式实现,即网络数据包全部交由CPU,依靠软件的方式从包内检出五个关键元素(SIP,SPORT,DIP,DPORT,PROTOCOL),再根据要求完成源地址转换——SNAT,即转换SIP或SPORT,或目的地址转换——DNAT,即转换DIP或DPORT。此方法的缺点是,数据包从通讯端口到CPU必须经过PCI总线、***RAM通道、南桥通道等转换过程,才能交给软件处理,软件执行NAT转换还需要进行大量计算和频繁的RAM读写,尤其是对每个包都要进行一次,耗费了大量CPU时间和***资源,使整个***在完成NAT功能时效率骤降。
2.采用NP(网络处理器)方式实现,NP在对网络包处理的速度和效率上较高,但最终仍然是基于微代码的执行过程,速度比不上硬件。在从包中检出五元组的过程中NP比CPU的效率高,但在进行NAT地址转换时,仍然要依赖于微代码的计算和频繁的RAM读写才能确定要转换的地址,在这个方面,NP的效率也并不高。
发明内容
本发明所要解决的技术问题,就是针对现有NAT技术,转换速度慢,耗费***资源,降低***效率的缺点,提供一种直接在FPGA/CPLD,ASIC等硬件基础上实现的网络地址转换方法。
本发明解决所述技术问题,采用的技术方案是,网络地址转换的硬件实现方法,包括如下步骤:
a.按照预定格式配置规则表;
b.从数据包中抽取五元组,与规则表进行匹配;
c.若匹配上某一表项,则根据表项内容对网络地址进行转换;
d.若未匹配上表项,则输出未匹配信号。
本发明的有益效果是,能充分发挥硬件的速度优势,将繁杂的搜索和转换计算过程固化后得到高速执行,支持小数据包的线速处理。硬件在实现时,各个功能模块相对独立,NAT的运行不会以减低其它模块的效率为代价。同时,硬件对RAM的读写效率非常高,读写的数据格式也能够精简,能进一步提高转换效率。保证了***在开启NAT功能时整体数据流的处理过程仍然能高速执行。
附图说明
图1是本发明的流程图;
图2是NAT模块的示意图。
具体实施方式
下面结合附图及实施例,信息描述本发明的技术方案。
本发明的技术方案是,网络地址转换的硬件实现方法,包括如下步骤:
a.按照预定格式配置规则表;
b.从数据包中抽取五元组,与规则表进行匹配;
c.若匹配上某一表项,则根据表项内容对网络地址进行转换;
d.若未匹配上表项,则输出未匹配信号;
具体的是,所述网络地址包括IP地址和PORT号;
进一步的是,所述步骤c中IP地址的转换为随机转换、指定范围转换或罗列选取;
所述步骤c中PORT号的转换为随机转换或指定范围转换;
更进一步的是,所述步骤c中网络地址转换包括源地址转换和目的地址转换。
本发明的网络地址转换方法,首先,按照预定格式,在NAT模块中建立规则表。从数据包中抽取五元组,包括源地址:SIP,SPORT;目的地址:DIP,DPORT;以及PROTOCOL。将上述五元组输入NAT模块。在NAT模块中,五元组与规则表进行匹配,根据规则表的内容决定做哪一种转换:源地址转换——SNAT;或目的地址转换——DNAT。最后,计算并得出需要转换的IP地址和PORT号(MIP和MPORT)。
上述规则表包括五元组内容、匹配规则、做何种转换,即DNAT或SNAT、IP的转换范围、PORT的转换范围等参数。从数据包中抽取五元组,搜索整个规则表,根据五元组和匹配规则确定是否匹配上某一表项。如果未匹配上表项,则输出未匹配信号,以便其他模块进行处理;如果匹配上表项,则根据表项内容对IP和PORT进行转换。程序流程参见图1,NAT模块结构见图2。
实施例1
IP地址的转换分三种方式:一为随机范围转换,即范围不固定;二为指定范围转换,这要求用户在规则表中预先对基值和偏移量进行配置;三为罗列选取,即转换的值在一个罗列的表项中随机选择一个,这也要求用户在规则表中预先对罗列表进行配置。
假设转换之前的IP地址均为192.168.0.1,在随机范围转换模式下,得到的MIP会是一个任意的IP地址,比如:123.89.67.251。在指定范围转换模式下,得到的MIP会是一定范围内的任意IP地址,这里的范围取决于规则表中的配置(基地址+偏移量)。比如:规则表的配置为:基地址=119.160.2.0,偏移量=50,则得到的MIP是119.160.2.0至119.160.2.50范围内的一个任意IP地址,如119.160.2.34。在罗列选取模式下,得到的MIP会是规则表中所罗列的IP地址的其中之一。比如规则表罗列的地址有三个:0号地址:120.2.7.13,1号地址:120.2.7.39,2号地址:120.2.7.254;根据192.168.0.1的低2位的数值01,得到的MIP应该取1号地址:120.2.7.39。将转换后的MIP安要求输出。
实施例2
PORT号的转换分两种方式:一为随机范围转换,即范围不固定;二为指定范围转换,这要求用户在规则表中预先对基值和偏移量进行配置。
假设转换之前的PORT号均为80,在随机范围转换模式下,得到的MPORT会是一个不大于65535的任意的PORT号,比如:8880。在指定范围转换模式下,得到的MPORT是一定范围内的任意值,这里的范围取决于规则表中的配置(基值+偏移量)。比如:规则表的配置为:基地址=3000,偏移量=80,则得到的MPORT是3000至3080范围内的一个任意值,如3056。将转换后的MPORT按要求输出。
上述实施例中,若网络地址是源地址——SIP,SPORT;则对应的转换为源地址转换——SNAT。若网络地址为目的地址——DIP,DPORT;则对应的转换为目的地址转换——DNAT。

Claims (5)

1.网络地址转换的硬件实现方法,包括如下步骤:
a.按照预定格式配置规则表;
b.从数据包中抽取五元组,与规则表进行匹配;
c.若匹配上某一表项,则根据表项内容对网络地址进行转换;
d.若未匹配上表项,则输出未匹配信号。
2.根据权利要求1所述的网络地址转换的硬件实现方法,其特征在于:所述网络地址包括IP地址和PORT号。
3.根据权利要求2所述的网络地址转换的硬件实现方法,其特征在于:所述步骤c中IP地址的转换为随机转换、指定范围转换或罗列选取。
4.根据权利要求2所述的网络地址转换的硬件实现方法,其特征在于:所述步骤c中PORT号的转换为随机转换或指定范围转换。
5.根据权利要求1、2、3或4所述的网络地址转换的硬件实现方法,其特征在于:所述步骤c中网络地址转换包括源地址和目的地址转换。
CNA2006100202973A 2006-02-16 2006-02-16 网络地址转换的硬件实现方法 Pending CN1809033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2006100202973A CN1809033A (zh) 2006-02-16 2006-02-16 网络地址转换的硬件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006100202973A CN1809033A (zh) 2006-02-16 2006-02-16 网络地址转换的硬件实现方法

Publications (1)

Publication Number Publication Date
CN1809033A true CN1809033A (zh) 2006-07-26

Family

ID=36840726

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100202973A Pending CN1809033A (zh) 2006-02-16 2006-02-16 网络地址转换的硬件实现方法

Country Status (1)

Country Link
CN (1) CN1809033A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452746C (zh) * 2007-03-12 2009-01-14 杭州华三通信技术有限公司 一种确定出接口的方法及多接入宽带路由器
CN101119324B (zh) * 2007-09-21 2010-04-14 杭州华三通信技术有限公司 网络地址转换属性自适应方法及装置
CN101132424B (zh) * 2007-09-29 2011-08-31 杭州华三通信技术有限公司 网络地址转换的方法及装置
CN104184732A (zh) * 2014-08-25 2014-12-03 浪潮集团有限公司 一种ip地址匹配ip范围策略的硬件实现方法
CN111510513A (zh) * 2020-01-03 2020-08-07 普联国际有限公司 一种map-e链路加速方法、装置、存储介质及网络设备
CN113132242A (zh) * 2021-03-19 2021-07-16 翱捷科技股份有限公司 一种网络设备及其共享发送和接收缓存的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452746C (zh) * 2007-03-12 2009-01-14 杭州华三通信技术有限公司 一种确定出接口的方法及多接入宽带路由器
CN101119324B (zh) * 2007-09-21 2010-04-14 杭州华三通信技术有限公司 网络地址转换属性自适应方法及装置
CN101132424B (zh) * 2007-09-29 2011-08-31 杭州华三通信技术有限公司 网络地址转换的方法及装置
CN104184732A (zh) * 2014-08-25 2014-12-03 浪潮集团有限公司 一种ip地址匹配ip范围策略的硬件实现方法
CN111510513A (zh) * 2020-01-03 2020-08-07 普联国际有限公司 一种map-e链路加速方法、装置、存储介质及网络设备
CN111510513B (zh) * 2020-01-03 2022-08-30 普联国际有限公司 一种map-e链路加速方法、装置、存储介质及网络设备
CN113132242A (zh) * 2021-03-19 2021-07-16 翱捷科技股份有限公司 一种网络设备及其共享发送和接收缓存的方法

Similar Documents

Publication Publication Date Title
CN1809033A (zh) 网络地址转换的硬件实现方法
CN101227318B (zh) 高速网络流量的超点实时检测方法
CN101056218A (zh) 一种网络性能测量方法及***
CN1593041A (zh) 具有多个首部的包的解封装和封装的方法、装置和计算机程序
CN1273394A (zh) 综合ip网络
US20080059464A1 (en) Positionally dependent pattern checking in character strings using deterministic finite automata
CN1255975C (zh) 在路由设备中为分组选择路由的方法
CN101043692A (zh) 巡检方法及巡检服务器
CN1408089A (zh) 用于管理客户与服务器之间的连接的***和方法
CN101848239B (zh) 一种高时效性的分布式服务集成调用***
CN1777889A (zh) 域名***中的数据库性能的增强
CN1770048A (zh) 一种嵌入式网页服务器
CN104778189A (zh) 一种基于xml标签语言的日志管理方法和***
JP2003124977A (ja) チェックサムの書換装置
CN1272724C (zh) 基于内核中套接字对接的第七层负载均衡的方法
CN101056219A (zh) 一种实现网络性能测量的方法及***
CN1398474A (zh) 用于互联网通信的方法
SE531947C2 (sv) Förfarande, anordning och system för flerfältsklassificering i ett datakommunikationsnätverk
CN1777018A (zh) 基于dsp芯片的励磁控制器通讯***及其usb协议实现的方法
CN1819557A (zh) 硬件建立tcp数据流连接的方法
CN1317874C (zh) 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
CN102088457A (zh) 一种基于保证连接均衡性的报文分流方法
CN1260920C (zh) 实现网络地址转换的方法
CN1272938C (zh) 一种提高以太网带宽的方法
CN1581842A (zh) 一种实现源ip地址和源mac地址绑定路由的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication