CN1960316A - 分片报文的网络地址转换方法 - Google Patents
分片报文的网络地址转换方法 Download PDFInfo
- Publication number
- CN1960316A CN1960316A CNA200510100924XA CN200510100924A CN1960316A CN 1960316 A CN1960316 A CN 1960316A CN A200510100924X A CNA200510100924X A CN A200510100924XA CN 200510100924 A CN200510100924 A CN 200510100924A CN 1960316 A CN1960316 A CN 1960316A
- Authority
- CN
- China
- Prior art keywords
- network address
- address translation
- fragment message
- message
- mapping relations
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种分片报文的网络地址转换方法,该方法包括:接收分片报文;判断所述分片报文是否为分片报文的首报文,若判断为是,对所述分片报文的首报文按照源目的地址、源目的端口号、分片标识以及协议号六元组进行网络地址转换并保存对应的网络地址转换映射关系;否则,判断所述分片报文为分片报文首报文后的后续报文,查找保存的所述网络地址转换映射关系,按照所述保存的网络地址转换映射关系中的源目的地址、分片标识以及协议号四元组对所述分片报文首报文后的后续报文进行网络地址转换。本发明可以防止分片报文在进行网络地址转换时被丢弃,避免业务中断,降低无用流量占用网络带宽。
Description
技术领域
本发明涉及网络地址转换方法,更具体的说,本发明涉及一种分片报文的网络地址转换方法。
背景技术
网络地址转换(NAT,Network Address Translation)是一个Internet工程任务组(Internet Engineering Task Force,IETF)标准,用于允许专用网络上的多台PC(使用专用地址段,例如10.0.x.x、192.168.x.x、172.x.x.x)共享单个、全局路由的IPv4地址,NAT-PT过渡机制则是解决IPv4主机和IPv6主机互访的问题而提出IPv6过度技术中的一种,在RFC2766--Network AddressTranslation-Protocol Translation(NAT-PT)、RFC2765--Stateless IP/ICMPTranslation Algorithm(SIIT)中定义了IPv6和IPv4节点互访时的地址分配方法,当IPv6节点开始访问IPv4节点时,NAT-PT从其IPv4地址缓冲池中为IPv6节点动态地分配一个IPv4地址。NAT-PT通过对IPv6和IPv4地址的翻译、绑定,在无需对节点做改动的情况下,为IPv6和IPv4域中节点的相互通信提供了透明的路由。这要求NAT-PT能跟踪所建立的通信会话,并且属于该会话的数据包要通过同一个NAT-PT设备。
通常NAT转换包括两种基本的转换模式:基于NAT-PT的工作机制和基于NAPT-PT工作机制,其中基于NAT-PT的工作机制进行网络地址转换时,网关设备只转换IP地址,不对TCP、UDP端口进行转换,具体转换关系包括:
IPv6源地址到IPv4源地址的转换;
IPv6目的地址到IPv4目的地址的转换,通常IPv6地址直接采用采用PREFIX::IPv4方式,而不需要专门指定一个纯IPv6地址。
上述NAT-PT模式中,源地址必须从网络地址转换的网关设备IPv4地址池中占用一个IPv4地址,但当地址池中的IPv4地址分配完时,网络地址转换设备不能再为另外的IPv6节点提供对IPv4节点的访问,基于NAPT-PT的网络地址转换解决了这个问题,具体的,NAPT-PT模式中通过网络地址、端口翻译和协议翻译,能使多个IPv6节点只使用地址缓冲池中的一个IPv4地址和外部的IPv4节点进行透明的通信。IPv6节点的TCP/UDP端口号被翻译成已分配的IPv4地址的TCP/UDP端口号。通过对传输层端口的复用,理论上基于NAPT-PT模式能在一个IPv4地址上支持63K个TCP和63K个UDP连接,实际应用中因为知名端口、保留端口的存在,每个IPv4地址支持的连接数目会小一些,具体转换关系包括:
IPv6源地址+端口号到IPv4源地址+端口号的转换;
IPv6目的地址+端口号到IPv4目的地址+端口号的转换,通常IPv6地址直接采用采用PREFIX::IPv4方式,不占用专门的IPv4或者IPv6地址,同时由于有很多知名端口存在,所以在IPv6主机访问IPv4主机的NAPT-PT方式中,对于目的地址通常还是只做IPv6目的地址到IPv4目的地址的转换,而不转换端口。
目前,在包交换网络的物理层要限制每次发送数据帧的最大长度(通过限定报文传输的最大传输单元MTU),不同的物理层MTU大小不一致,这样就导致了传送的IP报文可能大于最大传输单元,为了可以传输数据,当IP层发送报文时,需要检查出接口的MTU,当发现报文大于本地出口链路MTU时,需要将IP数据包分片,分成符合MTU大小的分片报文,到达数据流的终点,再将所述的分片报文进行重组恢复原始发送报文。
现有技术中由于分片报文中只有第一个分片报文中(称为分片报文的首报文)包含有TCP/UDP端口号的信息,后续分片报文没有TCP/UDP端口号信息。在现有的网络地址转换设备中,基于NAT-PT和NAPT-PT两种不同方式,对分片报文提供了不同的网络地址转换方法,对于基于NAT-PT工作模式进行网络地址转换的,由于采用源/目的IP地址、协议号三元组进行翻译,不需要TCP/UDP端口号,所以这种方式中对于分片报文,无论是否携带TCP/UDP信息均可以正常翻译,不需要特殊处理。
而基于NAPT-PT模式进行网络地址转换时,采用源/目的IP地址、源/目的端口号、协议号五元组进行翻译,由于分片报文中只有首报文包括TCP/UDP端口号,后续报文不包括TCP/UDP端口号,对后续报文进行网络地址转换时无法查到对应的映射关系,所以对于分片报文不能进行翻译,而是直接丢弃,这会导致某些业务中断,另外,由于在IPv4网络中不能探测路径MTU,所以IPv4终端只会按照本机的出口MTU对报文分片,而无法给IPv4终端反馈分片报文在途中被丢弃,IPv4终端还会继续发送分片报文,这会导致无用流量占用网络带宽。
发明内容
本发明解决的技术问题是提供一种分片报文的网络地址转换方法,以防止分片报文在进行网络地址转换时被丢弃,避免业务中断,降低无用流量占用网络带宽。
为解决上述问题,本发明的分片报文的网络地址转换方法,包括:
a、接收分片报文;
b、判断所述分片报文是否为分片报文的首报文,若判断为是,执行c,否则,判断所述分片报文为分片报文首报文后的后续报文,执行d;
c、对所述分片报文的首报文按照源目的地址、源目的端口号、分片标识以及协议号六元组进行网络地址转换并保存对应的网络地址转换映射关系;
d、查找保存的所述网络地址转换映射关系,按照所述保存的网络地址转换映射关系中的源目的地址、分片标识以及协议号四元组对所述分片报文首报文后的后续报文进行网络地址转换。
其中,步骤d查找保存的网络地址转换映射关系之前还包括:
d1、检测分片报文的首报文的网络地址转换映射关系是否存在,若是,则执行d,否则,丢弃报文。
优选地,步骤d1丢弃报文之前还包括:
等待预设的时间后继续检测分片报文的首报文的网络地址转换映射关系是否存在,若存在,则执行d,否则,丢弃报文。
其中,所述网络地址转换可为IPv4网络地址到IPv6网络地址的转换。
其中,所述网络地址转换可为IPv6网络地址到IPv4网络地址的转换。
与现有技术相比,本发明具有以下有益效果:
本发明中对分片报文的首报文按照源目的地址、源目的端口号、分片标识以及协议号六元组进行网络地址转换并保存对应的网络地址转换映射关系;对分片报文首报文后的后续报文仅需通过查找保存的所述网络地址转换映射关系,按照所述保存的网络地址转换映射关系中的源目的地址、分片标识以及协议号四元组进行网络地址转换。可保证分片报文在进行网络地址转换时不会被丢弃,也避免了某些业务由于分片报文丢弃而中断,同时也可以降低无用流量占用网络带宽。
附图说明
图1是现有技术中IPv4的报文头结构示意图;
图2是现有技术中IPv6基本报文头结构示意图;
图3是现有技术中IPv6分片扩展头示意图;
图4是本发明分片报文进行网络地址转换的方法流程图。
具体实施方式
请参考图1、图2及图3,图1是现有技术中IPv4的报文头结构示意图,图2是IPv6基本报文头结构示意图,图3是IPv6分片扩展头示意图,IPv4报文头中包括分片标识、标志、片偏移三个和分片相关的字段,而IPv6中基本报文头不携带分片信息,参见图3,而是在IPv6扩展头中提供了专门的分片头,其中包括分片标识、下一个头以及分段偏移等和分片相关的字段。
本发明中根据源目的地址相同的流中,同一个报文的所有分片标识唯一的特点,将映射五元组增加分片头中的分片标识字段,组成映射六元组进行网络地址转换,即对分片报文的首报文按照源目的地址、源目的端口号、分片标识以及协议号六元组进行网络地址转换并保存对应的网络地址转换映射关系,对分片报文首报文后的后续报文通过查找保存的所述网络地址转换映射关系,按照所述保存的网络地址转换映射关系中的源目的地址、分片标识以及协议号四元组进行网络地址转换,下面具体进行说明。
参考图4,该图是本发明分片报文进行网络地址转换的方法流程图,具体包括如下步骤:
步骤11,接收报文;
步骤12,检测所接收报文是否为分片报文,若不是分片报文,则按照正常流程处理,若判断为是分片报文,则继续执行步骤13;
步骤13,判断该分片报文是否为分片报文的首报文,若判断为是分片报文的首报文,执行步骤14,否则,判断为是分片报文首报文的后续报文,执行步骤16,
步骤14,接收该分片报文的首报文,执行步骤15;
步骤15,将所述分片报文的首报文按照源目的地址、源目的端口号、分片标识以及协议号六元组进行网络地址转换并保存对应的网络地址转换映射关系,执行步骤16;
步骤16,接收该分片报文首报文后的后续报文,执行步骤17;
步骤17,检测分片报文的首报文的网络地址转换映射关系是否存在,若判断为是,执行步骤18,否则,等待预设的时间后继续检测分片报文的首报文的网络地址转换映射关系是否存在,若存在,执行步骤18,否则,执行步骤19;
步骤18,查找保存的所述网络地址转换映射关系,按照所述保存的网络地址转换映射关系中的源目的地址、分片标识以及协议号四元组对分片报文首报文后的后续报文进行网络地址转换;
步骤19,丢弃报文。
下面以具体例子进行说明,转换设备判断出报文为分片报文的首报文时,建立网络地址转换的映射关系,以IPv6向IPv4转换为例,具体如下:
IPv6 IPv4
源地址:1001::1 源地址:129.1.1.1
目的地址:1002::30.1.1.1 目的地址:30.1.1.1
源端口号:3333 源端口号:1025
目的端口号:23 目的端口号:23
协议号:TCP 协议号:TCP
分片标识:1024 分片标识:1024
后续分片报文到达时,后续分片不包含端口号信息,本发明中按照后续分片报文的源目的IP地址、分片标识、协议号四元组查找首报文网络地址转换保存的映射关系进行翻译,本实施例中具体按照如下四元组查找网络地址转换的映射关系:
源地址=1001::1and目的地址=1002::30.1.1.1and协议号=TCP and分片标识=1024
若查找到对应的映射关系,可确认该报文为上面首报文保存的映射关系的后续分片报文,采用上面首报文保存的IPv6和IPv4网络地址转换的映射关系进行翻译。
对于IPv4向IPv6的转换,本发明同样可实现,举例说明,若IPv4向IPv6侧转换通过第一个分片报文建立如下映射关系:
IPv4 IPv6
源地址:30.1.1.1 源地址:1002::30.1.1.1
目的地址:129.1.1.1 目的地址:1001::1
源端口号:3333 源端口号:1025
目的端口号:23 目的端口号:23
协议号:TCP 协议号:TCP
分片标识:1024 分片标识:1024
后续分片报文到达时,后续分片不包含端口号信息,本发明中按照后续分片报文的源目的IP地址、分片标识、协议号四元组查找首报文网络地址转换保存的映射关系进行翻译,本实施例中具体按照如下四元组查找网络地址转换的映射关系:
源地址=30.1.1.1and目的地址=129.1.1.1and协议号=TCP and分片标识=1024
若查找到对应的映射关系,可确认该报文为上面首报文保存的映射关系的后续分片报文,采用上面首报文保存的IPv4和IPv6网络地址转换的映射关系进行翻译。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (5)
1、一种分片报文的网络地址转换方法,其特征在于,包括:
a、接收分片报文;
b、判断所述分片报文是否为分片报文的首报文,若判断为是,执行c,否则,判断所述分片报文为分片报文首报文后的后续报文,执行d;
c、对所述分片报文的首报文按照源目的地址、源目的端口号、分片标识以及协议号六元组进行网络地址转换并保存对应的网络地址转换映射关系;
d、查找保存的所述网络地址转换映射关系,按照所述保存的网络地址转换映射关系中的源目的地址、分片标识以及协议号四元组对所述分片报文首报文后的后续报文进行网络地址转换。
2、根据权利要求1所述的分片报文的网络地址转换方法,其特征在于,步骤d中查找保存的网络地址转换映射关系之前还包括:
d1、检测分片报文的首报文的网络地址转换映射关系是否存在,若是,则执行d,否则,丢弃报文。
3、根据权利要求2所述的分片报文的网络地址转换方法,其特征在于,步骤d1丢弃报文之前还包括:
等待预设的时间后继续检测分片报文的首报文的网络地址转换映射关系是否存在,若存在,则执行d,否则,丢弃报文。
4、根据权利要求1所述的分片报文的网络地址转换方法,其特征在于,所述网络地址转换为IPv4网络地址到IPv6网络地址的转换。
5、根据权利要求1所述的分片报文的网络地址转换方法,其特征在于,所述网络地址转换为IPv6网络地址到IPv4网络地址的转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200510100924XA CN1960316A (zh) | 2005-11-04 | 2005-11-04 | 分片报文的网络地址转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200510100924XA CN1960316A (zh) | 2005-11-04 | 2005-11-04 | 分片报文的网络地址转换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1960316A true CN1960316A (zh) | 2007-05-09 |
Family
ID=38071816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200510100924XA Pending CN1960316A (zh) | 2005-11-04 | 2005-11-04 | 分片报文的网络地址转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1960316A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011103820A2 (zh) * | 2011-04-15 | 2011-09-01 | 华为技术有限公司 | 一种网络地址转换方法及装置 |
CN102438012A (zh) * | 2011-11-15 | 2012-05-02 | 航天科工深圳(集团)有限公司 | 一种协议通讯方法和系统 |
CN101605105B (zh) * | 2009-07-14 | 2012-05-09 | 中兴通讯股份有限公司 | 一种对分片报文进行网络地址转换的方法及设备 |
CN106921589A (zh) * | 2015-12-28 | 2017-07-04 | 新华三技术有限公司 | 一种ip数据包的处理方法和装置 |
CN109525518A (zh) * | 2018-12-25 | 2019-03-26 | 北京物芯科技有限责任公司 | 一种基于fpga的ip报文网络地址转换方法及装置 |
CN114531417A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 一种通信方法及装置 |
CN116055586A (zh) * | 2022-08-15 | 2023-05-02 | 荣耀终端有限公司 | 分片报文的匹配方法、路由器及存储介质 |
-
2005
- 2005-11-04 CN CNA200510100924XA patent/CN1960316A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605105B (zh) * | 2009-07-14 | 2012-05-09 | 中兴通讯股份有限公司 | 一种对分片报文进行网络地址转换的方法及设备 |
WO2011103820A2 (zh) * | 2011-04-15 | 2011-09-01 | 华为技术有限公司 | 一种网络地址转换方法及装置 |
CN102232288A (zh) * | 2011-04-15 | 2011-11-02 | 华为技术有限公司 | 一种网络地址转换方法及装置 |
WO2011103820A3 (zh) * | 2011-04-15 | 2012-03-22 | 华为技术有限公司 | 一种网络地址转换方法及装置 |
CN102438012A (zh) * | 2011-11-15 | 2012-05-02 | 航天科工深圳(集团)有限公司 | 一种协议通讯方法和系统 |
CN106921589A (zh) * | 2015-12-28 | 2017-07-04 | 新华三技术有限公司 | 一种ip数据包的处理方法和装置 |
WO2017114378A1 (zh) * | 2015-12-28 | 2017-07-06 | 新华三技术有限公司 | Ip数据包的转发 |
CN109525518A (zh) * | 2018-12-25 | 2019-03-26 | 北京物芯科技有限责任公司 | 一种基于fpga的ip报文网络地址转换方法及装置 |
CN109525518B (zh) * | 2018-12-25 | 2021-01-12 | 北京物芯科技有限责任公司 | 一种基于fpga的ip报文网络地址转换方法及装置 |
CN114531417A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 一种通信方法及装置 |
CN116055586A (zh) * | 2022-08-15 | 2023-05-02 | 荣耀终端有限公司 | 分片报文的匹配方法、路由器及存储介质 |
CN116055586B (zh) * | 2022-08-15 | 2023-09-01 | 荣耀终端有限公司 | 分片报文的匹配方法、路由器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7742429B1 (en) | Method and system of promptly processing real-time media stream data packet | |
CN1960316A (zh) | 分片报文的网络地址转换方法 | |
US8605752B2 (en) | Communication apparatus, communication method, and computer program | |
CN1909503A (zh) | 一种探测路径最大传输单元的方法 | |
CN1893394A (zh) | 一种穿越网络地址转换的方法 | |
CN1353526A (zh) | 移动网络和ip分组传送方法 | |
CN101064659A (zh) | 一种数据传输系统及方法 | |
CN1921440A (zh) | 检测路径最大传输单元的方法和系统 | |
CN1925452A (zh) | 数据转发系统、方法以及网络转发设备 | |
CN1758654A (zh) | 客户终端建立直联隧道的方法及其通信方法以及服务器 | |
CN101039234A (zh) | 一种分布式dhcp中继的实现方法 | |
CN1317873C (zh) | 基于媒体网关控制协议的信令代理实现方法 | |
CN1863152A (zh) | 内网用户之间传递各种报文的方法 | |
CN1809070A (zh) | 一种l2vpn实现每vc在接入层资源控制的方法 | |
CN1741502A (zh) | 基于4over6的IPv6和IPv4网间互通的方法 | |
CN1929435A (zh) | 分组传送装置与方法 | |
CN1863150A (zh) | 基于ggsn和外部数据网络之间的数据处理方法和系统 | |
CN101043392A (zh) | 一种WiMAX网络中转发IP报文的装置及基站设备 | |
CN1744561A (zh) | 报文转换过程中的超长报文的处理方法 | |
CN1129280C (zh) | 服务通用分组无线业务支持节点中数据包的转发方法及装置 | |
CN1243437C (zh) | 一种可穿越网络地址翻译的自动隧道的方法 | |
CN1968208A (zh) | 区分无线业务的方法及无线传输设备 | |
CN1815998A (zh) | 提高移动ip网络中家乡代理报文转发性能的方法 | |
CN1697445A (zh) | 一种实现虚拟私有网络中数据传输的方法 | |
CN1848794A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |