一种报文传输的方法和装置与流程

文档序号:11138472阅读:720来源:国知局
一种报文传输的方法和装置与制造工艺
本申请涉及通信
技术领域
,尤其涉及一种报文传输的方法和装置。
背景技术
:如图1和图2所示,为负载分担的组网示意图。真实服务器1和真实服务器2可以为用户提供应用,如WEB(网页)应用等。真实服务器1对应虚拟IP地址A,且真实服务器1对应真实IP地址1。真实服务器2对应虚拟IP地址B,且真实服务器2对应真实IP地址2。在图2中,通过部署多个负载均衡设备,可以解决一个负载均衡设备的单点故障问题,即当一个负载均衡设备发生故障时,还可以由其它负载均衡设备继续提供服务,从而保证业务处理不中断。当终端设备访问真实服务器1提供的应用时,可以发送目的IP地址为虚拟IP地址A的报文。负载均衡设备在接收到该报文之后,可以将该报文的目的IP地址修改为真实IP地址1,并利用目的IP地址将报文转发给真实服务器1。在上述应用场景下,负载均衡设备在接收到报文之后,还可以对该报文进行NAT(NetworkAddressTranslation,网络地址转换)转换,即可以将该报文的源IP地址修改为一个公网IP地址。因此,针对负载均衡设备发送给真实服务器的报文,该报文的源IP地址和目的IP地址均被负载均衡设备修改。目前,可以在真实服务器上配置控制策略,通常的手段是:配置终端设备的IP地址与控制策略的对应关系,基于终端设备的IP地址就可以查询到控制策略。但是,在上述方式下,由于报文的源IP地址不再是终端设备的IP地址,因此无法找到终端设备的控制策略,继而无法基于控制策略对终端设备进行控制。技术实现要素:本申请提供一种报文传输的方法,应用在负载均衡设备,包括:在接收到来自终端设备的报文后,通过所述报文的源IP地址查询预先维护的映射关系表,得到所述源IP地址对应的白名单端口;其中,所述映射关系表用于记录终端设备的IP地址与白名单端口的对应关系;将所述源IP地址修改为本设备的公网地址,将所述报文的源端口修改为所述白名单端口,并将所述报文的目的IP地址修改为真实服务器的IP地址;将修改后的报文发送给所述真实服务器,以使所述真实服务器利用收到的报文中携带的所述白名单端口获得所述终端设备的IP地址。所述通过所述报文的源IP地址查询预先维护的映射关系表之前,所述方法进一步包括:接收来自真实服务器的通知消息,并从所述通知消息中解析出IP地址与白名单端口的对应关系,并在预先维护的映射关系表中记录所述对应关系;其中,该IP地址是指定类型的终端设备的IP地址;NAT转换能够使用的端口被划分为预留端口和非预留端口,该白名单端口是所述预留端口中的端口。所述接收到来自终端设备的报文之后,所述方法进一步包括:确定所述报文对应的真实服务器的全局白名单状态;若所述全局白名单状态为未启动,则将所述报文的源IP地址修改为本设备的公网地址,将所述报文的源端口修改为公网端口,将所述报文的目的IP地址修改为所述真实服务器的IP地址,将修改后的报文发送给所述真实服务器;若所述全局白名单状态为启动,则执行通过所述报文的源IP地址查询映射关系表的过程;若映射关系表中未存在所述源IP地址,则丢弃所述报文;若映射关系表中存在所述源IP地址,且所述源IP地址对应局部开启,则丢弃所述报文;若映射关系表中存在所述源IP地址,且所述源IP地址对应全局开启,则执行将所述源IP地址修改为本设备的公网地址,将所述报文的源端口修改为所述白名单端口,并将所述报文的目的IP地址修改为真实服务器的IP地址的过程。本申请提供一种报文传输的方法,应用在真实服务器,包括:在本地维护终端设备的IP地址与白名单端口的映射关系表;在接收到来自负载均衡设备的报文后,从所述报文中解析出白名单端口;通过所述白名单端口查询映射关系表,得到所述白名单端口对应的IP地址。所述方法进一步包括:生成包括IP地址与白名单端口的对应关系的通知消息;向所述负载均衡设备发送所述通知消息,以使所述负载均衡设备在预先维护的映射关系表中记录所述IP地址与白名单端口的对应关系;其中,该IP地址是指定类型的终端设备的IP地址;NAT转换能够使用的端口被划分为预留端口和非预留端口,该白名单端口是所述预留端口中的端口。所述接收到来自负载均衡设备的报文之后,所述方法进一步包括:确定本真实服务器的全局白名单状态;若所述全局白名单状态为未启动,则对所述报文进行处理;若所述全局白名单状态为启动,则执行通过所述白名单端口查询映射关系表的过程;若映射关系表中未存在所述白名单端口,则丢弃所述报文;若映射关系表中存在所述白名单端口,且所述白名单端口对应局部开启,则丢弃所述报文;若映射关系表中存在所述白名单端口,且所述白名单端口对应全局开启,则利用所述白名单端口对应的IP地址对所述报文进行处理。本申请提供一种报文传输的装置,应用在负载均衡设备,包括:获得模块,用于在接收到来自终端设备的报文后,通过所述报文的源IP地址查询预先维护的映射关系表,得到所述源IP地址对应的白名单端口;其中,所述映射关系表用于记录终端设备的IP地址与白名单端口的对应关系;修改模块,用于将所述源IP地址修改为公网地址,将所述报文的源端口修改为所述白名单端口,并将所述报文的目的IP地址修改为真实服务器的IP地址;发送模块,用于将修改后的报文发送给所述真实服务器,以使所述真实服务器利用收到的报文中携带的所述白名单端口获得所述终端设备的IP地址。所述获得模块,还用于确定所述报文对应的真实服务器的全局白名单状态;所述修改模块,还用于当所述全局白名单状态为未启动时,则将所述报文的源IP地址修改为所述负载均衡设备的公网地址,将所述报文的源端口修改为公网端口,将所述报文的目的IP地址修改为所述真实服务器的IP地址;所述获得模块,还用于当所述全局白名单状态为启动时,则通过源IP地址查询映射关系表;若映射关系表中未存在所述源IP地址,丢弃所述报文;若映射关系表中存在所述源IP地址,且所述源IP地址对应局部开启,丢弃所述报文;所述修改模块,还用于当映射关系表中存在所述源IP地址,且所述源IP地址对应全局开启,则将所述源IP地址修改为公网地址,将所述报文的源端口修改为所述白名单端口,并将所述报文的目的IP地址修改为真实服务器的IP地址。本申请提供一种报文传输的装置,应用在真实服务器,包括:维护模块,用于维护终端设备的IP地址与白名单端口的映射关系表;解析模块,用于在接收到来自负载均衡设备的报文后,从所述报文中解析出白名单端口;处理模块,用于通过所述白名单端口查询所述映射关系表,得到所述白名单端口对应的IP地址。所述处理模块,还用于确定所述真实服务器的全局白名单状态;若所述全局白名单状态为未启动,则对所述报文进行处理;若所述全局白名单状态为启动,则通过所述白名单端口查询所述映射关系表;若所述映射关系表中未存在所述白名单端口,则丢弃所述报文;若所述映射关系表中存在所述白名单端口,且所述白名单端口对应局部开启,则丢弃所述报文;若所述映射关系表中存在所述白名单端口,且所述白名单端口对应全局开启,则利用所述白名单端口对应的IP地址对所述报文进行处理。基于上述技术方案,本申请实施例中,通过将报文的源端口修改为白名单端口,以使真实服务器可以通过该白名单端口确定出终端设备的IP地址,从而可以基于终端设备的IP地址查询到控制策略,并基于该控制策略对终端设备进行控制,实现真实服务器精细化控制的能力。在上述方式下,负载均衡设备不需要在报文中额外添加终端设备的IP地址,从而不影响带宽和报文处理性能。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1和图2是负载分担的组网示意图;图3是本申请一种实施方式中的报文传输的方法的流程图;图4是本申请另一种实施方式中的报文传输的方法的流程图;图5是本申请一种实施方式中的负载均衡设备的硬件结构图;图6是本申请一种实施方式中的报文传输的装置的结构图;图7是本申请一种实施方式中的真实服务器的硬件结构图;图8是本申请一种实施方式中的报文传输的装置的结构图。具体实施方式在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提出一种报文传输的方法,该方法可以应用于包括终端设备、负载均衡设备、真实服务器的系统中,如图1和图2所示,为本申请实施例的应用场景示意图。负载均衡设备可以是LVS(LinuxVirtualServer,Linux虚拟服务器),真实服务器1对应虚拟IP地址220.67.8.10和虚拟端口5000,对应真实IP地址192.168.10.11和真实端口5001。真实服务器2对应虚拟IP地址220.67.8.11和虚拟端口5002,对应真实IP地址192.168.10.12和真实端口5003。在一个例子中,真实服务器可以在本地维护IP地址与白名单端口的映射关系表,该IP地址是指定类型的终端设备的IP地址,例如,该指定类型的终端设备可以是需要基于控制策略进行控制的终端设备,对此指定类型不做限制。此外,NAT转换能够使用的端口(如端口1~65535)被划分为预留端口(如1~32768)和非预留端口(如32769~65535),该白名单端口是该预留端口(需要除去特殊端口,如上述的端口5000、端口5001、端口5002、端口5003等)中的端口。例如,当需要为终端设备1配置控制策略时,则确定终端设备1的IP地址10.3.18.1,并从预留端口中为终端设备1分配白名单端口795,为每个终端设备分配的白名单端口具有唯一性。之后,真实服务器在映射关系表中记录IP地址10.3.18.1与白名单端口795的对应关系。如表1所示,为映射关系表的示例。表1IP地址白名单端口10.3.18.179518.2.9.358080.3.134.34980在一个例子中,网络中的所有真实服务器共同使用预留端口范围1~32768,为了更好的对白名单端口进行控制,可以为不同的真实服务器分配不同的预留端口范围,例如,真实服务器1使用预留端口1-2000,真实服务器2使用预留端口2001-4000,以此类推。这样,真实服务器1在为终端设备分配白名单端口时,可以从预留端口1-2000中选择一个可用的端口。真实服务器2在为终端设备分配白名单端口时,可以从预留端口2001-4000中选择一个可用的端口。真实服务器在维护表1所示的映射关系表后,可以生成包括IP地址与白名单端口的对应关系的通知消息,并向负载均衡设备发送该通知消息。负载均衡设备在接收到该通知消息后,可以从该通知消息中解析出IP地址与白名单端口的对应关系,并在本负载均衡设备的映射关系表中记录IP地址与白名单端口的对应关系,负载均衡设备最终维护的映射关系表也可以如表1所示。其中,真实服务器可以通过一个通知消息将10.3.18.1与795的对应关系、18.2.9.3与580的对应关系、80.3.134.34与980的对应关系,一起发送给负载均衡设备,也可以通过三个通知消息分别将10.3.18.1与795的对应关系、18.2.9.3与580的对应关系、80.3.134.34与980的对应关系,发送给负载均衡设备。在一个例子中,针对系统中包括的多个真实服务器,每个真实服务器可以维护一个映射关系表。而且,负载均衡设备可以针对每个真实服务器维护一个映射关系表,且每个映射关系表中的内容与其对应的真实服务器的映射关系表中的内容相同。或者,负载均衡设备也可以只维护一个映射关系表,并可以将每个真实服务器的映射关系表中的内容均记录到该映射关系表中。在一个例子中,当负载均衡设备的数量为多个时,则一个负载均衡设备在维护映射关系表后,可以将该映射关系表同步给其它负载均衡设备,各负载均衡设备最终维护的映射关系表相同,后续以一个负载均衡设备的处理为例。在上述应用场景下,参见图3所示,为报文传输的方法的流程图,该方法可以应用于负载均衡设备上,且该方法可以包括以下步骤:步骤301,在接收到来自终端设备的报文后,通过该报文的源IP地址查询预先维护的映射关系表,得到该源IP地址对应的白名单端口。步骤302,将该源IP地址修改为本负载均衡设备的公网地址,将报文的源端口修改为该白名单端口,并将报文的目的IP地址修改为真实服务器的IP地址。步骤303,将修改后的报文发送给该真实服务器,以使该真实服务器利用收到的报文中携带的该白名单端口获得终端设备的IP地址。在一个例子中,针对步骤301,当终端设备访问真实服务器1提供的应用时,终端设备向负载均衡设备发送报文,该报文的源IP地址为终端设备的IP地址10.3.18.1,源端口为任意端口,如端口41006,目的IP地址为真实服务器1对应的虚拟IP地址220.67.8.10,目的端口为真实服务器1对应的虚拟端口5000。负载均衡设备在接收到该报文之后,通过该报文的源IP地址10.3.18.1查询表1所示的映射关系表,得到该源IP地址10.3.18.1对应的白名单端口是795。针对步骤302,负载均衡设备将报文的源IP地址10.3.18.1修改为本负载均衡设备的公网IP地址,如192.168.1.10,将报文的源端口41006修改为该白名单端口795,而不是将报文的源端口41006修改为本负载均衡设备的公网端口。负载均衡设备将报文的目的IP地址220.67.8.10修改为真实服务器1的真实IP地址192.168.10.11,将报文的目的端口5000修改为真实服务器1的真实端口5001。在一个例子中,为了实现报文传输,负载均衡设备可以针对每个真实服务器建立一个IPVS(IPVirtualServer,IP虚拟服务器)表,如表2所示,为针对真实服务器1的IPVS表的一个示例,针对其它真实服务器的IPVS表与此类似。Pro表示报文的协议类型,如TCP(TransmissionControlProtocol,传输控制协议)、UDP(UserDatagramProtocol,用户数据报协议)等;Expire表示保活时间;State表示状态;Source表示源IP地址和源端口,即终端设备的IP地址和端口;Virtual表示虚拟IP地址和虚拟端口,即转换前的目的IP地址和目的端口;Destination表示真实IP地址和真实端口,即转换后的目的IP地址和目的端口。表2ProExpireStateSourceVirtualDestination220.67.8.10/5000192.168.10.11/5001本申请实施例中,基于表1所示的映射关系表,负载均衡设备可以维护表3所示的IPVS表。在表3中,Expire为00:00,表示保活时间为无限长,其对应的表项不会被删除。State为prepare,表示准备状态,当前还没有接收到针对该表项的报文。Source中只包含源IP地址,而不包含该源IP地址对应的端口。表3ProExpireStateSourceVirtualDestinationTCP00:00Prepare10.3.18.1220.67.8.10/5000192.168.10.11/5001TCP00:00Prepare18.2.9.3220.67.8.10/5000192.168.10.11/5001TCP00:00Prepare80.3.134.34220.67.8.10/5000192.168.10.11/5001基于表1所示的映射关系表和表3所示的IPVS表,在步骤301和步骤302中,负载均衡设备在接收到报文后,假设报文的源IP地址为10.3.18.10,在通过源IP地址10.3.18.10查询表1所示的映射关系表时,由于表1中不存在该源IP地址10.3.18.10,因此,可以采用传统流程进行处理。即负载均衡设备将报文的源IP地址10.3.18.10修改为负载均衡设备的公网IP地址,如192.168.1.11,并将报文的源端口41006修改为负载均衡设备的公网端口(其是非预留端口,如32770),并将报文的目的IP地址220.67.8.10修改为真实服务器1的真实IP地址192.168.10.11,将报文的目的端口5000修改为真实服务器1的真实端口5001。之后,负载均衡设备还可以更新表3所示的IPVS表,得到表4所示的IPVS表,在IPVS表中,Source不仅包括源IP地址10.3.18.10,还包括源端口41006。表4ProExpireStateSourceVirtualDestinationTCP00:00Prepare10.3.18.1220.67.8.10/5000192.168.10.11/5001TCP00:00Prepare18.2.9.3220.67.8.10/5000192.168.10.11/5001TCP00:00Prepare80.3.134.34220.67.8.10/5000192.168.10.11/5001TCP00:57Established10.3.18.10/41006220.67.8.10/5000192.168.10.11/5001基于表1所示的映射关系表和表3所示的IPVS表,在步骤301和步骤302中,负载均衡设备在接收到报文之后,假设报文的源IP地址为10.3.18.1,在通过该源IP地址10.3.18.1查询表1所示的映射关系表时,得到对应的白名单端口可以是795。负载均衡设备将报文的源IP地址10.3.18.1修改为负载均衡设备的公网IP地址192.168.1.10,将报文的源端口41006修改为白名单端口795,并将报文的目的IP地址220.67.8.10修改为真实服务器1的真实IP地址192.168.10.11,并将报文的目的端口5000修改为真实服务器1的真实端口5001。之后,负载均衡设备还可以更新表3所示的IPVS表,得到表5所示的IPVS表,在该IPVS表中,Source不仅包括源IP地址10.3.18.10,还可以包括源端口41006。表5ProExpireStateSourceVirtualDestinationTCP00:57Established10.3.18.1/41006220.67.8.10/5000192.168.10.11/5001TCP00:00Prepare18.2.9.3220.67.8.10/5000192.168.10.11/5001TCP00:00Prepare80.3.134.34220.67.8.10/5000192.168.10.11/5001针对步骤303,负载均衡设备可以将修改后的报文发送给真实服务器1,且该报文的源IP地址为192.168.1.10,源端口为白名单端口795,目的IP地址为192.168.10.11,目的端口为真实端口5001。真实服务器1在接收到该报文之后,可以从该报文中解析出白名单端口795,并通过白名单端口795查询表1所示的映射关系表,得到白名单端口795对应的IP地址10.3.18.1,即终端设备的IP地址是10.3.18.1。真实服务器1利用终端设备的IP地址10.3.18.1查询到对应的控制策略,并使用控制策略对终端设备进行控制,具体控制过程不再赘述。此外,真实服务器1还可以采用传统方式对报文进行处理,具体处理过程不再赘述。在一个例子中,真实服务器1还可以发送针对该报文的响应报文,且该响应报文的源IP地址为192.168.10.11,源端口为真实端口5001,目的IP地址为192.168.1.10,目的端口为白名单端口795。负载均衡设备在接收到该响应报文之后,还可以基于表5所示的IPVS表,对该响应报文进行修改,即将该响应报文的源IP地址修改为220.67.8.10,将源端口修改为5000,将目的IP地址修改为10.3.18.1,将目的端口修改为41006,并将修改后的响应报文发送给终端设备。至此,可以完成终端设备与真实服务器1之间的报文传输过程。在一个例子中,真实服务器和负载均衡设备在维护映射关系表时,还可以维护全局白名单标识,该全局白名单标识可以为0或者1。其中,全局白名单标识0表示局部开启,全局白名单标识1表示全局开启。如表6所示,为真实服务器和负载均衡设备维护的映射关系表的一个示例,表6是针对表1的示例。表6IP地址白名单端口全局白名单标识10.3.18.1795118.2.9.3580180.3.134.349800在一个例子中,真实服务器还可以将自身的全局白名单状态通知给负载均衡设备,由负载均衡设备记录真实服务器与其全局白名单状态的对应关系。其中,该全局白名单状态可以为启动或者未启动。例如,负载均衡设备可以记录真实服务器1与启动的对应关系,并记录真实服务器2与未启动的对应关系。本申请实施例中,可以基于真实服务器的全局白名单状态、以及IP地址对应的全局白名单标识,控制负载均衡设备向真实服务器的报文发送情况,以及控制真实服务器对报文的接收处理情况。具体的处理过程如下所示:负载均衡设备在接收到来自终端设备的报文之后,先确定该报文对应的真实服务器的全局白名单状态。若全局白名单状态为未启动,则负载均衡设备将报文的源IP地址修改为本负载均衡设备的公网地址,将报文的源端口修改为本负载均衡设备的公网端口,将报文的目的IP地址修改为真实服务器的真实IP地址,将报文的目的端口修改为真实服务器的真实端口,并将修改后的报文发送给真实服务器。若全局白名单状态为启动,则通过该报文的源IP地址查询映射关系表;若该映射关系表中未存在该源IP地址,则丢弃该报文;若该映射关系表中存在该源IP地址,且该源IP地址对应局部开启(即全局白名单标识为0),则丢弃该报文;若该映射关系表中存在该源IP地址,且该源IP地址对应全局开启(即全局白名单标识为1),则得到该源IP地址对应的白名单端口,将该源IP地址修改为本负载均衡设备的公网地址,将该报文的源端口修改为该白名单端口,并将该报文的目的IP地址修改为真实服务器的真实IP地址,将报文的目的端口修改为真实服务器的真实端口,并将修改后的报文发送给真实服务器。例如,负载均衡设备在收到来自终端设备的报文后,假设报文的目的IP地址为220.67.8.11,则说明报文对应真实服务器2。由于真实服务器2的全局白名单状态为未启动,因此可以将报文的源IP地址修改为负载均衡设备的公网地址192.168.1.15,将报文的源端口修改为负载均衡设备的公网端口32775,将报文的目的IP地址修改为真实服务器2的真实IP地址192.168.10.12,将报文的目的端口修改为真实服务器2的真实端口5003,并将报文发送给真实服务器2。假设报文的目的IP地址为220.67.8.10,则说明报文对应真实服务器1,真实服务器1的全局白名单状态为启动。若报文的源IP地址为10.3.18.10,则映射关系表中未存在源IP地址10.3.18.10,因此丢弃该报文。若报文的源IP地址为80.3.134.34,则映射关系表中存在源IP地址80.3.134.34,但源IP地址80.3.134.34对应局部开启(即全局白名单标识为0),因此丢弃该报文。若报文的源IP地址为10.3.18.1,则映射关系表中存在源IP地址10.3.18.1,且源IP地址10.3.18.1对应全局开启(即全局白名单标识为1),因此负载均衡设备可以得到源IP地址10.3.18.1对应的白名单端口795,将报文的源IP地址修改为负载均衡设备的公网IP地址192.168.1.10,将报文的源端口修改为白名单端口795,将报文的目的IP地址修改为真实服务器1的真实IP地址192.168.10.11,将报文的目的端口修改为真实服务器1的真实端口5001,并将修改后的报文发送给真实服务器1。真实服务器在接收到来自负载均衡设备的报文后,确定本真实服务器的全局白名单状态。若全局白名单状态为未启动,则可以采用传统方式对报文进行处理,具体处理过程不再赘述。若全局白名单状态为启动,则真实服务器从该报文中解析出白名单端口,并通过该白名单端口查询表6所示的映射关系表。若该映射关系表中未存在该白名单端口,则丢弃该报文。若该映射关系表中存在该白名单端口,但是该白名单端口对应局部开启(即全局白名单标识为0),则丢弃该报文。若该映射关系表中存在该白名单端口,且该白名单端口对应全局开启(即全局白名单标识为1),则得到该白名单端口对应的IP地址(即终端设备的IP地址),并利用该白名单端口对应的IP地址对该报文进行处理,例如,利用该IP地址查询到对应的控制策略,并使用控制策略对终端设备进行控制,以及采用传统方式对报文进行处理,具体处理过程不再赘述。基于上述技术方案,本申请实施例中,通过将报文的源端口修改为白名单端口,以使真实服务器可以通过该白名单端口确定出终端设备的IP地址,从而可以基于终端设备的IP地址查询到控制策略,并基于该控制策略对终端设备进行控制,实现真实服务器精细化控制的能力。在上述方式下,负载均衡设备不需要在报文中额外添加终端设备的IP地址,从而不影响带宽和报文处理性能。参见图4所示,为本申请实施例中提出的报文传输的方法的流程图,该方法可以应用于真实服务器上,且该方法可以包括以下步骤:步骤401,在本地维护终端设备的IP地址与白名单端口的映射关系表。步骤402,在接收到来自负载均衡设备的报文后,从报文中解析出白名单端口(即报文的源端口),该白名单端口是负载均衡设备添加到报文中的。步骤403,通过该白名单端口查询该映射关系表,得到该白名单端口对应的IP地址,该IP地址是终端设备的IP地址。在一个例子中,真实服务器还可以生成包括IP地址与白名单端口的对应关系的通知消息,并向负载均衡设备发送该通知消息,以使负载均衡设备利用该通知消息,在预先维护的映射关系表中记录IP地址与白名单端口的对应关系。其中,该IP地址是指定类型的终端设备的IP地址;NAT转换能够使用的端口被划分为预留端口和非预留端口,该白名单端口是预留端口中的端口。在一个例子中,真实服务器在接收到来自负载均衡设备的报文之后,还可以确定本真实服务器的全局白名单状态;若该全局白名单状态为未启动,则可以对报文进行处理;若该全局白名单状态为启动,则执行通过该白名单端口查询该映射关系表的过程;若该映射关系表中未存在该白名单端口,则直接丢弃该报文;若该映射关系表中存在该白名单端口,且该白名单端口对应局部开启,则直接丢弃该报文;若该映射关系表中存在该白名单端口,且该白名单端口对应全局开启,则可以利用该白名单端口对应的IP地址对报文进行处理。基于上述技术方案,本申请实施例中,通过将报文的源端口修改为白名单端口,以使真实服务器可以通过该白名单端口确定出终端设备的IP地址,从而可以基于终端设备的IP地址查询到控制策略,并基于该控制策略对终端设备进行控制,实现真实服务器精细化控制的能力。在上述方式下,负载均衡设备不需要在报文中额外添加终端设备的IP地址,从而不影响带宽和报文处理性能。基于与上述方法同样的申请构思,本申请实施例还提供一种报文传输的装置,应用于负载均衡设备。其中,该报文传输的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的负载均衡设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为本申请提出的报文传输的装置所在的负载均衡设备的一种硬件结构图,除了图5所示的处理器、非易失性存储器外,该负载均衡设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该负载均衡设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图6所示,为本申请提出的报文传输的装置的结构图,包括:获得模块11,用于在接收到来自终端设备的报文后,通过所述报文的源IP地址查询预先维护的映射关系表,得到所述源IP地址对应的白名单端口;其中,所述映射关系表用于记录终端设备的IP地址与白名单端口的对应关系;修改模块12,用于将所述源IP地址修改为公网地址,将所述报文的源端口修改为所述白名单端口,将所述报文的目的IP地址修改为真实服务器的IP地址;发送模块13,用于将修改后的报文发送给所述真实服务器,以使所述真实服务器利用收到的报文中携带的所述白名单端口获得所述终端设备的IP地址。所述获得模块11,还用于确定报文对应的真实服务器的全局白名单状态;所述修改模块12,还用于当所述全局白名单状态为未启动时,则将所述报文的源IP地址修改为所述负载均衡设备的公网地址,将所述报文的源端口修改为公网端口,将所述报文的目的IP地址修改为所述真实服务器的IP地址;所述获得模块11,还用于当所述全局白名单状态为启动时,则通过源IP地址查询映射关系表;若映射关系表中未存在所述源IP地址,丢弃所述报文;若映射关系表中存在所述源IP地址,所述源IP地址对应局部开启,丢弃所述报文;所述修改模块12,还用于当映射关系表中存在所述源IP地址,且所述源IP地址对应全局开启,则将所述源IP地址修改为公网地址,将所述报文的源端口修改为所述白名单端口,将所述报文的目的IP地址修改为真实服务器的IP地址。其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。基于与上述方法同样的申请构思,本申请实施例还提供一种报文传输的装置,应用于真实服务器上。其中,该报文传输的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的真实服务器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图7所示,为本申请提出的报文传输的装置所在的真实服务器的一种硬件结构图,除了图7所示的处理器、非易失性存储器外,该真实服务器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该真实服务器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图8所示,为本申请提出的报文传输的装置的结构图,包括:维护模块21,用于维护终端设备的IP地址与白名单端口的映射关系表;解析模块22,用于在接收到来自负载均衡设备的报文后,从所述报文中解析出白名单端口;处理模块23,用于通过所述白名单端口查询所述映射关系表,得到所述白名单端口对应的IP地址。所述处理模块23,还用于确定所述真实服务器的全局白名单状态;若所述全局白名单状态为未启动,则对所述报文进行处理;若所述全局白名单状态为启动,则通过所述白名单端口查询所述映射关系表;若所述映射关系表中未存在所述白名单端口,则丢弃所述报文;若所述映射关系表中存在所述白名单端口,且所述白名单端口对应局部开启,则丢弃所述报文;若所述映射关系表中存在所述白名单端口,且所述白名单端口对应全局开启,则利用所述白名单端口对应的IP地址对所述报文进行处理。其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1