CN111884916A - 一种基于多网口计算机实现透明传输的代理网关系统 - Google Patents
一种基于多网口计算机实现透明传输的代理网关系统 Download PDFInfo
- Publication number
- CN111884916A CN111884916A CN202010721729.3A CN202010721729A CN111884916A CN 111884916 A CN111884916 A CN 111884916A CN 202010721729 A CN202010721729 A CN 202010721729A CN 111884916 A CN111884916 A CN 111884916A
- Authority
- CN
- China
- Prior art keywords
- computer
- network
- target
- port
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于多网口计算机实现透明传输的代理网关系统,用于解决代理网关的先天缺陷,在支持交换网络的技术优势的同时,实现以下能力:(1)可以无需设置网关,并且局域网内可以实际部署多台网关,并且可以自动寻找适合的网关并通过其进行通讯;(2)支持两个区域网、多个局域网的同网段IP配置,同时支持多个局域网不同网段IP配置的互联互通;(3)无须调整子网掩码;(4)支持网络层、传输层的通讯过程中,进行通讯的双方,数据报文中的源IP、源端口、目标IP、目标端口等地质信息进行透明传输对接,确保在代理过程中无须改变;(5)支持基于基础并网规则的基础上,进行更多局域网的并网,并且允许多个局域网的串联和并联。
Description
技术领域
本发明涉及网络传输领域,不同于交换机、路由器等基础网络传输设备,特别适用于行业内常用的代理、网关技术领域。
背景技术
代理网关,当前IT行业中主要有两种类型:(1)转发网关;(2)NAT 网关。
当有两个独立局域网(局域网OA、局域网OB)要进行互联互通时,常用的一种网络连接方式是附图1的组网结构,通过具备双网口的计算机OG同时接入两个局域网(局域网OA、局域网OB),将局域网OA中的计算机(OA1、 OA2)的网络配置的网关设定为计算机OG在局域网OA中的IP地址 (192.168.1.1),将局域网OB中的计算机(OB1、OB2)的网络配置的网关设定为计算机OG在局域网OB中的IP地址(192.168.2.1)。当计算机OA1 (192.168.1.101)要访问计算机OB2(192.168.2.202)时,网络数据包会由交换机OASW转发给网关(计算机OG)的网口1(192.168.1.1),计算机OG 通过网口1收到的数据包,将根据目标IP地址(192.168.2.202)选择通过网口2(192.168.2.1)转发给交换机OBSW,然后由交换机OBSW转发给计算机OB2。在该转发过程中,如果局域网OA中的两台计算机(OA1、OA2)同一时间段发送数据包给局域网OB的同一台计算机(OB2),并且计算机OA1发出的数据包的源端口(假设源端口为1000)与计算机OA2发出的数据包的源端口(假设源端口为1000)相同,网关计算机OG为了能够区分其中的差异,在转发时会进行以下处理,相应数据包的源地址都转换成为计算机OG的网口 2的IP地址(192.168.2.1),对应的源端口将由网关计算机OG虚拟创建两个不同的端口(比如:30001、30002),并记忆局域网OA相应的来源(OA1:192.168.1.101:1000——192.168.2.1:30001, OA2:192.168.1.102:1000——192.168.2.1:30002)。
该组网结构,具备以下先天性的缺陷:(1)无法支持局域网A、局域网 B的计算机全部使用同一个网段的IP地址,比如都采用:192.168.1.xxx/24 网段配置;(2)计算机OA1(192.168.1.101)发出的数据包,发出时的源 IP地址(192.1681.101),抵达计算机OB2(192.168.2.202)起源IP地址已经变换成为网关计算机OG的网口2的IP地址(192.168.2.1)。(3)要进行跨局域网通讯,必须设置网关,否则不能超出子网掩码以及当前交换机/ 集线器所限制的局域网。(4)在该转发过程中,数据包的源端口会由网关计算机OG进行临时生成,不能预测会被分配的新端口。
本发明能够有效解决上述问题,形成特有技术,简化组网难度,应用于特殊业务场景提供优秀体验,使得某些需要“透明传输”的需求能够获得满足。
发明内容
本发明的目的在于解决代理网关的先天缺陷,在支持交换网络的技术优势的同时,实现以下能力:(1)局域网内的计算机可以无需设置网关,并且局域网内可以实际部署多台网关,并且局域网内的计算机可以自动寻找适合的网关并通过其进行通讯,具体请参见附图11。(2)支持两个区域网、多个局域网的同网段IP配置,同时支持多个局域网不同网段IP配置的互联互通; (3)在实现前述多局域网互联互通时,无须调整子网掩码。(4)支持网络层、传输层的通讯过程中,进行通讯的双方,数据报文中的源IP、源端口、目标IP、目标端口等地质信息进行透明传输对接,确保在代理过程中无须改变。(5)支持基于基础并网规则的基础上,进行更多局域网的并网,并且允许多个局域网的串联和并联。
为实现上述目的,本发明提出了一种基于多网口计算机实现透明传输的代理网关系统,其特征在于,包括网口及子网管理子系统100、ARP地址解析管理子系统200、网口通讯管控子系统300,所述ARP地址解析管理系统200 包括ARP广播监听模块201、ARP定向解析模块202、ARP广播相应模块203、 ARP地址映射表204,所述网口通讯管控子系统300包括入口数据包监控模块 301、出口数据包组装发出模块302。
优选的,3个及以上的多个局域网通过一个透明网关系统进行互联互通。另外,根据操作系统或者特殊软件的支持,本发明还适用于透明网关系统部署的计算机CG多个网口配置同一个网络IP、部分相同部分不同、全部不同的情况,本发明还适用于各个网口所配置的IP其子网掩码不同的情况。
优选的,其特征在于,该透明网关系统将部署于典型的双网口计算机CG 上。
局域网CA中,包含了两台计算机(CA1、CA2),计算机CA1的配置如下 (IP:192.168.1.101/24,MAC:0A-11-22-33-44-01),计算机CA2的配置如下(IP:192.168.1.102/24,MAC:0A-11-22-33-44-02)。
局域网CB中,包含了两台计算机(CB1、CB2),计算机CB1的配置如下 (IP:192.168.1.201/24,MAC:0A-11-22-33-44-03),计算机CB2的配置如下(IP:192.168.1.202/24,MAC:0A-11-22-33-44-04)。
交换机CSW1、CSW2都为三层交换机。在通过透明网关系统将两个局域网连通的网络结构中,在遵循单个局域网IP地址不得重复的前提下,也不得出现两个局域网的任意两台计算机的IP地址设置重复。本发明支持两个局域网网段相同,也支持两个局域网网段不同。
优选的,网口及子网管理子系统100,根据当前计算机CG的网口,网口 1的配置如下(IP:192.168.1.1/24,MAC:0A-11-22-33-44-A1),网口2的配置如下(IP:192.168.1.2/24,MAC:0A-11-22-33-44-A2)。如果计算机CG有更多网口,可按照同样数据结构进行扩展即可。
优选的,对于一对没有进行过相互通讯的计算机(计算机CA1、计算机 CB1),由计算机CA1发起与计算机CB1的通讯,并假设该通讯将采用传输层常用的协议UDP,上述通讯协议主要采用地址对(源IP、源PORT;目标IP、目标PORT)。以典型的一个通讯来回为例:计算机CA1(源MAC: 0A-11-22-33-44-01,源IP:192.168.1.101,源PORT:1001)发送数据报文抵达计算机CB1(目标MAC:0A-11-22-33-44-03,目标IP:192.168.1.201,目标PORT:1003),然后计算机CB1(源MAC:0A-11-22-33-44-03,源IP: 192.168.1.201,源PORT:1003)回复数据报文抵达计算机CA1(目标MAC: 0A-11-22-33-44-01,目标IP:192.168.1.101,目标PORT:1001)。主要包括以下流程、步骤:
【流程F1】计算机CA1发送数据报文抵达计算机CB1
【步骤S10】计算机CA1发起ARP地址解析请求
【步骤S11】计算机CG监听ARP请求并处理ARP请求
【步骤S12】计算机CA1收到ARP地址解析响应
【步骤S13】计算机CA1准备网络层数据报文
【步骤S14】计算机CA1封装链路层数据报文
【步骤S15】计算机CA1发送链路层数据报文给交换机CSW1
【步骤S16】交换机CSW1转发链路层数据报文给计算机CG
【步骤S17】计算机CG的透明网关系统处理收到的数据报文
【步骤S18】计算机CG发送链路层数据报文给交换机CSW2
【步骤S19】交换机CSW2转发链路层数据报文给计算机CB1
【流程F2】计算机CB1回复数据报文抵达计算机CA1
【步骤S20】计算机CB1准备网络层数据报文
【步骤S21】计算机CB1封装链路层数据报文
【步骤S22】计算机CB1发送链路层数据报文给交换机CSW2
【步骤S23】交换机CSW2转发链路层数据报文给计算机CG
【步骤S24】计算机CG的透明网关系统处理收到的数据报文
【步骤S25】计算机CG发送链路层数据报文给交换机CSW1
【步骤S26】交换机CSW1转发链路层数据报文给计算机CA1
优选的,其特征在于,【流程F1】计算机CA1发送数据报文抵达计算机 CB1
【步骤S10】计算机CA1发起ARP地址解析请求
按照常用通讯管理场景,通讯程序在处理时获得的目标地址信息不含MAC,仅为(源IP:192.168.1.101,源PORT:1001;目标IP:192.168.1.201,目标PORT:1003)。
首先,计算机CA1将在自己的本地ARP缓存中检查目标IP(192.168.1.201) 的匹配MAC地址,没有找到映射记录时,将ARP请求帧广播发送到本地网络 (交换机CSW1管理的局域网CA)询问目标IP(192.168.1.201)的MAC,该 ARP请求帧携带了以下关键信息(发送方IP:192.168.1.101、发送方MAC: 0A-11-22-33-44-01,目标IP:192.168.1.201,目标MAC:00-00-00-00-00-00),表示请求目标IP对应计算机响应告知其MAC。一般情况下,操作系统会根据应用程序的网络通讯请求自动完成该步骤。计算机CA2接收到该ARP请求,发现请求的目标IP与自己的IP不匹配,它将丢弃ARP请求。
【步骤S11】计算机CG监听ARP请求并处理ARP请求
计算机CG上部署的透明网关系统,通过ARP地址解析管理子系统200接管了所有ARP的处理,ARP广播监听模块201在网口1接收到该ARP请求后,分析获得两组信息:(1)网口1所在的局域网有一台计算机,IP:192.168.1.101、 MAC:0A-11-22-33-44-01,该MAC为有效地址。(2)目标IP:192.168.1.201 对应的计算机的MAC,正在被查询。ARP地址解析管理子系统200获得ARP广播监听模块201分析所得第一组信息后,查询ARP地址映射表204是否已经包含该IP(192.168.1.101)的映射记录,如果没有立即新增记录,如果已有并且MAC不一致则进行更新,如果已有并且MAC一致则不做操作。
ARP地址解析管理子系统200获得ARP广播监听模块201分析所得信息后,根据网口及子网管理子系统100的两个网口对应的基础数据记录,对应两个网口的基础数据记录,分别组装两个ARP请求帧,网口1对应的ARP请求帧 (发送方IP:192.168.1.1、发送方MAC:0A-11-22-33-44-A1,目标IP: 192.168.1.201,目标MAC:00-00-00-00-00-00),网口2对应的ARP请求帧 (发送方IP:192.168.1.2、发送方MAC:0A-11-22-33-44-A2,目标IP:192.168.1.201,目标MAC:00-00-00-00-00-00)。将组装完成的两个ARP请求帧,由ARP定向解析模块202通过网口1、网口2对应发出。ARP响应帧,由于数据包的发起者对调,数据包中的发送方、目标与请求帧对倒。如果在网口1收到ARP响应帧,提取ARP响应帧中的信息,更新ARP地址映射表204。如果在网口2收到ARP响应帧,提取ARP响应帧中的信息,则更新ARP地址映射表204,并通过ARP广播响应模块203以代理ARP(代替处于另一个网段的主机回答本网段主机的ARP请求)响应。在本实施例中,在网口2上收到 ARP响应帧:(发送方IP:192.168.1.201、发送方MAC:0A-11-22-33-44-03,目标IP:192.168.1.2、目标MAC:0A-11-22-33-44-A2)。ARP广播响应模块 203以代理ARP的方式发出ARP响应帧,关键数据如下:(发送方IP: 192.168.1.201、发送方MAC:0A-11-22-33-44-A1,目标IP:192.168.1.101、目标MAC:0A-11-22-33-44-01)。【注意:代理ARP响应帧注明的发送方IP 为计算机CB1的IP,但是发送方MAC为计算机CG的网口1的MAC。】
另外,ARP地址解析管理子系统200获得ARP广播监听模块201分析所得信息后,将对当前收到的请求来源(来源网口,发送方MAC,发送方IP,目标IP)进行记录,并对查询获得正确相应进行记录并保存一定时长(比如5 分钟,时间过后视为信息过期进行自动删除),在配置的一定时长内(比如1 分钟)再次接收到该来源网口的查询同一目标IP,不再进行接力查询以及响应处理。对于其他来源(来源网口、发送方MAC,发送方IP)的对于同一目标IP的查询请求,将直接根据当前记录提取信息进行响应。
【步骤S12】计算机CA1收到ARP地址解析响应
计算机CA1收到ARP响应帧,关键数据如下:(发送方IP:192.168.1.201、发送方MAC:0A-11-22-33-44-A1,目标IP:192.168.1.101、目标MAC: 0A-11-22-33-44-01),根据该数据,计算机CA1分析认为发往目标IP (192.168.1.201)的数据报文应当发送给MAC为0A-11-22-33-44-A1的网络设备或计算机。于是,计算机CA1对当前需要发送的数据报文需要用到的地址信息准备完成,源地址:(源MAC:0A-11-22-33-44-01,源IP:192.168.1.101,源PORT:1001),目标地址(目标MAC:0A-11-22-33-44-A1,目标IP: 192.168.1.201,目标PORT:1003)。
【步骤S13】计算机CA1准备网络层数据报文
根据步骤S12获得的地址信息,计算机CA1先准备传输层的数据报文, UDP具体格式请参考附图4,TCP具体格式请参考附图5。本实施例中采用UDP 协议,按照UDP数据报文格式设定:源端口号(同源PORT)为1001,目的端口号(同目标PORT)为1003。计算机CA1按照网络层的IP数据报文格式(请参考附图6),将传输层的数据报文进行封装。按照IP数据报文格式设定:源IP地址(同源IP)为192.168.1.101,目的IP地址(同目标IP)为 192.168.1.201。其他相关数据按照相应协议规范进行填写组装。上述数据报文的组装过程,一般的通讯应用程序自带组装能力。
注意:不同于传统的代理网关,透明网关系统的代理转发,无须对传输层数据报文中的源端口(源PORT)、网络层数据报文(也称为数据分组)中的源IP进行NAT转换。
【步骤S14】计算机CA1封装链路层数据报文
根据步骤S12获得的地址信息,源地址:(源MAC:0A-11-22-33-44-01,源IP:192.168.1.101,源PORT:1001),目标地址(目标MAC:0A-11-22-33-44-A1,目标IP:192.168.1.201,目标PORT:1003),计算机CA1组装链路层数据帧对步骤S13的网络层数据报文进行封装,设定链路层地址信息:(源MAC: 0A-11-22-33-44-01,目标MAC:0A-11-22-33-44-A1),目标MAC指向计算机 CG的网口1。
【步骤S15】计算机CA1发送链路层数据报文给交换机CSW1
链路层数据报文组装完成后,计算机CA1通过底层网络驱动程序,将数据报文发出给局域网CA的交换机CSW1。
【步骤S16】交换机CSW1转发链路层数据报文给计算机CG
交换机CSW1收到该数据报文后,按照上述报文的目标MAC: 0A-11-22-33-44-A1,交换机CSW1将该数据报文发送给计算机CG的网口1。
【步骤S17】计算机CG的透明网关系统处理收到的数据报文
部署在计算机CG上的透明网关系统,网口通讯管控子系统300通过入口数据包监控模块301以数据链路层网络编程的方式,接管监控了计算机CG的所有网口的数据链路层的入口数据包。其具体实现的主要技术,为数据链路层网络编程模式,比较典型的有基于ebtables进行挂接、网络接口混杂模式 (promiscuous mode)、BSD的BSD分组过滤器(BPF)、SVR4的数据链路层提供者接口(DLPI)、Linux的SOCK_PACKET插口,以及Windows环境下的libpcap等等。
入口数据包监控模块301对在网口1上收到的数据报文,进行链路层解析,根据解析获得链路层地址关键信息:(源MAC:0A-11-22-33-44-01,目标MAC:0A-11-22-33-44-A1)。
入口数据包监控模块301对在网口1上收到的数据报文,进行网络层解析,根据解析获得网络层地址关键信息:(源IP:192.168.1.101,目的IP: 192.168.1.201),对目的IP:192.168.1.201从ARP地址映射表204查询,可获知该数据报文的真正接收者(网口:网口2,IP:192.1681.201,MAC: 0A-11-22-33-44-03)。
根据透明传输网关的设计,网络层的代理转发,无须修改源IP,无须修改目标IP。根据透明传输网关的设计,传输层的代理转发,无须修改源PORT,无须修改目标PORT。
网口通讯管控子系统300,重新组装链路层数据帧,因为接收者在网口2,设定源MAC(0A-11-22-33-44-A2,对应网口2),网络层数据报文源IP保留原样不变,设定目标MAC(MAC:0A-11-22-33-44-03)以对应目标IP:192.168.1.201,其他数据按照相应规范进行组装填写。
【步骤S18】计算机CG发送链路层数据报文给交换机CSW2
完成上述数据报文组装后,出口数据包组装发出模块302将链路层数据报文通过网口2发出给局域网CB的交换机CSW2。
【步骤S19】交换机CSW2转发链路层数据报文给计算机CB1
交换机CSW2收到该链路层数据报文,按照数据报文的目标MAC: 0A-11-22-33-44-03,CSW2将该数据报文发送给计算机CB1。
至此,计算机CA1发送给的数据报文(源IP:192.168.1.101,源PORT:1001, 目标IP:192.168.1.201,目标PORT:1003),正确抵达目标计算机(目标IP: 192.168.1.201,目标PORT:1003)。
7、根据权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于,【流程F2】计算机CB1回复数据报文抵达计算机CA1
【步骤S20】计算机CB1准备网络层数据报文
计算机CB1收到交换机CSW2发过来的链路层数据报文,分析提取到其中的地址信息,源地址:(源MAC:0A-11-22-33-44-A2,源IP:192.168.1.101,源PORT:1001),目标地址:(目标MAC:0A-11-22-33-44-03,目标 IP:192.168.1.201,目标PORT:1003)。
根据上述地址信息,对回复数据报文的地址信息设定为(源MAC: 0A-11-22-33-44-03,源IP:192.168.1.201,源PORT:1003;目标MAC: 0A-11-22-33-44-A2,目标IP:192.168.1.101,目标PORT:1001)。
根据上述地址信息,计算机CB1先准备传输层的数据报文,本实施例中采用UDP协议,按照UDP数据报文格式设定:源端口号(同源PORT)为1003,目的端口号(同目标PORT)为1001。
然后按照网络层的IP数据报文格式,将传输层的数据报文进行封装。按照IP数据报文格式设定:源IP地址(同源IP)为192.168.1.201,目的IP 地址(同目标IP)为192.168.1.101。其他相关数据按照相应协议规范进行填写组装。上述数据报文的组装过程,一般的通讯应用程序自带组装能力。
注意:不同于传统的代理网关,透明网关系统对回复数据报文的代理转发,无须对传输层数据报文中的源端口、网络层数据报文(也称为数据分组) 中的源IP进行NAT转换,也意味着在对端计算机设备回复的数据报文经过透明网关系统进行代理转发时,无须进行解析转换。
【步骤S21】计算机CB1封装链路层数据报文
根据步骤S20获得的地址信息,回复数据报文的地址信息设定为(源MAC: 0A-11-22-33-44-03,源IP:192.168.1.201,源PORT:1003;目标MAC: 0A-11-22-33-44-A2,目标IP:192.168.1.101,目标PORT:1001)。计算机CB1 组装链路层数据帧对步骤S20的网络层数据报文进行封装,设定链路层地址信息:(源MAC:0A-11-22-33-44-03,目标MAC:0A-11-22-33-44-A2),目标MAC指向计算机CG的网口2。
【步骤S22】计算机CB1发送链路层数据报文给交换机CSW2
链路层数据报文组装完成后,计算机CB1通过底层网络驱动程序,将数据报文发出给局域网CB的交换机CSW2。
【步骤S23】交换机CSW2转发链路层数据报文给计算机CG
交换机CSW2收到该数据报文后,按照上述报文的目标MAC: 0A-11-22-33-44-A2,交换机CSW1将该数据报文发送给计算机CG的网口2。
【步骤S24】计算机CG的透明网关系统处理收到的数据报文
部署在计算机CG上的透明网关系统,网口通讯管控子系统300通过入口数据包监控模块301接管监控了计算机CG的所有网口的数据链路层的入口数据包。
入口数据包监控模块301对在网口2上收到的数据报文,进行链路层解析,根据解析获得链路层地址关键信息:(源MAC:0A-11-22-33-44-03,目标MAC:0A-11-22-33-44-A2)。
入口数据包监控模块301对在网口2上收到的数据报文,进行网络层解析,根据解析获得网络层地址关键信息:(源IP:192.168.1.201,目标IP: 192.168.1.101),对目标IP:192.168.1.101从ARP地址映射表204查询,可获知该数据报文的真正接收者(网口:网口1,IP:192.1681.101,MAC: 0A-11-22-33-44-01)。
根据透明传输网关的设计,网络层的代理转发,无须修改源IP,无须修改目标IP。根据透明传输网关的设计,传输层的代理转发,无须修改源PORT,无须修改目标PORT。
网口通讯管控子系统300,重新组装链路层数据帧,因为接收者在网口1,设定源MAC(0A-11-22-33-44-A1,对应网口1),网络层数据报文源IP保留原样不变,设定目标MAC(MAC:0A-11-22-33-44-01)以对应目标IP: 192.168.1.101,其他数据按照相应规范进行组装填写。
【步骤S25】计算机CG发送链路层数据报文给交换机CSW1
完成上述数据报文组装后,出口数据包组装发出模块302将链路层数据报文通过网口1发出给局域网CA的交换机CSW1。
【步骤S26】交换机CSW1转发链路层数据报文给计算机CA1
交换机CSW1收到该链路层数据报文,按照数据报文的目标MAC: 0A-11-22-33-44-01,CSW1将该数据报文发送给计算机CA1。
附图说明
为了更清楚地说明本发明实施例中的设计方案,下面将对实施例描述中所需要使用的附图做简单介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的设计,其中:
图1:基于传统网关实现局域网联通的网络结构
图2:本发明可支持的同网段局域网联通的网络结构
图3:本发明的系统结构图
图4:UDP数据报文格式
图5:TCP数据报文格式
图6:IP数据报文格式
图7:网口及子网的基础数据记录
图8:ARP地址映射表之网关网口记录
图9:ARP地址映射表之更新ARP请求方计算机信息
图10:ARP地址映射表之更新代理查询目标计算机信息
图11:通过透明网关系统并网的多个局域网范例
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:请参阅图1、图2、图3、图4、图5、图6、图7、图8、图9、图10和图11,本发明提出了一种基于多网口计算机实现透明传输的代理网关系统,包括网口及子网管理子系统100、ARP地址解析管理子系统200、网口通讯管控子系统300,ARP地址解析管理系统200包括ARP广播监听模块201、 ARP定向解析模块202、ARP广播相应模块203、ARP地址映射表204,网口通讯管控子系统300包括入口数据包监控模块301、出口数据包组装发出模块 302。
本发明可适用于3个及以上的多个局域网通过一个透明网关系统进行互联互通。另外,根据操作系统或者特殊软件的支持,本发明还适用于透明网关系统部署的计算机CG多个网口配置同一个网络IP、部分相同部分不同、全部不同的情况,本发明还适用于各个网口所配置的IP其子网掩码不同的情况。后续设计均以附图2所述的一较佳实施例进行说明。
透明网关系统(本发明)将部署于典型的双网口计算机CG上(本发明可应用于3个网口或者更多网口的计算机设备上),以此为例进行说明。
局域网CA中,包含了两台计算机(CA1、CA2),计算机CA1的配置如下 (IP:192.168.1.101/24,MAC:0A-11-22-33-44-01),计算机CA2的配置如下(IP:192.168.1.102/24,MAC:0A-11-22-33-44-02)。
局域网CB中,包含了两台计算机(CB1、CB2),计算机CB1的配置如下 (IP:192.168.1.201/24,MAC:0A-11-22-33-44-03),计算机CB2的配置如下(IP:192.168.1.202/24,MAC:0A-11-22-33-44-04)。
交换机CSW1、CSW2都为三层交换机。在通过透明网关系统将两个局域网连通的网络结构中,在遵循单个局域网IP地址不得重复的前提下,也不得出现两个局域网的任意两台计算机的IP地址设置重复。本发明支持两个局域网网段相同,也支持两个局域网网段不同。
网口及子网管理子系统100,根据当前计算机CG的网口,网口1的配置如下(IP:192.168.1.1/24,MAC:0A-11-22-33-44-A1),网口2的配置如下 (IP:192.168.1.2/24,MAC:0A-11-22-33-44-A2)。如果计算机CG有更多网口,可按照同样数据结构进行扩展即可。
根据网络结构形成附图7所示结构的基础数据记录。
ARP地址解析管理子系统200根据上述基础数据记录,对ARP地址映射表 204插入数据记录,更新的数据请参见附图8。
对于一对没有进行过相互通讯的计算机(计算机CA1、计算机CB1),由计算机CA1发起与计算机CB1的通讯,并假设该通讯将采用传输层常用的协议UDP,上述通讯协议主要采用地址对(源IP、源PORT;目标IP、目标PORT)。以典型的一个通讯来回为例:计算机CA1(源MAC:0A-11-22-33-44-01,源 IP:192.168.1.101,源PORT:1001)发送数据报文抵达计算机CB1(目标MAC: 0A-11-22-33-44-03,目标IP:192.168.1.201,目标PORT:1003),然后计算机CB1(源MAC:0A-11-22-33-44-03,源IP:192.168.1.201,源PORT: 1003)回复数据报文抵达计算机CA1(目标MAC:0A-11-22-33-44-01,目标 IP:192.168.1.101,目标PORT:1001)。主要包括以下流程、步骤:
【流程F1】计算机CA1发送数据报文抵达计算机CB1
【步骤S10】计算机CA1发起ARP地址解析请求
【步骤S11】计算机CG监听ARP请求并处理ARP请求
【步骤S12】计算机CA1收到ARP地址解析响应
【步骤S13】计算机CA1准备网络层数据报文
【步骤S14】计算机CA1封装链路层数据报文
【步骤S15】计算机CA1发送链路层数据报文给交换机CSW1
【步骤S16】交换机CSW1转发链路层数据报文给计算机CG
【步骤S17】计算机CG的透明网关系统处理收到的数据报文
【步骤S18】计算机CG发送链路层数据报文给交换机CSW2
【步骤S19】交换机CSW2转发链路层数据报文给计算机CB1
【流程F2】计算机CB1回复数据报文抵达计算机CA1
【步骤S20】计算机CB1准备网络层数据报文
【步骤S21】计算机CB1封装链路层数据报文
【步骤S22】计算机CB1发送链路层数据报文给交换机CSW2
【步骤S23】交换机CSW2转发链路层数据报文给计算机CG
【步骤S24】计算机CG的透明网关系统处理收到的数据报文
【步骤S25】计算机CG发送链路层数据报文给交换机CSW1
【步骤S26】交换机CSW1转发链路层数据报文给计算机CA1
下面对上述的两个流程以及相应的步骤的实现进行详细说明。
【流程F1】计算机CA1发送数据报文抵达计算机CB1
【步骤S10】计算机CA1发起ARP地址解析请求
按照常用通讯管理场景,通讯程序在处理时获得的目标地址信息不含MAC,仅为(源IP:192.168.1.101,源PORT:1001;目标IP:192.168.1.201,目标PORT:1003)。
首先,计算机CA1将在自己的本地ARP缓存中检查目标IP(192.168.1.201) 的匹配MAC地址,没有找到映射记录时,将ARP请求帧广播发送到本地网络 (交换机CSW1管理的局域网CA)询问目标IP(192.168.1.201)的MAC,该 ARP请求帧携带了以下关键信息(发送方IP:192.168.1.101、发送方MAC: 0A-11-22-33-44-01,目标IP:192.168.1.201,目标MAC:00-00-00-00-00-00),表示请求目标IP对应计算机响应告知其MAC。一般情况下,操作系统会根据应用程序的网络通讯请求自动完成该步骤。计算机CA2接收到该ARP请求,发现请求的目标IP与自己的IP不匹配,它将丢弃ARP请求。
【步骤S11】计算机CG监听ARP请求并处理ARP请求
计算机CG上部署的透明网关系统,通过ARP地址解析管理子系统200接管了所有ARP的处理,ARP广播监听模块201在网口1接收到该ARP请求后,分析获得两组信息:(1)网口1所在的局域网有一台计算机,IP:192.168.1.101、 MAC:0A-11-22-33-44-01,该MAC为有效地址。(2)目标IP:192.168.1.201 对应的计算机的MAC,正在被查询。ARP地址解析管理子系统200获得ARP广播监听模块201分析所得第一组信息后,查询ARP地址映射表204是否已经包含该IP(192.168.1.101)的映射记录,如果没有立即新增记录,如果已有并且MAC不一致则进行更新,如果已有并且MAC一致则不做操作,ARP地址映射表204更新后的数据记录具体参考附图9。
ARP地址解析管理子系统200获得ARP广播监听模块201分析所得信息后,根据网口及子网管理子系统100的两个网口对应的基础数据记录,对应两个网口的基础数据记录,分别组装两个ARP请求帧,网口1对应的ARP请求帧 (发送方IP:192.168.1.1、发送方MAC:0A-11-22-33-44-A1,目标IP: 192.168.1.201,目标MAC:00-00-00-00-00-00),网口2对应的ARP请求帧 (发送方IP:192.168.1.2、发送方MAC:0A-11-22-33-44-A2,目标IP:192.168.1.201,目标MAC:00-00-00-00-00-00)。将组装完成的两个ARP请求帧,由ARP定向解析模块202通过网口1、网口2对应发出。ARP响应帧,由于数据包的发起者对调,数据包中的发送方、目标与请求帧对倒。如果在网口1收到ARP响应帧,提取ARP响应帧中的信息,更新ARP地址映射表204。如果在网口2收到ARP响应帧,提取ARP响应帧中的信息,则更新ARP地址映射表204,并通过ARP广播响应模块203以代理ARP(代替处于另一个网段的主机回答本网段主机的ARP请求)响应。在本实施例中,在网口2上收到 ARP响应帧:(发送方IP:192.168.1.201、发送方MAC:0A-11-22-33-44-03,目标IP:192.168.1.2、目标MAC:0A-11-22-33-44-A2)。ARP广播响应模块 203以代理ARP的方式发出ARP响应帧,关键数据如下:(发送方IP:192.168.1.201、发送方MAC:0A-11-22-33-44-A1,目标IP:192.168.1.101、目标MAC:0A-11-22-33-44-01)。【注意:代理ARP响应帧注明的发送方IP 为计算机CB1的IP,但是发送方MAC为计算机CG的网口1的MAC。】
另外,ARP地址解析管理子系统200获得ARP广播监听模块201分析所得信息后,将对当前收到的请求来源(来源网口,发送方MAC,发送方IP,目标IP)进行记录,并对查询获得正确相应进行记录并保存一定时长(比如5 分钟,时间过后视为信息过期进行自动删除),在配置的一定时长内(比如1 分钟)再次接收到该来源网口的查询同一目标IP,不再进行接力查询以及响应处理。对于其他来源(来源网口、发送方MAC,发送方IP)的对于同一目标IP的查询请求,将直接根据当前记录提取信息进行响应。本逻辑设计是为了避免ARP请求的接力造成不断震荡扩散,产生循环解析,造成逻辑漏洞。
【步骤S12】计算机CA1收到ARP地址解析响应
计算机CA1收到ARP响应帧,关键数据如下:(发送方IP:192.168.1.201、发送方MAC:0A-11-22-33-44-A1,目标IP:192.168.1.101、目标MAC: 0A-11-22-33-44-01),根据该数据,计算机CA1分析认为发往目标IP (192.168.1.201)的数据报文应当发送给MAC为0A-11-22-33-44-A1的网络设备或计算机。于是,计算机CA1对当前需要发送的数据报文需要用到的地址信息准备完成,源地址:(源MAC:0A-11-22-33-44-01,源IP:192.168.1.101,源PORT:1001),目标地址(目标MAC:0A-11-22-33-44-A1,目标IP: 192.168.1.201,目标PORT:1003)。
【步骤S13】计算机CA1准备网络层数据报文
根据步骤S12获得的地址信息,计算机CA1先准备传输层的数据报文, UDP具体格式请参考附图4,TCP具体格式请参考附图5。本实施例中采用UDP 协议,按照UDP数据报文格式设定:源端口号(同源PORT)为1001,目的端口号(同目标PORT)为1003。计算机CA1按照网络层的IP数据报文格式(请参考附图6),将传输层的数据报文进行封装。按照IP数据报文格式设定:源IP地址(同源IP)为192.168.1.101,目的IP地址(同目标IP)为 192.168.1.201。其他相关数据按照相应协议规范进行填写组装。上述数据报文的组装过程,一般的通讯应用程序自带组装能力。
注意:不同于传统的代理网关,透明网关系统的代理转发,无须对传输层数据报文中的源端口(源PORT)、网络层数据报文(也称为数据分组)中的源IP进行NAT转换,也意味着在对端计算机设备回复的数据报文经过透明网关系统进行代理转发时,无须对目标IP、目标PORT进行解析转换。
【步骤S14】计算机CA1封装链路层数据报文
根据步骤S12获得的地址信息,源地址:(源MAC:0A-11-22-33-44-01,源IP:192.168.1.101,源PORT:1001),目标地址(目标MAC:0A-11-22-33-44-A1,目标IP:192.168.1.201,目标PORT:1003),计算机CA1组装链路层数据帧对步骤S13的网络层数据报文进行封装,设定链路层地址信息:(源MAC: 0A-11-22-33-44-01,目标MAC:0A-11-22-33-44-A1),目标MAC指向计算机 CG的网口1。
【步骤S15】计算机CA1发送链路层数据报文给交换机CSW1
链路层数据报文组装完成后,计算机CA1通过底层网络驱动程序,将数据报文发出给局域网CA的交换机CSW1。
【步骤S16】交换机CSW1转发链路层数据报文给计算机CG
交换机CSW1收到该数据报文后,按照上述报文的目标MAC:0A-11-22-33-44-A1,交换机CSW1将该数据报文发送给计算机CG的网口1。
【步骤S17】计算机CG的透明网关系统处理收到的数据报文
部署在计算机CG上的透明网关系统,网口通讯管控子系统300通过入口数据包监控模块301以数据链路层网络编程的方式,接管监控了计算机CG的所有网口的数据链路层的入口数据包。其具体实现的主要技术,为数据链路层网络编程模式,比较典型的有基于ebtables进行挂接、网络接口混杂模式 (promiscuous mode)、BSD的BSD分组过滤器(BPF)、SVR4的数据链路层提供者接口(DLPI)、Linux的SOCK_PACKET插口,以及Windows环境下的libpcap等等。
入口数据包监控模块301对在网口1上收到的数据报文,进行链路层解析,根据解析获得链路层地址关键信息:(源MAC:0A-11-22-33-44-01,目标MAC:0A-11-22-33-44-A1)。
入口数据包监控模块301对在网口1上收到的数据报文,进行网络层解析,根据解析获得网络层地址关键信息:(源IP:192.168.1.101,目的IP: 192.168.1.201),对目的IP:192.168.1.201从ARP地址映射表204查询,可获知该数据报文的真正接收者(网口:网口2,IP:192.1681.201,MAC: 0A-11-22-33-44-03)。
根据透明传输网关的设计,网络层的代理转发,无须修改源IP,无须修改目标IP。根据透明传输网关的设计,传输层的代理转发,无须修改源PORT,无须修改目标PORT。
网口通讯管控子系统300,重新组装链路层数据帧,因为接收者在网口2,设定源MAC(0A-11-22-33-44-A2,对应网口2),网络层数据报文源IP保留原样不变,设定目标MAC(MAC:0A-11-22-33-44-03)以对应目标IP: 192.168.1.201,其他数据按照相应规范进行组装填写。
【步骤S18】计算机CG发送链路层数据报文给交换机CSW2
完成上述数据报文组装后,出口数据包组装发出模块302将链路层数据报文通过网口2发出给局域网CB的交换机CSW2。
【步骤S19】交换机CSW2转发链路层数据报文给计算机CB1
交换机CSW2收到该链路层数据报文,按照数据报文的目标MAC: 0A-11-22-33-44-03,CSW2将该数据报文发送给计算机CB1。
至此,计算机CA1发送给的数据报文(源IP:192.168.1.101,源PORT:1001, 目标IP:192.168.1.201,目标PORT:1003),正确抵达目标计算机(目标IP: 192.168.1.201,目标PORT:1003)。
【流程F2】计算机CB1回复数据报文抵达计算机CA1
【步骤S20】计算机CB1准备网络层数据报文
计算机CB1收到交换机CSW2发过来的链路层数据报文,分析提取到其中的地址信息,源地址:(源MAC:0A-11-22-33-44-A2,源IP:192.168.1.101,源PORT:1001),目标地址:(目标MAC:0A-11-22-33-44-03,目标 IP:192.168.1.201,目标PORT:1003)。
根据上述地址信息,对回复数据报文的地址信息设定为(源MAC: 0A-11-22-33-44-03,源IP:192.168.1.201,源PORT:1003;目标MAC: 0A-11-22-33-44-A2,目标IP:192.168.1.101,目标PORT:1001)。
根据上述地址信息,计算机CB1先准备传输层的数据报文,本实施例中采用UDP协议,按照UDP数据报文格式设定:源端口号(同源PORT)为1003,目的端口号(同目标PORT)为1001。
然后按照网络层的IP数据报文格式,将传输层的数据报文进行封装。按照IP数据报文格式设定:源IP地址(同源IP)为192.168.1.201,目的IP 地址(同目标IP)为192.168.1.101。其他相关数据按照相应协议规范进行填写组装。上述数据报文的组装过程,一般的通讯应用程序自带组装能力。
注意:不同于传统的代理网关,透明网关系统对回复数据报文的代理转发,无须对传输层数据报文中的源端口、网络层数据报文(也称为数据分组) 中的源IP进行NAT转换,也意味着在对端计算机设备回复的数据报文经过透明网关系统进行代理转发时,无须进行解析转换。
【步骤S21】计算机CB1封装链路层数据报文
根据步骤S20获得的地址信息,回复数据报文的地址信息设定为(源MAC:0A-11-22-33-44-03,源IP:192.168.1.201,源PORT:1003;目标MAC: 0A-11-22-33-44-A2,目标IP:192.168.1.101,目标PORT:1001)。计算机CB1 组装链路层数据帧对步骤S20的网络层数据报文进行封装,设定链路层地址信息:(源MAC:0A-11-22-33-44-03,目标MAC:0A-11-22-33-44-A2),目标MAC指向计算机CG的网口2。
【步骤S22】计算机CB1发送链路层数据报文给交换机CSW2
链路层数据报文组装完成后,计算机CB1通过底层网络驱动程序,将数据报文发出给局域网CB的交换机CSW2。
【步骤S23】交换机CSW2转发链路层数据报文给计算机CG
交换机CSW2收到该数据报文后,按照上述报文的目标MAC: 0A-11-22-33-44-A2,交换机CSW1将该数据报文发送给计算机CG的网口2。
【步骤S24】计算机CG的透明网关系统处理收到的数据报文
部署在计算机CG上的透明网关系统,网口通讯管控子系统300通过入口数据包监控模块301接管监控了计算机CG的所有网口的数据链路层的入口数据包。
入口数据包监控模块301对在网口2上收到的数据报文,进行链路层解析,根据解析获得链路层地址关键信息:(源MAC:0A-11-22-33-44-03,目标MAC:0A-11-22-33-44-A2)。
入口数据包监控模块301对在网口2上收到的数据报文,进行网络层解析,根据解析获得网络层地址关键信息:(源IP:192.168.1.201,目标IP: 192.168.1.101),对目标IP:192.168.1.101从ARP地址映射表204查询,可获知该数据报文的真正接收者(网口:网口1,IP:192.1681.101,MAC: 0A-11-22-33-44-01)。
根据透明传输网关的设计,网络层的代理转发,无须修改源IP,无须修改目标IP。根据透明传输网关的设计,传输层的代理转发,无须修改源PORT,无须修改目标PORT。
网口通讯管控子系统300,重新组装链路层数据帧,因为接收者在网口1,设定源MAC(0A-11-22-33-44-A1,对应网口1),网络层数据报文源IP保留原样不变,设定目标MAC(MAC:0A-11-22-33-44-01)以对应目标IP: 192.168.1.101,其他数据按照相应规范进行组装填写。
【步骤S25】计算机CG发送链路层数据报文给交换机CSW1
完成上述数据报文组装后,出口数据包组装发出模块302将链路层数据报文通过网口1发出给局域网CA的交换机CSW1。
【步骤S26】交换机CSW1转发链路层数据报文给计算机CA1
交换机CSW1收到该链路层数据报文,按照数据报文的目标MAC: 0A-11-22-33-44-01,CSW1将该数据报文发送给计算机CA1。
至此,计算机CB1回复给计算机CA1的数据报文(源IP:192.168.1.201,源PORT:1003;目标IP:192.168.1.101,目标PORT:1001),正确抵达目标计算机(目标IP:192.168.1.101,目标PORT:1001)。
上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。
Claims (8)
1.一种基于多网口计算机实现透明传输的代理网关系统(以下简称透明网关系统),包括:网口及子网管理子系统100、ARP地址解析管理子系统200、网口通讯管控子系统300。ARP地址解析管理系统200包括:ARP广播监听模块201、ARP定向解析模块202、ARP广播相应模块203、ARP地址映射表204。网口通讯管控子系统300包括:入口数据包监控模块301、出口数据包组装发出模块302。
2.如权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,具备以下组网特征:
(1)局域网内的计算机可以无需设置网关,局域网内可以自由部署多台透明网关系统且全部都自动生效,局域网内的计算机可以按照访问目标自动寻找适合的透明网关系统并通过其进行通讯;
(2)支持两个区域网、多个局域网的同网段IP配置,同时支持多个局域网不同网段IP配置的互联互通;可适用于2个及以上的多个局域网通过一个透明网关系统进行互联互通,可适用于一个局域网通过1个透明网关与多个局域网进行互联互通,可适用于基于自由组合的方式将多个局域网通过多个透明网关进行互联互通(同时支持串联、并联);
(3)在实现前述多局域网互联互通时,无须调整子网掩码;
(4)支持网络层、传输层的通讯过程中,进行通讯的双方,数据报文中的源IP、源端口、目标IP、目标端口等地址信息进行透明传输对接,确保在代理过程中无须改变;
(5)支持基于基础并网规则的基础上,进行更多局域网的并网,并且允许多个局域网的串联和并联。
3.如权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于:各个局域网中的设备在不使用重复IP为基本条件下,突破常规组网限制,通过一个透明网关系统进行互联互通的多个局域网,可以采用相同网段IP配置,可以采用重叠、包容的网段IP配置,可以采用不同网段IP配置,并且上述各种情况可以同时并存。
4.根据权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于:网口及子网管理子系统100,根据当前计算机CG的网口,网口1的配置如下(IP:192.168.1.1/24,MAC:0A-11-22-33-44-A1),网口2的配置如下(IP:192.168.1.2/24,MAC:0A-11-22-33-44-A2)。如果计算机CG有更多网口,可按照同样数据结构进行扩展即可。
5.如权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于:网口及子网管理子系统100,根据当前计算机CG的网口,为每个网口形成基础数据记录(包括以下信息:网口、网口MAC、局域网名称、局域网网段、局域网网关IP),用于帮助透明网关系统识别及管理。
6.如权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于:对于一对没有进行过相互通讯的计算机(计算机CA1、计算机CB1),由计算机CA1发起与计算机CB1的通讯,其通讯请求及通讯响应,将按照以下流程、步骤进行:
流程(一)计算机CA1发送数据报文抵达计算机CB1
步骤(1):
计算机CA1使用ARP协议,向本局域网查询目标地址的计算机的目标MAC,这个目标MAC是本局域网的交换机能够理解的本局域网接收者。部署在网关机上的透明网关系统通过监听ARP请求,识别请求来源局域网(对应入口的网口),将以代理接力的方式,向其他网口的局域网继续进行ARP地址解析,并且将在本局域网内发起ARP地址解析请求,以进一步掌握局域网内的目标设备的信息。查询获得的信息将更新记录到ARP地址映射表204中,并通过ARP响应发送给请求发起方。在此过程中,对于ARP请求可能形成的震荡,进行必要的逻辑约束避免请求不断重复扩散。
步骤(2):
计算机CA1获得目标计算机的目标MAC后,封装传输层、网络层、链路层的数据报文,对于上层传输协议的源IP、源PORT、目标IP、目标PORT等等信息是无损的,根据前述查询获得的目标MAC(目标计算机的MAC,或者代理接收者的MAC)通过交换机将数据报文发送给目标计算机的代理接收者(透明网关系统所在的计算机)。
步骤(3):
透明网关系统作为代理接收者,收到上述数据报文后,将根据对数据报文中的目标IP作为主要条件,在ARP地址映射表204中进行匹配获得下一个接收者(目标计算机或者下一个代理接收者)的通讯地址,然后根据查询获得的数据逻辑调整源MAC、目标MAC,然后通过下一个接收者所在的局域网的网口将数据报文进行接力发送。在此转发过程中,源IP、源PORT、目标IP、目标PORT等等信息是无损的,仅仅对源MAC、目标MAC进行必要的调整。此代理接收及转发的步骤,可根据实际网络接口及网络通讯路径,进行多次接力。
步骤(4):
真正目标计算机所在的局域网,最后一个代理接收者转发的数据报文,分析计算获得的目目标MAC就是真正目标计算机的MAC,通过该局域网的交换机的处理,数据报文抵达目标计算机。
流程(二)计算机CB1回复数据报文抵达计算机CA1
步骤(1):
计算机CB1根据接收到的数据报文,把来源地址信息设定为目标地址信息,把自身的信息设定为源地址信息,然后把响应数据进行封装,形成相应传输层、网络层、链路层的数据报文,然后发送给所在局域网的交换机。当前报文的目标MAC是请求数据报文过来的最后一个代理接收者在目标计算机所在的局域网的网口的MAC。整个响应数据报文,其实是请求数据报文的整个网络传输路径的各个节点的反向追溯。
步骤(2):
响应数据报文抵达透明网关系统时,透明网关系统通过提取相应数据报文的目标IP,将从ARP地址映射表204中查询获得相应的下一个节点的MAC地址,并通过代理接收及转发将数据报文送往下一个节点。在响应数据报文的代理接收及转发的过程中,源IP、源PORT、目标IP、目标PORT等等信息是无损的,仅仅对源MAC、目标MAC进行必要的调整。
步骤(3):
响应数据报文的最终目标计算机(请求数据报文的发送者)所在的局域网,最后一个代理接收者转发的数据报文,分析计算获得的目目标MAC就是最终目标计算机的MAC,通过该局域网的交换机的处理,数据报文抵达目标计算机。
7.如权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于:ARP地址映射表204的实现
步骤(1):ARP地址映射表204的数据结构,包括以下数据项目:协议类型,IP,MAC,记录类型,网口。
步骤(2):透明网关系统对ARP地址映射表204的管理及维护,在复杂组网结构下,一个特定发起者到一个特定目标接收者的网络路径,并不是唯一的,即:同一个目标IP,可能在一个透明网关系统的ARP地址映射表中,可能在多个网口上都有对应的记录(代表通过多个网口可抵达),在同一个网口上可能对应有多条记录(在一个网口所在的局域网内,可能拥有多个对应的接收MAC地址,多个MAC地址的时候其实代表多个代理接收者/透明网关系统)。
步骤(3):透明网关系统对ARP地址映射表204的更新逻辑,应当优先保障最近被使用的通道(一个特定发起者到一个特定目标接收者的网络路径),在当前透明网关系统的后续使用中,尤其是反向回溯的过程中,应当被优先使用,以确保原路返回为优先的原则。
8.如权利要求1所述的一种基于多网口计算机实现透明传输的代理网关系统,其特征在于:透明网关系统所部署的网关计算机,其每个网口的IP设定,更多是为了计算机的常规管理,在透明网关系统的运行中,上述IP其实没有被使用,亦即:透明网关系统的各个网口,可以设定IP,也可以不设定IP。如果设定IP,可以通过局域网内的计算机设定网关IP或者通过路由策略,自主选择优先通讯路由。如果不设定IP,透明网关系统同样能够起到网关的作用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010721729.3A CN111884916A (zh) | 2020-07-24 | 2020-07-24 | 一种基于多网口计算机实现透明传输的代理网关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010721729.3A CN111884916A (zh) | 2020-07-24 | 2020-07-24 | 一种基于多网口计算机实现透明传输的代理网关系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111884916A true CN111884916A (zh) | 2020-11-03 |
Family
ID=73200437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010721729.3A Pending CN111884916A (zh) | 2020-07-24 | 2020-07-24 | 一种基于多网口计算机实现透明传输的代理网关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111884916A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098856A (zh) * | 2021-03-29 | 2021-07-09 | 绿盟科技集团股份有限公司 | 一种透明模式下的虚拟专用网络vpn实现方法及安全设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457178A (zh) * | 2002-05-10 | 2003-11-19 | 华为技术有限公司 | 多个虚拟局域网共用一个网际协议子网网段时的通信方法 |
CN103051597A (zh) * | 2011-10-14 | 2013-04-17 | 国家纳米技术与工程研究院 | 一种在交换机上实现arp欺骗检测的方法 |
US20130195109A1 (en) * | 2011-08-22 | 2013-08-01 | Keiko Ogawa | Network gateway apparatus |
CN103441932A (zh) * | 2013-08-30 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种主机路由表项生成方法及设备 |
CN104301451A (zh) * | 2014-10-17 | 2015-01-21 | 福建星网锐捷网络有限公司 | 一种跨网段主机通信方法、装置及系统 |
CN105812502A (zh) * | 2016-03-07 | 2016-07-27 | 北京工业大学 | 基于OpenFlow的地址解析协议代理技术的实现方法 |
CN106210157A (zh) * | 2015-04-30 | 2016-12-07 | 中国电信股份有限公司 | 抑制地址解析协议消息的方法与系统、控制器 |
CN107026784A (zh) * | 2017-06-13 | 2017-08-08 | 电子科技大学 | 一种远程虚拟专网网关装置及实现方法 |
CN108063839A (zh) * | 2017-12-29 | 2018-05-22 | 深圳市九洲电器有限公司 | 一种访问网络的方法及访问网络的装置 |
US20180198712A1 (en) * | 2016-01-18 | 2018-07-12 | Huawei Technologies Co., Ltd. | Method and gateway for obtaining route according to requirement |
CN108809795A (zh) * | 2018-04-19 | 2018-11-13 | 中国科学院计算机网络信息中心 | 一种局域网环境中透明分流方法和装置 |
CN111131541A (zh) * | 2019-12-25 | 2020-05-08 | 深圳市共进电子股份有限公司 | 一种网络通信方法、装置、电子设备及存储介质 |
-
2020
- 2020-07-24 CN CN202010721729.3A patent/CN111884916A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457178A (zh) * | 2002-05-10 | 2003-11-19 | 华为技术有限公司 | 多个虚拟局域网共用一个网际协议子网网段时的通信方法 |
US20130195109A1 (en) * | 2011-08-22 | 2013-08-01 | Keiko Ogawa | Network gateway apparatus |
CN103051597A (zh) * | 2011-10-14 | 2013-04-17 | 国家纳米技术与工程研究院 | 一种在交换机上实现arp欺骗检测的方法 |
CN103441932A (zh) * | 2013-08-30 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种主机路由表项生成方法及设备 |
CN104301451A (zh) * | 2014-10-17 | 2015-01-21 | 福建星网锐捷网络有限公司 | 一种跨网段主机通信方法、装置及系统 |
CN106210157A (zh) * | 2015-04-30 | 2016-12-07 | 中国电信股份有限公司 | 抑制地址解析协议消息的方法与系统、控制器 |
US20180198712A1 (en) * | 2016-01-18 | 2018-07-12 | Huawei Technologies Co., Ltd. | Method and gateway for obtaining route according to requirement |
CN105812502A (zh) * | 2016-03-07 | 2016-07-27 | 北京工业大学 | 基于OpenFlow的地址解析协议代理技术的实现方法 |
CN107026784A (zh) * | 2017-06-13 | 2017-08-08 | 电子科技大学 | 一种远程虚拟专网网关装置及实现方法 |
CN108063839A (zh) * | 2017-12-29 | 2018-05-22 | 深圳市九洲电器有限公司 | 一种访问网络的方法及访问网络的装置 |
CN108809795A (zh) * | 2018-04-19 | 2018-11-13 | 中国科学院计算机网络信息中心 | 一种局域网环境中透明分流方法和装置 |
CN111131541A (zh) * | 2019-12-25 | 2020-05-08 | 深圳市共进电子股份有限公司 | 一种网络通信方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张亚莉等: "认知无线多跳网络与以太网互联网关", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098856A (zh) * | 2021-03-29 | 2021-07-09 | 绿盟科技集团股份有限公司 | 一种透明模式下的虚拟专用网络vpn实现方法及安全设备 |
CN113098856B (zh) * | 2021-03-29 | 2023-01-17 | 绿盟科技集团股份有限公司 | 一种透明模式下的虚拟专用网络vpn实现方法及安全设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2066080B1 (en) | The method and device for managing route information and retransmitting data in accessing device | |
JP4164352B2 (ja) | 移動端末を収容できるパケット転送装置 | |
US7212837B1 (en) | Method and system for hierarchical processing of protocol information in a wireless LAN | |
US7222188B1 (en) | Method and apparatus for forwarding traffic between locally attached networks using level 3 addressing information | |
JPH1141272A (ja) | Lanインターネット接続 | |
JP4780477B2 (ja) | トンネリング装置及びそれに用いるトンネルフレーム振分方法並びにそのプログラム | |
US20020027906A1 (en) | System and method for connecting geographically distributed virtual local area networks | |
JP2013504959A (ja) | バーチャルプライベートネットワークの実現方法及びシステム | |
US6618398B1 (en) | Address resolution for internet protocol sub-networks in asymmetric wireless networks | |
EP1109376A2 (en) | A route server | |
EP2654250A2 (en) | Virtual local area network identity transformation method and apparatus | |
CN110224936B (zh) | 基于mac地址和网络接口的路由方法 | |
CN109428949A (zh) | 一种基于sdn实现arp代理的方法和装置 | |
CN108200199B (zh) | IPV4 over IPV6隧道场景中的负载均衡系统及方法 | |
CN112995038B (zh) | Profinet协议在工业sdn中的接入方法 | |
CN111884916A (zh) | 一种基于多网口计算机实现透明传输的代理网关系统 | |
JP4591338B2 (ja) | 通信システム | |
CN115150312B (zh) | 一种路由方法及设备 | |
JP3496641B2 (ja) | 端末位置情報管理方法,この方法を用いる端末位置情報管理システム、並びにこのシステムに用いるホームエージェントおよびボーダゲートウェイ | |
JP3614006B2 (ja) | 非対称経路利用通信システム、および、非対称経路利用通信方法 | |
CN112994994B (zh) | 基于工业以太网协议在工业sdn中的接入方法 | |
KR101786616B1 (ko) | 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램 | |
US11870685B2 (en) | Packet capsulation method and packet capsulation device | |
WO2018090411A1 (zh) | 一种无线网络融合的实现方法 | |
CN117811875A (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: 20201103 |
|
RJ01 | Rejection of invention patent application after publication |