CN107809377A - 一种通用网关的实现装置及方法 - Google Patents

一种通用网关的实现装置及方法 Download PDF

Info

Publication number
CN107809377A
CN107809377A CN201610816349.1A CN201610816349A CN107809377A CN 107809377 A CN107809377 A CN 107809377A CN 201610816349 A CN201610816349 A CN 201610816349A CN 107809377 A CN107809377 A CN 107809377A
Authority
CN
China
Prior art keywords
packet
data
task
forwarding
address
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.)
Granted
Application number
CN201610816349.1A
Other languages
English (en)
Other versions
CN107809377B (zh
Inventor
杨辉
王晓阳
董高云
余文兵
郑重虎
余君君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casco Signal Ltd
Original Assignee
Casco Signal Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casco Signal Ltd filed Critical Casco Signal Ltd
Priority to CN201610816349.1A priority Critical patent/CN107809377B/zh
Publication of CN107809377A publication Critical patent/CN107809377A/zh
Application granted granted Critical
Publication of CN107809377B publication Critical patent/CN107809377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS

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

本发明涉及一种通用网关的实现装置及方法,该装置包括:初始化管理模块,用于创建抓取数据任务以及转发数据任务,并对数据初始化;数据包抓取模块,用于完成初始化管理模块创建的抓取数据任务,并通知数据包转发模块;数据包转发模块,用于在接收数据包抓取模块的转发通知后,完成初始化管理模块创建的转发数据任务。与现有技术相比,本发明具有将通用网关将冗余系统主运算系统与外部网络隔离、系统可靠性高,无需IP浮动、通信稳定性更高,通用性强等优点。

Description

一种通用网关的实现装置及方法
技术领域
本发明涉及一种网关装置,尤其是涉及一种通用网关的实现装置及方法。
背景技术
在轨道交通信号系统中二乘二取二平台是一种广泛使用的安全平台。
实际应用通常要求安全计算机的A/B机都能够提供对外输出,一般会把网络接口物理接入数据通信网,A/B机有两对IP地址都对外输出,或者A/B机使用一个公共IP对外输出。如果A/B机只能使用一个公共IP时,传统的方式需要采用IP浮动的技术,使IP地址在A/B机之间浮动切换。但IP浮动切换技术不够可靠,无法做到完全地无缝切换,平台运用不够灵活、扩展性不高;而且,平台的SIL4子系统直接接入数据通信网,容易受到外部网络状态的影响,影响平台的可靠性。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种通用网关的实现装置及方法。
本发明的目的可以通过以下技术方案来实现:
一种通用网关的实现装置,该装置包括:
初始化管理模块,用于创建抓取数据任务以及转发数据任务,并对数据初始化;
数据包抓取模块,用于完成初始化管理模块创建的抓取数据任务,并通知数据包转发模块;
数据包转发模块,用于在接收数据包抓取模块的转发通知后,完成初始化管理模块创建的转发数据任务。
该装置还包括数据包修改模块,用于接收数据包转发模块调用,根据转发规则表,对数据包进行修改。
所述的初始化管理模块数据初始化具体为:根据配置文件初始化网卡和设置网卡的IP地址,并初始化转发规则表。
所述的数据包抓取模块抓取数据任务具体为:该模块在各使用到的网口侦听,如果有数据到达,就将该数据包拷贝一份放入数据缓存队列。
所述的数据包转发模块完成的转发数据任务包括根据数据包类型进行相应操作。
根据数据包类型进行相应操作具体为:
对于ARP协议数据,如果是ARP请求,则更新通信设备的IP地址与MAC地址对应关系表,并向该设备回复ARP回复消息;如果是ARP回复消息,则只更新外部设备的IP地址与MAC地址对应关系表ARP table;对于TCP或UDP数据,则交给数据包修改模块,经修改后,转发任务根据转发表将该数据包转发出去。
所述的数据包修改模块对数据包进行修改的具体操作为:针对从外部收到的数据包,修改其目的MAC地址、目的IP和目的端口;针对内部对外发送的数据,修改其源IP、源端口和目的MAC地址。
一种通用网关的实现方法,所述的方法包括以下步骤:
S1:初始化数据,根据配置文件初始化网卡和设置网卡的IP地址,并初始化转发规则表;
S2:抓取任务抓取数据包后,将其放入数据缓存队列;
S3:抓取任务通知转发任务;
S4:转发任务读取并解析数据包;
S5:转发任务根据数据包类型进行相应操作。
步骤S5中转发任务根据数据包类型进行相应操作具体为:
对于ARP协议数据,如果是ARP请求,则更新通信设备的IP地址-MAC地址对应关系表,并向该设备回复ARP回复消息;如果是ARP回复消息,则只更新外部设备的IP地址-MAC地址对应关系表ARP table;对于TCP或UDP数据,则对数据包进行修改后,转发任务根据转发表将该数据包转发出去;对于除以上类型外的其他数据包,则直接丢弃。
对于TCP或UDP数据,对数据包进行修改操作具体为:针对从外部收到的数据包,修改其目的MAC地址、目的IP和目的端口;针对内部对外发送的数据,修改其源IP、源端口和目的MAC地址。
与现有技术相比,本发明具有以下优点:
1、提高系统可靠性:在该方案中,将通用网关将冗余系统主运算系统与外部网络隔离,避免外部网络风暴对主运算子系统的影响。
2、提高通信稳定性:在该方案中,由于通用网关提供了统一的对外通信接口,无需IP浮动,所以通信稳定性更高;
3、通用性强:在该方案中,可以通过可配置的方法,使用通用网关可以满足冗余系统不同的对外连接需求。
附图说明
图1为本发明的结构示意图;
图2为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
图2所示为本发明的具体流程。结合图1及图2,以二乘二系统为例,结合已经应用本发明的轨旁安全平台,该本发明的实施步骤如下:
如图1所示,本发明包含初始化管理模块,数据包抓取模块,数据包修改模块,数据包转发模块四部分。通用网关基于研华AtomTM凌动系列3305 1U上架式工控机进行开发,该产品有6个10/100/1000Mb/s的RJ45网络接口以及1个专用的PCIe板载连接器,可以扩展4个网络接口;操作系统选用CentOS 6.5服务器版本,数据包抓取及发送功能采用LIBPCAP实现。
图2是本发明算法流程图,详细描述如下:
步骤1:根据配置文件,初始各网卡及IP地址,初始化数据转发规则表,如表1;创建抓取和转发任务;建立本地ARP表,维护IP-MAC地址关系;
步骤2:抓取任务侦听各网口,如果有数据包到达该网口,抓取任务则将数据包拷贝一份。
步骤3:抓取任务将抓取到的数据放入数据缓存队列。
步骤4:抓取任务通知转发任务。
步骤5:转发任务读取数据缓存队列中的数据,按照以太网数据包格式进行解析。
步骤6:根据以太网数据包格式进行判断,数据包类型分为ARP数据包(包括ARP请求和ARP回复),IP数据包(包括TCP/UDP数据包)以及其他。
步骤7:如果收到的是ARP请求数据包,则需要构造ARP回复数据包。
步骤8:对于已构造的ARP回复数据包,转发任务将其从对应网口发送到以太网。
步骤9:如果收到的是ARP回复数据包,转进任务则根据ARP回复数据包中的源IP及MAC地址更新本地ARP表。
步骤10:如果是IP包,则根据转发规则进行数据包的修改:根据转发规则表,针对从外部收到的数据包,修改其目的MAC地址,目的IP,目的端口;针对内部对外发送的数据,修改其源IP,源端口,目的MAC地址。
步骤11:转发任务将修改后的数据包,根据转发规则表中的网口信息,将该数据包从相应的网口发送至以太网。
步骤12:如果是其他数据包,则直接丢掉。
表1转发规则表
该方法应用范围不仅局限于轨道交通领域,在其他多模冗余系统中都可以得到应用。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种通用网关的实现装置,其特征在于,该装置包括:
初始化管理模块,用于创建抓取数据任务以及转发数据任务,并对数据初始化;
数据包抓取模块,用于完成初始化管理模块创建的抓取数据任务,并通知数据包转发模块;
数据包转发模块,用于在接收数据包抓取模块的转发通知后,完成初始化管理模块创建的转发数据任务。
2.根据权利要求1所述的一种通用网关的实现装置,其特征在于,该装置还包括数据包修改模块,用于接收数据包转发模块调用,根据转发规则表,对数据包进行修改。
3.根据权利要求1所述的一种通用网关的实现装置,其特征在于,所述的初始化管理模块数据初始化具体为:根据配置文件初始化网卡和设置网卡的IP地址,并初始化转发规则表。
4.根据权利要求1所述的一种通用网关的实现装置,其特征在于,所述的数据包抓取模块抓取数据任务具体为:该模块在各使用到的网口侦听,如果有数据到达,就将该数据包拷贝一份放入数据缓存队列。
5.根据权利要求2所述的一种通用网关的实现装置,其特征在于,所述的数据包转发模块完成的转发数据任务包括根据数据包类型进行相应操作。
6.根据权利要求5所述的一种通用网关的实现装置,其特征在于,根据数据包类型进行相应操作具体为:
对于ARP协议数据,如果是ARP请求,则更新通信设备的IP地址与MAC地址对应关系表,并向该设备回复ARP回复消息;如果是ARP回复消息,则只更新外部设备的IP地址与MAC地址对应关系表ARP table;对于TCP或UDP数据,则交给数据包修改模块,经修改后,转发任务根据转发表将该数据包转发出去。
7.根据权利要求6所述的一种通用网关的实现装置,其特征在于,所述的数据包修改模块对数据包进行修改的具体操作为:针对从外部收到的数据包,修改其目的MAC地址、目的IP和目的端口;针对内部对外发送的数据,修改其源IP、源端口和目的MAC地址。
8.一种通用网关的实现方法,其特征在于,所述的方法包括以下步骤:
S1:初始化数据,根据配置文件初始化网卡和设置网卡的IP地址,并初始化转发规则表;
S2:抓取任务抓取数据包后,将其放入数据缓存队列;
S3:抓取任务通知转发任务;
S4:转发任务读取并解析数据包;
S5:转发任务根据数据包类型进行相应操作。
9.根据权利要求8所述的一种通用网关的实现方法,其特征在于,步骤S5中转发任务根据数据包类型进行相应操作具体为:
对于ARP协议数据,如果是ARP请求,则更新通信设备的IP地址-MAC地址对应关系表,并向该设备回复ARP回复消息;如果是ARP回复消息,则只更新外部设备的IP地址-MAC地址对应关系表ARP table;对于TCP或UDP数据,则对数据包进行修改后,转发任务根据转发表将该数据包转发出去;对于除以上类型外的其他数据包,则直接丢弃。
10.根据权利要求11所述的一种通用网关的实现方法,其特征在于,对于TCP或UDP数据,对数据包进行修改操作具体为:针对从外部收到的数据包,修改其目的MAC地址、目的IP和目的端口;针对内部对外发送的数据,修改其源IP、源端口和目的MAC地址。
CN201610816349.1A 2016-09-09 2016-09-09 一种通用网关的实现装置及方法 Active CN107809377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610816349.1A CN107809377B (zh) 2016-09-09 2016-09-09 一种通用网关的实现装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610816349.1A CN107809377B (zh) 2016-09-09 2016-09-09 一种通用网关的实现装置及方法

Publications (2)

Publication Number Publication Date
CN107809377A true CN107809377A (zh) 2018-03-16
CN107809377B CN107809377B (zh) 2021-06-08

Family

ID=61569739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610816349.1A Active CN107809377B (zh) 2016-09-09 2016-09-09 一种通用网关的实现装置及方法

Country Status (1)

Country Link
CN (1) CN107809377B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765802A (zh) * 2021-07-26 2021-12-07 深圳市智微智能科技股份有限公司 android设备网卡动态切换方法、系统、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514586A (zh) * 2002-12-31 2004-07-21 深圳市中兴通讯股份有限公司 模拟多用户、多连接的数据通讯设备测试系统及方法
US20050013321A1 (en) * 2003-07-18 2005-01-20 Samsung Electronics Co., Ltd. Gateway and control method thereof
CN1794822A (zh) * 2005-12-19 2006-06-28 大连海事大学 一种网络化智能视/音频信号监控系统
CN101068229A (zh) * 2007-06-08 2007-11-07 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514586A (zh) * 2002-12-31 2004-07-21 深圳市中兴通讯股份有限公司 模拟多用户、多连接的数据通讯设备测试系统及方法
US20050013321A1 (en) * 2003-07-18 2005-01-20 Samsung Electronics Co., Ltd. Gateway and control method thereof
CN1794822A (zh) * 2005-12-19 2006-06-28 大连海事大学 一种网络化智能视/音频信号监控系统
CN101068229A (zh) * 2007-06-08 2007-11-07 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765802A (zh) * 2021-07-26 2021-12-07 深圳市智微智能科技股份有限公司 android设备网卡动态切换方法、系统、终端及存储介质

Also Published As

Publication number Publication date
CN107809377B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN106998297B (zh) 一种虚拟机迁移方法和装置
CN102801820B (zh) 一种evi网络中mac地址发布方法和装置
CN106712988B (zh) 一种虚拟网络管理方法及装置
CN104579727B (zh) 一种管理网络节点的网络连接的方法和装置
CN105099960A (zh) 用于实现服务链的方法和装置
US20170359198A1 (en) Non-transitory computer-readable storage medium, communication control method, and communication control device
CN104040527A (zh) 通过三层网络连接二层域
US20100218034A1 (en) Method And System For Providing High Availability SCTP Applications
CN103812777B (zh) 覆盖虚拟化网络中的高效数据传输方法和系统
CN103931144A (zh) 一种在虚拟域中通信的方法、设备和系统
CN103002065A (zh) 一种主用设备与备用设备共用ip地址的方法和装置
CN102546389A (zh) 一种跨数据中心的流量托管方法和装置
CN106878072A (zh) 一种报文传输方法和装置
CN106850547A (zh) 一种基于http协议的数据还原方法及系统
CN104734952A (zh) 一种数据报文转发方法以及装置
CN107809377A (zh) 一种通用网关的实现装置及方法
CN109672618A (zh) 冗余接口处理方法、装置、服务器及存储介质
CN108234305A (zh) 一种跨机框链路冗余保护的控制方法及设备
CN103546556A (zh) 一种在未来网络xia中虚拟机在线迁移方法
JPWO2014132954A1 (ja) 通信システム、制御装置、通信方法及びプログラム
CN104468343A (zh) 报文处理方法、sdn转发设备以及sdn控制器
CN103780683B (zh) 一种在xia孤岛之间进行虚拟机在线迁移的方法
CN103716378B (zh) 在未来网络serval下的广域网中虚拟机在线迁移方法
CN105338127A (zh) 媒体接入控制mac地址表更新方法、交换机及系统
CN109412828A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1248937

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant