本发明涉及计算机网络
技术领域:
:,尤其涉及基于地址交换的报文转发方法、硬件设备、系统及介质。
背景技术:
::随着互联网技术的迅猛发展,计算机的数量也随之迅速增加,同时,计算机对应的ip地址也大幅度增加,为了减缓可用ip地址空间的枯竭,目前,在转发报文时通常采用路由器或者防火墙,对报文中的ip地址进行转换。然而,路由器或者防火墙的成本相对昂贵,另外,在转发报文时,没有对端口号进行分析处理,造成报文无法以合适的端口发出,影响报文的转发时效。技术实现要素:本发明的主要目的在于提供基于地址交换的报文转发方法、硬件设备、系统及介质,旨在解决如何在降低成本的同时,快速转发报文的问题。为实现上述目的,本发明提供一种基于地址交换的报文转发方法,应用于硬件设备中,所述方法包括:获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型;当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号;将所述所有端口号转换为第二地址中的端口区间;从所述端口区间中选取目标端口;基于所述第二地址,以所述目标端口为源端口发送所述数据报文。优选地,所述从所述数据报文中提取第一地址包括:确定发送所述数据报文的源地址对应的目标标签;获取所述数据报文所携带的所有信息;从所述所有信息中提取与所述目标标签对应的信息,作为所述第一地址。优选地,所述将所述所有端口号转换为第二地址中的端口区间包括:从所述硬件设备中存储的配置表中查询与所述第一地址对应的地址,并将所查询到的地址作为所述第二地址;从所述第二地址的端口中确定与所述所有端口号对应的端口,并将确定的端口集合成区间,作为所述端口区间。优选地,所述从所述端口区间中选取目标端口包括:获取当前时刻所述端口区间中每个端口对应的待处理请求的请求数量;将请求数量最小的端口确定为所述目标端口。优选地,所述方法还包括:当在预设时间内未接收到所述数据报文的反馈包时,重新发送所述数据报文,并累计发送所述数据报文的次数;当发送次数大于或者等于预设阈值,获取所述数据报文的报文编号;根据所述报文编号生成告警信息;根据所述数据报文的等级确定告警方式;以所述告警方式发送所述告警信息。优选地,所述类型还包括响应类型,所述方法还包括:当所述数据报文的类型为响应类型时,从所述数据报文中提取目的地址及目的端口;获取与所述目的地址及所述目的端口对应的私网地址;向所述私网地址发送所述数据报文。为实现上述目的,本发明进一步提供一种硬件设备,所述硬件设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现所述基于地址交换的报文转发方法。为实现上述目的,本发明进一步提供一种基于地址交换的报文转发系统,运行于硬件设备中,所述系统包括:确定单元,用于获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型;提取单元,用于当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号;转换单元,用于将所述所有端口号转换为第二地址中的端口区间;选取单元,用于从所述端口区间中选取目标端口;发送单元,用于基于所述第二地址,以所述目标端口为源端口发送所述数据报文。优选地,所述提取单元从所述数据报文中提取第一地址包括:确定发送所述数据报文的源地址对应的目标标签;获取所述数据报文所携带的所有信息;从所述所有信息中提取与所述目标标签对应的信息,作为所述第一地址。优选地,所述转换单元具体用于:从所述硬件设备中存储的配置表中查询与所述第一地址对应的地址,并将所查询到的地址作为所述第二地址;从所述第二地址的端口中确定与所述所有端口号对应的端口,并将确定的端口集合成区间,作为所述端口区间。优选地,所述选取单元具体用于:获取当前时刻所述端口区间中每个端口对应的待处理请求的请求数量;将请求数量最小的端口确定为所述目标端口。优选地,当在预设时间内未接收到所述数据报文的反馈包时,所述发送单元,还用于重新发送所述数据报文,并累计发送所述数据报文的次数;所述系统还包括:获取单元,用于当发送次数大于或者等于预设阈值,获取所述数据报文的报文编号;生成单元,用于根据所述报文编号生成告警信息;所述确定单元,还用于根据所述数据报文的等级确定告警方式;所述发送单元,还用于以所述告警方式发送所述告警信息。优选地,所述类型还包括响应类型,所述提取单元,还用于当所述数据报文的类型为响应类型时,从所述数据报文中提取目的地址及目的端口;所述获取单元,还用于获取与所述目的地址及所述目的端口对应的私网地址;所述发送单元,还用于向所述私网地址发送所述数据报文。为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于地址交换的报文转发程序,所述基于地址交换的报文转发程序可被一个或者多个处理器执行,以实现所述的基于地址交换的报文转发方法。综上所述,本发明能够获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型,当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号,将所述所有端口号转换为第二地址中的端口区间,从所述端口区间中选取目标端口,基于所述第二地址,以所述目标端口为源端口发送所述数据报文,通过硬件设备替代路由器或者防火墙,实现了对网络地址的转换,降低了购买设备的成本,另外,通过对端口号的分析处理,使所述数据报文以所述目标端口作为源端口发送所述数据报文,提高了所述数据报文的转发时效,此外,对所述数据报文中的第一地址进行地址交换,避免外部网络获取到所述第一地址,进而避免外部网络对所述第一地址对应的硬件设备进行网络攻击。附图说明图1为本发明一实施例的流程示意图。图2为本发明一实施例揭露的硬件设备的内部结构示意图。图3为本发明基于地址交换的报文转发系统的功能模块示意图。主要元件符号说明硬件设备1存储器12处理器13基于地址交换的报文转发系统11确定单元110提取单元111转换单元112选取单元113发送单元114获取单元115生成单元116加密单元117显示单元118具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明提供一种基于地址交换的报文转发方法。参照图1,图1为本发明一实施例的流程示意图。根据不同的需求,该流程示意图中步骤的顺序可以改变,某些步骤可以省略。所述基于地址交换的报文转发方法应用于一个或者多个硬件设备中,所述硬件设备是一种能够依据事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述硬件设备的硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述硬件设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。所述硬件设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络硬件设备、多个网络硬件设备组成的硬件设备组或基于云计算(cloudcomputing)的由大量主机或网络硬件设备构成的云。所述硬件设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。在一实施例中,应用于硬件设备中,该方法包括:s10,获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型。在本发明的至少一个实施例中,所述数据报文中的信息包括,但不限于:报文编号、源地址、目标标签等,本发明不作限制。进一步地,所述数据报文可以是请求报文、也可以是响应报文,具体的数据报文对应的类型在本发明中也不作限制。在本发明的至少一个实施例中,所述类型可以包括所述请求类型及响应类型。在本发明的至少一个实施例中,所述硬件设备确定所述数据报文的类型包括:所述硬件设备获取所述数据报文的报文头,并检测所述报文头所携带的源地址,当检测到所述源地址为自身的公网地址时,所述硬件设备将所述数据报文的类型确定为所述请求类型,或者当检测到所述源地址不为自身的公网地址时,所述硬件设备将所述数据报文的类型确定为所述响应类型。s11,当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号。在本发明的至少一个实施例中,所述第一地址是指所述数据报文中的源地址,进一步地,所述第一地址是所述硬件设备的公网地址。在本发明的至少一个实施例中,所述第一地址属于网络地址(networkaddress),所述第一地址是为了识别硬件设备,为硬件设备分配的逻辑地址,其中,所述网络地址是互联网上的节点在网络中具有的逻辑地址。在本发明的至少一个实施例中,端口可以包括物理端口及逻辑端口。其中,物理端口是用于连接物理设备之间的接口,例如:交换机、路由器上用于连接其他网络设备的接口。逻辑端口是指逻辑意义上用于区分服务的端口,例如:用于浏览网页服务的80端口,用于ftp(filetransferprotocol,文件传输协议)服务的21端口等。在本发明的至少一个实施例中,地址的端口是通过16进制进行编号,最多可以有65536个端口,端口是通过端口号来标记的,端口号的表示形式为整数,范围是从0到65535,简而言之,一个端口号对应一个端口。在本发明的至少一个实施例中,所述硬件设备从所述数据报文中提取第一地址包括:所述硬件设备确定发送所述数据报文的源地址对应的目标标签,进一步地,所述硬件设备获取所述数据报文所携带的所有信息,更进一步地,所述硬件设备从所述所有信息中提取与所述目标标签对应的信息,作为所述第一地址。通过上述实施方式,能够准确地从所述数据报文中提取出所述第一地址。在本发明的至少一个实施例中,所述硬件设备将所述硬件设备所在集群中的公网地址及所述公网地址中包含的端口号记载于数据库中,因此,所述硬件设备能够根据所述第一地址从所述数据库中获取到所述第一地址中包含的所有端口号。s12,将所述所有端口号转换为第二地址中的端口区间。在本发明的至少一个实施例中,所述端口区间是由多个端口号集合而成的。在本发明的至少一个实施例中,配置表中存储有与所述第一地址对应的地址,及存储有该地址中所包含的端口。在本发明的至少一个实施例中,所述硬件设备将所述所有端口号转换为第二地址中的端口区间包括:所述硬件设备从自身存储的配置表中查询与所述第一地址对应的地址,并将所查询到的地址作为所述第二地址,进一步地,所述硬件设备从所述第二地址的端口中确定与所述所有端口号对应的端口,并将确定的端口集合成区间,作为所述端口区间。例如:所述第一地址为172.16.1.97,通过查询所述配置表,得到所述第二地址为218.26.85.36,并确定所述端口区间为64001-65535。进一步地,所述硬件设备根据命令语句对所述数据报文中的源地址进行转换,命令语句如下:iptables-tnat-apostrouting-ptcp-s172.16.1.97-jsnat--to-source218.26.85.36:64001-65535。通过上述实施方式,能够对所述数据报文中的第一地址进行转换,避免外部网络获取到所述第一地址,进而避免外部网络对所述第一地址对应的硬件设备进行网络攻击。s13,从所述端口区间中选取目标端口。在本发明的至少一个实施例中,所述目标端口是指当前时刻待处理请求的数量最小的端口。在本发明的至少一个实施例中,所述硬件设备从所述端口区间中选取目标端口包括:所述硬件设备获取当前时刻所述端口区间中每个端口对应的待处理请求的请求数量,进一步地,所述硬件设备将请求数量最小的端口确定为所述目标端口。通过上述实施方式,能够确定出适合的目标端口,便于后续以所述目标端口为源端口发送所述数据报文。s14,基于所述第二地址,以所述目标端口为源端口发送所述数据报文。在本发明的至少一个实施例中,所述硬件设备以所述第二地址为源址,所述目标端口为源端口发送所述数据报文,能够使所述数据报文以所述目标端口作为源端口发送所述数据报文,提高所述数据报文的转发时效。在本发明的至少一个实施例中,所述方法还包括:当在预设时间内未接收到所述数据报文的反馈包时,所述硬件设备重新发送所述数据报文,并累计发送所述数据报文的次数,当发送次数大于或者等于预设阈值,所述硬件设备获取所述数据报文的报文编号,进一步地,所述硬件设备根据所述报文编号生成告警信息,更进一步地,所述硬件设备根据所述数据报文的等级确定告警方式,并以所述告警方式发送所述告警信息。其中,所述预设阈值的取值在本发明中不作具体限制。进一步地,所述告警信息中所携带的信息包括,但不限于:发送次数、所述报文编号等。更进一步地,所述等级是根据所述数据报文的重要程度设定的,所述等级可以包括,但不限于:等级一、等级二、等级三等。更进一步地,所述告警方式包括:电话形式、钉钉形式、邮件形式等。通过上述实施方式,能够在未接收到所述数据报文的反馈包,及发送次数大于或者等于预设阈值时,根据所述数据报文的等级以合适的告警方式通知相关联系人,避免相关联系人无法及时接收到重要的告警信息。在本发明的至少一个实施例中,所述方法还包括:所述硬件设备加密所述告警信息,得到目标密文,当检测到所述目标密文被解密成功时,所述硬件设备显示所述告警信息。通过上述实施方式,能够避免所述告警信息被篡改,提高所述告警信息的安全性。在本发明的至少一个实施例中,所述类型还包括响应类型,所述方法还包括:当所述数据报文的类型为响应类型时,所述硬件设备从所述数据报文中提取目的地址及目的端口,进一步地,所述硬件设备获取与所述目的地址及所述目的端口对应的私网地址,更进一步地,所述硬件设备向所述私网地址发送所述数据报文。其中,所述硬件设备从所述数据报文中提取目的地址的提取方式与所述硬件设备从所述数据报文中提取第一地址的提取方式相同,因此,在此对所述硬件设备从所述数据报文中提取目的地址的提取方式不作阐述。通过上述实施方式,能够获取到所述私网地址,进而实现向所述私网地址转发所述数据报文。综上所述,本发明能够获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型,当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号,将所述所有端口号转换为第二地址中的端口区间,从所述端口区间中选取目标端口,基于所述第二地址,以所述目标端口为源端口发送所述数据报文,通过硬件设备替代路由器或者防火墙,实现了对网络地址的转换,降低了购买设备的成本,另外,通过对端口号的分析处理,使所述数据报文以所述目标端口作为源端口发送所述数据报文,提高了所述数据报文的转发时效,此外,对所述数据报文中的第一地址进行地址交换,避免外部网络获取到所述第一地址,进而避免外部网络对所述第一地址对应的硬件设备进行网络攻击。参见图2,图2为本发明一实施例揭露的硬件设备的内部结构示意图。所述硬件设备1可以是组成内容分发网络或者区块链网络的节点。所述硬件设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于地址交换的报文转发程序。本领域技术人员可以理解,所述示意图仅仅是硬件设备1的示例,并不构成对硬件设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述硬件设备1还可以包括输入输出设备、网络接入设备等。需要说明的是,所述硬件设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是硬件设备1的内部存储单元,例如该硬件设备1的移动硬盘。存储器12在另一些实施例中也可以是硬件设备1的外部存储设备,例如硬件设备1上配备的插接式移动硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器12还可以既包括硬件设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于硬件设备1的应用软件及各类数据,例如数据存储程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述硬件设备1的控制核心(controlunit),利用各种接口和线路连接整个硬件设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行数据存储程序等),以及调用存储在所述存储器12内的数据,以执行硬件设备1的各种功能和处理数据。所述处理器13执行所述硬件设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个数据存储方法实施例中的步骤,例如图1所示的步骤s10、s11、s12、s13、s14。或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型;当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号;将所述所有端口号转换为第二地址中的端口区间;从所述端口区间中选取目标端口;基于所述第二地址,以所述目标端口为源端口发送所述数据报文。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述硬件设备1中的执行过程。例如,所述计算机程序可以被分割成确定单元110、提取单元111、转换单元112、选取单元113、发送单元114、获取单元115、生成单元116、加密单元117及显示单元118。总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及所述至少一个处理器13等之间的连接通信。尽管未示出,所述硬件设备1还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与至少一个处理器13逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述硬件设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。进一步地,硬件设备还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该硬件设备1与其他硬件设备之间建立通信连接。可选地,该硬件设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在硬件设备1中处理的信息以及用于显示可视化的用户界面。应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。所述硬件设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)。图2仅示出了具有组件12-13,以及基于地址交换的报文转发程序的硬件设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述硬件设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。结合图1,所述硬件设备1中的所述存储器12存储多个指令以实现一种基于地址交换的报文转发方法,所述处理器13可执行所述多个指令从而实现:获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型;当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号;将所述所有端口号转换为第二地址中的端口区间;从所述端口区间中选取目标端口;基于所述第二地址,以所述目标端口为源端口发送所述数据报文。具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。参照图3,为本发明基于地址交换的报文转发系统的功能模块示意图。所述基于地址交换的报文转发系统11包括确定单元110、提取单元111、转换单元112、选取单元113、发送单元114、获取单元115、生成单元116、加密单元117及显示单元118。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。在一实施例中,运行于硬件设备中,该系统包括:确定单元110获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型。在本发明的至少一个实施例中,所述数据报文中的信息包括,但不限于:报文编号、源地址、目标标签等,本发明不作限制。进一步地,所述数据报文可以是请求报文、也可以是响应报文,具体的数据报文对应的类型在本发明中也不作限制。在本发明的至少一个实施例中,所述类型可以包括所述请求类型及响应类型。在本发明的至少一个实施例中,所述确定单元110确定所述数据报文的类型包括:所述确定单元110获取所述数据报文的报文头,并检测所述报文头所携带的源地址,当检测到所述源地址为自身的公网地址时,所述确定单元110将所述数据报文的类型确定为所述请求类型,或者当检测到所述源地址不为自身的公网地址时,所述确定单元110将所述数据报文的类型确定为所述响应类型。当所述数据报文的类型为请求类型时,提取单元111从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号。在本发明的至少一个实施例中,所述第一地址是指所述数据报文中的源地址,进一步地,所述第一地址是硬件设备的公网地址。在本发明的至少一个实施例中,所述第一地址属于网络地址(networkaddress),所述第一地址是为了识别硬件设备,为硬件设备分配的逻辑地址,其中,所述网络地址是互联网上的节点在网络中具有的逻辑地址。在本发明的至少一个实施例中,端口可以包括物理端口及逻辑端口。其中,物理端口是用于连接物理设备之间的接口,例如:交换机、路由器上用于连接其他网络设备的接口。逻辑端口是指逻辑意义上用于区分服务的端口,例如:用于浏览网页服务的80端口,用于ftp(filetransferprotocol,文件传输协议)服务的21端口等。在本发明的至少一个实施例中,地址的端口是通过16进制进行编号,最多可以有65536个端口,端口是通过端口号来标记的,端口号的表示形式为整数,范围是从0到65535,简而言之,一个端口号对应一个端口。在本发明的至少一个实施例中,所述提取单元111从所述数据报文中提取第一地址包括:所述提取单元111确定发送所述数据报文的源地址对应的目标标签,进一步地,所述提取单元111获取所述数据报文所携带的所有信息,更进一步地,所述提取单元111从所述所有信息中提取与所述目标标签对应的信息,作为所述第一地址。通过上述实施方式,能够准确地从所述数据报文中提取出所述第一地址。在本发明的至少一个实施例中,将所述硬件设备所在集群中的公网地址及所述公网地址中包含的端口号记载于数据库中,因此,所述提取单元111能够根据所述第一地址从所述数据库中获取到所述第一地址中包含的所有端口号。转换单元112将所述所有端口号转换为第二地址中的端口区间。在本发明的至少一个实施例中,所述端口区间是由多个端口号集合而成的。在本发明的至少一个实施例中,配置表中存储有与所述第一地址对应的地址,及存储有该地址中所包含的端口。在本发明的至少一个实施例中,所述转换单元112将所述所有端口号转换为第二地址中的端口区间包括:所述转换单元112从自身存储的配置表中查询与所述第一地址对应的地址,并将所查询到的地址作为所述第二地址,进一步地,所述转换单元112从所述第二地址的端口中确定与所述所有端口号对应的端口,并将确定的端口集合成区间,作为所述端口区间。例如:所述第一地址为172.16.1.97,通过查询所述配置表,得到所述第二地址为218.26.85.36,并确定所述端口区间为64001-65535。进一步地,所述转换单元112根据命令语句对所述数据报文中的源地址进行转换,命令语句如下:iptables-tnat-apostrouting-ptcp-s172.16.1.97-jsnat--to-source218.26.85.36:64001-65535。通过上述实施方式,能够对所述数据报文中的第一地址进行转换,避免外部网络获取到所述第一地址,进而避免外部网络对所述第一地址对应的硬件设备进行网络攻击。选取单元113从所述端口区间中选取目标端口。在本发明的至少一个实施例中,所述目标端口是指当前时刻待处理请求的数量最小的端口。在本发明的至少一个实施例中,所述选取单元113从所述端口区间中选取目标端口包括:所述选取单元113获取当前时刻所述端口区间中每个端口对应的待处理请求的请求数量,进一步地,所述选取单元113将请求数量最小的端口确定为所述目标端口。通过上述实施方式,能够确定出适合的目标端口,便于后续以所述目标端口为源端口发送所述数据报文。发送单元114基于所述第二地址,以所述目标端口为源端口发送所述数据报文。在本发明的至少一个实施例中,所述发送单元114以所述第二地址为源址,所述目标端口为源端口发送所述数据报文,能够使所述数据报文以所述目标端口作为源端口发送所述数据报文,提高所述数据报文的转发时效。在本发明的至少一个实施例中,当在预设时间内未接收到所述数据报文的反馈包时,所述发送单元114重新发送所述数据报文,并累计发送所述数据报文的次数,当发送次数大于或者等于预设阈值,获取单元115获取所述数据报文的报文编号,进一步地,生成单元116根据所述报文编号生成告警信息,更进一步地,所述确定单元110根据所述数据报文的等级确定告警方式,所述发送单元114以所述告警方式发送所述告警信息。其中,所述预设阈值的取值在本发明中不作具体限制。进一步地,所述告警信息中所携带的信息包括,但不限于:发送次数、所述报文编号等。更进一步地,所述等级是根据所述数据报文的重要程度设定的,所述等级可以包括,但不限于:等级一、等级二、等级三等。更进一步地,所述告警方式包括:电话形式、钉钉形式、邮件形式等。通过上述实施方式,能够在未接收到所述数据报文的反馈包,及发送次数大于或者等于预设阈值时,根据所述数据报文的等级以合适的告警方式通知相关联系人,避免相关联系人无法及时接收到重要的告警信息。在本发明的至少一个实施例中,加密单元117加密所述告警信息,得到目标密文,当检测到所述目标密文被解密成功时,显示单元118显示所述告警信息。通过上述实施方式,能够避免所述数据报文被篡改,提高所述数据报文的安全性。在本发明的至少一个实施例中,所述类型还包括响应类型,进一步地,当所述数据报文的类型为响应类型时,所述提取单元111从所述数据报文中提取目的地址及目的端口,进一步地,所述获取单元115获取与所述目的地址及所述目的端口对应的私网地址,更进一步地,所述发送单元114向所述私网地址发送所述数据报文。其中,所述提取单元111从所述数据报文中提取目的地址的提取方式与所述提取单元111从所述数据报文中提取第一地址的提取方式相同,因此,在此对所述提取单元111从所述数据报文中提取目的地址的提取方式不作阐述。通过上述实施方式,能够获取到所述私网地址,进而实现向所述私网地址转发所述数据报文。综上所述,本发明能够获取数据报文,并确定所述数据报文的类型,所述类型包括请求类型,当所述数据报文的类型为请求类型时,从所述数据报文中提取第一地址,并获取所述第一地址中的所有端口号,将所述所有端口号转换为第二地址中的端口区间,从所述端口区间中选取目标端口,基于所述第二地址,以所述目标端口为源端口发送所述数据报文,通过硬件设备替代路由器或者防火墙,实现了对网络地址的转换,降低了购买设备的成本,另外,通过对端口号的分析处理,使所述数据报文以所述目标端口作为源端口发送所述数据报文,提高了所述数据报文的转发时效,此外,对所述数据报文中的第一地址进行地址交换,避免外部网络获取到所述第一地址,进而避免外部网络对所述第一地址对应的硬件设备进行网络攻击。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生依据本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、硬件设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、硬件设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的硬件设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、移动硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态移动硬盘solidstatedisk(ssd))等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,硬件设备,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域:
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12