CN106911778A - 一种流量引导方法和系统 - Google Patents
一种流量引导方法和系统 Download PDFInfo
- Publication number
- CN106911778A CN106911778A CN201710106793.9A CN201710106793A CN106911778A CN 106911778 A CN106911778 A CN 106911778A CN 201710106793 A CN201710106793 A CN 201710106793A CN 106911778 A CN106911778 A CN 106911778A
- Authority
- CN
- China
- Prior art keywords
- request
- program
- proxy server
- client
- proxy
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 238000012360 testing method Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量引导方法和系统,所述方法包括以下步骤:在代理服务器上部署客户端程序,所述客户端程序用于向服务端发送请求;配置所述代理服务器上的iptables规则,使得所述客户端程序所发出的请求被识别,并被所述代理服务器上的代理服务程序接收;所述代理服务程序接收所述请求,获取所述请求的原始目的IP地址和原始目的端口,并向所述请求的原始目的IP地址和原始目的端口发送所述请求。本发明把客户端程序和代理服务程序均部署在同一代理服务器上,将客户端程序向服务端发起的请求引导到代理服务程序上,由代理服务程序来访问服务端。此外,本发明还提供了一种流量引导系统。
Description
技术领域
本发明涉及网络流量引导技术领域,特别涉及一种流量引导方法和系统。
背景技术
随着计算机网络技术的不断发展,互联网技术已成为人类生活的重要组成部分。用户对网络的传输速率及用户请求的反馈速度要求越来越大。在最初的技术架构中,用户的请求数据直接发送到服务端,服务端根据用户请求进行处理后,再直接返回给用户。由于用户和服务端之间可能存在地理位置距离远、归属不同的网络运营商、线路受损、线路过载等问题,用户与服务端之间的通信会出现传输慢、反馈慢、费用高、传输中断等现象。如此一来,不仅影响了用户的上网体验,也增加了内容提供商的成本,甚至带来其他不可预估的损失。
随着技术的改良和进步,现有技术中,通过在用户和服务端之间增加代理服务器来进行数据传输路径的优化,代理服务器接收用户向服务端发出的请求,并根据网络状态选择较佳路径进行传输,发送至服务端。代理服务器上运行的代理服务程序的功能就是为用户请求选择较佳路径。
在对代理服务器进行测试时,需要至少一台测试机通过路由器与代理服务器连接,并在测试机上部署客户端程序,客户端程序向服务端发起的请求通过路由器传送到代理服务器上,代理服务器上的代理服务程序对客户端程序发往服务端的请求进行路径选择,并通过选择的路径发送到服务端。
上述测试方法的缺点是:(1)需要提供测试机,增加了设备成本;(2)测试时需要为测试机引导流量配置路由;(3)测试工作涉及多台设备,操作繁琐。
发明内容
为了解决上述技术的问题,本发明实施例提供了一种流量引导方法和系统。所述技术方案如下:
一种流量引导方法,包括以下步骤:
在代理服务器上部署客户端程序,用于向服务端发送请求;
配置代理服务器上的iptables规则,使得客户端程序所发出的请求被识别,并被
代理服务器上的代理服务程序接收;
代理服务程序接收请求,获取请求的原始目的IP(Internet Protocol,网络协议)地址和原始目的端口,并向请求的原始目的IP地址和原始目的端口发送请求。
本发明一较佳实施例中,在配置iptables规则步骤前更包含步骤:指定客户端程
序的组标识。
本发明一较佳实施例中,配置iptables规则步骤包含:将属于客户端程序的组标
识的TCP(Transmission Control Protocol,传输控制协议)请求的目的IP地址和目的端口
重定向为代理服务程序监听的IP地址和TCP端口。
本发明一较佳实施例中,代理服务程序通过getsockopt函数获取所述请求的原始目的IP地址和原始目的端口。
本发明一较佳实施例中,配置iptables规则的步骤包含:将属于所述客户端程序
的组标识的UDP(User Datagram Protocol,用户数据报协议)请求通过透明代理来建立与
所述代理服务程序的联系,并对所述UDP协议请求进行标记。
本发明一较佳实施例中,所述UDP协议请求通过所述透明代理注册一个target到netfilter,所述target使得所述UDP协议请求能够被所述代理服务程序监听的端口所接收。
本发明一较佳实施例中,配置iptables规则的步骤包含:将属于客户端程序的组
标识的ICMP(Internet Control Message Protocol,互联网控制报文协议)请求进行标记。
本发明一较佳实施例中,配置iptables规则步骤之前,更包含步骤:在所述代理服
务器上配置策略路由,指定所述被标记请求所要查找的路由表,并在所述代理服务器上配
置路由,在所述路由表中添加默认路由规则,把所述被标记的请求发往本地还回接口,从而
被所述代理服务程序接收。
此外本发明还提供一种流量引导系统,包括:代理服务器,用于把部署在代理服务器上的客户端程序向服务端发送的数据包重定向到部署在代理服务器的代理服务程序上,再由代理服务程序来访问服务端;服务端,与代理服务器连接,用于接收代理服务器发来的请求。
进一步的,代理服务器具体包括:配置模块,包含组标识单元,用于指定所述客户
端程序的组标识;iptables配置单元,用于对所述代理服务器上的iptables规则进行配置;
策略路由及路由配置单元,用于对所述代理服务器上的策略路由和路由进行配置,以识别
所述客户端程序向所述服务端发送的请求,并使所述请求被所述代理服务程序接收。
本发明所提供的技术方案中,客户端程序和代理服务程序均部署在同一代理服务
器上,通过对iptables规则进行配置,使得客户端程序所发出的请求流量的传送路径,由原
先的直接从代理服务器的输出端口发出到服务端,被引导至代理服务程序所监听的端口,
并被代理服务程序接收,进而按照代理服务程序所选择的优选路径传输至服务端。,如此一
来,代理服务器上的客户端程序可直接用于代理服务程序的测试,客户端程序向服务端发
送的请求被代理服务程序监听并接收,代理服务程序对所接收到的请求进行路径选择和转
发,从而实现代理服务功能的测试。
由此可见,本发明所提供的技术方案,较于现有技术中的测试方式而言,省却了测试机及连接设备,不仅节省了设备资源和维护成本,而且无需单独再为测试机引导流量配置路由,简化了测试架构,节约了开发成本。
值得注意的是,在本发明所提供的技术方案主要实现了代理服务器上的客户端程序的请求流量的重定向,使得同一代理服务器上的代理服务程序能对其进行监听和接收,并转发,这一技术方案不仅可用于代理服务程序的测试,还可以用于其他需求场景,故本说明书虽以本发明在测试中的应用场景为切入点对技术方案进行说明,但并不以此为限。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一较佳实施例所提供的流量引导方法流程图;
图2为本发明另一较佳实施例所提供的流量引导方法流程图;
图3是本发明再一较佳实施例的所提供的流量引导方法流程图;
图4是本发明又一较佳实施例所提供的流量引导方法流程图;
图5是本发明一较佳实施所提供的流量引导系统示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
首先,对本发明说明书中的技术词汇进行解释说明。以下说明是对本发明技术的解释,但本发明并不以此为限。
代理服务器,架设在用户和服务端之间,提供代理服务的服务器,其中,代理服务器所提供的代理服务可实现的内容较多,本发明不再一一赘述,本说明书中以路径选择服务为例进行说明,路径选择服务主要是对用户的访问请求的传输路径进行优化,具体而言,用户A向服务端B发送请求,该请求先被代理服务器接收,代理服务器根据请求的目的地址进行传输路径的选择,并转发至服务端B,在为该请求选择较优路径进行传输时,较优路径的判断,可基于线路是否通畅、链路时延、地理位置、网络运营商归属等方面进行考量,本发明并不对此进行限制。
客户端程序,为用户提供服务操作的应用程序,例如视频播放、购物、音乐、直播等应用程序。用户可通过客户端程序向服务提供商的服务端发送内容的请求,服务端接收客户端程序请求,并根据请求进行回源。
代理服务程序,实现代理服务器业务功能的应用程序,以路径选择为例,代理服务程序可通过其所监听的端口获取请求流量,并对其进行路径选择和转发。
IP地址,是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址)。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
iptables是与Linux内核集成的IP信息包过滤系统,该系统有利于在Linux系统上
更好地控制IP信息包过滤和防火墙配置。Iptables是工作在用户空间中,定义规则的工具,
本身并不算是防火墙。它定义的规则,可以让在内核空间当中的netfilter(网络过滤器)来
读取,并且实现让防火墙工作。iptables工作在内核当中,用来设置、维护和检查Linux内核
的IP包过滤规则,可以将规则组成一个列表,实现绝对详细的访问控制功能。iptables可以
定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则
列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包,也可以跳向同一
个表内的用户定义的链。
组标识,英文group id,Linux系统中的用户分组标识,通过该标识可识别用户所在组别及相应权限。
getsockopt函数,用于获取任意类型、任意状态套接口的选项当前值,并把结果存入optval。
透明代理,是指客户端根本不需要知道有代理服务器的存在,它改变你的requestfields(报文),并会传送真实IP。
netfilter,是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。它提供了一个抽象、通用化的框架,作为中间件,为每种网络协议(IPv4、IPv6等)定义一套钩子函数。Ipv4定义了5个钩子函数,这些钩子函数在数据报流过协议栈的5个关键点被调用,也就是说,IPv4协议栈上定义了5个“允许垂钓点”。在每一个“垂钓点”,都可以让netfilter放置一个“鱼钩”,把经过的网络包(Packet)钓上来,与相应的规则链进行比较,并根据审查的结果,决定包的下一步命运,即是被原封不动地放回IPv4协议栈,继续向上层递交;还是经过一些修改,再放回网络;或者干脆丢弃掉。
target,指的是通过iptables注册到netfilter的规则所对应的操作,也就是要对
规则匹配到的数据包进行的操作,比如ACCEPT(接受)、DROP(丢弃)等。
raw socket,即原始套接字,可以接收本机网卡上的数据帧或者数据包,用于监听网络的流量和分析。
本发明提供的流量引导方法的一种实施方式,请参照图1,图1为本发明一较佳实施例所提供的流量引导方法流程图。如图1所示,本实施例中的流量引导方法包括以下步骤:
步骤S101,在代理服务器上部署客户端程序。客户端程序用于向服务端发送各种协议类型的请求,包括TCP(Transmission Control Protocol,传输控制协议)请求、UDP(User Datagram Protocol,用户数据报协议)请求和ICMP(Internet Control MessageProtocol,互联网控制报文协议)请求等。
步骤S102,配置代理服务器上的iptables规则,使得客户端程序所发出的请求被
识别,并被代理服务器上的代理服务程序监听。在代理服务器上根据不同的协议请求配置
不同的iptables规则,客户端程序向服务端发出请求后,根据请求的协议类型,按照对应的
iptables规则识别请求,并对请求进行处理,使所述请求先进入代理服务器上的代理服务
程序,被代理服务程序监听。本实施例中,代理服务器通过为客户端设置指定组标识,并根
据组标识来识别客户端所发出的请求,故在本实施例中,更进一步的,在步骤S102前更包含
步骤:指定客户端程序的组标识。可以理解的是,本发明的其他实施例中,也可使用其他本
领域技术人员所习知的技术手段来实现客户端请求的识别,并不以此为限。
步骤S103,代理服务程序接收请求,获取请求的原始目的IP(Internet Protocol,网络协议)地址和原始目的端口,并向请求的原始目的IP地址和原始目的端口发送请求。
本发明的实施例中,针对不同协议类型的客户端请求所配置的iptables规则有所
差别,以下将分别针对协议类型为TCP、UDP和ICMP的请求的流量引导方法实施例进行说明。
TCP类型的客户端请求的流量引导方法请参照图2,图2为本发明另一较佳实施例所提供的流量引导方法流程图,如图2所示,本实施例的流量引导方法包含以下步骤:
步骤S201,在代理服务器上部署客户端程序。客户端程序用于向服务端发送请求。
步骤S202,指定客户端程序的组标识。为代理服务器上部署好的客户端程序配置指定的组标识。
步骤S203,配置代理服务器上的iptables规则,使得客户端程序所发出的TCP协议
请求被识别,并被代理服务器上的代理服务程序监听。具体而言,通过对代理服务器上的
iptables规则进行配置,代理服务器可通过组标识来识别客户端程序所发出的请求并判断
请求的协议类型,当请求的协议类型为TCP时,将该请求的目的IP地址和目的端口重定向
(redirect)为代理服务程序监听的IP地址和TCP端口,从而实现客户端程序的TCP请求被代
理服务程序监听并接收。
步骤S204,代理服务程序接收所述请求,获取所述请求的原始目的IP地址和原始目的端口,并向所述请求的原始目的IP地址和原始目的端口发送所述请求。具体而言,代理服务程序通过其所监听的IP地址和TCP端口获取请求数据,并通过getsockopt函数获取请求的原始目的IP地址和原始目的端口,进行相应的代理服务,例如,传输路径选择,并将所述请求发送至原始目的IP地址和原始目的端口。对客户端程序所发出的请求实现代理服务功能。
UDP类型的客户端请求的流量引导方法请参照图3,图3为本发明又一较佳实施例所提供的流量引导方法流程图,如图3所示,本实施例的流量引导方法包含以下步骤:
步骤S301,在代理服务器上部署客户端程序。客户端程序用于向服务端发送请求。
步骤S302,指定客户端程序的组标识。为代理服务器上部署好的客户端程序配置指定的组标识。
步骤S303,配置代理服务器上的iptables规则,使得客户端程序所发出的请求被
识别,并被代理服务器上的代理服务程序监听。具体而言,通过对代理服务器上的iptables
规则进行配置,代理服务器可通过组标识来识别客户端程序所发出的请求并判断请求的协
议类型,当请求的协议类型为UDP时,通过透明代理(tproxy)来建立与代理服务程序的联
系,并对所述UDP协议请求进行标记M1。具体而言,客户端的UDP协议请求通过透明代理注册
一个target到netfilter,该target使得该请求能够被代理服务程序监听的端口所接收,从
而建立了请求与代理服务程序之间的联系。为了代理服务程序能够接收到该请求,本实施
例更包含步骤S304,对代理服务器上的策略路由和路由进行配置,具体而言,在代理服务器
上配置策略路由,指定被标记为M1的请求所要查找的路由表,并在代理服务器上配置路由,
在路由表中添加默认路由规则,把被标记为M1的请求发往本地还回接口,从而被所述代理
服务程序接收。
步骤S305,代理服务程序接收所述请求,获取所述请求的原始目的IP地址和原始目的端口,并向所述请求的原始目的IP地址和原始目的端口发送所述请求。具体而言,透明代理把客户端UDP协议请求的原始目的IP地址和原始目的端口与代理服务程序建立了一个联系,请求被发到被代理服务程序所监听的本地还回接口以后,就可以通过这种联系,把使请求被代理服务程序接收,并进行相应的代理服务,例如传输路径选择,并将所述请求发送至原始目的IP地址和原始目的端口,对客户端程序所发出的请求实现代理服务功能。值得注意的是,由于并未对UDP协议请求的原始目的IP地址和原始目的端口进行任何修改,故代理服务程序可直接从请求信息中获取其原始目的IP地址和原始目的端口。
ICMP类型的客户端请求的流量引导方法请参照图4,图4为本发明再一较佳实施例所提供的流量引导方法流程图,如图4所示,本实施例的流量引导方法包含以下步骤:
步骤S401,在代理服务器上部署客户端程序。客户端程序用于向服务端发送请求。
步骤S402,指定客户端程序的组标识。为代理服务器上部署好的客户端程序配置指定的组标识。
步骤S403,配置代理服务器上的iptables规则,使得客户端程序所发出的请求被
识别,并被代理服务器上的代理服务程序监听。具体而言,通过对代理服务器上的iptables
规则进行配置,代理服务器可通过组标识来识别客户端程序所发出的请求并判断请求的协
议类型,当请求的协议类型为ICMP时,对所述ICMP协议请求进行标记M2。
步骤S404,对代理服务器上的策略路由和路由进行配置,具体而言,在代理服务器上配置策略路由,指定被标记为M2的请求所要查找的路由表,并在代理服务器上配置路由,在路由表中添加默认路由规则,把被标记为M2的请求发往本地还回接口,从而被所述代理服务程序接收。由于ICMP使用的是raw socket,只要把ICMP协议请求路由到本地还回接口以后,由于本地还回接口被代理服务程序所监听,代理服务器程序就能够通过raw socket接收到这个请求。
步骤S405,代理服务程序接收所述请求,获取所述请求的原始目的IP地址和原始目的端口,并向所述请求的原始目的IP地址和原始目的端口发送所述请求。具体而言,客户端的ICMP协议请求被发到本地还回接口以后,代理服务程序通过raw socket接收,并进行相应的代理服务,例如,传输路径选择,并将所述请求发送至原始目的IP地址和原始目的端口。对客户端程序所发出的请求实现代理服务功能。值得注意的是,由于并未对UDP协议请求的原始目的IP地址和原始目的端口进行任何修改,故代理服务程序可直接从请求信息中获取其原始目的IP地址和原始目的端口。
由此可见,本发明所提供的流量引导方法可使代理服务程序接收到部署在同一代理服务器上的客户端程序所发送的TCP协议请求、UDP协议请求和ICMP协议请求进行接收,并进行代理服务。这一技术可应用代理服务器的代理功能测试中,从而省却了测试设备,简化了测试环境部署工作,节省开发成本。
本发明还提供了一种流量引导系统,请参照图5,图5为本发明一较佳实施所提供的流量引导系统示意图,如图5所示,流量引导系统1包括代理服务器100和服务端200。
代理服务器100部署有客户端程序110和代理服务程序120,服务端200,与代理服务器100连接,接收代理服务器100发来的请求,客户端程序110向服务端200发出的请求被代理服务程序120接收,代理服务程序120对该请求就行代理服务,并将该请求发送给服务端200。
代理服务器100更包含配置模块130,其中配置模块130包含组标识单元131,用于
指定客户端程序110的组标识;iptables配置单元132,用于对代理服务器100上的iptables
规则进行配置;策略路由及路由配置单元133,用于对代理服务器100上的策略路由和路由
进行配置,通过配置模块130中各单元的配置可使代理服务器100识别客户端程序110向服
务端200发送的请求,并使该些请求述代理服务程序120接收。
具体而言,客户端程序110部署在代理服务器100上,可向服务端200发送请求,该
些请求包含不同的协议类型,协议类型主要包括TCP(Transmission Control Protocol,传
输控制协议)、UDP(User Datagram Protocol,用户数据报协议)和ICMP(Internet Control
Message Protocol,互联网控制报文协议)等。配置模块130的组标识单元131为客户端程序
配置指定的组标识,如此一来,客户端程序所发出的请求信息中包含该指定的组标识,通过
iptables配置单元132对代理服务器100上的iptables规则的配置,使得代理服务器100可
根据指定的组标识识别出客户端程序所发出的请求,并根据不同协议类型的请求进行相应
的处理,使得代理服务程序120接收到客户端程序110所发送的请求。针对上述三种协议类
型的请求,分别进行以下配置:
(1)TCP协议请求:将客户端程序110发出的TCP请求的目的IP地址和目的端口重定向为代理服务程序120所监听的IP地址和TCP端口。
(2)UDP协议请求:将客户端程序110发出的UDP请求通过透明代理来建立与代理服务程序120的联系,并对所述UDP协议请求进行标记。具体而言,UDP协议请求通过透明代理注册一个target到netfilter,所述target使得所述UDP协议请求能够被代理服务程序120监听的端口所接收。
(3)ICMP协议请求:将客户端程序发出的ICMP请求进行标记。
通过上述iptables规则的配置,客户端程序110发出的TCP协议请求可被代理服务
程序120监听并接收,但UDP协议请求和ICMP协议请求还无法被代理服务程序120所接收,还
需通过策略路由及路由配置单元133对代理服务器100上的策略路由和路由进行配置。策略
路由及路由配置单元133在对代理服务器上的策略路由进行配置,指定被标记请求所要查
找的路由表,并在代理服务器100上配置路由,在路由表中添加默认路由规则,把被标记的
请求发往本地还回接口,从而被所述代理服务程序120接收。
经过配置模块130中的各配置单元的配置,代理服务器100上的客户端程序110所发出的三种协议类型的请求都能被代理服务程序120所接收,客户端程序110所发出的请求流量的传送路径,由原先的直接从代理服务器100的输出端口发出到服务端200,被引导至代理服务程序120所监听的端口,并被代理服务程序120接收,进而按照代理服务程序120所选择的优选路径传输至服务端200。
综上所述,本发明所提供的技术方案中,客户端程序和代理服务程序均部署在同一代理服务器上,将客户端程序向服务端发起的请求引导到代理服务程序上,由代理服务程序来访问服务端。该技术可应用于代理服务程序的测试,去掉了现有方法中的测试机,节省测试机的设备资源和维护成本,无需单独再为测试机引导流量配置路由,可以在一台设备上完成测试操作。同时现有技术方案所使用的应用程序也无需修改即可使用,节约了开发成本。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种流量引导方法,其特征在于,包括以下步骤:
在代理服务器上部署客户端程序,所述客户端程序用于向服务端发送请求;
配置所述代理服务器上的iptables规则,使得所述客户端程序所发出的请求被识别,并被所述代理服务器上的代理服务程序接收;
所述代理服务程序接收所述请求,获取所述请求的原始目的IP地址和原始目的端口,并向所述请求的原始目的IP地址和原始目的端口发送所述请求。
2.如权利要求1所述的流量引导方法,其特征在于,在所述配置iptables规则步骤前更包含步骤:指定所述客户端程序的组标识。
3.如权利要求2所述的流量引导方法,其特征在于,所述配置iptables规则步骤包含:将属于所述客户端程序的组标识的TCP请求的目的IP地址和目的端口重定向为所述代理服务程序监听的IP地址和TCP端口。
4.如权利要求3所述的流量引导方法,其特征在于,所述代理服务程序通过getsockopt函数获取所述请求的原始目的IP地址和原始目的端口。
5.如权利要求2所述的流量引导方法,其特征在于,所述配置iptables规则的步骤包含:将属于所述客户端程序的组标识的UDP协议请求通过透明代理来建立与所述代理服务程序的联系,并对所述UDP协议请求进行标记。
6.如权利要求5所述的流量引导方法,其特征在于,所述UDP协议请求通过所述透明代理注册一个target到netfilter,所述target使得所述UDP协议请求能够被所述代理服务程序监听的端口所接收。
7.如权利要求2所述的流量引导方法,其特征在于,所述配置iptables规则的步骤包含:将属于所述客户端程序的组标识的ICMP协议请求进行标记。
8.如权利要求5或7所述的流量引导方法,其特征在于,所述配置iptables规则步骤之前,更包含步骤:在所述代理服务器上配置策略路由,指定所述被标记请求所要查找的路由表,并在所述代理服务器上配置路由,在所述路由表中添加默认路由规则,把所述被标记的请求发往本地还回接口,从而被所述代理服务程序接收。
9.一种流量引导系统,其特征在于,包括:
代理服务器,部署有客户端程序和代理服务程序;
服务端,与所述代理服务器连接,接收所述代理服务器发来的请求;其中所述客户端程序发出的请求被所述代理服务程序接收,并由所述代理服务程序发送给所述服务端。代理服务器,部署有客户端程序和代理服务程序;
服务端,与所述代理服务器连接,接收所述代理服务器发来的请求;其中所述客户端程序发出的请求被所述代理服务程序接收,并由所述代理服务程序发送给所述服务端。
10.如权利要求9所述的流量引导系统,其特征在于,所述代理服务器更包括:
配置模块,包含组标识单元,用于指定所述客户端程序的组标识;
iptables配置单元,用于对所述代理服务器上的iptables规则进行配置;
策略路由及路由配置单元,用于对所述代理服务器上的策略路由和路由进行配置,以识别所述客户端程序向所述服务端发送的请求,并使所述请求被所述代理服务程序接收。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710106793.9A CN106911778A (zh) | 2017-02-27 | 2017-02-27 | 一种流量引导方法和系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710106793.9A CN106911778A (zh) | 2017-02-27 | 2017-02-27 | 一种流量引导方法和系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN106911778A true CN106911778A (zh) | 2017-06-30 |
Family
ID=59207957
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710106793.9A Pending CN106911778A (zh) | 2017-02-27 | 2017-02-27 | 一种流量引导方法和系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106911778A (zh) |
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107317816A (zh) * | 2017-07-05 | 2017-11-03 | 北京信息职业技术学院 | 一种基于客户端应用程序鉴别的网络访问控制方法 |
| CN107483593A (zh) * | 2017-08-22 | 2017-12-15 | 网宿科技股份有限公司 | 双向透明代理方法及系统 |
| CN107508757A (zh) * | 2017-08-15 | 2017-12-22 | 网宿科技股份有限公司 | 多进程负载均衡方法及装置 |
| CN107743079A (zh) * | 2017-09-29 | 2018-02-27 | 网宿科技股份有限公司 | 线路探测方法、设备及计算机可读存储介质 |
| CN107749821A (zh) * | 2017-10-18 | 2018-03-02 | 福建星网智慧软件有限公司 | 一种基于Linux策略路由扩展实现网络物理端口绑定的方法 |
| CN107846470A (zh) * | 2017-11-16 | 2018-03-27 | 网宿科技股份有限公司 | 一种流量引导的方法和系统 |
| CN108121507A (zh) * | 2017-12-06 | 2018-06-05 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置以及电子设备 |
| CN108400974A (zh) * | 2018-02-02 | 2018-08-14 | 网宿科技股份有限公司 | 一种流量引导的方法和移动终端 |
| CN109150725A (zh) * | 2018-07-09 | 2019-01-04 | 网宿科技股份有限公司 | 流量疏导方法及服务器 |
| CN109361784A (zh) * | 2018-12-07 | 2019-02-19 | 成都知道创宇信息技术有限公司 | 一种在四层代理网络环境下获取客户端真实ip的方法 |
| CN111447144A (zh) * | 2020-04-01 | 2020-07-24 | 中核武汉核电运行技术股份有限公司 | 一种基于透明代理的应用路由方法 |
| CN111510478A (zh) * | 2020-04-07 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 请求处理方法、装置、系统及电子设备 |
| CN112087395A (zh) * | 2020-08-28 | 2020-12-15 | 浪潮云信息技术股份公司 | 一种服务形式的分级流量控制方法 |
| CN113783713A (zh) * | 2020-08-04 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种配置代理的方法、装置和系统 |
| CN116266838A (zh) * | 2021-12-17 | 2023-06-20 | 深信服科技股份有限公司 | 一种流量镜像方法、装置及相关设备 |
| CN116318801A (zh) * | 2022-12-26 | 2023-06-23 | 中国人民解放军战略支援部队信息工程大学 | 一种soho路由器数据修改方法 |
| CN116600369A (zh) * | 2023-05-31 | 2023-08-15 | 亿次网联(杭州)科技有限公司 | 一种电子设备联网方法、电子设备、移动终端及可读存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070214262A1 (en) * | 2000-02-25 | 2007-09-13 | Anywheremobile, Inc. | Personal server technology with firewall detection and penetration |
| CN101119239A (zh) * | 2007-07-24 | 2008-02-06 | 中兴通讯股份有限公司 | 一种离线的测试执行构造方法及装置 |
| CN101309183A (zh) * | 2008-05-04 | 2008-11-19 | 北京深思洛克数据保护中心 | 一种远程测试和开发软件保护装置的方法 |
| CN101847118A (zh) * | 2009-03-24 | 2010-09-29 | 迈普通信技术股份有限公司 | 自动化测试系统 |
| US20140068705A1 (en) * | 2012-08-31 | 2014-03-06 | Benjamin A. Chambers | Method for cloud-based access control policy management |
-
2017
- 2017-02-27 CN CN201710106793.9A patent/CN106911778A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070214262A1 (en) * | 2000-02-25 | 2007-09-13 | Anywheremobile, Inc. | Personal server technology with firewall detection and penetration |
| CN101119239A (zh) * | 2007-07-24 | 2008-02-06 | 中兴通讯股份有限公司 | 一种离线的测试执行构造方法及装置 |
| CN101309183A (zh) * | 2008-05-04 | 2008-11-19 | 北京深思洛克数据保护中心 | 一种远程测试和开发软件保护装置的方法 |
| CN101847118A (zh) * | 2009-03-24 | 2010-09-29 | 迈普通信技术股份有限公司 | 自动化测试系统 |
| US20140068705A1 (en) * | 2012-08-31 | 2014-03-06 | Benjamin A. Chambers | Method for cloud-based access control policy management |
Non-Patent Citations (2)
| Title |
|---|
| LVSHAOONG: "iptables+tproxy实现ss-redir的UDP转发的方法(https://blog.csdn.net/lvshaorong/article/details/53203674)", 《CSDN论坛》 * |
| 钱燕: "《实用计算机网络计算——基础、组网和维护实验指导》", 31 May 2011, 清华大学出版社 * |
Cited By (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107317816B (zh) * | 2017-07-05 | 2020-06-12 | 北京信息职业技术学院 | 一种基于客户端应用程序鉴别的网络访问控制方法 |
| CN107317816A (zh) * | 2017-07-05 | 2017-11-03 | 北京信息职业技术学院 | 一种基于客户端应用程序鉴别的网络访问控制方法 |
| CN107508757A (zh) * | 2017-08-15 | 2017-12-22 | 网宿科技股份有限公司 | 多进程负载均衡方法及装置 |
| CN107508757B (zh) * | 2017-08-15 | 2021-11-19 | 网宿科技股份有限公司 | 多进程负载均衡方法及装置 |
| CN107483593B (zh) * | 2017-08-22 | 2019-12-31 | 网宿科技股份有限公司 | 双向透明代理方法及系统 |
| CN107483593A (zh) * | 2017-08-22 | 2017-12-15 | 网宿科技股份有限公司 | 双向透明代理方法及系统 |
| US10791094B2 (en) | 2017-08-22 | 2020-09-29 | Wangsu Science & Technology Co., Ltd. | Method and system for bidirectional transparent proxying |
| WO2019037120A1 (zh) * | 2017-08-22 | 2019-02-28 | 网宿科技股份有限公司 | 双向透明代理方法及系统 |
| CN107743079A (zh) * | 2017-09-29 | 2018-02-27 | 网宿科技股份有限公司 | 线路探测方法、设备及计算机可读存储介质 |
| CN107749821A (zh) * | 2017-10-18 | 2018-03-02 | 福建星网智慧软件有限公司 | 一种基于Linux策略路由扩展实现网络物理端口绑定的方法 |
| CN107749821B (zh) * | 2017-10-18 | 2020-05-29 | 福建星网智慧软件有限公司 | 一种基于Linux策略路由扩展实现网络物理端口绑定的方法 |
| CN107846470B (zh) * | 2017-11-16 | 2021-06-22 | 网宿科技股份有限公司 | 一种流量引导的方法和系统 |
| CN107846470A (zh) * | 2017-11-16 | 2018-03-27 | 网宿科技股份有限公司 | 一种流量引导的方法和系统 |
| CN108121507A (zh) * | 2017-12-06 | 2018-06-05 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置以及电子设备 |
| CN108121507B (zh) * | 2017-12-06 | 2021-04-02 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置以及电子设备 |
| CN108400974B (zh) * | 2018-02-02 | 2021-11-19 | 网宿科技股份有限公司 | 一种流量引导的方法和移动终端 |
| CN108400974A (zh) * | 2018-02-02 | 2018-08-14 | 网宿科技股份有限公司 | 一种流量引导的方法和移动终端 |
| CN109150725A (zh) * | 2018-07-09 | 2019-01-04 | 网宿科技股份有限公司 | 流量疏导方法及服务器 |
| CN109361784A (zh) * | 2018-12-07 | 2019-02-19 | 成都知道创宇信息技术有限公司 | 一种在四层代理网络环境下获取客户端真实ip的方法 |
| CN109361784B (zh) * | 2018-12-07 | 2021-09-21 | 成都知道创宇信息技术有限公司 | 一种在四层代理网络环境下获取客户端真实ip的方法 |
| CN111447144A (zh) * | 2020-04-01 | 2020-07-24 | 中核武汉核电运行技术股份有限公司 | 一种基于透明代理的应用路由方法 |
| CN111510478A (zh) * | 2020-04-07 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 请求处理方法、装置、系统及电子设备 |
| CN111510478B (zh) * | 2020-04-07 | 2022-06-24 | 支付宝(杭州)信息技术有限公司 | 请求处理方法、装置、系统及电子设备 |
| CN113783713A (zh) * | 2020-08-04 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种配置代理的方法、装置和系统 |
| CN112087395A (zh) * | 2020-08-28 | 2020-12-15 | 浪潮云信息技术股份公司 | 一种服务形式的分级流量控制方法 |
| CN116266838A (zh) * | 2021-12-17 | 2023-06-20 | 深信服科技股份有限公司 | 一种流量镜像方法、装置及相关设备 |
| CN116318801A (zh) * | 2022-12-26 | 2023-06-23 | 中国人民解放军战略支援部队信息工程大学 | 一种soho路由器数据修改方法 |
| CN116318801B (zh) * | 2022-12-26 | 2024-07-12 | 中国人民解放军战略支援部队信息工程大学 | 一种soho路由器数据修改方法 |
| CN116600369A (zh) * | 2023-05-31 | 2023-08-15 | 亿次网联(杭州)科技有限公司 | 一种电子设备联网方法、电子设备、移动终端及可读存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106911778A (zh) | 一种流量引导方法和系统 | |
| US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
| CN108449282B (zh) | 一种负载均衡方法及其装置 | |
| US10237230B2 (en) | Method and system for inspecting network traffic between end points of a zone | |
| CN105830395B (zh) | 用于促进分析的基于会话的分组路由 | |
| EP3044914B1 (en) | Enhanced network virtualization using metadata in encapsulation header | |
| US10771475B2 (en) | Techniques for exchanging control and configuration information in a network visibility system | |
| US9838261B2 (en) | Method, apparatus, and system for providing network traversing service | |
| CN104954245B (zh) | 业务功能链处理方法及装置 | |
| EP3996350B1 (en) | Backup service function notification and synchronization | |
| CN114363410B (zh) | 应用访问方法、云端代理及节点代理组件、设备、介质 | |
| CN107147588B (zh) | 流量引导方法和装置 | |
| CN107046506B (zh) | 一种报文处理方法、流分类器和业务功能实例 | |
| CN102571613A (zh) | 一种转发报文的方法及网络设备 | |
| WO2020083269A1 (zh) | 一种建立多路径连接的子流的方法、装置和系统 | |
| US20130212241A1 (en) | System and method for operating network based on network virtualization | |
| CN115766560A (zh) | 数据转发方法、装置、路由器及存储介质 | |
| CN116668558A (zh) | 一种针对udp协议流量实行动态访问控制的方法及系统 | |
| WO2015165249A1 (zh) | 一种建立业务路径的方法和设备 | |
| CN102946350B (zh) | 一种基于优先级的数据传输方法和设备 | |
| CN113709016B (zh) | 通信系统以及通信方法、装置、设备和存储介质 | |
| CN102201996A (zh) | 网络地址转换环境中报文转发的方法及设备 | |
| CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
| CN108848198A (zh) | 一种多业务转发模式AP的Portal差异化推送方法 | |
| CN118233379A (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 | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170630 |
|
| RJ01 | Rejection of invention patent application after publication |