网络地址转换装置及其转送封包的方法

文档序号:7627381阅读:117来源:国知局
专利名称:网络地址转换装置及其转送封包的方法
技术领域
本发明涉及网络通讯领域,尤其涉及一种网络地址转换装置及其转送封包的方法。
背景技术
近年来随着因特网(Internet)快速发展,使用因特网协议(InternetProtocol,IP)地址的主机大量增加,因此网络地址转换(Network AddressTranslation,NAT)提供了一种足以解决IP地址短缺问题且被普遍接受的方法。
但目前市面上一般的NAT装置因制造成本限制,使用的中央处理单元(Central Processing Unit,CPU)等硬件组件等级较低,并不像企业核心网络设备使用较昂贵、处理速度较快的硬件组件。因此,使用者通过传统NAT装置传输数据时,往往会感觉到传输速度不理想。
图1是传统NAT装置10的架构图。在传统NAT装置10中,封包转送流程为封包从局域网(Local Area Network,LAN)界面(Interface)11进入后,IP层(IP Stack)模块12处理封包。接着,NAT核心(Kernel)模块13拦截封包,做NAT相应的处理。最后,再通过广域网(Wide AreaNetwork,WAN)接口14转送出封包。
在传统NAT装置10转送封包的转送流程中,转送速率的瓶颈在于IP层模块12,IP层模块12要处理封包的负担较重,每个封包都要经过IP层模块12处理。而且,目前传统NAT装置10所用的CPU处理速度并不快,从而导致传统NAT装置10的封包转送效能不佳。

发明内容有鉴于此,需要提供一种网络地址转换装置,可避开因特网协议(Internet Protocol,IP)层处理封包的负担,从而改善封包转送效能。
另需要提供一种转送封包的方法,可避开IP层处理封包的负担,从而改善封包转送效能。
一种网络地址转换装置,用于转送封包,其包括一连线查询模块、一建表模块、一媒体存取控制(Media Access Control,MAC)地址查询模块及一转送模块。连线查询模块用于接收一封包,根据封包查询一连线对照表,连线对照表包括多个连线条目,每一连线条目包括一路由条目,并判断连线对照表中是否有与封包相同连线的连线条目。建表模块用于在连线对照表中建立封包的连线条目,并在连线条目上建立一路由条目。MAC地址查询模块用于根据路由条目取得一目的MAC地址。转送模块用于将目的MAC地址附加于封包,并转送封包。
一种转送封包的方法,包括以下步骤提供一连线对照表,包括多个连线条目,其中,每一连线条目包括一路由条目;接收一封包;根据封包查询连线对照表;判断连线对照表中是否有与该封包相同连线的连线条目;若有相同连线的连线条目,则根据连线条目的路由条目取得一目的MAC地址;及将目的MAC地址附加于封包,并转送封包。
上述网络地址转换装置在连线对照表中建立路由条目,当网络地址转换装置转送后续所有相同连线的封包时,可以立刻得知目的MAC地址及目的接口,从而避开IP层处理封包的负担,进而改善封包转送效能。

图1是传统网络地址转换(Network Address Translation,NAT)装置的架构图。
图2是本发明实施方式中网络通讯系统图。
图3是本发明实施方式中连线条目示意图。
图4是本发明的网络地址转换装置的实施方式的模块图。
图5是本发明的转送封包的方法的实施方式的流程图。
图6是本发明实施方式中建立路由条目的方法的流程图。
具体实施方式图2是本发明实施方式中网络通讯系统图。在本实施方式中,网络通讯系统包括一内部网络100,一网络地址转换装置200、一网关(Gateway)300及一外部网络400。在本实施方式中,网络地址转换装置200可为防火墙、因特网协议(Internet Protocol,IP)分享器等以软件方式转换IP地址的网络地址转换装置。网关300为一默认网关(Default Gateway)。
在本实施方式中,网络地址转换装置200可在内部网络100中转送封包,也可通过网关300在内部网络100与外部网络400之间转送封包。网络地址转换装置200在转送封包的过程中,会建立一连线对照表(Connection Mapping Table)。连线对照表包括多个连线条目(ConnectionEntry),每一连线条目包括一路由条目(Routing Entry)。图3是本发明实施方式中连线条目示意图。在本实施方式中,连线条目包括一来源IP地址(Source IP Address)、一来源端口(Source Port)、一目的IP地址(DestinationIP Address)、一目的端口(Destination Port)及一路由条目(Routing Entry)。其中,路由条目包括一目的媒体存取控制(Media Access Control,MAC)地址及一目的接口。
在其它实施方式中,连线条目还可包括修改IP(Modify IP)、修改端口(Modify Port)、传输控制协议(Transport Control Port,TCP)、用户数据报协议(User Datagram Protocol,UDP)、因特网控制讯息协议(InternetControl Message Protocol,ICMP)、入口(Inbound)/出口(Outbound)或其它连线相关讯息。路由条目还可包括更多路由相关讯息。
在本实施方式中,网络地址转换装置200转送第一个封包时,会在连线对照表上建立一连线条目,即把第一封包的来源IP地址、来源端口、目的IP地址、目的端口及路由条目记载于连线条目,并且在连线条目上建立一路由条目,即把该封包的目的MAC地址及目的接口记载于路由条目。当网络地址转换装置200再次转送与第一封包相同连线的封包时,可通过查询连线对照表中第一封包的连线条目的路由条目,立刻得知该封包的目的MAC地址及目的接口,从而快速转送该封包。在本实施方式中,相同连线的封包指来源IP地址、目的IP地址及目的端口皆相同的封包。在其它实施方式中,相同连线的封包可根据设计,而指更多连线讯息相同的封包。
图4是本发明的网络地址转换装置200的实施方式的模块图。在本实施方式中,网络地址转换装置200包括一第一接口(Interface)210、一连线查询模块220、一储存模块(Memory)230、一建表模块240、一MAC地址查询模块250、一转送模块260及一第二接口270。
储存模块230用于储存上述连线对照表231、一地址解析协议(AddressResolution Protocol,ARP)表232及一路由表(Routing Table)233。其中,连线对照表231包括多个连线条目,每一连线条目包括一路由条目。第一接口210用于从内部网络100接收封包,或通过网关300从外部网络400接收封包。连线查询模块220用于通过第一接口210接收封包,根据该封包查询储存模块230的连线对照表231,并判断连线对照表231中是否有与封包相同连线的连线条目。
建表模块240用于在连线对照表231中建立封包的连线条目,并在连线条目上建立封包的路由条目。在本实施方式中,建表模块240包括一连线建立子模块241及一路由建立子模块242。连线建立子模块241用于在连线对照表231中建立封包的连线条目。其中,连线条目包括一空路由条目。路由建立子模块242用于在连线条目上建立路由条目。
在本实施方式中,路由建立子模块242包括一寻找次模块242a、一判断次模块242b及一建立次模块242c。寻找次模块242a用于根据封包的目的IP地址寻找路由条目,即寻找目的MAC地址及目的接口。判断次模块242b用于判断封包的路由是否为直接路由。建立次模块242c根据判断次模块242b的判断结果及寻找次模块242a的寻找结果,在连接条目上建立路由条目。在本实施方式中,寻找次模块242a先根据封包的目的IP地址在路由表233中寻找路由条目,并传送一路由参数给判断次模块242b。判断次模块242b根据路由参数判断封包的路由是否为直接路由(DirectRoute)。
在本实施方式中,路由参数表明封包的路由为直接路由或间接路由(Indirect Route)。若路由参数表明封包的路由为直接路由,则封包不必通过网关300转送;若路由参数表明封包的路由为间接路由,则封包需通过网关300转送。故,如果封包的路由为直接路由,则建立次模块242c在连线条目上建立路由条目。如果封包的路由为间接路由,则寻找次模块242a再以网关300为目的IP地址寻找路由条目。然后,建立次模块242c在连线条目上建立路由条目。
MAC地址查询模块250用于根据连线条目的路由条目取得封包的目的MAC地址。MAC地址查询模块250还用于判断目的MAC地址是否有效,且当目的MAC地址无效时寻找有效目的MAC地址。在本实施方式中,目的MAC地址有效需同时满足四个条件第一,目的MAC地址长度不为0;第二,目的接口必须有效;第三,第一接口210及第二接口270处于连线状态;第四,ARP表232未被修改。
在本实施方式中,如果目的MAC地址有效,则MAC地址查询模块250获得目的MAC地址。如果目的MAC地址无效,MAC地址查询模块250还用于判断ARP表232是否被修改。
若ARP表232未被修改,则MAC地址查询模块250根据封包的目的IP地址在路由表233中寻找封包的有效目的MAC地址,从而获得有效目的MAC地址。若ARP表232被修改,则连线条目的路由条目无效,故路由建立子模块242需在连线条目上重新建立路由条目。然后MAC地址查询模块250根据封包的目的IP地址在路由表233中寻找封包的有效目的MAC地址,从而获得有效目的MAC地址。
转送模块260用于将MAC地址查询模块250所获得的有效目的MAC地址附加于封包,并通过第二接口270转送封包。
图5是本发明的转送封包的方法的实施方式的流程图。在本实施方式中,网络地址转换装置200在内部网络100之间,或通过网关300在内部网络100与外部网络400之间转送封包。
在步骤S500,网络地址转换装置200通过第一接口210接收封包。
在步骤S502,连线查询模块220根据所接收的封包,查询储存模块230的连线对照表231。
在步骤S504,连线查询模块220判断连线对照表231中是否有与封包相同连线的连线条目。
若连线对照表231中没有与封包相同连线的连线条目,则在步骤S512,建表模块240的连线建立子模块241在连线对照表231中建立封包的连线条目。然后,在步骤S514,建表模块240的路由建立子模块242在连线条目上建立路由条目。路由建立子模块242建立路由条目的方法的具体流程详见图6。
若连线对照表231中有与封包相同连线的连线条目,则在步骤S506,MAC地址查询模块250根据连线条目的路由条目取得封包的目的MAC地址,并判断目的MAC地址是否有效。在本实施方式中,目的MAC地址有效需同时满足四个条件第一,目的MAC地址长度不为0;第二,目的接口必须有效;第三,第一接口210及第二接口270处于连线状态;第四,ARP表232未被修改。
如果目的MAC地址有效,则在步骤S508,MAC地址查询模块250获得有效目的MAC地址。
如果目的MAC地址无效,则在步骤S516,MAC地址查询模块250判断ARP表232是否被修改。
若ARP表232被修改,则封包的路由条目无效,在步骤S518,路由建立子模块242在连线条目上建立路由条目。路由建立子模块242建立路由条目的方法的具体流程详见图6。
若ARP表232未被修改,则在步骤S520,MAC地址查询模块250寻找封包的有效目的MAC地址。
在步骤S510,转送模块260将MAC地址查询模块250所获得的有效目的MAC地址附加于封包,并通过第二接口270转送封包。
图6是本发明实施方式中建立路由条目的方法的流程图,即图5中步骤S514及步骤S518的具体流程。在本实施方式中,网络地址转换装置200需在路由条目上建立路由条目。
在步骤S602,寻找次模块242a先根据封包的目的IP地址寻找路由条目,并传送一路由参数给判断次模块242b。
在步骤S604,判断次模块242b根据路由参数判断封包的路由是否为直接路由。
在本实施方式中,路由参数表明封包的路由为直接路由或间接路由。若路由参数表明封包的路由为直接路由,则封包不必通过网关300转送;若路由参数表明封包的路由为间接路由,则封包需通过网关300转送。
故,如果封包的路由为间接路由(Indirect Route),则在步骤S608,寻找次模块242a再以网关300为目的IP地址寻找路由条目。
如果封包的路由为直接路由(Direct Route),则在步骤S606,建立次模块242c在连线条目上建立路由条目,即将封包的目的MAC地址及目的接口记载于路由条目。
本发明实施方式的网络地址转换装置200在连线对照表中建立路由条目,当网络地址转换装置200转送后续所有相同连线的封包时,可以立刻得知目的MAC地址及目的接口,从而避开IP层处理封包的负担,进而改善封包转送效能。
权利要求
1.一种网络地址转换装置,用于转送封包,其特征在于所述网络地址转换装置包括一连线查询模块,用于接收一封包,根据所述封包查询一连线对照表,所述连线对照表包括多个连线条目,每一连线条目包括一路由条目,并判断所述连线对照表中是否有与所述封包相同连线的连线条目;一建表模块,用于在所述连线对照表中建立所述封包的连线条目,并在所述连线条目上建立一路由条目;一媒体存取控制地址查询模块,用于根据所述路由条目取得一目的媒体存取控制地址;及一转送模块,用于将所述目的媒体存取控制地址附加于所述封包,并转送所述封包。
2.如权利要求1所述的网络地址转换装置,其特征在于所述媒体存取控制地址查询模块还用于判断所述目的媒体存取控制地址是否有效,且当所述目的媒体存取控制地址无效时寻找有效目的媒体存取控制地址。
3.如权利要求1所述的网络地址转换装置,其特征在于所述路由条目包括所述目的媒体存取控制地址及一目的接口。
4.如权利要求1所述的网络地址转换装置,其特征在于所述连线条目更包括所述封包的来源因特网协议地址、来源端口、目的因特网协议地址及目的端口。
5.如权利要求1所述的网络地址转换装置,其特征在于更包括一储存模块,用于储存所述连线对照表、一地址解析协议表及一路由表。
6.如权利要求1所述的网络地址转换装置,其特征在于所述建表模块包括一连线建立子模块,用于在所述连线对照表中建立所述封包的连线条目。
7.如权利要求6所述的网络地址转换装置,其特征在于所述建表模块更包括一路由建立子模块,用于在所述连线条目上建立所述路由条目。
8.如权利要求7所述的网络地址转换装置,其特征在于所述路由建立子模块包括一寻找次模块,用于根据所述封包的目的因特网协议地址寻找所述路由条目。
9.如权利要求8所述的网络地址转换装置,其特征在于所述路由建立子模块更包括一判断次模块,用于判断所述封包的路由是否为直接路由。
10.如权利要求9所述的网络地址转换装置,其特征在于所述路由建立子模块更包括一建立次模块,用于根据所述判断次模块的判断结果及所述寻找次模块的寻找结果,在所述连接条目上建立所述路由条目。
11.一种转送封包的方法,用于转送封包,其特征在于所述转换封包的方法包括以下步骤提供一连线对照表,包括多个连线条目,其中,每一连线条目包括一路由条目;接收一封包;根据所述封包查询所述连线对照表;判断所述连线对照表中是否有与所述封包相同连线的连线条目;若有相同连线的连线条目,则根据所述连线条目的路由条目取得一目的媒体存取控制地址;及将所述目的媒体存取控制地址附加于所述封包,并转送所述封包。
12.如权利要求11所述的转送封包的方法,其特征在于所述路由条目包括所述目的媒体存取控制地址及一目的接口。
13.如权利要求11所述的转送封包的方法,其特征在于所述连线条目更包括所述封包的来源因特网协议地址、来源端口、目的因特网协议地址及目的端口。
14.如权利要求11所述的转送封包的方法,其特征在于更包括以下步骤若没有相同连线的连线条目,则建立所述封包的连线条目于所述连线对照表;及在所述连线对照表上建立所述封包的路由条目。
15.如权利要求14所述的转送封包的方法,其特征在于所述在所述连线对照表上建立所述封包的路由条目的步骤包括以下步骤根据所述封包的目的因特网协议地址寻找所述封包的路由条目,并传送一路由参数;根据所述路由参数判断所述封包的路由是否为直接路由;及如果所述封包的路由为直接路由,则在所述连线条目上建立所述封包的路由条目。
16.如权利要求15所述的转送封包的方法,其特征在于更包括以下步骤提供一网关;及如果所述封包的路由为间接路由,则以所述网关为目的因特网协议地址寻找所述封包的路由条目。
17.如权利要求11所述的转送封包的方法,其特征在于更包括以下步骤判断所述目的媒体存取控制地址是否有效;及若所述目的媒体存取控制地址有效,则将所述有效目的媒体存取控制地址附加于所述封包,并转送所述封包。
18.如权利要求17所述的转送封包的方法,其特征在于更包括以下步骤提供一地址解析协议表;若所述目的媒体存取控制地址无效,则判断所述地址解析协议表是否被修改;及如果所述地址解析协议表未被修改,则寻找所述封包的有效媒体存取控制地址。
19.如权利要求18所述的转送封包的方法,其特征在于更包括以下步骤如果所述地址解析协议表被修改,则在所述连线条目上建立所述封包的路由条目。
20.如权利要求19所述的转送封包的方法,其特征在于所述如果所述地址解析协议表被修改,则在所述连线条目上建立所述封包的路由条目包括以下步骤根据所述封包的目的因特网协议地址寻找所述封包的路由条目,并传送一路由参数;根据所述路由参数判断所述封包的路由是否为直接路由;及如果所述封包的路由为直接路由,则在所述连线条目上建立所述封包的路由条目。
21.如权利要求20所述的转送封包的方法,其特征在于更包括以下步骤提供一网关;及如果所述封包的路由为间接路由,则以所述网关为目的因特网协议地址寻找所述封包的路由条目。
全文摘要
一种网络地址转换装置,用于转送封包,其包括一连线查询模块、一建表模块、一媒体存取控制(Media Access Control,MAC)地址查询模块及一转送模块。连线查询模块用于接收一封包,根据封包查询一连线对照表,连线对照表包括多个连线条目,每一连线条目包括一路由条目,并判断连线对照表中是否有与封包相同连线的连线条目。建表模块用于在连线对照表中建立封包的连线条目,并在连线条目上建立一路由条目。MAC地址查询模块用于根据路由条目取得一目的MAC地址。转送模块用于将目的MAC地址附加于封包,并转送封包。所述网络地址转换装置可避开因特网协定(IP)层处理封包的负担,从而改善封包转送效能。
文档编号H04L12/56GK1988495SQ20051012103
公开日2007年6月27日 申请日期2005年12月20日 优先权日2005年12月20日
发明者陈品文, 林正森 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1