CN104702614A - 一种双协议栈双网口mms通信系统及方法 - Google Patents
一种双协议栈双网口mms通信系统及方法 Download PDFInfo
- Publication number
- CN104702614A CN104702614A CN201510122244.1A CN201510122244A CN104702614A CN 104702614 A CN104702614 A CN 104702614A CN 201510122244 A CN201510122244 A CN 201510122244A CN 104702614 A CN104702614 A CN 104702614A
- Authority
- CN
- China
- Prior art keywords
- socket
- mms
- protocol stack
- network interface
- lwip
- 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
Links
Abstract
本发明公开了一种双协议栈双网口MMS通信系统及方法,包括第一网口、第二网口、NetX协议栈、LWIP协议栈、第一socket、第二socket及MMS;所述第一网口与NetX协议栈相连接,NetX协议栈通过第一socket与MMS相连接,第二网口与LWIP协议栈相连接,LWIP协议栈通过第二socket与MMS相连接。本发明可以实现双协议栈双网口的通信。
Description
技术领域
本发明属于嵌入式系统技术领域,涉及一种通信系统,具体涉及一种双协议栈双网口MMS通信系统及方法。
背景技术
MMS(制造报文规范)协议是智能变电站中IEC61850在站控层的实现协议。SISCO的MMS-EASE Lite(Embedded App licationServiceF1ement)是MMS的C语言编程接口。它是一个经过优化,支持MMS和IEC61850的源代码包,在国内继电保护领域有广泛应用。使用其可以减少开发风险和开发成本,缩短投入市场时间。
随着国内智能电网的大力推广,现场应用中要求保护装置能支持独立双网口的MMS通信。由于历史原因,我司装置的NetX协议栈仅支持单个物理网口的通信,如何做出更改,使其支持双独立网口的MMS通信,是一个现实而紧迫的问题。
由于NetX是一种商业协议栈,如要其支持双独立网口的通信,需要额外的付费取得技术支持,迫于成本压力,此种方案暂时搁置。
另一种直观的想法就是将NetX协议栈更改成为其他支持多个物理网口的协议栈,然后在此协议栈上实现应用的双网口通信。因为装置上所有通信程序都使用的NetX的通信接口,此种方法带来的问题是,一旦新协议栈的通信接口与NetX的通信接口有差异,我们都必须更改所有通信程序代码的通信接口,这将带来很大的工作量,同时使已经运行的通信程序变得不稳定。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种双协议栈双网口MMS通信系统,该系统可以实现双协议栈双网口的通信及方法。
为达到上述目的,本发明所述的双协议栈双网口MMS通信系统包括第一网口、第二网口、NetX协议栈、LWIP协议栈、第一socket、第二socket及MMS;
所述第一网口与NetX协议栈相连接,NetX协议栈通过第一socket与MMS相连接,第二网口与LWIP协议栈相连接,LWIP协议栈通过第二socket与MMS相连接。
所述第一网口与NetX协议栈通过第一驱动相连接;
所述第二网口与LWIP协议栈通过第二驱动相连接。
本发明所述的双协议栈双网口MMS通信方法包括以下步骤:
MMS报文分别经第一网口及第二网口保存到NetX协议栈及LWIP协议栈中,NetX协议栈中的MMS报文及LWIP协议栈中的MMS报文分别经第一socket及第二socket进入到MMS中,MMS对接收的MMS报文添加标记,用于表明MMS报文经第一socket接收的还是经第二socket接收的,MMS再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至对应的第一socket及第二socket,第一socket及第二socket将接收到MMS报文的响应分别转发至NetX协议栈及LWIP协议栈中,NetX协议栈中MMS报文的响应及LWIP协议栈中MMS报文的响应分别经第一驱动及第二驱动转发至第一网口及第二网口中。
MMS对接收的MMS报文添加标记的具体过程为:
对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一socket收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二socket接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一socket收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二socket6收上来的数据。
本发明具有以下有益效果:
本发明所述的双协议栈双网口MMS通信系统及方法只需在原有的系统中添加独立的物理网口及LWIP协议栈,在工作时,将第一网口及第二网口接收的MMS报文分别经NetX协议栈及LWIP协议栈转发至MMS中,在MMS对各MMS报文作标记,使各MMS报文与接收上来的路径相对应,然后对各MMS报文进行响应,再根据各MMS报文的标记将各MMS报文的响应经对应的路径转发到第一网口及第二网口中,从而实现双协议栈双网口的通信,不需要对原有的系统进行修改,只需给原有的系统中添加开源的LWIP协议栈,将新网口驱动挂接到LWIP协议栈上,使新网口的物理通信正常,减小系统风险及成本,并且不需要针对LWIP协议栈及NetX协议栈运行两条MMS程序。
附图说明
图1为本发明的结构示意图;
图2为本发明中实施例一的流程图。
其中,1为第一驱动、2为第二驱动、3为MMS、4为第一socket,5为第二网口、6为第二socket、7为LWIP协议栈、8为NetX协议栈、9为第一网口。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参考图1,本发明所述的双协议栈双网口MMS通信系统包括第一网口9、第二网口5、NetX协议栈8、LWIP协议栈7、第一socket4套接字、第二socket6及MMS3;第一网口9与NetX协议栈8相连接,NetX协议栈8通过第一socket4与MMS3相连接,第二网口5与LWIP协议栈7相连接,LWIP协议栈7通过第二socket6与MMS3相连接;第一网口9与NetX协议栈8通过第一驱动1相连接;第二网口5与LWIP协议栈7通过第二驱动2相连接。
本发明所述的双协议栈双网口MMS通信方法包括以下步骤:
MMS报文经第一网口9及第二网口5保存到NetX协议栈8及LWIP协议栈7中,NetX协议栈8中的MMS报文及LWIP协议栈7中的MMS报文分别经第一socket4及第二socket6进入到MMS3中,MMS3对接收的MMS报文添加标记,用于表明MMS报文经第一socket4接收的还是经第二socket6接收的,MMS3再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至对应的第一socket4及第二socket6,第一socket4及第二socket6将接收到MMS报文的响应分别转发至NetX协议栈8及LWIP协议栈7中,NetX协议栈8中MMS报文的响应及LWIP协议栈7中MMS报文的响应分别经第一驱动1及第二驱动2转发至第一网口9及第二网口5中。
MMS3对接收的MMS报文添加标记的具体过程为:对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一socket4收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二socket6接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一socket4收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二socket6收上来的数据。
实施例一
图2描述了MMS3任务中的处理细节,初始化1要创建针对LWIP协议栈7的侦听socket,用来侦听来自新网口的网络连接。在MMS报文接收2中,添加LWIP socket接收函数来接收报文,socket接收函数中,socket采用非阻塞模式,使用select函数去监听socket文件描述符,防止接收进程在这里阻塞住,影响另一个网口的报文接收。报文解析3中,对原来的报文接收结构体增加LWIP的socket指针,默认值为空,凡是NetX socket收上来的报文,则不对此指针进行赋值,如果是LWIPsocket接收上来的报文则将接收socket的指针赋给此变量,此变量若为空,则必是NetX socket收上来的数据,不为空,则是LWIP socket收上来的数据,然后按照OSI协议一层层的解包,剥去报文的表示层及会话层,只留应用层MMS结构,将MMS结构保存到事件队列中,此MMS结构中也会隐含最初的LWIP socket指针,每次从此事件队列中取出一个MMS事件结构进行处理,处理完后,将其相应MMS报文用socket指针直接发送出去,而发送的时候根据此LWIP socket指针是否为空来判断要发送给哪个socket,如果不为空,则直接以此指针为发送参数,便可以发送至LWIP socket,送出报文,如果此指针为空,则直接调用结构中的NetX指针来发送报文,送出报文。
以一个石化项目为例,客户要求现场装置支持两个独立网口的MMS3通信。因为历史原因,此种类型装置只有一个网口,且协议栈为商业协议栈NetX,不支持双物理网口。
我们新增加了流行的开源协议栈LWIP,使其只负责新网口的通信,同时我们按照上述方式成功的使一个MMS3任务处理了来自两个协议栈的数据,实现了双协议栈双网口MMS3通信。
Claims (4)
1.一种双协议栈双网口MMS通信系统,其特征在于,包括第一网口(9)、第二网口(5)、NetX协议栈(8)、LWIP协议栈(7)、第一socket(4)、第二socket(6)及MMS(3);
所述第一网口(9)与NetX协议栈(8)相连接,NetX协议栈(8)通过第一socket(4)与MMS(3)相连接,第二网口(5)与LWIP协议栈(7)相连接,LWIP协议栈(7)通过第二socket(6)与MMS(3)相连接。
2.根据权利要求1所述的双协议栈双网口MMS通信系统,其特征在于,
所述第一网口(9)与NetX协议栈(8)通过第一驱动(1)相连接;
所述第二网口(5)与LWIP协议栈(7)通过第二驱动(2)相连接。
3.一种双协议栈双网口MMS通信方法,其特征在于,基于权利要求2所述的双协议栈双网口MMS通信系统,包括以下步骤:
MMS报文分别经第一网口(9)及第二网口(5)保存到NetX协议栈(8)及LWIP协议栈(7)中,NetX协议栈(8)中的MMS报文及LWIP协议栈(7)中的MMS报文分别经第一socket(4)及第二socket(6)进入到MMS(3)中,MMS(3)对接收的MMS报文添加标记,用于表明MMS报文经第一socket(4)接收的还是经第二socket(6)接收的,MMS(3)再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至第一socket(4)及第二socket(6),第一socket(4)及第二socket(6)将接收到MMS报文的响应分别转发至NetX协议栈(8)及LWIP协议栈(7)中,NetX协议栈(8)中MMS报文的响应及LWIP协议栈(7)中MMS报文的响应分别经第一驱动(1)及第二驱动(2)转发至第一网口(9)及第二网口(5)中。
4.根据权利要求3所述的双协议栈双网口MMS通信方法,其特征在于,MMS(3)对接收的MMS报文添加标记的具体过程为:
对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一socket(4)收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二socket(6)接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一socket(4)收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二socket(6)收上来的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122244.1A CN104702614B (zh) | 2015-03-19 | 2015-03-19 | 一种双协议栈双网口制造报文规范通信系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122244.1A CN104702614B (zh) | 2015-03-19 | 2015-03-19 | 一种双协议栈双网口制造报文规范通信系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702614A true CN104702614A (zh) | 2015-06-10 |
CN104702614B CN104702614B (zh) | 2018-07-10 |
Family
ID=53349383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510122244.1A Active CN104702614B (zh) | 2015-03-19 | 2015-03-19 | 一种双协议栈双网口制造报文规范通信系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702614B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006338A (zh) * | 2010-12-23 | 2011-04-06 | 山东大学 | 嵌入式设备支持IPv4/IPv6协议的并发通信方法 |
KR101253759B1 (ko) * | 2006-10-16 | 2013-04-12 | 엘지전자 주식회사 | 멀티미디어 메시지 서비스 시스템 및 그 제어방법 |
EP2687925A1 (en) * | 2012-07-16 | 2014-01-22 | ABB Technology AG | Master intelligent electronic device for high level application |
CN103647760A (zh) * | 2013-11-27 | 2014-03-19 | 国家电网公司 | 一种智能变电站数字保护装置的mms通讯平台及其访问方法 |
-
2015
- 2015-03-19 CN CN201510122244.1A patent/CN104702614B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101253759B1 (ko) * | 2006-10-16 | 2013-04-12 | 엘지전자 주식회사 | 멀티미디어 메시지 서비스 시스템 및 그 제어방법 |
CN102006338A (zh) * | 2010-12-23 | 2011-04-06 | 山东大学 | 嵌入式设备支持IPv4/IPv6协议的并发通信方法 |
EP2687925A1 (en) * | 2012-07-16 | 2014-01-22 | ABB Technology AG | Master intelligent electronic device for high level application |
CN103647760A (zh) * | 2013-11-27 | 2014-03-19 | 国家电网公司 | 一种智能变电站数字保护装置的mms通讯平台及其访问方法 |
Non-Patent Citations (2)
Title |
---|
JIAN CHEN等: "A New Design of Embedded IPv4/IPv6 Dual-stack Protocol", 《2011 INTERNATIONAL CONFERENCE ON NETWORK COMPUTING AND INFORMATION SECURITY》 * |
陈波: "基于ThreadX操作系统的Ipv6隧道研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN104702614B (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9253100B2 (en) | Asynchronous virtual machine replication | |
CN102497630B (zh) | 一种m2m设备及其实现业务的方法、智能卡和通信模组 | |
CN102857505B (zh) | 一种物联网数据总线中间件系统 | |
CN111954100B (zh) | 一种接口升级方法、装置以及光网络单元管理方法、装置 | |
NZ594766A (en) | Virtual service provider systems | |
WO2017128953A1 (zh) | 服务器虚拟化网络共享的装置和方法 | |
KR102257945B1 (ko) | 서비스 데이터 전송 방법 및 장치 | |
CN102960006A (zh) | 物联网信息的处理方法、装置和管理控制系统 | |
US9094259B2 (en) | Networking method and device via network interface of data card equipment | |
CN101969454B (zh) | 移动终端实现与计算机的数据传输方法、系统及移动终端 | |
CN104285393A (zh) | 统一epon接入网和基于同轴电缆的接入网的方法和设备 | |
CN101707622A (zh) | 实现远程数据监控的方法 | |
CN102420809A (zh) | 终端管理系统、服务器以及方法 | |
CN101552735A (zh) | 基于订阅模式的可插拔消息总线装置及其实现方法 | |
CN104702614A (zh) | 一种双协议栈双网口mms通信系统及方法 | |
CN104426883A (zh) | 用户数图发送处理方法、装置及系统 | |
CN110958590A (zh) | 一种基于多协议边缘计算网关的异构设备集成系统 | |
US9078282B2 (en) | Method and apparatus for implementing network device function of wireless communication terminal | |
CN102695142A (zh) | 一种全媒体科普视窗sms消息智能控制的方法 | |
CN105072026A (zh) | 物联网网关通信系统 | |
CN103701717A (zh) | 云基站用户数据处理方法、装置和系统 | |
CN113068084B (zh) | 存储管理方法、设备、装置和计算机可读存储介质 | |
WO2017020292A1 (zh) | 一种光接入设备及光接入系统 | |
CN102662621A (zh) | 一种基于配置驱动的多终端多分区显示交互界面控制方法 | |
CN112351355A (zh) | 一种基于gRPC的ONU通道的管理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |