网络地址转换nat的方法及装置的制造方法

文档序号:9380477阅读:300来源:国知局
网络地址转换nat的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,具体地,涉及一种网络地址转换NAT的方法及装置。
【背景技术】
[0002] NAT (网络地址转换,Network Address Translation),也叫做网络掩蔽或者IP掩 蔽(IP masquerading),是一种IP封包通过网关出口设备之后修改源IP地址或目的IP地 址的技术。在私有网络访问公共网络或将私有网络中的服务以公共网络服务的形式提供出 来的情形下,通过NAT技术能够实现公共网络与私有网络间的通信,并且能够不暴露私有 网络设备。并且,NAT技术中,使用少量的公有IP地址代表较多的私有IP地址,可以解决 可用IP地址空间的枯竭的问题。
[0003] 现有技术中,网关出口设备上配置有运营商分配的公网地址。私网用户发起对公 网地址的访问,数据报文到达网关出口设备之后,检查是否符合进行地址转换的条件。当符 合地址转换条件时,将对数据报文的源IP地址信息转换为公网的地址信息,将内外网的地 址信息记录到转换信息中。将地址信息转换后的报文发送到公网。当从公网接收到回复的 报文时,查找转换信息,将报文的目的地址信息转换为私网的地址信息,将转换后的报文转 发到私网中。
[0004] 随着网络技术的发展,公网服务的提供者不再局限于单一的运营商内,通过多出 口技术,使得多个运营商可以为同一私网提供网络服务。在多出口技术中,网关出口设备中 存在着多条物理介质的线路与公网互联,每个出口可能对应同样的运营商,也可能对应不 同的运营商,网关出口设备通过路由协议的选路策略将设备的数据连接分配到不同的出口 上。
[0005] 在现有技术中,当报文出口发生变化时,转换信息中记录不会变化。如此,导致报 文所用网络地址与运营商分配的网络地址不一致。这样,在运营商存在源地址检测的情况 下,会造成网络卡顿或阻塞;在运营商不存在源地址检测的情况下,由于发送报文和回复报 文所用端口不一致,会影响负载均衡的效果。

【发明内容】

[0006] 本发明的目的是提供一种网络地址转换NAT的方法及装置,用于解决上述问题或 者至少部分地解决上述问题。
[0007] 为了实现上述目的,本发明提供一种网络地址转换NAT的方法,所述方法包括:接 收数据连接中的报文;判断数据连接中报文出口是否发生变化;当数据连接中报文出口没 有发生变化时,根据转换信息中包括的转换前后的地址对接收的报文进行地址转换;当数 据连接中报文出口发生变化时,对接收的报文进行规则匹配,重新确定报文转换后地址,使 用确定的转换后地址对接收的报文进行地址转换;发送地址转换后的报文。
[0008] 本发明还提供了一种网络地址转换NAT的装置,所述装置包括:转发模块,用于接 收数据连接中的报文;NAT模块,用于判断数据连接中报文出口是否发生变化;当数据连接 中报文出口没有发生变化时,根据转换信息中包括的转换前后的地址对接收的报文进行地 址转换;当数据连接中报文出口发生变化时,对接收的报文进行规则匹配,重新确定报文转 换后地址,使用确定的转换后地址对接收的报文进行地址转换;所述转发模块还用于发送 地址转换后的报文。
[0009] 通过上述技术方案,能够及时发现数据连接中报文出口的变化,并且当数据连接 中报文出口发生变化时,对接收的报文进行规则匹配,重新确定报文转换后地址,使用确定 的转换后地址对接收的报文进行地址转换。如此,能够保证报文使用地址为转发出口对应 的运营商提供的地址,进而使得报文不会因为没有通过运营商服务器的源地址检验而被丢 弃,从而可以避免因报文被丢弃而产生的卡顿或无法访问的问题;另一方面,因为报文转换 后地址与报文转发出口相对应,使得回复的报文与发送的报文所用转发端口相同,因此,能 够避免因为数据连接中往返流量的端口不一致所导致的负载均衡效果降低的问题。
[0010] 本发明的其它特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0011] 附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具 体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0012] 图1是本发明一实施例中网络地址转换NAT的装置的结构图;
[0013] 图2是本发明一实施例中网络地址转换NAT的装置的结构图;
[0014] 图3是本发明一实施例中应用场景示意图;
[0015] 图4是本发明一实施例中网络地址转换NAT的方法的流程图。
【具体实施方式】
[0016] 以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描 述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0017] 图1是本发明一实施例中网络地址转换NAT的装置的结构图;该装置可用于通信 设备中,例如网关出口设备中。如图1所述,该装置包括如下模块:转发模块110,用于接收 数据连接中的报文。NAT模块120,用于判断数据连接中报文出口是否发生变化;当数据连 接中报文出口没有发生变化时,根据转换信息中包括的转换前后的地址对接收的报文进行 地址转换;当数据连接中报文出口发生变化时,对接收的报文进行规则匹配,重新确定报文 转换后地址,使用确定的转换后地址对接收的报文进行地址转换。所述转发模块110还用 于发送地址转换后的报文。
[0018] 其中,转换信息可按如下方式获得。
[0019] 如图2所示,装置还包括:记录模块140。所述NAT模块120还用于对数据连接中 的首报文进行规则匹配,确定数据连接中首报文转换后的地址。记录模块140用于将数据 连接中首报文转换前后的地址和首报文出口作为转换信息进行记录;当数据连接中报文出 口发生变化时,根据重新确定的报文转换后地址和报文变化后出口,更新转换信息中包括 的转换后地址和报文出口。
[0020] 本发明中转换信息也可通过其他方式获得,例如通过人工配置获得,本发明对此 没有特别限制。
[0021] 举例而言,转发模块110接收到数据连接中报文后,将数据连接中报文转发给NAT 模块120。NAT模块120接收到报文后,判断数据连接中报文出口是否发生变化。
[0022] NAT模块120可以通过多种方式判断数据连接中报文出口是否发生变化。例如, 如图2所示,装置还包括路由模块130,NAT模块120在本地中存储变化标志位,当路由模块 130变换数据连接的传输路由时,比较路由变换前后的报文出口,当变化前后的报文出口不 同时,将变化标志位置为已变化状态。由于负载均衡、网路故障等原因,会对数据连接的路 由进行变化,但是不是所有路由变换都会造成报文从私网转发到公网的出口变化,例如,当 路由变化仅涉及私网内路由变动时,不会引起报文出口变化。因此,在路由变动时,对变换 前后报文出口进行比较,以判断路由变动是否引起报文出口变化。NAT模块120通过读取变 化标志位,判断数据连接中报文出口是否发生变化。
[0023] 又例如,如图2所示,装置还包括记录模块140,记录模块140在本地存储转换信 息,转换信息中包括报文出口。NAT模块120接收到报文后,将报文中包括的报文出口与转 换信息中包括的报文出口比较,当两者不一致时,判定数据连接中报文出口发生变化。
[0024] NAT模块120在数据连接中报文出口没有发生变化时,根据转换信息中包括的转 换前后的地址对接收的报文进行地址转换。NAT模块120在数据连接中报文出口发生变化 时,对接收的报文进行规则匹配,重新确定报文转换后地址,使用确定的转换后地址对接收 的报文进行地址转换。之后,NAT模块120将地址转换后的报文发送给转发模块110。转发 模块110将地址转换后的报文从对应出口发送出去。
[0025] 在一实施例中,如图2所示,所述装置还包括:路由模块130,用于当数据连接中报 文路由发生变动时,将转换信息中包括的更新标志位置为待更新状态。
[0026] 进一步地,路由模块130用于当数据连接中报文路由发生变动时,判断发生变动 的路由出口与NAT关联的出口是否相关;当发生变动的路由出口与NAT关联的出口相关
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1