CN107205005A - 一种链路层透明的应用层代理通信实现方法 - Google Patents
一种链路层透明的应用层代理通信实现方法 Download PDFInfo
- Publication number
- CN107205005A CN107205005A CN201610154605.5A CN201610154605A CN107205005A CN 107205005 A CN107205005 A CN 107205005A CN 201610154605 A CN201610154605 A CN 201610154605A CN 107205005 A CN107205005 A CN 107205005A
- Authority
- CN
- China
- Prior art keywords
- link layer
- message
- transparent
- client
- mac
- 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
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/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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
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
本发明公开了一种链路层透明的应用层代理通信实现方法包括以下步骤:创建链路层透明模块来接收客户端向服务器端发送的报文或服务器端响应客户端回复的报文;通过链路层透明模块学习客户端或服务器端的ip和mac信息后将报文送到代理引擎;通过代理引擎模拟客户端向服务器发送报文或模拟服务器端向客户端回复响应;在透明代理的基础上,创建链路层透明模块,来自动学习维护客户端的mac和ip信息、服务器端的mac和ip信息,并在透明代理中替换客户端与服务器交互的报文中的源mac,使得链路层无法感知透明代理的存在,从而实现链路层透明,解决了链路层转发错乱的问题。
Description
技术领域
本发明涉及互联网应用技术领域,尤其涉及一种链路层透明的应用层代理通信实现方法。
背景技术
在应用层代理技术中,传统的正向代理和反向代理技术都会改变原始TCP/IP连接中的IP地址和端口,无法实现透明传输。在近几年技术发展中,出现了一种透明代理技术,即代理的中介保持了原始TCP/IP连接中的IP地址不变,从而在IP层以上实现了数据的透明传输,在一定程度上解决了代理中介隐藏的问题。在网络通信领域中,使得以代理模式工作的传输设备或软件、增值业务设备或软件能够不改变原有的网络传输拓扑结构,在接入部署上更加的简化。
在网络传输过程中,数据二层交换的原理采用了基于MAC地址的链路层数据转发。代理技术中,无论是反向代理、正向代理以及透明代理,多需要代理者分别与前后端建立TCP/IP连接。众所周知,TCP/IP连接的建立和数据转发过程中,到了链路层转发,需要基于MAC来决策转发路径。在初始报文的发送过程中,系统中缺少对应的MAC转发表,则需要进行MAC地址学习,在学习过程中,TCP/IP协议栈利用本地的IP地址和MAC地址向外部发起请求来学习,这样导致接收到MAC地址请求的接收方看到的MAC地址与代理前原始报文的MAC地址不一致,从而无法实现链路层的透明。在业务系统环境中,如果采用透明代理,将使得一个IP地址,对应了多个MAC地址,而导致数据报文转发错乱,甚至错误判断为系统中存在了ARP欺骗行为。
现有的透明代理技术保持了原始TCP/IP连接中的IP地址不变,从而在IP层以上实现了数据的透明传输,在一定程度上解决了代理隐藏的问题,但链路层仍然不是透明的。因此,在一些网络规划严格的业务系统中,存在着因为链路不透明的问题,而导致应用错误的问题。
发明内容
鉴于目前互联网应用技术领域存在的上述不足,本发明提供一种链路层透明的应用层代理通信实现方法,在透明代理的基础上,解决了链路层转发错乱的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一种链路层透明的应用层代理通信实现方法,所述链路层透明的应用层代理通信实现方法包括以下步骤:
通过链路层透明模块来接收客户端向服务器端发送的报文或服务器端响应客户端回复的报文;
通过链路层透明模块学习客户端或服务器端的ip和mac信息,记录到表中,然后将报文上送最终送到代理引擎;
通过代理引擎模拟客户端向服务器端发送报文或模拟服务器端向客户端回复响应;
通过链路层透明模块把其学习到的mac信息替换到对应的代理引擎模拟的报文中的源mac。
本发明实施的优点:本发明所述的链路层透明的应用层代理通信实现方法包括以下步骤:创建链路层透明模块来接收客户端向服务器端发送的报文或服务器端响应客户端回复的报文;通过链路层透明模块学习客户端或服务器端的ip和mac信息后将报文送到代理引擎;通过代理引擎模拟客户端向服务器发送报文或模拟服务器端向客户端回复响应;在透明代理的基础上,创建链路层透明模块,来自动学习维护客户端的mac和ip信息、服务器端的mac和ip信息,并在透明代理中替换客户端与服务器交互的报文中的源mac,使得链路层无法感知透明代理的存在,从而实现链路层透明,解决了链路层转发错乱的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述的一种链路层透明的应用层代理通信实现方法示意图;
图2为本发明所述的一种链路层透明的应用层代理通信实现方法工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种链路层透明的应用层代理通信实现方法,所述链路层透明的应用层代理通信实现方法包括以下步骤:
步骤S1:
创建链路层透明模块来接收客户端向服务器端发送的报文或服务器端响应客户端回复的报文;
所述链路层透明模块具体可为:底层的链路层透明模块,保存了客户端与代理的流的mac信息和ip信息和代理与服务器的流的mac信息和ip信息。
步骤S2:
通过链路层透明模块学习客户端或服务器端的ip和mac信息,记录到表中,然后将报文上送最终送到代理引擎
步骤S3:
通过代理引擎模拟客户端向服务器端发送报文或模拟服务器端向客户端回复响应;
步骤S4:
发送报文经过链路层透明模块时,链路层透明模块把之前学习到的客户端mac替换到报文中的源mac。在发向服务器的流中的源mac,就是客户端的mac。在链路层没有感知到透明代理的存在,从而实现了客户端到服务器的链路层透明。
透明代理中的代理引擎模拟服务器端向客户端回复响应。代理引擎把报文交给链路层透明代理模块时,链路层透明模块把之前学习到的服务器端mac替换到报文中的源mac。在发向客户端的流中的源mac,就是服务器的mac。在链路层没有感知到透明代理的存在,从而实现了服务器到客户端的链路层透明。
其中,发送报文处理具体可如下:
a)应用层处理完报文后,按照TCPIP协议发送报文;
b)在链路层处理中,在链路层透明代理模块处理,链路层透明模块在接收报文处理中已记录了报文的源ip和源mac信息到表中。在表中找到此报文对应的ip和mac信息,替换到报文中。
在实际应用中,如图2所示,本实施例所述的链路层透明的应用层代理通信实现方法具体工作流程可如下:
1.客户端向服务器端发送报文,在通过链路层透明模块时,链路层透明模块通过流1学习到了客户端的ip和mac信息,然后链路层透明把报文上送到代理引擎。
2.代理引擎模模拟客户端向服务器端发送报文,因遵循标准tcp/ip协议,报文的源mac是透明代理本机的mac。经过链路层透明模块时,链路层透明模块把之前学习到的客户端mac替换到报文中的源mac。在发向服务器的流3中的源mac,就是客户端的mac。在链路层没有感知到透明代理的存在,从而实现了客户端到服务器的链路层透明。
3.服务器响应,向透明代理发送报文。链路层透明模块通过流4学习到了服务器端的ip和mac信息。
4.透明代理中的代理引擎模拟服务器向客户端回复响应。代理引擎把报文交给链路层透明代理模块时,链路层透明模块把之前学习到的服务器端mac替换到报文中的源mac。在发向客户端的流2中的源mac,就是服务器的mac。在链路层没有感知到透明代理的存在,从而实现了服务器到客户端的链路层透明。
本发明实施的优点:本发明所述的链路层透明的应用层代理通信实现方法包括以下步骤:创建链路层透明模块来接收客户端向服务器端发送的报文或服务器端响应客户端回复的报文;通过链路层透明模块学习客户端或服务器端的ip和mac信息后将报文送到代理引擎;通过代理引擎模拟客户端向服务器发送报文或模拟服务器端向客户端回复响应;在透明代理的基础上,创建链路层透明模块,来自动学习维护客户端的mac和ip信息、服务器端的mac和ip信息,并在透明代理中替换客户端与服务器交互的报文中的源mac,使得链路层无法感知透明代理的存在,从而实现链路层透明,解决了链路层转发错乱的问题。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (3)
1.一种链路层透明的应用层代理通信实现方法,其特征在于,所述链路层透明的应用层代理通信实现方法包括以下步骤:
通过链路层透明模块来接收客户端向服务器端发送的报文或服务器端响应客户端回复的报文;
通过链路层透明模块学习并记录客户端或服务器端的ip和mac信息后将报文送到代理引擎;
通过代理引擎模拟客户端向服务器端发送报文或模拟服务器端向客户端回复响应;
通过链路层透明模块把其学习到的mac信息替换到对应的代理引擎模拟的报文中的源mac。
2.根据权利要求其特征在于,所述接收报文包括以下处理步骤:
系统链路层收到报文后,根据标准TCPIP协议解析报文,记录ip和mac信息,并保存到表中。
然后将报文上送给上层继续处理,最终由应用层代理做对应的业务处理。
3.根据权利要求链路层透明的应用层代理通信实现方法,其特征在于,所述发送报文包括以下处理步骤:
应用层处理完报文后,按照TCPIP协议发送报文。在链路层处理中,从之前学习记录的表中,查找到对应的mac,将其替换到报文中,从而实现在客户端和服务器端看来链路层是透明的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610154605.5A CN107205005A (zh) | 2016-03-18 | 2016-03-18 | 一种链路层透明的应用层代理通信实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610154605.5A CN107205005A (zh) | 2016-03-18 | 2016-03-18 | 一种链路层透明的应用层代理通信实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107205005A true CN107205005A (zh) | 2017-09-26 |
Family
ID=59904089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610154605.5A Pending CN107205005A (zh) | 2016-03-18 | 2016-03-18 | 一种链路层透明的应用层代理通信实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107205005A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827627A (zh) * | 2023-06-27 | 2023-09-29 | 江苏元信网安科技有限公司 | 一种基于IPsecVPN的源MAC透传系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249191B1 (en) * | 2002-09-20 | 2007-07-24 | Blue Coat Systems, Inc. | Transparent bridge that terminates TCP connections |
CN102447708A (zh) * | 2012-01-14 | 2012-05-09 | 杭州安恒信息技术有限公司 | 一种应用层透明代理技术的通信实现方法 |
CN102761534A (zh) * | 2011-04-29 | 2012-10-31 | 北京瑞星信息技术有限公司 | 实现媒体接入控制层透明代理的方法和装置 |
CN103428095A (zh) * | 2013-08-26 | 2013-12-04 | 深信服网络科技(深圳)有限公司 | 一种代理服务器及其代理方法 |
CN103491065A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种透明代理及其实现方法 |
-
2016
- 2016-03-18 CN CN201610154605.5A patent/CN107205005A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249191B1 (en) * | 2002-09-20 | 2007-07-24 | Blue Coat Systems, Inc. | Transparent bridge that terminates TCP connections |
CN102761534A (zh) * | 2011-04-29 | 2012-10-31 | 北京瑞星信息技术有限公司 | 实现媒体接入控制层透明代理的方法和装置 |
CN102447708A (zh) * | 2012-01-14 | 2012-05-09 | 杭州安恒信息技术有限公司 | 一种应用层透明代理技术的通信实现方法 |
CN103491065A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种透明代理及其实现方法 |
CN103428095A (zh) * | 2013-08-26 | 2013-12-04 | 深信服网络科技(深圳)有限公司 | 一种代理服务器及其代理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827627A (zh) * | 2023-06-27 | 2023-09-29 | 江苏元信网安科技有限公司 | 一种基于IPsecVPN的源MAC透传系统及方法 |
CN116827627B (zh) * | 2023-06-27 | 2023-12-26 | 江苏元信网安科技有限公司 | 一种基于IPsecVPN的源MAC透传系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102025535B (zh) | 虚拟机管理方法、装置及网络设备 | |
CN103179192B (zh) | 虚拟服务器迁移的报文转发方法、系统及nat服务设备 | |
CN102801820B (zh) | 一种evi网络中mac地址发布方法和装置 | |
CN106686070A (zh) | 一种数据库数据迁移方法、装置、终端及系统 | |
CN103404084A (zh) | Mac地址强制转发装置及方法 | |
CN102281180A (zh) | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 | |
CN104410655B (zh) | 基于命名机制的分布式网络的存储系统及方法 | |
CN109379291A (zh) | 一种组网中服务请求的处理方法及装置 | |
CN101924699A (zh) | 报文转发处理方法、系统和运营商边缘设备 | |
CN104869125A (zh) | 基于sdn的动态防mac地址欺骗方法 | |
CN103491156A (zh) | 一种基于融合通信实现圈子与群组同步的方法及系统 | |
CN110944068A (zh) | 从重复网络地址自动恢复 | |
CN102916897A (zh) | 一种实现vrrp负载分担的方法和设备 | |
CN112333030B (zh) | 用于私有网络间通信的方法、装置、电子设备及存储介质 | |
CN106254379A (zh) | 网络安全策略的处理系统及处理方法 | |
CN104660597A (zh) | 三层认证方法、装置及三层认证交换机 | |
CN106921551A (zh) | 虚拟通信方法、系统及设备 | |
CN107911496A (zh) | 一种vpn服务端代理dns的方法及装置 | |
CN104205729A (zh) | 网络中的设备配置方法、设备和系统 | |
CN105357329A (zh) | 跨idc网络环境下业务数据的传输方法、装置及系统 | |
CN112162828B (zh) | 一种基于云边场景的容器网络协同系统和协同方法 | |
CN109672618A (zh) | 冗余接口处理方法、装置、服务器及存储介质 | |
CN107205005A (zh) | 一种链路层透明的应用层代理通信实现方法 | |
US10630582B1 (en) | Scalable border gateway protocol routing | |
CN103281406A (zh) | Vm云间迁移的报文转发方法及nat服务器和网络 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170926 |