CN105721491A - 一种用于面向高速磁浮交通仿真的通信方法 - Google Patents
一种用于面向高速磁浮交通仿真的通信方法 Download PDFInfo
- Publication number
- CN105721491A CN105721491A CN201610164537.0A CN201610164537A CN105721491A CN 105721491 A CN105721491 A CN 105721491A CN 201610164537 A CN201610164537 A CN 201610164537A CN 105721491 A CN105721491 A CN 105721491A
- Authority
- CN
- China
- Prior art keywords
- message
- communication
- socket
- sender
- recipient
- 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
Classifications
-
- 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]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/14—Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
Abstract
本发明涉及一种用于面向高速磁浮交通仿真的通信方法,包括以下步骤:(1)将原始通信报文封装为封装报文;(2)发送方与接收方之间通过套接字建立连接;(3)判断套接字是否可读,如果是,则执行步骤(4),否则,返回步骤(2);(4)发送方将封装报文发送给接收方;(5)接收方将封装报文解封装为原始通信报文,并判断封装报文和原始通信报文是否正确,如果是,则执行步骤(6),否则,接收方给发送方发送重发请求并执行步骤(1);(6)接收方给发送方发送确认报文,发送方接收确认报文,通信完成。与现有技术相比,本发明具有提高通信报文的传输准确性和可靠性等优点。
Description
技术领域
本发明属于多机通信领域,尤其是涉及一种用于面向高速磁浮交通仿真的通信方法。
背景技术
为了实现高速磁浮交通仿真中不同仿真计算机或仿真服务器之间的数据传输和通信管理,以完成对磁浮交通仿真实时的、大数据量的故障注入和信息推送的测试与验证,需要使用一种高效并且可靠的传输方式作为不同主机之间的通信机制。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高数据传输可靠性的用于面向高速磁浮交通仿真的通信方法。
本发明的目的可以通过以下技术方案来实现:一种用于面向高速磁浮交通仿真的通信方法,用于高速磁浮交通仿真中不同仿真计算机或仿真服务器之间的数据传输和通信管理,该方法在使用可靠UDP协议的基础上,增加封装报文机制和确认报文机制,并且使用套接字处理并发的多个通信请求,包括以下步骤:
(1)将原始通信报文封装为封装报文;
(2)发送方与接收方之间通过套接字建立连接;
(3)判断套接字是否可读,如果是,则执行步骤(4),否则,返回步骤(2);
(4)发送方将封装报文发送给接收方;
(5)接收方将封装报文解封装为原始通信报文,并判断封装报文和原始通信报文是否正确,如果是,则执行步骤(6),否则,接收方给发送方发送重发请求并执行步骤(1);
(6)接收方给发送方发送确认报文,发送方接收确认报文,通信完成。
所述的步骤(1)具体为:将重传和地址验证信息作为报文首部,添加至原始通信报文成为封装报文。将原始通信报文进行封装,不仅可以使接收方能够快速识别通信报文的类型,而且可以检查通信报文的目的地址与重发次数等信息,提高高速磁浮仿真中传输报文的准确性。
所述的步骤(3)具体为:根据用户需求确定可指向的套接字组和select函数的最长等待时间,以识别不同的通信进程和连接,将套接字添加到readfds集合中,并设置WinsockI/O模型中的Select函数的readfds、writefds、timeout等参数,然后调用select函数并且等待其返回,如果select函数返回并且调用成功,则判断该套接字是否仍为readfds集合中的一员,如果是,则表明该套接字“可读”,否则返回错误信息SOCKET_ERROR,并返回步骤(2)。
由于高速磁浮交通仿真中的通信需求多样性,既可以支持阻塞的通信调用方式,也可以接受非阻塞的通信调用方式。本发明使用使用WinsockI/O模型中的Select模型实现多通信请求的并发服务。
由于高速磁浮交通仿真中的每一台主机中都存在多个通信节点和通信接口,套接字的信息和数量在不断变化。因此建立发送用套接字的Map容器SendSocketMap,存储所有发送用套接字;建立接收用套接字的Map容器RecvSocketMap,存储所有接收用套接字。通过维护套接字的Map容器,修改套接字信息和查看当前通信请求是否可用等,可以维护所有使用到的套接字。
所述的步骤(5)具体为:接收方将封装报文解封装为原始通信报文,比较封装报文首部的通信节点序号与接收方的通信节点序号是否一致,如果是,则读取封装报文首部的重传次数和重传间隔,如果重传次数为零,则执行步骤(6),否则,接收方给发送方发送重发请求并执行步骤(1)。
所述的步骤(6)具体为:接收方读取封装报文首部的源地址IP和源地址端口,并给发送方发送确认报文,发送方接收到确认报文后,读取确认报文中的序列号,并判断该序列号是否正确,如果是,则通信成功,否则,通信失败。增加确认报文机制,确保通信报文不被丢失,能够顺序到达。
本发明采用可靠UDP(RUDP)传输协议作为高速磁浮交通仿真的通信协议。RUDP协议在原TCP/IP协议的传输层(UDP协议)和应用层之间加入了一层为保证可靠数据传送而实现的RUDP软件模块。这样不仅可以利用UDP协议的传输速度优势,而且可以提高传输的可靠性,避免在UDP协议下的大量丢包情况,确保在高速磁浮交通仿真中大量通信报文传输的实时性与可靠性。
与现有技术相比,本发明具有以下优点:
(1)本发明在使用可靠UDP协议的基础上,增加封装报文机制和确认报文机制,并且使用套接字Socket处理并发的多个通信请求,提高通信报文的传输准确性和可靠性,完成磁浮交通仿真的多机间通信;
(2)对通信报文的封装,不仅可以使接收方能够快速识别通信报文的类型,而且可以检查报文的目的地址与重发次数等信息,提高高速磁浮仿真中传输报文的准确性;
(3)增加确认报文机制,确保通信报文不被丢失,能够顺序到达;
(4)可靠UDP(RUDP)传输协议不仅具有UDP协议的传输速度优势,而且借鉴了TCP协议的三次握手原理以解决通信报文出现丢失或乱序到达的问题;
(5)在RUDP的基础上使用套接字Socket机制,确保能够响应磁浮交通仿真中多个并发的通信请求;
(6)本发明不仅可以满足高效的、海量的通信报文的传输,还可以提高数据传输的可靠性,确保磁浮交通仿真的传输性能。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
本发明采用可靠UDP(RUDP)传输协议作为高速磁浮交通仿真的通信协议。RUDP协议在原TCP/IP协议的传输层(UDP协议)和应用层之间加入了一层为保证可靠数据传送而实现的RUDP软件模块。如果出现数据包丢失,接收方发送重发请求给发送方;如果数据包完整到达,接收方则响应发送方的完成帧。这样不仅可以利用UDP协议的传输速度优势,而且可以提高传输的可靠性,避免在UDP协议下的大量丢包情况,确保在高速磁浮交通仿真中大量通信报文传输的实时性与可靠性。
如图1所示,一种用于面向高速磁浮交通仿真的通信方法,用于高速磁浮交通仿真中不同仿真计算机或仿真服务器之间的数据传输和通信管理,该方法在使用可靠UDP协议的基础上,增加封装报文机制和确认报文机制,并且使用套接字处理并发的多个通信请求,包括以下步骤:
(1)将重传和地址验证信息作为报文首部,添加至原始通信报文成为封装报文。将原始通信报文进行封装,不仅可以使接收方能够快速识别通信报文的类型,而且可以检查通信报文的目的地址与重发次数等信息,提高高速磁浮仿真中传输报文的准确性。封装报文设计如表1。
表1封装报文结构
(2)发送方与接收方之间通过套接字建立连接;
(3)根据用户需求确定可指向的套接字组和select函数的最长等待时间,以识别不同的通信进程和连接,将套接字添加到readfds集合中,并设置WinsockI/O模型中的Select函数的readfds、writefds、timeout等参数,然后调用select函数并且等待其返回,如果select函数返回并且调用成功,则判断该套接字是否仍为readfds集合中的一员,如果是,则表明该套接字“可读”,否则返回错误信息SOCKET_ERROR,并返回步骤(2)。
(4)发送方将封装报文发送给接收方;
(5)接收方将封装报文解封装为原始通信报文,比较封装报文首部的通信节点序号与接收方的通信节点序号是否一致,如果是,则说明接收方是该报文的目的地址并读取封装报文首部的重传次数和重传间隔,判断该报文是否为高速磁浮交通仿真中具有重传机制的报文,如果重传次数为零,则执行步骤(6),否则,接收方给发送方发送重发请求并执行步骤(1),即接收方等待对应的重传间隔的时间,接收下一封报文。
(6)接收方读取封装报文首部的“源地址IP”和“源地址端口”,用于发送确认报文,接收方给发送方发送确认报文,发送方接收确认报文,并读取确认报文中的序列号,并判断该序列号是否正确,如果是,则通信成功,否则,通信失败。增加确认报文机制,确保通信报文不被丢失,能够顺序到达。确认报文中的其他信息无确定标准,可根据通信需求进行修改。
在使用RUDP传输协议的基础上,增加确认报文机制。确认报文是原始报文的应答确认,它只含有一个报文首部。确认报文设计如表2:
表2确认报文结构
由于高速磁浮交通仿真中的通信需求多样性,既可以支持阻塞的通信调用方式,也可以接受非阻塞的通信调用方式。本发明使用使用WinsockI/O模型中的Select模型实现多通信请求的并发服务。
由于高速磁浮交通仿真中的每一台主机中都存在多个通信节点和通信接口,套接字的信息和数量在不断变化。因此建立发送用套接字的Map容器SendSocketMap,存储所有发送用套接字;建立接收用套接字的Map容器RecvSocketMap,存储所有接收用套接字。通过维护套接字的Map容器,修改套接字信息和查看当前通信请求是否可用等,可以维护所有使用到的套接字。
Claims (5)
1.一种用于面向高速磁浮交通仿真的通信方法,用于高速磁浮交通仿真中不同仿真计算机或仿真服务器之间的数据传输和通信管理,其特征在于,该方法在使用可靠UDP协议的基础上,增加封装报文机制和确认报文机制,并且使用套接字处理并发的多个通信请求,包括以下步骤:
(1)将原始通信报文封装为封装报文;
(2)发送方与接收方之间通过套接字建立连接;
(3)判断套接字是否可读,如果是,则执行步骤(4),否则,返回步骤(2);
(4)发送方将封装报文发送给接收方;
(5)接收方将封装报文解封装为原始通信报文,并判断封装报文和原始通信报文是否正确,如果是,则执行步骤(6),否则,接收方给发送方发送重发请求并执行步骤(1);
(6)接收方给发送方发送确认报文,发送方接收确认报文,通信完成。
2.根据权利要求1所述的一种用于面向高速磁浮交通仿真的通信方法,其特征在于,所述的步骤(1)具体为:将重传和地址验证信息作为报文首部,添加至原始通信报文成为封装报文。
3.根据权利要求1所述的一种用于面向高速磁浮交通仿真的通信方法,其特征在于,所述的步骤(3)具体为:确定可指向的套接字组和select函数的最长等待时间,将套接字添加到readfds集合中,并设置WinsockI/O模型中的Select函数的readfds、writefds、timeout参数,然后调用select函数并且等待其返回,如果select函数返回并且调用成功,则判断该套接字是否仍为readfds集合中的一员,如果是,则表明该套接字“可读”,否则返回错误信息SOCKET_ERROR,并返回步骤(2)。
4.根据权利要求1所述的一种用于面向高速磁浮交通仿真的通信方法,其特征在于,所述的步骤(5)具体为:接收方将封装报文解封装为原始通信报文,比较封装报文首部的通信节点序号与接收方的通信节点序号是否一致,如果是,则读取封装报文首部的重传次数和重传间隔,如果重传次数为零,则执行步骤(6),否则,接收方给发送方发送重发请求并执行步骤(1)。
5.根据权利要求1所述的一种用于面向高速磁浮交通仿真的通信方法,其特征在于,所述的步骤(6)具体为:接收方读取封装报文首部的源地址IP和源地址端口,并给发送方发送确认报文,发送方接收到确认报文后,读取确认报文中的序列号,并判断该序列号是否正确,如果是,则通信成功,否则,通信失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610164537.0A CN105721491B (zh) | 2016-03-22 | 2016-03-22 | 一种用于面向高速磁浮交通仿真的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610164537.0A CN105721491B (zh) | 2016-03-22 | 2016-03-22 | 一种用于面向高速磁浮交通仿真的通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721491A true CN105721491A (zh) | 2016-06-29 |
CN105721491B CN105721491B (zh) | 2018-10-26 |
Family
ID=56158063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610164537.0A Expired - Fee Related CN105721491B (zh) | 2016-03-22 | 2016-03-22 | 一种用于面向高速磁浮交通仿真的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721491B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108064441A (zh) * | 2017-09-04 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种加速网络传输优化方法以及系统 |
CN113472621A (zh) * | 2020-03-30 | 2021-10-01 | 北京沃东天骏信息技术有限公司 | 网络数据转发方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108121A1 (en) * | 2001-02-02 | 2002-08-08 | Rachad Alao | Service gateway for interactive television |
CN1825846A (zh) * | 2005-02-25 | 2006-08-30 | 华为技术有限公司 | 基于传输控制协议的报文传输系统及其方法 |
CN101753530A (zh) * | 2008-12-18 | 2010-06-23 | 宝山钢铁股份有限公司 | 穿越电力网络物理单向隔离装置的数据传输方法及装置 |
US20100274848A1 (en) * | 2008-12-05 | 2010-10-28 | Social Communications Company | Managing network communications between network nodes and stream transport protocol |
CN103685243A (zh) * | 2013-11-28 | 2014-03-26 | 许继电气股份有限公司 | 一种基于udp协议的故障录波数据的传输方法 |
CN104426732A (zh) * | 2013-08-19 | 2015-03-18 | 华耀(中国)科技有限公司 | 一种高速传输隧道的实现方法及系统 |
-
2016
- 2016-03-22 CN CN201610164537.0A patent/CN105721491B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108121A1 (en) * | 2001-02-02 | 2002-08-08 | Rachad Alao | Service gateway for interactive television |
CN1825846A (zh) * | 2005-02-25 | 2006-08-30 | 华为技术有限公司 | 基于传输控制协议的报文传输系统及其方法 |
US20100274848A1 (en) * | 2008-12-05 | 2010-10-28 | Social Communications Company | Managing network communications between network nodes and stream transport protocol |
CN101753530A (zh) * | 2008-12-18 | 2010-06-23 | 宝山钢铁股份有限公司 | 穿越电力网络物理单向隔离装置的数据传输方法及装置 |
CN104426732A (zh) * | 2013-08-19 | 2015-03-18 | 华耀(中国)科技有限公司 | 一种高速传输隧道的实现方法及系统 |
CN103685243A (zh) * | 2013-11-28 | 2014-03-26 | 许继电气股份有限公司 | 一种基于udp协议的故障录波数据的传输方法 |
Non-Patent Citations (3)
Title |
---|
YUAN ZHANG,YUPING MA: "Design and Implementation of UDP-Based Reliable Data Transferring Simulation System", 《ADVANCED TECHNOLOGY IN TEACHING - PROCEEDINGS OF THE 2009 3RD INTERNATIONAL CONFERENCE ON TEACHING AND COMPUTATIONAL SCIENCE》 * |
佚名: "套接字编程", 《百度文库》 * |
王珏: "基于UDP改进的可靠传输协议研究与实现", 《电脑知识与技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108064441A (zh) * | 2017-09-04 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种加速网络传输优化方法以及系统 |
CN108064441B (zh) * | 2017-09-04 | 2021-08-13 | 达闼机器人有限公司 | 一种加速网络传输优化方法以及系统 |
CN113472621A (zh) * | 2020-03-30 | 2021-10-01 | 北京沃东天骏信息技术有限公司 | 网络数据转发方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105721491B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019129147A1 (zh) | 一种数据传输方法及第一设备 | |
CN103036904B (zh) | 一种在通信网络中使用udp协议进行数据可靠传输的方法 | |
US6785259B2 (en) | Enhanced transmission of critical data | |
US9432251B2 (en) | Enhanced acknowledgement and retransmission mechanism | |
US20180102978A1 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
US7817634B2 (en) | Network with a constrained usage model supporting remote direct memory access | |
CN102217258B (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
CN101536417B (zh) | 消除冗余连接的方法 | |
CN103248467A (zh) | 基于片内连接管理的rdma通信方法 | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
US7536468B2 (en) | Interface method, system, and program product for facilitating layering of a data communications protocol over an active message layer protocol | |
CN101778093A (zh) | 基于udp协议的数据传输方法 | |
CN107147655A (zh) | 一种网络双协议栈并行处理模型及其处理方法 | |
EP3525421A1 (en) | Data transmission method and apparatus | |
CN104618007B (zh) | 一种同步卫星tcp协议分段连接优化方法 | |
WO2020154223A1 (en) | Systems and methods for processing network traffic using dynamic memory | |
CN105491169A (zh) | 一种数据代理方法与系统 | |
CN110958264A (zh) | 一种基于tcp/ip协议的服务器通信方法 | |
CN105721491A (zh) | 一种用于面向高速磁浮交通仿真的通信方法 | |
CN108173851A (zh) | 一种用于空间信息网络的高效多媒体传输方法 | |
CN105871512B (zh) | 一种数据传输方法及装置 | |
CN102055774A (zh) | 基于包处理的http服务器及其数据处理方法 | |
CN103023602A (zh) | 一种基于Socket协议的数据传输容错系统 | |
Postel | RFC0761: DoD standard Transmission Control Protocol | |
CN102790668B (zh) | 一种处理重传数据的方法及基站 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181026 |
|
CF01 | Termination of patent right due to non-payment of annual fee |