CN112039801B - 设置ip信息的方法、系统和代理服务器 - Google Patents
设置ip信息的方法、系统和代理服务器 Download PDFInfo
- Publication number
- CN112039801B CN112039801B CN202010698847.7A CN202010698847A CN112039801B CN 112039801 B CN112039801 B CN 112039801B CN 202010698847 A CN202010698847 A CN 202010698847A CN 112039801 B CN112039801 B CN 112039801B
- Authority
- CN
- China
- Prior art keywords
- information
- client
- data message
- server
- data packet
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000005538 encapsulation Methods 0.000 claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及通信领域,公开了一种设置IP信息的方法、系统和代理服务器。设置IP信息的方法,包括:将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中;由运行在应用层的用户态程序从所述缓存组件中获取所述数据报文;由所述用户态程序将所述客户端的IP信息添加到所述数据报文中。应用在C/S网络架构下,用于代理服务器对数据报文添加客户端的IP信息。
Description
技术领域
本发明实施例涉及通信领域,特别涉及一种设置IP信息的方法、系统和代理服务器。
背景技术
在当前的客户端/服务器(C/S)网络架构下,为了改善通信链路质量,客户端和服务器之间往往需要通过代理服务器进行通信连接。然而,在代理服务器向服务器转发客户端发送的数据报文时,通常会基于NAT(Network Address Translation,网络地址转换)技术对数据报文中的源地址进行转换,即将客户端的IP信息替换为自身的IP信息,如此一来,服务器只能从数据报文中获取到代理服务器的IP信息,而无法获取真实客户端的IP信息,从而无法实现对真实客户端的数据收集或者其他业务需求。
发明内容
本发明实施方式的目的在于提供一种设置IP信息的方法、装置、系统和服务器,能够为客户端经由代理服务器向服务器传输的数据报文设置客户端的IP信息。
为解决上述技术问题,本发明的实施方式提供了一种设置IP信息的方法,包括:将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中;由运行在系统应用层的用户态程序从所述缓存组件中获取所述数据报文;由所述用户态程序将所述客户端的IP信息添加到所述数据报文中。
本发明的实施方式还提供了一种代理服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的设置IP信息的方法。
本发明的实施方式还提供了一种设置IP信息的系统,包括:
客户端,用于通过代理服务器向服务器发送数据报文;
所述代理服务器,用于接收所述客户端发送的所述第一数据报文,并基于上述设置IP信息的方法将所述客户端的IP信息添加至发送给所述服务器的第二数据报文中;
所述服务器,用于接收所述代理服务器发送的所述第二数据报文,从所述第二数据报文中解析出所述IP信息。
本发明实施方式相对于现有技术而言,只需要将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中,即可以由运行在系统应用层的用户态程序直接对缓存组件中的数据报文进行修改,将客户端的IP信息添加到数据报文中,解决了现有技术无法在数据包为中添加客户端的IP信息的问题。由于本发明实施方式可实现由运行在代理服务器应用层的用户态程序直接对数据报文进行修改,使得添加IP信息的操作简单,易于实现。
另外,本发明实施方式提供的IP信息的设置方法,所述将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中包括:通过iptable将完成网络层封装后的客户端发送的数据报文存储到预先设置的nf_queue中。
另外,本发明实施方式提供的IP信息的设置方法,所述由所述用户态程序将所述客户端的IP信息添加到所述数据报文中,包括:由所述用户态程序从所述数据报文的tcp_option字段确定存储位置;由所述用户态程序将所述客户端的IP信息添加到所述存储位置中。本发明实施方式相对于现有技术而言,可以在tcp_option字段确定存储位置,并将IP信息添加到该存储位置中,可以更合理的利用tcp_option字段的空闲资源,避免和tcp_option字段中其他信息占用资源相同而产生冲突,进而提高了在数据报文中添加IP信息的有效性,避免添加失败的问题。
另外,本发明实施方式提供的IP信息的设置方法,所述由所述用户态程序从所述数据报文的tcp_option字段确定存储位置,包括:确定所述数据报文发往的目的服务器;获取与所述目的服务器预先协商的存储位置,确定为在tcp_option字段添加所述客户端的IP信息的存储位置。
另外,本发明实施方式提供的IP信息的设置方法,所述将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中之前,还包括:判断服务器是否需要获取所述客户端的IP信息,获取判断结果;所述将客户端发送的数据报文存储到预先设置的缓存组件中替换为:如果所述判断结果为服务器需要获取所述客户端的IP信息,将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中。发明实施方式相对于现有技术而言,判断服务器是否需要获取所述客户端的IP信息,根据判断结果将客户端发送的数据报文存储到预先设置的缓存组件中,使得本发明实施方式提供的技术方案,无需对所有客户端发送的数据报文均添加IP信息,可以有选择、有针对性地为数据报文添加客户端的IP信息,更加节省了添加IP信息所占用的处理资源。
另外,本发明实施方式提供的IP信息的设置方法,所述判断服务器是否需要获取所述客户端的IP信息,获取判断结果包括:获取所述数据报文的类型,根据所述数据报文的类型判断服务器是否需要获取所述客户端的IP信息,获取判断结果;和/或,接收所述服务器发送的IP信息获取指示,根据所述IP信息获取指示判断服务器是否需要获取所述客户端的IP信息,获取判断结果。
另外,本发明实施方式提供的IP信息的设置方法,所述由运行在系统应用层的用户态程序从所述缓存组件中获取所述数据报文之后,还包括:由所述用户态程序将所述客户端的相关信息添加到所述数据报文中。发明实施方式相对于现有技术而言,不仅可以在数据报文中添加客户端的IP信息,还可以添加其他与客户端相关的信息,使得本发明实施方式提供的技术方案应用范围更广。
另外,本发明实施方式提供的IP信息的设置方法,由所述用户态程序将所述客户端的IP信息添加到所述数据报文中之后,还包括:所述用户态程序将添加所述IP信息的数据报文存储回所述缓存组件;将所述缓存组件中的添加所述IP信息的数据报文转发给服务器。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式提供的设置IP信息的方法的流程图;
图2是本发明的第二实施方式提供的设置IP信息的方法的流程图;
图3是图2所示的本发明的第二实施方式提供的设置IP信息的方法中步骤103的流程图;
图4是本发明的第三实施方式提供的设置IP信息的方法的流程图;
图5是本发明的第四实施方式提供的设置IP信息的方法的流程图;
图6是本发明的第五实施方式提供的设置IP信息的装置的结构示意图一;
图7是图6所示的本发明的第五实施方式提供的设置IP信息的装置中添加模块603的结构示意图;
图8是本发明的第五实施方式提供的设置IP信息的装置的结构示意图二;
图9是图8所示的本发明的第五实施方式提供的设置IP信息的装置中判断模块604的结构示意图;
图10是本发明的第六实施方式提供的设置IP信息的系统的结构示意图;
图11是本发明的第七实施方式提供的代理服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种设置IP信息的方法,可应用于代理服务器,其流程如图1所示,包括:
步骤101,将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中。
步骤102,由运行在系统应用层的用户态程序从缓存组件中获取数据报文。
步骤103,由用户态程序将客户端的IP信息添加到数据报文中。
本发明实施方式相对于现有技术而言,只需要将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中,即可以由运行在系统应用层的用户态程序直接对缓存组件中的数据报文进行修改,将客户端的IP信息添加到数据报文中,解决了现有技术无法在数据包为中添加客户端的IP信息的问题。由于本发明实施方式由运行在体统应用层的用户态程序直接对数据报文进行修改,使得添加IP信息的操作简单,易于实现。
本发明的第二实施方式涉及一种设置IP信息的方法,可应用于代理服务器,其流程如图2所示,包括:
步骤101,将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中。
在步骤101前,还包括代理服务器获取客户端发送的数据报文,其中,代理服务器获取客户端发送的报文的方式可包含将客户端发送给服务器的数据报文进行拦截,或其他代理服务中的常用方式,在此不再赘述。代理服务器在获取到客户端发送的数据报文后,会对其进行逐级解析,得到请求数据,并对请求数据进行封装,最终形成发送给服务器的数据报文。
举例而言,客户端通过代理服务器向源站服务器发送第一数据报文A,以请求相应的资源;代理服务器接收到第一数据报文A后,需对接进行解析、封装,得到第二数据报文B,进而将第二数据报文B发送至源站服务器,从而实现对客户端请求的代理。具体而言,以TCP/IP四层模型为例,代理服务器在对第一数据报文A解析再封装的过程中,先后经由应用层、传输层、网络层、数据链路层的封装,以完成第二数据报文B的构建,在本步骤中,当完成了传输层的封装后,可将得到的中间数据报文存储到预先设置的缓存组件中,其中该完成传输层封装后的中间数据报文可以是传输层报文、或网络层报文(即完成了网络层封装)、或数据链路层报文(即完成了数据链路层封装),具体根据缓存组件的存储机制来确定。
例如,预先设置的缓存组件具体可以为nf_queue,由于nf_queue的接口位于网络层,那么可以通过设置iptables规则,对网络层数据报文进行捕获(即完成了网络层封装的数据报文),并存储到nf_queue中。其中,nf_queue队列可用于将数据报文委托给用户态应用程序裁决如何处理数据包,用户态应用程序可以使用libnetfilter_queue库连接到nf_queue队列获取包含了数据报文的内核消息,并为数据报文做出一个裁决。
当然,以上仅为举例,在实际的使用过程中,缓存组件还可以为其他能够直接存储数据报文存,并且能够让应用层获取该数据报文的组件,步骤101也可以通过自定义方式将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件,此处不对每种情况进行一一赘述。
步骤102,由运行在系统应用层的用户态程序从缓存组件中获取数据报文。
在本实施方式中,通过将数据报文存在缓存组件中,使得运行在系统应用层的用户态程序可直接从缓存组件中获取数据报文,从而可进一步实现在系统应用层对数据报文的处理。
在一实施中,若缓存组件为nf_queue,那么用户态应用程序可以使用libnetfilter_queue库连接到nf_queue队列获取包含了数据报文的内核消息。
步骤103,由用户态程序将客户端的IP信息添加到数据报文中。
具体地,如图3所示,步骤103可以包括:
步骤301,由用户态程序从数据报文的tcp_option字段确定存储位置。
在本实施方式中,步骤301可以根据预先设置的存储规则从数据报文的tcp_option字段确定存储位置,此存储规则可以是与对应的服务器预先协商确定的,例如:存储规则为占用8字节,首字节为tcp_option字段的第2字节,则此时,步骤301确定的存储位置为tcp_option字段第2-9字节;步骤301也可以根据服务器发送的IP信息设置指令,从数据报文的tcp_option字段确定存储位置,例如:步骤301可以接收服务器发送的IP信息设置指令,该IP信息设置指令包括:占用8字节,首字节为tcp_option字段的第2字节等信息,步骤301根据该IP信息设置指令确定的存储位置为tcp_option字段第2-9字节。当然,以上两种方法仅为具体的举例说明,在实际的使用过程中步骤301还可以通过其他方法从数据报文的tcp_option字段确定存储位置,此处不对每种情况进行一一赘述。
步骤302,由用户态程序将客户端的IP信息添加到存储位置中。
其中,客户端的IP信息可包含客户端IP、端口、设备信息或其他服务器需要获取的信息。
需要说明的是,如果步骤301据预先设置的存储规则从数据报文的tcp_option字段确定存储位置,为了使服务器能够从数据报文中准确地解析出客户端的IP信息,步骤301之后还可包括将存储位置发送给服务器,以供服务器根据该存储位置查找到客户端的IP信息的步骤。
通过如图3所示的步骤,可以在tcp_option字段确定存储位置,并将IP信息添加到该存储位置中,可以更合理的利用tcp_option字段的空闲资源,避免和tcp_option字段中其他信息占用资源相同而产生冲突,进而提高了在数据报文中添加IP信息的有效性,避免添加失败的问题。
步骤104,由用户态程序对基于步骤103修改后的传输层数据报文重新计算校验和,并将校验和写入该数据报文的TCP头部。
步骤105,由用户态程序将步骤104获得的数据报文回传给缓存组件。
在一实施中,用户态程序将步骤104获得的数据包verdict回nf_queue,并设置iptables为accept。
步骤106,将步骤105获得的缓存组件中的数据报文发送给服务器,以供服务器从数据报文中解析出客户端的IP信息。
需要理解的是,本实施方式中,步骤105获得的缓存组件中的数据报文发送给服务器并不是直接将客户端发送的数据报文直接发送给服务器,而是需要根据现有的协议或者代理规则等进行层层封装后再发送给服务器,因此,代理服务器可在对数据报文进行封装的过程中实现上述IP信息设置方法。
在本实施方式中,服务器在接收到代理服务器发送的数据报文后,可以通过对数据报文的tcp_option字段中的内容进行解析,并获取客户端的IP信息。
本发明实施方式相对于现有技术而言,只需要将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中,即可以由运行在系统应用层的用户态程序直接对缓存组件中的数据报文进行修改,将客户端的IP信息添加到数据报文中,解决了现有技术无法在数据包为中添加客户端的IP信息的问题。由于本发明实施方式由运行在体统应用层的用户态程序直接对数据报文进行修改,使得添加IP信息的操作简单,易于实现。
本发明的第三实施方式涉及一种设置IP信息的方法,该方法与第一实施方式所述的基本相同,其区别在于,如图4所示,在步骤101之前,还包括:
步骤107,判断服务器是否需要获取客户端的IP信息,获取判断结果。
在本实施方式中,步骤107可以通过两种方式实现:
一种是,获取数据报文的类型,根据数据报文的类型判断服务器是否需要获取客户端的IP信息,获取判断结果,例如,仅需对TCP报文进行IP信息的设置;或进行对特定应用发出的报文进行IP信息设置,具体可根据实际业务需求进行设定。
另一种是,接收服务器发送的IP信息获取指示,根据IP信息获取指示判断服务器是否需要获取客户端的IP信息,获取判断结果。
需要说明的是,本实施方式不对IP信息获取指示包含的具体内容进行限定,在实际的使用过程中,服务器可以根据需要设置IP信息获取指示的内容,例如:可以设置IP信息获取指示的内容为:获取移动终端的IP信息,或者获取安卓系统终端的IP信息等,此处不对每种情况进行一一赘述。
当然以上两种判断判断服务器是否需要获取客户端的IP信息,获取判断结果的方法仅为本实施方式的具体举例,在实际的使用过程中,本领域技术人员还可以通过其他方法判断,此处不再赘述。
此时,步骤101替换为步骤101’,如果判断结果为服务器需要获取客户端的IP信息,将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中。
发明实施方式相对于现有技术而言,判断服务器是否需要获取所述客户端的IP信息,根据判断结果将客户端发送的数据报文存储到预先设置的缓存组件中,使得本发明实施方式提供的技术方案,无需对所有客户端发送的数据报文均添加IP信息,可以有选择、有针对性地为数据报文添加客户端的IP信息,更加节省了添加IP信息所占用的处理资源。
本发明的第四实施方式涉及一种设置IP信息的方法,该方法与第一实施方式所述的基本相同,其区别在于,如图5所示,步骤102之后,还可以包括:
步骤108,由用户态程序将客户端的相关信息添加到数据报文中。
步骤108的具体实现方法与步骤103的实现方法相同,此处不再赘述。需要说明的是,本实施方式不对客户端的相关信息进行限定,在实际的使用过程中,客户端的相关信息可以为客户端的硬件信息,如:客户端的MAC地址、硬件配置参数等,也可以为客户端的软件信息,如客户端使用的软件版本等,当然,还可以为其他信息,此出不做一一赘述。
本实施方式不对步骤108在步骤102之后的具体位置进行限定,为了便于理解,本实施方式以步骤108在步骤103之后执行为例进行说明
发明实施方式相对于现有技术而言,不仅可以在数据报文中添加客户端的IP信息,还可以添加其他与客户端相关的信息,使得本发明实施方式提供的技术方案应用范围更广。
本发明的第五实施方式涉及一种设置IP信息的装置,如图6所示,包括:
存储模块601,用于将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中;
第一获取模块602,用于由运行再系统应用层的用户态程序从所述缓存组件中获取所述数据报文;
添加模块603,用于由所述用户态程序将所述客户端的IP信息添加到所述第一获取模块602获取的所述数据报文中。
进一步地,如图7所示,添加模块603包括:
确定子模块701,用于从所述数据报文的tcp_option字段确定存储位置;
添加子模块702,用于由所述用户态程序将所述客户端的IP信息添加到所述确定子模块701确定的所述存储位置中。
进一步地,如图8所示,设置IP信息的装置,还包括:
判断模块604,用于判断服务器是否需要获取所述客户端的IP信息,获取判断结果;
所示存储模块601,还用于如果所述判断模块604的判断结果为服务器需要获取所述客户端的IP信息,将完成传输层封装的客户端发送的数据报文存储到预先设置的缓存组件中。
进一步地,如图9所示,判断模块604可以包括:
第一判断子模块901,用于获取所述数据报文的类型,根据所述数据报文的类型判断服务器是否需要获取所述客户端的IP信息,获取判断结果;和/或,
第二判断子模块902,用于接收所述服务器发送的IP信息获取指示,根据所述IP信息获取指示判断服务器是否需要获取所述客户端的IP信息,获取判断结果。
进一步地,添加模块603,还用于由所述用户态程序将所述客户端的相关信息添加到所述数据报文中。
本发明实施方式提供的设置IP信息的装置具体实现方法可以参见本发明实施方式提供的设置IP信息的方法所述,此处不再赘述。
本发明的第六实施方式涉及一种IP信息的系统,如图10所示,包括:
客户端1001,用于通过代理服务器1002向服务器1003发送第一数据报文;
所述代理服务器1002,用于接收所述客户端1001发送的所述第一数据报文,并基于上述方法实施例将所述客户端的IP信息添加至发送给所述服务器的第二数据报文中,其中,第二数据报文基于对第一数据报文的解析和封装得到;
所述服务器1003,用于接收所述第二数据报文,从所述第二数据报文中解析出所述IP信息。
本发明实施方式提供的设置IP信息的系统具体实现方法可以参见本发明实施方式提供的设置IP信息的方法所述,此处不再赘述。
本发明第七实施方式涉及一种代理服务器,如图11所示,包括:
至少一个处理器1101;以及,
与所述至少一个处理器1101通信连接的存储器1102;其中,
所述存储器1102存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器1101执行,以使所述至少一个处理器1101能够执行本发明实施方式所述的设置IP信息的方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (9)
1.一种设置IP信息的方法,其特征在于,包括:
将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中;所述数据报文包括传输层报文、网络层报文或数据链路层报文;
由运行在系统应用层的用户态程序从所述缓存组件中获取所述数据报文;
由所述用户态程序将所述客户端的IP信息添加到所述数据报文中;
所述由所述用户态程序将所述客户端的IP信息添加到所述数据报文中,包括:
由所述用户态程序从所述数据报文的tcp_option字段确定存储位置;
由所述用户态程序将所述客户端的IP信息添加到所述存储位置中。
2.根据权利要求1所述的方法,其特征在于,所述将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中包括:
通过iptable将完成网络层封装后的客户端发送的数据报文存储到预先设置的nf_queue中。
3.根据权利要求1所述的方法,其特征在于,所述由所述用户态程序从所述数据报文的tcp_option字段确定存储位置包括:
确定所述数据报文发往的目的服务器;
获取与所述目的服务器预先协商的存储位置,确定为在tcp_option字段添加所述客户端的IP信息的存储位置。
4.根据权利要求1所述的方法,其特征在于,所述将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中之前,还包括:
判断服务器是否需要获取所述客户端的IP信息,获取判断结果;
所述将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中替换为:
如果所述判断结果为服务器需要获取所述客户端的IP信息,将完成传输层封装后的客户端发送的数据报文存储到预先设置的缓存组件中。
5.根据权利要求4所述的方法,其特征在于,所述判断服务器是否需要获取所述客户端的IP信息,获取判断结果包括:
获取所述数据报文的类型,根据所述数据报文的类型判断服务器是否需要获取所述客户端的IP信息,获取判断结果;和/或,
接收所述服务器发送的IP信息获取指示,根据所述IP信息获取指示判断服务器是否需要获取所述客户端的IP信息,获取判断结果。
6.根据权利要求1所述的方法,其特征在于,所述由运行在系统应用层的用户态程序从所述缓存组件中获取所述数据报文之后,还包括:
由所述用户态程序将所述客户端的相关信息添加到所述数据报文中。
7.根据权利要求1所述的方法,其特征在于,由所述用户态程序将所述客户端的IP信息添加到所述数据报文中之后,还包括:
由所述用户态程序将添加所述IP信息的数据报文存储回所述缓存组件;
将所述缓存组件中的添加所述IP信息的数据报文转发给服务器。
8.一种代理服务器,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的设置IP信息的方法。
9.一种设置IP信息的系统,其特征在于,包括:
客户端,用于通过代理服务器向服务器发送第一数据报文;
所述代理服务器,用于接收所述客户端发送的所述第一数据报文,并基于权利要求1至7中任意一项所述的设置IP信息的方法将所述客户端的IP信息添加至发送给所述服务器的第二数据报文中;
所述服务器,用于接收所述代理服务器发送的所述第二数据报文,从所述第二数据报文中解析出所述IP信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010698847.7A CN112039801B (zh) | 2020-07-20 | 2020-07-20 | 设置ip信息的方法、系统和代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010698847.7A CN112039801B (zh) | 2020-07-20 | 2020-07-20 | 设置ip信息的方法、系统和代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039801A CN112039801A (zh) | 2020-12-04 |
CN112039801B true CN112039801B (zh) | 2022-12-20 |
Family
ID=73579301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010698847.7A Expired - Fee Related CN112039801B (zh) | 2020-07-20 | 2020-07-20 | 设置ip信息的方法、系统和代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039801B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037812A (zh) * | 2022-06-06 | 2022-09-09 | 国科华盾(北京)科技有限公司 | 一种面向容器云场景的网络模式数据处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399838A (zh) * | 2008-10-29 | 2009-04-01 | 成都市华为赛门铁克科技有限公司 | 报文处理方法、装置和系统 |
CN101465844A (zh) * | 2007-12-18 | 2009-06-24 | 华为技术有限公司 | 一种防火墙穿越方法、系统和设备 |
CN102571999A (zh) * | 2010-12-31 | 2012-07-11 | 中兴通讯股份有限公司 | 一种数据传输方法、系统及接入网关 |
CN103023942A (zh) * | 2011-09-27 | 2013-04-03 | 奇智软件(北京)有限公司 | 一种服务器负载均衡方法、装置及系统 |
CN106412147A (zh) * | 2016-11-18 | 2017-02-15 | 北京派网软件有限公司 | 一种ip地址被动定位方法及装置 |
CN108064443A (zh) * | 2017-09-30 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种代理转发方法和装置、代理服务器和多级代理网络 |
CN110535879A (zh) * | 2019-09-23 | 2019-12-03 | 中星科源(北京)信息技术有限公司 | 一种原始地址传输方法、系统、存储介质和处理器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2768483C (en) * | 2011-12-30 | 2019-08-20 | Sandvine Incorporated Ulc | Systems and methods for managing quality of service |
-
2020
- 2020-07-20 CN CN202010698847.7A patent/CN112039801B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465844A (zh) * | 2007-12-18 | 2009-06-24 | 华为技术有限公司 | 一种防火墙穿越方法、系统和设备 |
CN101399838A (zh) * | 2008-10-29 | 2009-04-01 | 成都市华为赛门铁克科技有限公司 | 报文处理方法、装置和系统 |
CN102571999A (zh) * | 2010-12-31 | 2012-07-11 | 中兴通讯股份有限公司 | 一种数据传输方法、系统及接入网关 |
CN103023942A (zh) * | 2011-09-27 | 2013-04-03 | 奇智软件(北京)有限公司 | 一种服务器负载均衡方法、装置及系统 |
CN106412147A (zh) * | 2016-11-18 | 2017-02-15 | 北京派网软件有限公司 | 一种ip地址被动定位方法及装置 |
CN108064443A (zh) * | 2017-09-30 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种代理转发方法和装置、代理服务器和多级代理网络 |
CN110535879A (zh) * | 2019-09-23 | 2019-12-03 | 中星科源(北京)信息技术有限公司 | 一种原始地址传输方法、系统、存储介质和处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN112039801A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2913972A1 (en) | Resource subscription method and device | |
CN108848025B (zh) | 数据处理方法、智能网关、物联网系统 | |
CN111629030A (zh) | 基于边缘计算平台的通信处理方法、装置、介质及设备 | |
EP3054650A1 (en) | Method, device and system for redirecting data service proxy | |
CN113596017B (zh) | 一种协议解析方法、装置、软网关和存储介质 | |
CN112003937A (zh) | 卫星数据传输方法、装置、计算机设备、存储介质 | |
CN113114706B (zh) | 基于电力芯片的多通道以太网报文处理方法 | |
US11917523B2 (en) | Polymorphic network control system and method supporting mobile access of terminal | |
WO2022007964A1 (zh) | 测试系统、方法、装置、设备及存储介质 | |
CN111935017A (zh) | 跨网络的应用调用方法、装置及路由设备 | |
US20160119848A1 (en) | Method for service data management, apparatus, and system | |
CN112039801B (zh) | 设置ip信息的方法、系统和代理服务器 | |
CN114422617B (zh) | 一种报文处理方法、系统及计算机可读存储介质 | |
CN114815782A (zh) | 远程诊断方法、装置、设备与介质 | |
US11196792B2 (en) | Method, device and system for transmitting data | |
CN114301576A (zh) | 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置 | |
US11394580B2 (en) | Data transmission | |
CN117395195A (zh) | 通信方法、装置、设备及存储介质 | |
CN104284383B (zh) | 一种保持业务连续性的方法和装置 | |
WO2021031092A1 (zh) | 报文处理方法及网络设备 | |
CN114915555B (zh) | 网关驱动通信方法、装置、设备及存储介质 | |
CN108400974B (zh) | 一种流量引导的方法和移动终端 | |
US20230078814A1 (en) | Data transmission method and related device | |
CN111147597A (zh) | 文件传输方法、终端、电子设备及存储介质 | |
CN114095572B (zh) | 数据搬运方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20221220 |