一种报文修改方法及装置的制造方法

文档序号:10578195阅读:375来源:国知局
一种报文修改方法及装置的制造方法
【专利摘要】本发明提供一种报文修改方法及装置,所述方法应用于NAT设备,所述方法包括:收到访问请求报文时,判断所述访问请求报文是否携带目标特征;若所述访问请求报文携带目标特征,则将所述访问请求报文携带的目标特征进行修改;将修改后的访问请求报文经过NAT转换后转发到TCP服务器。因此可以避免与TCP服务器的PAWS机制产生冲突,从而使访问请求报文顺利建立TCP连接,保证用户正常访问网络。
【专利说明】
一种报文修改方法及装置
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种报文修改方法及装置。
【背景技术】
[0002]随着互联网不断发展以及网络应该的急剧增多,IPv4地址枯竭已经严重影响到网络的发展,因此NAT (Network Address Translat1n,网络地址转换)技术应运而生。NAT技术可以使用户主机在局域网内部通过私网地址来实现互访,并且可以通过将私网地址转换为公网地址的方式来实现用户主机访问外网,由于私网地址在不同局域网内能够重复利用,因此可以缓解IPv4地址不足的问题。实际应用中为了节省公网地址,NAT设备通常将多个访问请求报文中的源地址转换为一个或几个公网地址,使这些访问请求报文通过转换后的公网地址来访问外网。
[0003]然而,当访问请求报文中携带TCP (Transmiss1n Control Protocol传输控制协议)时间戳选项时,经过源端的NAT设备的地址转换,转换后的访问请求报文可能与TCP服务器的 PAWS (Protect Against Wrapped Sequence numbers,防止序列号重复)机制相冲突,导致部分访问请求报文无法建立TCP连接,从而影响用户正常访问网络。

【发明内容】

[0004]有鉴于此,本发明提供一种报文修改方法及装置来解决经过NAT转换后访问请求报文无法建立TCP连接的问题。
[0005]具体地,本发明是通过如下技术方案实现的:
[0006]—种报文修改方法,所述方法应用于NAT设备,所述方法包括:
[0007]收到访问请求报文时,判断所述访问请求报文是否携带目标特征;
[0008]若所述访问请求报文携带目标特征,则将所述访问请求报文携带的目标特征进行修改;
[0009]将修改后的访问请求报文经过NAT转换后转发到TCP服务器。
[0010]进一步的,所述判断所述访问请求报文是否携带目标特征,包括:
[0011]判断所述访问请求报文是否携带时间戳选项。
[0012]进一步的,所述将所述访问请求报文携带的目标特征进行修改,包括:
[0013]将所述访问请求报文携带的时间戳选项中的状态修改为Ν0Ρ。
[0014]进一步的,所述方法还包括:
[0015]若所述访问请求报文未携带目标特征,则将所述访问请求报文经过NAT转换后转发到TCP服务器。
[0016]进一步的,所述方法还包括:
[0017]判断所述访问请求报文是否为SYN报文,若是则判断所述访问请求报文是否携带目标特征,否则将所述访问请求报文经过NAT转换后转发到TCP服务器。
[0018]基于相同的构思,本发明还提供一种报文修改装置,所述装置应用于NAT设备,所述装置包括:
[0019]第一判断单元,应用在收到访问请求报文时,判断所述访问请求报文是否携带目标特征;
[0020]特征修改单元,用于在所述访问请求报文携带目标特征时,将所述访问请求报文携带的目标特征进行修改;
[0021]报文转发单元,用于将修改后的访问请求报文经过NAT转换后转发到TCP服务器。
[0022]进一步的,所述第一判断单元,具体用于判断所述访问请求报文是否携带时间戳选项。
[0023]进一步的,所述特征修改单元,具体用于将所述访问请求报文携带的时间戳选项中的状态修改为NOP。
[0024]进一步的,所述报文转发单元,还用于在所述访问请求报文未携带目标特征时,将所述访问请求报文经过NAT转换后转发到TCP服务器。
[0025]进一步的,所述装置还包括:
[0026]第二判断单元,用于判断所述访问请求报文是否为SYN报文,若是则判断所述访问请求报文是否携带目标特征,否则将所述访问请求报文经过NAT转换后转发到TCP服务器。
[0027]由此可见,本发明可以通过修改访问请求报文携带的目标特征,再将修改后的访问请求报文经过NAT转换后发送到服务器,以避免与服务器的PAWS机制产生冲突,从而使访问请求报文顺利建立TCP连接,保证用户正常访问网络。
【附图说明】
[0028]图1是本发明一种示例性实施方式中的一种报文修改方法的处理流程图;
[0029]图2是本发明一种示例性实施方式中的另一种报文修改方法的处理流程图;
[0030]图3是本发明一种示例性实施方式中的报文修改装置所在的NAT设备的硬件结构图;
[0031]图4是本发明一种示例性实施方式中的一种报文修改装置的逻辑结构图。
【具体实施方式】
[0032]为了解决现有技术存在的问题,本发明提供一种报文修改方法及装置,可以通过修改访问请求报文携带的目标特征,再将修改后的访问请求报文经过NAT转换后发送到TCP服务器,以避免与TCP服务器的PAWS机制产生冲突,从而使访问请求报文顺利建立TCP连接,保证用户正常访问网络。
[0033]请参考图1,是本发明一种示例性实施方式中的一种报文修改方法的处理流程图,所述方法应用于NAT设备,所述方法包括:
[0034]步骤101、收到访问请求报文时,判断所述访问请求报文是否携带目标特征;
[0035]在本实施例中,当该NAT设备收到访问请求报文时,可以判断该访问请求报文中是否携带了目标特征。
[0036]步骤102、若所述访问请求报文携带目标特征,则将所述访问请求报文携带的目标特征进行修改;
[0037]当该NAT设备确认该访问请求报文中携带目标特征后,可以将该访问请求报文中携带的目标特征进行修改,以避免与服务器发生冲突。
[0038]步骤103、将修改后的访问请求报文经过NAT转换后转发到TCP服务器。
[0039]NAT设备将目标特征修改完成后,可将该修改后的访问请求报文进行NAT转换,然后转发到TCP服务器。
[0040]由此可见,本发明可以通过修改访问请求报文携带的目标特征,再将修改后的访问请求报文经过NAT转换后发送到服务器,以避免与服务器的PAWS机制产生冲突,从而使访问请求报文顺利建立TCP连接,保证用户正常访问网络。
[0041]在本发明可选的实施例中,该访问请求报文携带的目标特征可以是时间戳选项。因此该NAT设备在收到访问请求报文后,可以判断所述访问请求报文中是否携带时间戳选项。如果该访问请求报文携带了时间戳选项,该NAT设备则可以将该访问请求报文中的时间戳选项的状态修改为NOP状态,以表示该访问请求报文的时间戳的状态为空。
[0042]由于现有技术中,TCP服务器会记录相同IP地址发起的TCP连接请求中最新的时间戳。如果TCP服务器收到一个TCP报文的时间戳小于当前记录中的最新时间戳,那么TCP服务器认为该TCP报文是对已经发送过的TCP报文的重传,从而将其忽略,导致服务端不响应用户主机的TCP连接请求。
[0043]本发明通过将访问请求报文携带的TCP时间戳选项修改为NOP状态,以表示该访问请求报文的时间戳的状态为空。TCP服务器收到时间戳选项为NOP状态的访问请求报文后,则不会进行时间戳校验,从而使使用同一公网地址的多个访问请求报文可以正常进行TCP连接。
[0044]此外,若NAT设备确定该访问请求报文未携带目标特征,则无需进行时间戳修改,而将该访问请求报文经过NAT转换后转发到TCP服务器。
[0045]在本发明可选的实施例中,NAT设备在收到访问请求报文后,还可以判断该访问请求报文是否为TCP协议中的SYN报文。若是,则继续判断所述访问请求报文是否携带目标特征;若否,则将所述访问请求报文经过NAT转换后转发到TCP服务器。因此,本发明可以通过对SYN报文的筛选进一步提高报文的查找效率及准确率。
[0046]为使本发明的目的、技术方案及优点更加清楚明白,结合图2的报文修改处理流程图,对本发明所述方案作进一步地详细说明。NAT设备对报文修改的过程如下:
[0047]步骤201、接收用户主机发送的访问请求报文;
[0048]步骤202、判断该访问请求报文是否为TCP报文,若是,则转步骤203,若否,则转步骤 206 ;
[0049]步骤203、判断该访问请求报文是否为SYN报文,若是,则转步骤204,若否,则转步骤 206 ;
[0050]步骤204、判断该访问请求报文中是否携带时间戳选项,若是,则转步骤205,若否,则转步骤206 ;
[0051 ] 步骤205、将该访问请求报文的时间戳选项修改为NOP状态,转步骤206 ;
[0052]步骤206、将访问请求报文进行NAT转换后,转发到TCP服务器。
[0053]由此可见,本发明可以通过将TCP报文中的SYN报文携带的时间戳选项修改为空状态,再对修改后的报文进行NAT转换并发送到TCP服务器,以避免TCP服务器对该报文进行时间戳校验,从而避免与TCP服务器的PAWS机制产生冲突,因此可以顺利建立TCP连接,保证用户正常访问网络。
[0054]基于相同的构思,本发明还提供一种报文修改装置,所述装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的报文修改作为一个逻辑意义上的装置,是通过其所在NAT设备的CPU将存储器中对应的计算机程序指令读取后运行而成。
[0055]请参考图3及图4,是本发明一种示例性实施方式中的一种报文修改装置400,所述装置应用于NAT设备,所述装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,所述装置400包括:
[0056]第一判断单元401,用于在收到访问请求报文时,判断所述访问请求报文是否携带目标特征;
[0057]特征修改单元402,用于在所述访问请求报文携带目标特征时,将所述访问请求报文携带的目标特征进行修改;
[0058]报文转发单元403,用于将修改后的访问请求报文经过NAT转换后转发到TCP服务器。
[0059]可选的,所述第一判断单元401,具体用于判断所述访问请求报文是否携带时间戳选项。
[0060]可选的,所述特征修改单元402,具体用于将所述访问请求报文携带的时间戳选项中的状态修改为NOP。
[0061]可选的,所述报文转发单元403,还用于在所述访问请求报文未携带目标特征时,将所述访问请求报文经过NAT转换后转发到TCP服务器。
[0062]可选的,所述装置还包括:
[0063]第二判断单元404,用于判断所述访问请求报文是否为SYN报文,若是则判断所述访问请求报文是否携带目标特征,否则将所述访问请求报文经过NAT转换后转发到TCP服务器。
[0064]综上所述,本发明可以通过修改访问请求报文携带的目标特征,再将修改后的访问请求报文经过NAT转换后发送到TCP服务器,以避免与服务器的PAWS机制产生冲突,从而可使访问请求报文顺利建立TCP连接,保证用户正常访问网络。
[0065]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种报文修改方法,其特征在于,所述方法应用于NAT设备,所述方法包括: 收到访问请求报文时,判断所述访问请求报文是否携带目标特征; 若所述访问请求报文携带目标特征,则将所述访问请求报文携带的目标特征进行修改; 将修改后的访问请求报文经过NAT转换后转发到TCP服务器。2.根据权利要求1所述的方法,其特征在于,所述判断所述访问请求报文是否携带目标特征,包括: 判断所述访问请求报文是否携带时间戳选项。3.根据权利要求2所述的方法,其特征在于,所述将所述访问请求报文携带的目标特征进行修改,包括: 将所述访问请求报文携带的时间戳选项中的状态修改为NOP。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述访问请求报文未携带目标特征,则将所述访问请求报文经过NAT转换后转发到TCP服务器。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述访问请求报文是否为SYN报文,若是则判断所述访问请求报文是否携带目标特征,否则将所述访问请求报文经过NAT转换后转发到TCP服务器。6.一种报文修改装置,其特征在于,所述装置应用于NAT设备,所述装置包括: 第一判断单元,应用在收到访问请求报文时,判断所述访问请求报文是否携带目标特征; 特征修改单元,用于在所述访问请求报文携带目标特征时,将所述访问请求报文携带的目标特征进行修改; 报文转发单元,用于将修改后的访问请求报文经过NAT转换后转发到TCP服务器。7.根据权利要求6所述的装置,其特征在于, 所述第一判断单元,具体用于判断所述访问请求报文是否携带时间戳选项。8.根据权利要求7所述的装置,其特征在于, 所述特征修改单元,具体用于将所述访问请求报文携带的时间戳选项中的状态修改为NOP09.根据权利要求6所述的装置,其特征在于, 所述报文转发单元,还用于在所述访问请求报文未携带目标特征时,将所述访问请求报文经过NAT转换后转发到TCP服务器。10.根据权利要求1所述的方法,其特征在于,所述装置还包括: 第二判断单元,用于判断所述访问请求报文是否为SYN报文,若是则判断所述访问请求报文是否携带目标特征,否则将所述访问请求报文经过NAT转换后转发到TCP服务器。
【文档编号】H04L29/12GK105939396SQ201510340183
【公开日】2016年9月14日
【申请日】2015年6月17日
【发明人】李洪吉, 陈伟
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1