CN103152269B - 一种基于nat的报文转发方法和设备 - Google Patents
一种基于nat的报文转发方法和设备 Download PDFInfo
- Publication number
- CN103152269B CN103152269B CN201310060536.8A CN201310060536A CN103152269B CN 103152269 B CN103152269 B CN 103152269B CN 201310060536 A CN201310060536 A CN 201310060536A CN 103152269 B CN103152269 B CN 103152269B
- Authority
- CN
- China
- Prior art keywords
- address
- message
- external interface
- nat
- mac address
- 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
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了NAT的报文转发方法和设备。该方法包括:NAT设备的路由协议模块向连接外部接口的硬件转发模块配置路由时,对于下一跳属性为指向外部接口学习过来的直连路由的路由,将该下一跳IP地址封装为MAC地址,并在硬件转发模块中配置策略路由,用于将源MAC地址与所述MAC地址匹配的报文重定向到该下一跳IP地址对应的外部接口;当所述NAT设备的NAT模块从内部接口接收到报文并进行NAT转换后,先后根据地址转换表和ARP表匹配到外部接口对应的IP地址,将该IP地址转换为MAC地址并替换报文的源MAC地址,发送给连接外部接口的硬件转发模块;硬件转发模块根据报文的源MAC地址匹配策略路由,根据匹配到的策略路由将该报文重定向到指定的外部接口进行转发。
Description
技术领域
本发明涉及通信领域,尤其涉及一种基于NAT的报文转发方法和设备。
背景技术
NAT(NetworkAddressTranslation,网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私网IP地址的方式,将有助于减缓可用IP地址空间的枯竭。
图1描述了一种基本的NAT应用,其地址转换的基本过程包括:
(1)内网用户主机Host(192.168.1.3)向外网服务器Server(1.1.1.2)发送的IP数据报文通过NAT设备。
(2)NAT设备查看IP数据报文的报头内容,发现该报文是发往外网的,将其源IP地址字段的私网地址192.168.1.3转换成一个可在Internet上选路的公网地址20.1.1.1,并将该报文发送给外网服务器,并在NAT设备的网络地址转换表中记录这一地址转换前后的映射关系。
(3)外网服务器给内网用户发送的应答报文(其初始目的IP地址为20.1.1.1)到达NAT设备后,NAT设备查看报头内容,然后查找网络地址转换表的记录,用对应的内网私有地址192.168.1.3替换初始的目的IP地址。
上述的NAT过程对终端(如图1中的Host和Server)来说是透明的。对外网服务器而言,它认为内网用户主机的IP地址就是20.1.1.1,并不知道有192.168.1.3这个地址。
地址转换的优点在于,在为内部网络主机提供了“隐私”保护的前提下,实现了内部网络的主机通过该功能访问外部网络的资源。
通常情况下,NAT设备上连接到用户内部网络的接口称为NAT内部接口,连接到外部网络(如Internet)的接口称为NAT外部接口。在实际应用中,NAT设备上可能存在多个NAT外部接口,并且形成等价路由。如图2所示,当用户从用户内部网络访问外部网络时,NAT设备有可能有多个外部接口形成等价路由。此种情况下,如果外部接口连接的单板不是做NAT转换的单板,则经过NAT转换后的报文经过该外部接口所在的单板后,会再次进行路由查找,由于外部接口的路由是等价路由,因此按照等价路由负载分担的算法,比如HASH(哈希)算法,从等价路由中选择一路由,并从对应的外部接口将报文转发出去,这样,对于该用户的网络访问过程,在NAT设备上将无法保证从外网->内网的请求报文的入接口,与从内网->外网的应答报文的出接口保持一致。
因此,亟需一种技术,能够保证在这种情况下,在NAT设备上实现从外部接口进来的报文经过NAT转换后仍然从该外部接口转发出去。
发明内容
本发明实施例提供了一种基于NAT的报文转发方法和设备,用于在NAT设备的外部接口有等价路由存在的情况下,实现从外部接口进来的报文返回的时候也从该外部接口发送出去。
本发明实施例提供的一种基于NAT的报文转发方法,该方法包括:
NAT设备的NAT模块从内部接口接收报文并进行NAT转换,根据地址转换表查询对应的外部接口,查询所述外部接口所在的ARP表中的IP地址,将查询到的IP地址转换MAC地址并用该MAC地址替换该报文的源MAC地址,将该报文发送给连接外部接口的硬件转发模块;
连接外部接口的硬件转发模块根据NAT模块发来的报文的源MAC地址匹配策略路由,根据匹配到的策略路由所重定向到的目的IP地址查询对应的ARP表项中的出接口,将该报文的源MAC地址更新为所述出接口的MAC地址,从所述出接口转发该报文。
其中,所述策略路由的配置过程包括:所述NAT设备的路由协议模块向连接外部接口的硬件转发模块配置路由时,查询路由的下一跳IP地址的属性,若路由的下一跳IP地址为指向外部接口学习过来的直连路由,则将所述下一跳IP地址转换为MAC地址,并根据转换后的MAC地址在所述硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述下一跳IP地址。
或者,所述策略路由的配置过程包括:所述NAT设备的ARP模块从外部接口学习到ARP表项后,将所述ARP表项中的IP地址转换为MAC地址,并根据转换后的MAC地址在连接外部接口的硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述ARP表项中的IP地址。
本发明实施例提供的一种NAT设备,包括:
NAT模块,用于对从本设备内部接口接收到的报文进行NAT转换后,根据地址转换表查询对应的外部接口,查询所述外部接口所在的ARP表项中的IP地址,将查询到的IP地址转换为MAC地址并用该MAC地址替换该报文的源MAC地址,将该报文发送给连接外部接口的硬件转发模块;
硬件转发模块,用于根据NAT模块发来的报文的源MAC地址匹配策略路由,根据匹配到的策略路由所重定向到的目的IP地址查询对应的ARP表项中的出接口,将该报文的源MAC地址更新为所述出接口的MAC地址,从所述出接口转发该报文。
进一步的,该设备还包括:路由协议模块,用于在向连接外部接口的硬件转发模块配置路由时,查询路由的下一跳IP地址的属性,若路由的下一跳IP地址为指向外部接口学习过来的直连路由,则将所述下一跳IP地址转换为MAC地址,并根据转换后的MAC地址在所述硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述下一跳IP地址。
进一步的,该设备还包括:ARP模块,用于从外部接口学习到ARP表项后,将所述ARP表项中的IP地址转换为MAC地址,并根据转换后的MAC地址在连接外部接口的硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述ARP表项中的IP地址。
本发明的上述实施例中,NAT设备中的NAT模块在从本设备内部接口接收到报文并进行NAT转换后,根据地址转换表查询对应的外部接口,根据ARP表查询该外部接口对应的IP地址,将该IP地址转换MAC地址并用该MAC地址替换该报文的源MAC地址,将该报文发送给连接外部接口的硬件转发模块,以使连接外部接口的硬件转发模块根据NAT模块发来的报文的源MAC地址匹配策略路由,根据匹配到的策略路由所重定向到的目的IP地址查询对应的ARP表项中的出接口,从该出接口转发该报文,从而实现从外部接口进来的报文经过NAT转换后仍然从该外部接口转发出去。
附图说明
图1为现有技术中NAT转换的示意图;
图2为现有技术中NAT设备上存在多个外部接口的示意图;
图3为本发明实施例中的基于NAT的报文转发示意图;
图4A、图4B、图4C分别为本发明实施例提供的NAT设备的结构示意图。
具体实施方式
下面结合符合对本发明实施例进行详细描述。
实施例一
NAT设备的路由协议模块在连接外部接口的单板上的硬件转发模块中配置路由时,查询该路由引用的下一跳的属性,如果该路由的下一跳是指向NAT设备外部接口学习过来的外部接口直连路由,则将该下一跳IP地址转换为MAC地址形式,并根据该MAC地址向硬件转发模块配置一条策略路由,用以将源MAC地址与该MAC地址匹配的报文重定向到该下一跳IP地址。当NAT设备从内部网络接收到报文后,根据匹配的地址转换表项确定对应的外部接口,查询该外部接口所在ARP表项中的IP地址,将该IP地址转换为MAC地址形式并替换报文中的源MAC地址,并将报文发送给连接外部接口的单板;连接外部接口的单板上的硬件转发模块根据该报文的源MAC地址匹配该硬件转发模块上的策略路由,并根据匹配的策略路由所重定向到的目的IP地址查询ARP表项,从查询到的ARP表项中的出接口转发该报文。
本发明实施例中所涉及的NAT设备可以是集中式NAT设备,也可以是分布式架构的NAT设备。
下面以图3所示的架构为例,对本实施例的具体实现过程进行详细描述。
如图3所示,NAT设备的外部接口port1和port2是NAT设备连接外部网络(公网)的接口。port1对应的路由和port2对应的路由为等价路由。
port1连接设备1,设备1的IP地址为1.1.1.1,MAC地址为xx-xx-xx-xx-xx-xx,port2连接设备2,设备2的IP地址为2.2.2.2,MAC地址为yy-yy-yy-yy-yy-yy,port0为NAT设备连接用户内部网络(私网)的内部接口。
port1、port2所连接的单板不做NAT转换,该单板上的ASIC(ApplicationSpecificIntegratedCircuit,特定用途集成电路)芯片上配置硬件转发表项,负责转发报文。
当NAT设备从port1收到发往用户内部网络的报文时,port1所连接的单板学习到表1所示的ARP表项,并生成对应的直连路由:1.1.1.1/32->1.1.1.1。NAT设备对该报文进行NAT转换,生成如表2所示的地址转换表项,并将转换后的报文通过port0发送到用户内部网络。
表1
IP地址 | MAC地址 | 出接口 |
1.1.1.1 | xx-xx-xx-xx-xx-xx | port1 |
表2
其中,“五元组”可包括报文的源IP地址、目的IP地址、源端口、目的端口、协议类型。
同理,当NAT设备从port2收到发往用户内部网络的报文时,port2所连接的单板学习到如表3所示的ARP表项,并生成对应的直连路由:2.2.2.2/32->2.2.2.2。NAT设备对该报文进行NAT转换,生成如表4所示的地址转换表项,并将转换后的报文通过port0发送到用户内部网络。
表3
IP地址 | MAC地址 | 出接口 |
2.2.2.2 | yy-yy-yy-yy-yy-yy | port2 |
表4
NAT设备上的路由协议模块在向连接外部接口(port1、port2)的单板上的ASIC芯片下发路由时,查询该路由引用的下一跳的属性。如果下发的路由中包含10.0.0.1/24->1.1.1.1,则由于该路由引用的下一跳1.1.1.1为外部接口学习到的直连路由1.1.1.1/32->1.1.1.1,因此按照预先规定的转换规则(此实施例中,以下述规则为例描述:将IP地址的各字节数值作为MAC地址中对应字节的数值,其余部分用零填充),将该下一跳1.1.1.1转换为MAC地址形式:0-0-1-1-1-1。然后,NAT设备根据该MAC地址在该单板的ASIC芯片上下发一条策略路由。该策略路由的规则为用报文的源MAC地址与0-0-1-1-1-1匹配,该策略路由规定的操作为:若报文的源MAC地址与0-0-1-1-1-1匹配,则将该报文重定向到1.1.1.1。比如,该策略路由可以是如下内容的一条ACL(AccessControlList,访问控制列表):
rulepermitsource-mac00-11-11ff-ff-ff//规则为用报文源MAC地址匹配00-11-11(即0-0-1-1-1-1),匹配方式为精确匹配(即MAC地址全长匹配)
redirecttonext-hop1.1.1.1//动作为重定向到下一跳1.1.1.1
同理,如果下发的路由引用的下一跳2.2.2.2是外部接口学习到的直连路由2.2.2.2/32->2.2.2.2,则将该下一跳2.2.2.2转换为MAC地址形式:0-0-2-2-2-2,并根据该MAC地址在该单板的ASIC芯片上下发一条策略路由。该策略路由规定:若报文的源MAC地址与0-0-2-2-2-2匹配,则将该报文重定向到2.2.2.2。
当NAT设备从port0收到报文后,进行NAT转换,根据转换前后的报文五元组查询对应的地址转换表项,根据查询到的地址转换表项中的出接口查询对应的ARP表项,根据查询到的ARP表项中的IP地址更新该报文的源MAC地址,即,将查询到的IP地址按照前述规则转换为MAC地址形式,以替换该报文的源MAC地址,然后发送给外部接口连接的单板;外部接口连接的单板上的ASIC芯片根据该报文的源MAC地址匹配相应的策略路由,若匹配到相应的策略路由,则根据该策略路由所指定的重定向到的目的IP地址查询对应的ARP表项,根据查询到的ARP表项中的出接口将该报文从该出接口转发。
比如,NAT设备在从port1接收到发往用户内部网络的报文后,进行NAT转换后发送给用户内部网络,在该过程中进行上述表项学习以及策略路由下发操作。当NAT设备从port0收到该报文的应答报文后,由NAT模块所在的单板进行NAT转换,NAT模块所在的单板查询对应的地址转换表项(如表2所示)匹配到port1(因为该报文为从port1进入该NAT设备的报文的应答报文,因此匹配到port1),则根据port1查询如表1所示的ARP表项,得到对应的IP地址为1.1.1.1,然后按照预先规定的转换规则(即,将IP地址的各字节数值作为MAC地址中对应字节的数值,其余部分用零填充),将1.1.1.1转换为MAC地址形式,并用其替换NAT转换后的报文的源MAC地址,即,将该报文的源MAC地址更新为0-0-1-1-1-1。NAT模块所在的单板将经过NAT转换后的报文通过芯片内部通道送到外部接口所在的单板上的ASIC芯片上(比如通过芯片与CPU相连的特殊端口(specialport)送到ASIC芯片上),该ASIC芯片用报文的源MAC地址匹配到事先下发的策略路由;由于该策略路由规定需要将该报文重定向到1.1.1.1,因此ASIC芯片根据1.1.1.1查询ARP表项(如表1所示)得到对应的出接口为port1,因此将该报文从port1转发到外部网络。接口重定向功能是所有支持策略路由的ASIC芯片都支持的普通功能。
同理,如果NAT设备从port0收到报文并进行NAT转换后,根据地址转换表匹配到port2,则按照上述流程进行处理,最终从port2将报文转发到外部网络。
上述流程中,虽然NAT设备中的NAT模块将用户内部网络发往外部网络的报文的源MAC地址进行了替换,但是在将该报文从外部接口转发出去的时候,还会将报文的源MAC地址修改成NAT设备的三层MAC地址,因此在NAT设备内部转发的过程中修改该字段不会影响该报文的正常转发功能。
通过以上流程可以看出,从外部网络通过NAT设备进入用户内部网络的报文,其应答报文可以从相同的外部接口转发到外部网络,从而实现了从外部接口进来的报文经过NAT转换后仍然从该外部接口转发出去的目的。
需要说明的是,上述流程中的“预先规定的转换规则”是以将IP地址的各字节数值作为MAC地址中对应字节的数值为例描述的,本领域技术人员应该容易想到其它类似的转换规则。上述流程中的地址转换表中的“五元组”,也可以由其它报文特征值来代替,比如报文的源IP地址、目的IP地址。
实施例二
NAT设备的ARP模块在从外部接口学习到ARP表项时,将该ARP表项中的IP地址转换为MAC地址形式,并根据该MAC地址向硬件转发模块配置对应的策略路由,用以将源MAC地址与该MAC地址匹配的报文重定向到该ARP表项中的IP地址。当NAT设备从用户内部网络接收到报文后,根据匹配的地址转换表项确定对应的外部接口,查询该外部接口对应的ARP表项中的IP地址,将该IP地址转换为MAC地址形式以替换报文中的源MAC地址,并将报文发送给连接外部接口的单板;连接外部接口的单板上的硬件转发模块根据该报文的源MAC地址匹配该硬件转发模块上的策略路由,并根据匹配的策略路由所重定向的目的IP地址查询ARP表项,从查询到的ARP表项的出接口转发该报文。
下面仍以图3所示的架构为例,对本实施例的具体实现过程进行详细描述。
当NAT设备从port1收到发往内部网络的报文时,port1所连接的单板可以学习到表1所示的ARP表项,并按照预先规定的转换规则(此实施例中,以下述规则为例描述:将IP地址的各字节数值作为MAC地址中对应字节的数值),将该ARP表项中的IP地址1.1.1.1转换为MAC地址形式:0-0-1-1-1-1。然后,NAT设备根据该MAC地址在该单板的ASIC芯片上下发一条策略路由。该策略路由规定:若报文的源MAC地址与0-0-1-1-1-1匹配,则将该报文重定向到1.1.1.1。NAT设备对该报文进行NAT转换,生成如表2所示的地址转换表项,并将转换后的报文通过port0发送到用户内部网络。
同理,当NAT设备从port2收到发往用户内部网络的报文时,port2所连接的单板可以学习到如表3所示的ARP表项,并按照预先规定的转换规则,将该ARP表项中的IP地址2.2.2.2转换为MAC地址形式:0-0-2-2-2-2,并根据该MAC地址在该单板的ASIC芯片上下发一条策略路由。该策略路由规定:若报文的源MAC地址与0-0-2-2-2-2匹配,则将该报文重定向到2.2.2.2。NAT设备对该报文进行NAT转换,生成如表4所示的地址转换表项,并将转换后的报文通过port0发送到用户内部网络。
当NAT设备从port0收到报文后,进行NAT转换,根据转换前后的报文五元组查询对应的地址转换表项,根据查询到的地址转换表项中的出接口查询对应的ARP表项,根据查询到的ARP表项中的IP地址更新该报文的源MAC地址,即,将查询到的IP地址按照前述规则转换为MAC地址形式,以替换该报文的源MAC地址,然后发送给外部接口连接的单板;外部接口连接的单板上的ASIC芯片根据该报文的源MAC地址匹配相应的策略路由,若匹配到相应的策略路由,则根据该策略路由所指定的重定向到的目的IP地址查询对应的ARP表项,根据查询到的ARP表项中的出接口将该报文从该出接口转发。
比如,NAT设备从port0收到报文后由NAT模块所在的单板进行NAT转换,查询对应的地址转换表项(如表2所示)匹配到por1(说明该报文是之前从port1进入该NAT设备的报文的应答报文),则根据port1查询ARP表项,得到对应的IP地址为1.1.1.1,然后按照预先规定的转换规则(即,将IP地址的各字节数值作为MAC地址中对应字节的数值,其余部分用零填充),将1.1.1.1转换为0-0-1-1-1-1,用0-0-1-1-1-1更新NAT转换后的报文的源MAC地址。经过NAT转换后的报文通过芯片内部通道送到外部接口所在的单板上的ASIC芯片上,该ASIC芯片用报文的源MAC地址匹配到事先下发的策略路由;由于该策略路由规定需要将该报文重定向到1.1.1.1,因此ASIC芯片根据1.1.1.1查询ARP表项(如表1所示)得到对应的出接口为port1,因此将该报文从port1转发到外部网络。
同理,如果NAT设备从port0收到报文并进行NAT转换后,根据地址转换表匹配到port2,则按照上述流程进行处理,最终从port2将报文转发到外部网络。
通过以上流程可以看出,从外部网络通过NAT设备进入内部网络的报文,其应答报文可以从相同的外部接口转发到外部网络,从而实现了从外部接口进来的报文经过NAT转换后仍然从该外部接口转发出去的目的。
基于相同的技术构思,本发明实施例还提供了一种NAT设备。NAT设备中通常包括NAT模块、硬件转发模块、路由协议模块、ARP模块等。其中,对于集中式的NAT设备,路由协议模块和NAT模块可位于主控板CPU内,对于分布式架构的NAT设备,路由协议模块、NAT模块也可位于接口板的CPU内;硬件转发模块可以有一个或多个,位于接口板上,可以是ASIC芯片。
本发明实施例提供的NAT设备,其内部功能模块的构成基本与现有NAT设备相同,只是在某些模块内增加了新的功能。
参见图4A,为本发明实施例提供的一种NAT设备的结构示意图,如图所示,其中包括NAT模块41和硬件转发模块42,其中:
NAT模块41,用于对从本设备内部接口接收到的报文进行NAT转换后,根据地址转换表查询对应的外部接口,查询所述外部接口所在的ARP表项中的IP地址,将查询到的IP地址转换为MAC地址并用该MAC地址替换该报文的源MAC地址,将该报文发送给连接外部接口的硬件转发模块42;
硬件转发模块42,用于根据NAT模块发来的报文的源MAC地址匹配策略路由,根据匹配到的策略路由所重定向到的目的IP地址查询对应的ARP表项中的出接口,从该出接口转发该报文。
进一步的,硬件转发模块42在从出接口转发报文之前,还将该报文的源MAC地址更新为查询到的出接口的MAC地址。
其中,策略路由的配置过程可基于路由配置操作触发,或者基于ARP表项学习来触发,根据不同的触发机制,本发明实施例在图4A所示的NAT设备的基础上,还提供了如图4B和图4C所示的NAT设备,其中,图4B所示的NAT设备可基于路由配置操作触发策略路由的配置,图4C所示的NAT设备可基于ARP表项学习来触发策略路由的配置。
如图4B所示,该设备中的路由协议模块43,可在向连接外部接口的硬件转发模块配置路由时,查询路由的下一跳IP地址的属性,若路由的下一跳IP地址为指向外部接口学习过来的直连路由,则将所述下一跳IP地址转换为MAC地址,并根据转换后的MAC地址在所述硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述下一跳IP地址。
其中,路由协议模块43将所述下一跳IP地址转换为MAC地址时所使用的规则,与NAT模块41将IP地址转换为MAC地址时所使用的规则相同。
如图4C所示,该设备中的ARP模块44,用于从外部接口学习到ARP表项后,将所述ARP表项中的IP地址转换为MAC地址,并根据转换后的MAC地址在连接外部接口的硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述ARP表项中的IP地址。
其中,ARP模块44将所述ARP表项中的IP地址转换为MAC地址时所使用的规则,与NAT模块41将IP地址转换为MAC地址时所使用的规则相同。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (10)
1.一种基于网络地址转换NAT的报文转发方法,其特征在于,该方法包括:
NAT设备的NAT模块从内部接口接收报文并进行NAT转换,根据地址转换表查询对应的外部接口,查询所述外部接口所在的ARP表中的IP地址,将查询到的IP地址转换MAC地址并用该MAC地址替换该报文的源MAC地址,将该报文发送给连接外部接口的硬件转发模块;其中,所述ARP表以及所述地址转换表是在所述NAT设备在通过外部接口接收发往内部接口的报文时学习到的,所述IP地址具体为与所述外部接口连接的设备的地址;
连接外部接口的硬件转发模块根据NAT模块发来的报文的源MAC地址匹配策略路由,根据匹配到的策略路由所重定向到的目的IP地址查询对应的ARP表项中的出接口,将该报文的源MAC地址更新为所述出接口的MAC地址,从所述出接口转发该报文。
2.如权利要求1所述的方法,其特征在于,所述策略路由的配置过程包括:
所述NAT设备的路由协议模块向连接外部接口的硬件转发模块配置路由时,查询路由的下一跳IP地址的属性,若路由的下一跳IP地址为指向外部接口学习过来的直连路由,则将所述下一跳IP地址转换为MAC地址,并根据转换后的MAC地址在所述硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述下一跳IP地址。
3.如权利要求2所述的方法,其特征在于,所述路由协议模块将所述下一跳IP地址转换为MAC地址时所使用的规则,与所述NAT模块将IP地址转换为MAC地址时所使用的规则相同。
4.如权利要求1所述的方法,其特征在于,所述策略路由的配置过程包括:
所述NAT设备的ARP模块从外部接口学习到ARP表项后,将所述ARP表项中的IP地址转换为MAC地址,并根据转换后的MAC地址在连接外部接口的硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述ARP表项中的IP地址。
5.如权利要求4所述的方法,其特征在于,所述ARP模块将所述ARP表项中的IP地址转换为MAC地址时所使用的规则,与所述NAT模块将IP地址转换为MAC地址时所使用的规则相同。
6.一种NAT设备,其特征在于,包括:
NAT模块,用于对从本设备内部接口接收到的报文进行NAT转换后,根据地址转换表查询对应的外部接口,查询所述外部接口所在的ARP表中的IP地址,将查询到的IP地址转换为MAC地址并用该MAC地址替换该报文的源MAC地址,将该报文发送给连接外部接口的硬件转发模块;其中,所述ARP表以及所述地址转换表是在所述NAT设备在通过外部接口接收发往内部接口的报文时学习到的,所述IP地址具体为与所述外部接口连接的设备的地址;
硬件转发模块,用于根据NAT模块发来的报文的源MAC地址匹配策略路由,根据匹配到的策略路由所重定向到的目的IP地址查询对应的ARP表项中的出接口,将该报文的源MAC地址更新为所述出接口的MAC地址,从所述出接口转发该报文。
7.如权利要求6所述的设备,其特征在于,还包括:
路由协议模块,用于在向连接外部接口的硬件转发模块配置路由时,查询路由的下一跳IP地址的属性,若路由的下一跳IP地址为指向外部接口学习过来的直连路由,则将所述下一跳IP地址转换为MAC地址,并根据转换后的MAC地址在所述硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述下一跳IP地址。
8.如权利要求7所述的设备,其特征在于,所述路由协议模块将所述下一跳IP地址转换为MAC地址时所使用的规则,与所述NAT模块将IP地址转换为MAC地址时所使用的规则相同。
9.如权利要求6所述的设备,其特征在于,还包括:
ARP模块,用于从外部接口学习到ARP表项后,将所述ARP表项中的IP地址转换为MAC地址,并根据转换后的MAC地址在连接外部接口的硬件转发模块中配置策略路由,所述策略路由用于将源MAC地址与所述转换后的MAC地址匹配的报文重定向到所述ARP表项中的IP地址。
10.如权利要求9所述的设备,其特征在于,所述ARP模块将所述ARP表项中的IP地址转换为MAC地址时所使用的规则,与所述NAT模块将IP地址转换为MAC地址时所使用的规则相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310060536.8A CN103152269B (zh) | 2013-02-26 | 2013-02-26 | 一种基于nat的报文转发方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310060536.8A CN103152269B (zh) | 2013-02-26 | 2013-02-26 | 一种基于nat的报文转发方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103152269A CN103152269A (zh) | 2013-06-12 |
CN103152269B true CN103152269B (zh) | 2016-03-02 |
Family
ID=48550141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310060536.8A Active CN103152269B (zh) | 2013-02-26 | 2013-02-26 | 一种基于nat的报文转发方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103152269B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533103A (zh) * | 2013-10-31 | 2014-01-22 | 成都西加云杉科技有限公司 | 基于网络地址转换的通信方法和装置 |
CN103797774B (zh) * | 2013-11-05 | 2017-07-21 | 华为技术有限公司 | 一种网络地址转换设备及方法 |
CN106489252B (zh) * | 2015-05-25 | 2020-09-04 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN105162901B (zh) * | 2015-09-30 | 2019-05-14 | 北京特立信电子技术股份有限公司 | 一种基于sopc的nat的实现方法及装置 |
CN106790556B (zh) * | 2016-12-26 | 2019-09-17 | 深圳市风云实业有限公司 | 一种基于分布式***的nat会话管理方法 |
CN112311905B (zh) * | 2019-07-29 | 2022-11-25 | 烽火通信科技股份有限公司 | 一种实现动态arp学习的方法及设备 |
CN110392127B (zh) * | 2019-08-15 | 2022-01-11 | 中盈优创资讯科技有限公司 | 网络地址空间识别方法及装置 |
CN111787025B (zh) * | 2020-07-23 | 2022-02-22 | 迈普通信技术股份有限公司 | 加解密处理方法、装置、***以及数据保护网关 |
CN114024731B (zh) * | 2021-10-29 | 2023-04-25 | 杭州迪普科技股份有限公司 | 报文处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052022A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 一种虚拟专用网用户访问公网的***和方法 |
CN101605084A (zh) * | 2009-06-29 | 2009-12-16 | 北京航空航天大学 | 基于虚拟机的虚拟网络报文处理方法和*** |
CN102215273A (zh) * | 2010-04-12 | 2011-10-12 | 杭州华三通信技术有限公司 | 一种为内网用户提供外网接入的方法和装置 |
CN102447752A (zh) * | 2012-02-09 | 2012-05-09 | 杭州华三通信技术有限公司 | 基于二层隧道协议的业务访问方法、***和装置 |
CN102546349A (zh) * | 2012-02-09 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083344A1 (en) * | 2000-12-21 | 2002-06-27 | Vairavan Kannan P. | Integrated intelligent inter/intra networking device |
US8363647B2 (en) * | 2001-04-03 | 2013-01-29 | Voxpath Networks, Inc. | System and method for configuring an IP telephony device |
-
2013
- 2013-02-26 CN CN201310060536.8A patent/CN103152269B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052022A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 一种虚拟专用网用户访问公网的***和方法 |
CN101605084A (zh) * | 2009-06-29 | 2009-12-16 | 北京航空航天大学 | 基于虚拟机的虚拟网络报文处理方法和*** |
CN102215273A (zh) * | 2010-04-12 | 2011-10-12 | 杭州华三通信技术有限公司 | 一种为内网用户提供外网接入的方法和装置 |
CN102447752A (zh) * | 2012-02-09 | 2012-05-09 | 杭州华三通信技术有限公司 | 基于二层隧道协议的业务访问方法、***和装置 |
CN102546349A (zh) * | 2012-02-09 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
Non-Patent Citations (2)
Title |
---|
《关于IP地址与MAC地址的转换研究》;陈玉娟,刘菲;《内蒙古科技与经济》;20030831(第8期);全文 * |
《网络地址转换原理及其配置实例》;王茂芝, 郭科;《实验科学与技术》;20090331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103152269A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103152269B (zh) | 一种基于nat的报文转发方法和设备 | |
US10623311B2 (en) | Technologies for distributed routing table lookup | |
US10778576B2 (en) | System and method for providing a bit indexed service chain | |
CN102307136B (zh) | 报文处理方法及其装置 | |
CN113645136B (zh) | 网络中报文转发的方法、网络节点、网络*** | |
CN102014043B (zh) | 名址映射***、数据传输方法及名址映射维护方法 | |
US20150131666A1 (en) | Apparatus and method for transmitting packet | |
CN108092830B (zh) | 在Mesh网络中应用TCP/IP协议的方法 | |
US20070060147A1 (en) | Apparatus for transmitting data packets between wireless sensor networks over internet, wireless sensor network domain name server, and data packet transmission method using the same | |
WO2016192686A1 (zh) | 数据报文转发 | |
CN104660508A (zh) | 一种报文转发方法及装置 | |
CN103227757A (zh) | 一种报文转发方法及设备 | |
CN102857428B (zh) | 一种基于访问控制列表的报文转发方法和设备 | |
CN101729427A (zh) | 一种多链路负载分担和选路的方法和路由器 | |
US20210083974A1 (en) | Packet Processing Method and System, and Device | |
US8472420B2 (en) | Gateway device | |
CN105515992A (zh) | Vxlan网络中的流表项处理方法及装置 | |
US7822024B2 (en) | Apparatus and method for performing security and classification in a multiprocessor router | |
CN101707569A (zh) | Nat业务报文处理的方法及装置 | |
CN106533946B (zh) | 报文转发方法和装置 | |
CN103731349A (zh) | 一种以太网虚拟化互联邻居间报文转发方法和边缘设备 | |
CN104125128A (zh) | Linux软桥支持VLAN的方法 | |
US20150256460A1 (en) | System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network | |
CN102201996B (zh) | 网络地址转换环境中报文转发的方法及设备 | |
CN107360089A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |