CN103825761A - On-board router simulation method of delay-tolerant network - Google Patents

On-board router simulation method of delay-tolerant network Download PDF

Info

Publication number
CN103825761A
CN103825761A CN201410066341.9A CN201410066341A CN103825761A CN 103825761 A CN103825761 A CN 103825761A CN 201410066341 A CN201410066341 A CN 201410066341A CN 103825761 A CN103825761 A CN 103825761A
Authority
CN
China
Prior art keywords
data
bundle
simulation
network
satellite
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
CN201410066341.9A
Other languages
Chinese (zh)
Other versions
CN103825761B (en
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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201410066341.9A priority Critical patent/CN103825761B/en
Publication of CN103825761A publication Critical patent/CN103825761A/en
Application granted granted Critical
Publication of CN103825761B publication Critical patent/CN103825761B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种延迟可容忍网络的星上路由器仿真方法,包括:1.结合CCSDS和DTNRG构建星上路由器模型,在OPNET中进行可行性和有效性验证;2.基于OPNET的SITL接口实现虚拟数据流和真实数据流的转换,验证网关处理能力;3.用STK得到网络拓扑中星际和星地链路相关数据,并导入仿真软件模拟星际网络;4.对网络损伤仪进行延迟、误码率等相关设置,模拟空间链路。因此,本发明具有如下优点:整合现有空间通信协议体系提出了星上路由器模型,为我国DTN协议体系的系统级实现乃至空间信息网络的关键技术研究做了一些准备工作;软硬件结合较真实的模拟了卫星网络的环境,有助于验证星上路由器对空间环境的适用性。

The present invention proposes an on-board router emulation method of a delay tolerant network, comprising: 1. Combining CCSDS and DTNRG to construct an on-board router model, and verifying feasibility and effectiveness in OPNET; 2. Realizing virtualization based on the SITL interface of OPNET Conversion of data streams and real data streams to verify gateway processing capabilities; 3. Use STK to obtain interstellar and star-to-earth link data in the network topology, and import simulation software to simulate interstellar networks; 4. Delay and error codes for network damage meters rate and other related settings to simulate space links. Therefore, the present invention has the following advantages: the integration of the existing space communication protocol system has proposed the router model on the star, and some preparatory work has been done for the system-level realization of my country's DTN protocol system and even the key technology research of the space information network; the combination of software and hardware is more real The environment of the satellite network is simulated, which is helpful to verify the applicability of the on-board router to the space environment.

Description

一种延迟可容忍网络的星上路由器仿真方法A Simulation Method of On-Star Router for Delay Tolerant Network

  the

技术领域 technical field

本发明属于卫星网络技术和计算机技术两大领域,具体涉及一种延迟可容忍网络的星上路由器仿真方法。 The invention belongs to the two fields of satellite network technology and computer technology, and specifically relates to a method for simulating an on-board router of a delay-tolerant network.

背景技术 Background technique

当前我国航天事业进入飞速发展期,我国发射航天飞行器的数量和种类较以往有很大程度的增加,航天技术及空间应用的迅速发展对空间网络的研究提出了迫切需求。地面互联网的巨大成功使人们自然而然地想到将地面互联网的工作模式搬移到空间网络中,地面互联网IP协议体系的优势是技术成熟度高、能大大缩减航天成本、易于升级。2001年,美国哥达德航天中心开展了名为OMNI的研究项目[1],主要研究利用地面商用IP协议实现空间通信方案。空间IP协议体系虽然可以基本满足地面与近地轨道航天器间的信息传输,但TCP协议是基于端到端重传的协议,需要假定传输延迟很小,与深空通信不符。此外,按照分级方式实现的地面路由协议不适用于深空通信的操作环境。 At present, my country's aerospace industry has entered a period of rapid development. The number and types of space vehicles launched by my country have increased to a large extent compared with the past. The rapid development of aerospace technology and space applications has put forward an urgent need for space network research. The great success of the terrestrial Internet makes people naturally think of moving the working mode of the terrestrial Internet to the space network. The advantages of the terrestrial Internet IP protocol system are high technical maturity, greatly reduced space cost, and easy upgrade. In 2001, the Goddard Space Center of the United States launched a research project named OMNI [1], which mainly studies the realization of space communication schemes using the ground commercial IP protocol. Although the space IP protocol system can basically meet the information transmission between the ground and low-Earth orbit spacecraft, the TCP protocol is based on end-to-end retransmission protocol, which needs to assume that the transmission delay is very small, which is inconsistent with deep space communication. Furthermore, ground-based routing protocols implemented in a hierarchical manner are not suitable for the operational environment of deep space communications.

空间数据系统咨询委员会(CCSDS)于1982年成立,目前已发布了用于空间链路从物理层到应用层的一系列建议。CCSDS针对空间环境特点,对地面标准TCP/IP协议进行相应改进,开发了一套涵盖网络层到应用层的空间通信协议规范(SCPS)[2],较为全面地解决了空间信息传输问题。针对深空通信的特点,CCSDS协议也提出了相应的解决方法,如CCSDS文件传输协议CFDP[3]。然而,SCPS针对通信资源非常珍贵的深空通信环境,并未提出具体路由算法;可靠传输依然是采用先建立连接后传送数据的模式;选择重传机制仍然是基于端到端的重传。CFDP协议仅限定于文件传输应用,解决方法不够彻底,缺乏更完善的应用服务,从星际互联的角度考虑的体系结构不够完整。 Established in 1982, the Consultative Committee on Space Data Systems (CCSDS) has issued a series of recommendations for space links from the physical layer to the application layer. According to the characteristics of the space environment, CCSDS improves the ground standard TCP/IP protocol accordingly, and develops a set of space communication protocol specifications (SCPS) [2] covering the network layer to the application layer, which comprehensively solves the problem of space information transmission. According to the characteristics of deep space communication, the CCSDS protocol also proposes corresponding solutions, such as the CCSDS file transfer protocol CFDP [3]. However, SCPS does not propose a specific routing algorithm for the deep space communication environment where communication resources are very precious; reliable transmission still adopts the mode of establishing a connection first and then transmitting data; the selective retransmission mechanism is still based on end-to-end retransmission. The CFDP protocol is limited to file transfer applications, the solution is not thorough enough, lacks more perfect application services, and the system structure considered from the perspective of interstellar interconnection is not complete.

1998 年NASA 喷气推进实验室(JPL) 的一些工程师和网络先驱之一——Vint Cerf 开始了关于星际网络(Interplanetary Network, IPN) 的研究,其基本想法是让地球和距离很远的太空船之间的数据通信能够简化到像发生在地球上的两个节点之间一样。相关人员后来发展成立了Internet 协会特别兴趣小组,也就是IPNSIG[4]。但是,IPNSIG 遇到了一个问题就是现在还没有这样一个星际网络可以进行试验,而建立星际网络又十分昂贵,所以一部分人开始研究如何将IPN的概念体现在陆地应用中,特别是传感器网络,它与假设的IPN 网络具有很多共性,同时传感器网络的试验很容易进行(有试验的物质基础)。由于这个原因,IRTF 研究组( Internet research task f roce) 成立了新的工作组寻找更通用的延迟可容忍网络,这个工作组称为DTNRG(DTN research group)[5],是现在DTN 体系结构和协议研究的主要公开组织,并向IETF提交了包括DTN体系结构[6]在内的多项草案和标准。为解决深空环境下的可靠传输问题,JPL于2002年12月提交了一份支持DTN网络的协议草案Lieklider传输协议[7]替代IP协议和TCP协议。2004 年初,美国国防部下的DARPA (Defence Advanced Research Project s Agency) 提出Disruption Tolerant Networking,也简称为DTN[8]。所以,有时用DTN不仅表示延迟可容忍网络,还表示延迟中断可容忍网络。 Vint Cerf, one of the engineers and network pioneers at NASA's Jet Propulsion Laboratory (JPL) in 1998, started research on the Interplanetary Network (IPN), the basic idea of which is to make the earth and spaceships far away Data communication between nodes can be simplified as it happens between two nodes on the earth. Relevant personnel later developed and established the Internet Society Special Interest Group, also known as IPNSIG[4]. However, IPNSIG encountered a problem that there is no such interstellar network that can be tested, and the establishment of an interstellar network is very expensive, so some people began to study how to embody the concept of IPN in land applications, especially sensor networks. The hypothetical IPN network has many common features, and the sensor network experiment is easy to carry out (there is a material basis for the experiment). For this reason, the IRTF research group (Internet research task f roce) established a new working group to find a more general delay-tolerant network. This working group is called DTNRG (DTN research group) [5], which is the current DTN architecture and It is the main public organization for protocol research, and has submitted multiple drafts and standards including the DTN architecture [6] to the IETF. In order to solve the problem of reliable transmission in the deep space environment, JPL submitted a protocol draft to support DTN network in December 2002. The Lieklider transmission protocol [7] replaces the IP protocol and the TCP protocol. In early 2004, DARPA (Defence Advanced Research Projects Agency) under the US Department of Defense proposed Disruption Tolerant Networking, also referred to as DTN [8]. Therefore, sometimes DTN is used not only to represent a delay-tolerant network, but also to represent a delay-interruption-tolerant network.

近年来,还产生CCSDS协议体系与空间IP协议体系相结合的思想,就是在数据链路层仍然可以使用CCSDS建议,如分包遥测、分包遥控、AOS、Proximity等,网络层应用IP及其扩展技术,传输层和应用层选用商业标准协议或CCSDS协议。这种解决方案具有较为灵活的协议配置能力,但没有从根本上消除空间IP协议体系和当前CCSDS协议体系在深空通信中的固有缺陷,协议堆栈的可适应感知能力较弱,仍面临许多挑战。 In recent years, the idea of combining the CCSDS protocol system with the space IP protocol system has also emerged, that is, the CCSDS proposal can still be used at the data link layer, such as packet telemetry, packet remote control, AOS, Proximity, etc., and the network layer uses IP and its Extended technology, transport layer and application layer use commercial standard protocol or CCSDS protocol. This solution has relatively flexible protocol configuration capabilities, but it does not fundamentally eliminate the inherent defects of the space IP protocol system and the current CCSDS protocol system in deep space communication. The adaptability of the protocol stack is weak, and there are still many challenges .

IP、CCSDS、DTN三种协议体系并非单纯的技术演进,而是互依并存的。地面互联网TCP/IP的成熟技术和空间IP的应用验证为CCSDS建议的改进提供了明确的方向,CCSDS与IP相结合的协议体系成为发挥TCP/IP的巨大优势并能满足空间通信要求的基本解决途径。DTN协议体系结构可以通过整合前两者分层协议和自身协议以解决空间环境异构异质条件下的可靠传输问题。但DTN协议与前两者相比具有明显的区别:一是DTN不假定存在发送端与接收端的端到端路径,包裹采用存储转发的方法进行传递;二是DTN 引入了所谓的“包裹层(Bundle Layer)”作为连接不同受限网络的覆盖层,采用此覆盖的节点依靠发送称为“包裹”的异步消息进行通信。包裹层提供和互联网关相似的功能,但它集中于虚消息转发而不是分组交换。 The three protocol systems of IP, CCSDS, and DTN are not pure technological evolution, but interdependent and coexistent. The mature technology of terrestrial Internet TCP/IP and the application verification of space IP provide a clear direction for the improvement suggested by CCSDS. The protocol system combining CCSDS and IP has become a basic solution to give full play to the huge advantages of TCP/IP and meet the requirements of space communication. way. The DTN protocol architecture can solve the problem of reliable transmission under heterogeneous conditions of space environment by integrating the first two layered protocols and its own protocol. However, the DTN protocol has obvious differences compared with the former two: first, DTN does not assume that there is an end-to-end path between the sender and the receiver, and the package is delivered by store and forward; second, DTN introduces the so-called "package layer ( Bundle Layer)" serves as an overlay layer connecting different constrained networks, and nodes adopting this overlay rely on sending asynchronous messages called "packages" to communicate. The wrapper layer provides similar functionality to an Internet gateway, but it focuses on virtual message forwarding rather than packet switching.

目前,卫星上通信设备一般只实现了转发的功能而没有路由的功能,卫星转发器分为透明式转发器和再生式转发器。透明式转发器具有信号放大、下变频等功能;再生式转发器具有射频波束交换、解调- 再调制、基带交换、多址方式变换等功能,以减少传输差错率, 提高效率, 消除干扰, 降低传输时延, 改善交换性能。最早将路由器搬上卫星的是OMNI[1],直接对现有商用通信协议进行取舍、组合,使之适应航天任务的操作环境和通信需求,通过利用现成的软、硬件资源来降低航天任务的成本、提高互操作性,仅需在射频设备后增加一个信道纠错编/译码的模块即可与商用路由器相接,直接将承载了用户数据的IP包在网络上传输。2002年,美国情报部门、国防部、NASA共同启动了转型通信研究(TCS),18个月后,该联合研究小组制定了转型通信体系结构(TCA)基线1.0[9],其中最著名的莫过于TSAT计划,预计采用全激光交叉链路和TSAT路由器构建空间骨干网,虽然该项目被取消,但TCA的总体架构基本上没变[10-11]。2007年美国国防部将“太空互联网路由器”(IRIS)计划列入联合能力技术演示验证财政预算,IRIS JCTD通过一颗地球同步通信卫星上携带的一个路由器来进一步开放这种新型网络中心能力的作战概念、战术、技术和方法,实验结果可以更好的指出这种下一代卫星通信网络能力[12-15]。IRIS最大的优点是简化卫星间通信,降低音频传输的延迟。传统的卫星传输方式下,即使旗舰和驱逐舰之间本来只相距几英里,但是它们之间的通讯需要在不同的卫星和地面网络之间传递数次才能到达目的地。IRIS计划可以在太空中的卫星之间发送IP数据包,工作原理类似地面上的互联网,这就减少数据传送的延迟,节省卫星通信宽带,提供更高的网络灵活性。由于该技术能提高军用卫星通讯效率并降低成本,装备较差、规模较小的部队就能第一次在真正意义上使用中心网络的各种功能。IRIS承诺对流量更好的适应性、降低每个字节的成本以及为装备差的部队提供更高的流量。  At present, the communication equipment on the satellite generally only realizes the function of forwarding but not the function of routing. Satellite transponders are divided into transparent transponders and regenerative transponders. The transparent transponder has functions such as signal amplification and frequency down conversion; the regenerative transponder has functions such as radio frequency beam switching, demodulation-remodulation, baseband switching, multiple access mode conversion, etc., to reduce transmission error rate, improve efficiency, eliminate interference, Reduce transmission delay and improve switching performance. OMNI[1] was the first to put routers on satellites. It directly selects and combines existing commercial communication protocols to adapt to the operating environment and communication requirements of space missions, and reduces the cost of space missions by using off-the-shelf software and hardware resources. It only needs to add a channel error correction coding/decoding module behind the radio frequency equipment to connect with commercial routers, and directly transmit IP packets carrying user data on the network. In 2002, the U.S. intelligence agency, the Department of Defense, and NASA jointly launched the Transformational Communications Study (TCS). Eighteen months later, the joint research team formulated the Transformational Communications Architecture (TCA) Baseline 1.0 [9], the most famous of which is Mo Due to the TSAT plan, it is expected to use all laser cross links and TSAT routers to build a space backbone network. Although the project was cancelled, the overall structure of TCA has basically remained unchanged [10-11]. In 2007, the U.S. Department of Defense included the "Space Internet Router" (IRIS) program in the financial budget for joint capability technology demonstration and verification. IRIS JCTD further opened up the operation of this new network-centric capability through a router carried on a geosynchronous communication satellite. Concepts, tactics, techniques and methods, and experimental results can better point out the capabilities of this next-generation satellite communication network [12-15]. The biggest advantage of IRIS is to simplify communication between satellites and reduce the delay of audio transmission. Under the traditional satellite transmission method, even if the flagship and the destroyer are only a few miles apart, the communication between them needs to be passed several times between different satellites and ground networks to reach the destination. The IRIS program can send IP data packets between satellites in space, and the working principle is similar to the Internet on the ground, which reduces the delay of data transmission, saves satellite communication bandwidth, and provides higher network flexibility. Because the technology can improve the efficiency and reduce the cost of military satellite communications, less equipped and smaller forces will be able to use the functions of the central network in a meaningful sense for the first time. IRIS promises better adaptability to traffic, lower cost per byte, and higher throughput for poorly equipped troops. the

由此可见,星上路由器仍然处于研究阶段,并未成为星上的成熟载荷。面向延迟可容忍网络的星上路由器仿真的目标在于验证星上路由器对于空间环境的适用性,其难点不在于路由器本身,而在于卫星网络环境模拟的真实性。目前国内外卫星网络及其网络设备的仿真方法主要有: It can be seen that the router on the star is still in the research stage and has not become a mature load on the star. The goal of on-board router simulation for delay-tolerant networks is to verify the applicability of on-board routers to the space environment. The difficulty lies not in the router itself, but in the authenticity of the satellite network environment simulation. At present, the simulation methods of satellite network and its network equipment at home and abroad mainly include:

(1)、基于软件的网络仿真。采用网络仿真软件对网络设备以及网络环境进行建模分析。常用的有OPNET和NS2软件。OPNET支持在网络各个层次的设备、链路和协议的精确建模,并能够准确分析复杂网络的性能和行为,能够比较真实地反映网络环境,工程和商业应用中较多。NS2的仿真则较为抽象,适合于协议算法的研究,一般在科学研究领域应用较为广泛。另外,专门针对延迟可容忍网络的还有ONE软件,ONE是开源软件,从网络仿真的角度看,ONE能仿真运动模型、DTN路由。从功能的角度看,ONE集成了大量的运动模型和路由算法的具体实现,并且易于扩展,但ONE很难精细地对设备进行仿真。 (1), software-based network simulation. Use network simulation software to model and analyze network equipment and network environment. Commonly used are OPNET and NS2 software. OPNET supports accurate modeling of devices, links, and protocols at all levels of the network, and can accurately analyze the performance and behavior of complex networks, and can truly reflect the network environment. It is often used in engineering and commercial applications. The simulation of NS2 is relatively abstract, which is suitable for the research of protocol algorithms, and is generally widely used in the field of scientific research. In addition, there is ONE software specifically for delay-tolerant networks. ONE is open source software. From the perspective of network simulation, ONE can simulate motion models and DTN routing. From a functional point of view, ONE integrates a large number of specific implementations of motion models and routing algorithms, and is easy to expand, but it is difficult for ONE to simulate devices in detail.

(2)、半物理仿真。采用软件(例如OPNET)对真实的路由器、交换机等网络设备进行模拟,网络环境采用软件、硬件配合搭建,即采用PC+仿真软件的形式对星上路由器进行仿真,采用其他的软硬件形式对网络环境(包括信源信宿)进行仿真。这种方法平台搭建较为复杂,需要仿真软件具有相应的转换接口,但是更能真实模拟空间网络。 (2), semi-physical simulation. Use software (such as OPNET) to simulate real routers, switches and other network equipment. The network environment is built with software and hardware, that is, use PC+ simulation software to simulate the router on the star, and use other software and hardware forms to simulate the network environment. (including source and sink) for simulation. This method is more complicated to build a platform and requires the simulation software to have a corresponding conversion interface, but it can more realistically simulate the space network.

(3)、星上路由器PC模拟。在PC平台下开发与运行和星上通信设备的协议栈结构相同的通信软件,在地面采用软硬件搭建网络仿真环境并且,对PC平台下的路由器进行测试。这种方法能够比较真实地模拟空间网络,但仿真周期很长,已接近于地面的验证测试系统,设备研发平台虽然在PC上,但整个通信软件在移植过程中总体框架并不变化。 (3) On-star router PC simulation. Under the PC platform, the communication software with the same protocol stack structure as the on-board communication equipment is developed and operated. On the ground, the software and hardware are used to build a network simulation environment and the router under the PC platform is tested. This method can simulate the space network more realistically, but the simulation cycle is very long, and it is close to the verification test system on the ground. Although the equipment development platform is on the PC, the overall framework of the entire communication software does not change during the transplantation process.

发明内容 Contents of the invention

本发明的上述技术问题主要是通过下述技术方案得以解决的: Above-mentioned technical problem of the present invention is mainly solved by following technical scheme:

一种延迟可容忍网络的星上路由器仿真方法,其特征在于,包括: An on-board router emulation method of a delay tolerant network, characterized in that it comprises:

星上路由器建模和仿真的步骤:建立星上路由器模型;结合CCSDS和DTNRG定义的网络层次结构,构建适合星上路由器的协议模型,并采用软件仿真的形式对模型的可行性和有效性进行验证;所述星上路由器建模和软件仿真是基于OPNET进行,包括节点域建模、进程域建模、以及外部系统域建模; The steps of on-board router modeling and simulation: establish an on-board router model; combine the network hierarchy defined by CCSDS and DTNRG to build a protocol model suitable for on-board routers, and use software simulation to verify the feasibility and effectiveness of the model Verification; the on-star router modeling and software simulation are carried out based on OPNET, including node domain modeling, process domain modeling, and external system domain modeling;

仿真数据和真实数据的转换的步骤:将软件仿真环境下通过验证的虚拟的数据流,转换为真实的数据流,从而验证网关对真实流的处理能力,由于网关仍然采用软件形式实现,因此具体实施过程中包括仿真数据到真实数据的转换接口和真实数据到仿真数据的转换接口;该步骤是基于OPNET SITL接口进行的,包括时间的同步、数据包的截获以及数据包的转换的子步骤; Steps of conversion of simulation data and real data: convert the verified virtual data flow in the software simulation environment into real data flow, so as to verify the processing ability of the gateway to the real flow. Since the gateway is still implemented in the form of software, the specific The implementation process includes the conversion interface from simulation data to real data and the conversion interface from real data to simulation data; this step is carried out based on the OPNET SITL interface, including the sub-steps of time synchronization, data packet interception and data packet conversion;

卫星拓扑的模拟步骤:根据各卫星的轨道参数生成星座组网运行数据,得到星际和星地链路通断时间、链路传输时延等数据,并分析得到网络拓扑结构变化数据;在仿真软件中输入这些数据,构建星际网络拓扑模型,在此基础上对星际网络中的星地、星间通信协议进行仿真;该步骤是基于STK进行,通过在STK中定义卫星的参数确定不同的卫星,从而进行卫星网络拓扑的仿真; Satellite topology simulation steps: Generate constellation network operation data according to the orbital parameters of each satellite, obtain interstellar and satellite-ground link on-off time, link transmission delay and other data, and analyze the network topology change data; in the simulation software Input these data in, construct the topological model of the interstellar network, and on this basis, simulate the satellite-ground and inter-satellite communication protocols in the interstellar network; this step is based on STK, and different satellites are determined by defining the parameters of the satellite in STK, So as to simulate the satellite network topology;

空间链路的模拟步骤:模拟星地、星间链路,提供延迟、误码率这些参数的模拟接口,通过这些参数配置,观察不同链路对网络性能的影响;具体是:采用iTrinegy网络损伤仪对空间链路进行模拟;将模拟卫星路由器的电脑都与网络损伤仪采用以太网连接,在网络损伤仪的.xml配置文件中,设置不同的延时和误码率参数,用于模拟不同的空间链路参数和链路通断。 The simulation steps of the space link: simulate the satellite-ground and inter-satellite links, provide a simulation interface for parameters such as delay and bit error rate, and observe the impact of different links on network performance through the configuration of these parameters; specifically: use iTrinegy network damage The instrument simulates the space link; the computers that simulate satellite routers are connected to the network damage instrument through Ethernet, and in the .xml configuration file of the network damage instrument, different delay and bit error rate parameters are set to simulate different Space link parameters and link continuity.

在上述的一种延迟可容忍网络的星上路由器仿真方法,所述步骤1中,三个建模方法具体实现过程如下: In the above-mentioned on-board router simulation method of a delay-tolerant network, in the step 1, the specific implementation process of the three modeling methods is as follows:

建模一:节点域建模; Modeling 1: node domain modeling;

定义在传输层和应用层间加入附加的Bundle层,传输层自适应选择SCPS-TP或UDP协议,链路层则使用IP OVER CCSDS AOS架构 Define the addition of an additional Bundle layer between the transport layer and the application layer, the transport layer adaptively selects the SCPS-TP or UDP protocol, and the link layer uses the IP OVER CCSDS AOS architecture

建模二:进程域建模;根据节点域模型,需要描述和实现的进程模型包括Bundle、SCPS-TP和IP OVER CCSDS AOS; Modeling 2: process domain modeling; according to the node domain model, the process models that need to be described and implemented include Bundle, SCPS-TP and IP OVER CCSDS AOS;

Bundle进程模型:Bundle初始传输、转发规程、接收规程、调度规程、 Bundle process model: Bundle initial transmission, forwarding procedure, receiving procedure, scheduling procedure,

转发受限规程、转发失败规程、删除规程和本地交付规程、以及处理行为,所述处理行为包括同意保管、保管释放和保管失败; Forwarding restricted procedures, forwarding failure procedures, deletion procedures and local delivery procedures, and processing actions including consent to custody, custody release and custody failure;

SCPS-TP进程模型:类似于TCP协议的实现,SCPS-TP协议的实现建立了两个进程模型,一个为管理进程,一个为处理子进程,管理进程为与上下层的接口进程,子进程为SCPS-TP协议的实际处理进程;SCPS-TP管理状态进程负责接收从应用层和下层发来的所有命令,并根据命令进入不同状态;SCPS-TP 协议处理子进程负责 SCPS-TP 协议从建立连接到关闭连接的整个过程,在不同的时候收到数据段采取何种处理,用连接的状态来表示这些不同的事件,并使用状态转移图来说明 SCPS-TP 在各种状态下对各种数据段的处理方式; SCPS-TP process model: Similar to the implementation of the TCP protocol, the implementation of the SCPS-TP protocol establishes two process models, one is the management process, and the other is the processing sub-process. The management process is the interface process with the upper and lower layers, and the sub-process is The actual processing process of the SCPS-TP protocol; the SCPS-TP management state process is responsible for receiving all commands sent from the application layer and the lower layer, and enters different states according to the commands; the SCPS-TP protocol processing sub-process is responsible for the SCPS-TP protocol from establishing a connection From the whole process of closing the connection, how to deal with the received data segments at different times, use the connection state to represent these different events, and use the state transition diagram to illustrate how SCPS-TP handles various data in various states how the segment is handled;

IP OVER CCSDS AOS进程模型:IP OVER CCSDS AOS管理进程首先进入初始化状态进行状态变量赋值,然后进入idle状态开始处理各种事件;当进入idle状态后,进程开始等待事件;当事件为流中断时,进程首先读取入流端口;如果是来自上层IP进程,进程进入from_upper状态对IP数据进行AOS帧封装;如果是来自下层MAC进程,进程进入from_lower状态对AOS帧进行解封装并重组IP数据;当事件为自中断Polling_MPDU时,进程进入from_upper状态对当前进行封装操作的AOS帧的帧长进行判断,若不足指定的固定长度,则产生空闲数据插入MPDU包区中,以保证AOS帧为固定长度,然后调用IP OVER CCSDS AOS周期发送子进程对该AOS帧进行发送; IP OVER CCSDS AOS process model: The IP OVER CCSDS AOS management process first enters the initialization state to assign state variables, and then enters the idle state to start processing various events; after entering the idle state, the process begins to wait for events; when the event is a stream interruption, The process first reads the inflow port; if it is from the upper layer IP process, the process enters the from_upper state to perform AOS frame encapsulation on the IP data; if it is from the lower MAC process, the process enters the from_lower state to decapsulate the AOS frame and reassemble the IP data; When Polling_MPDU is self-interrupted, the process enters the from_upper state to judge the frame length of the AOS frame currently undergoing encapsulation operation. If it is less than the specified fixed length, then generate idle data and insert it into the MPDU packet area to ensure that the AOS frame is a fixed length, and then Call the IP OVER CCSDS AOS periodic sending subprocess to send the AOS frame;

建模三:外部系统域建模;外部系统模块主要用于协同仿真;协同仿真是一种由多种仿真工具联合运行的仿真,由Modeler模型、协仿真代码以及外部代码组成;Modeler模型含有一个或多个外部系统定义,而外部代码可以是一个完整的仿真器或连接其它操作系统进程的通信机构,两者通过协仿真代码连接为一体;定义SITL部分的实现属于外部系统域的建模,首先是编写自定义的SITL函数,然后在SITL网关模块中选择包含有该SITL转换函数的外部文件;SITL部分需要实现的是对Bundle、SCPS-TP和IP OVER CCSDS AOS协议的支持。 Modeling 3: external system domain modeling; external system modules are mainly used for co-simulation; co-simulation is a simulation run jointly by multiple simulation tools, which consists of Modeler model, co-simulation code and external code; Modeler model contains a or multiple external system definitions, and the external code can be a complete emulator or a communication mechanism connected to other operating system processes. The first is to write a custom SITL function, and then select the external file containing the SITL conversion function in the SITL gateway module; what the SITL part needs to implement is the support for Bundle, SCPS-TP and IP OVER CCSDS AOS protocols.

在上述的一种延迟可容忍网络的星上路由器仿真方法,所述步骤1中,Bundle进程模型的具体建立方法如下: In the above-mentioned on-star router emulation method of a delay tolerant network, in the step 1, the specific establishment method of the Bundle process model is as follows:

进程开始时首先通过预初始化状态直到其它进程准备好,然后进行一些必要的初始化工作,主要是初始化静态路由表和其它状态变量并进行Bundle节点的注册;初始化完成后进入空闲状态,此状态主要是判断中断的类型;如果是流中断FROM_LOW,说明从下层进程接收到数据,根据传输层端口号确定是应用数据或是Bundle数据,若传输层端口号为550说明是Bundle数据,需要向保管结点发送保管成功信号,然后等待交付中断信号的达到;否则即为应用数据,此时首先需要打开相应的传输层连接,由之前设计的综合网关协议栈模型可知,这里主要是UDP或者SCPS-TP连接;连接建立之后进行Bundle封装,然后插入保管队列等待存储转发; At the beginning of the process, it first passes through the pre-initialization state until other processes are ready, and then performs some necessary initialization work, mainly initializing the static routing table and other state variables and registering the Bundle node; after the initialization is completed, it enters the idle state, which is mainly Determine the type of interruption; if it is a flow interruption FROM_LOW, it means that the data is received from the lower layer process. According to the port number of the transport layer, it is determined whether it is application data or Bundle data. If the port number of the transport layer is 550, it means that it is Bundle data. Send the storage success signal, and then wait for the arrival of the delivery interrupt signal; otherwise, it is the application data. At this time, the corresponding transport layer connection needs to be opened first. From the previously designed comprehensive gateway protocol stack model, here is mainly a UDP or SCPS-TP connection ; After the connection is established, Bundle packaging is performed, and then inserted into the storage queue to wait for storage and forwarding;

当Bundle源端点与目的端点相距较远且只有断续的连接,连接的持续时间不足以传输整个Bundle,此时只要基本块的Bundle处理标志字段没有指示该Bundle不能分段,就可以对Bundle进行分段处理,每个片段都被封装成一个新的Bundle进行传输;各片段都具有相同的源端点ID 和创建时间戳,指示它们来源于同一个Bundle;具体的分段形式包括主动分段和被动分段,此处采用主动分段的方法,即由Bundle进程主动将应用数据划分为许多更小的块,然后再将每个块封装成Bundle进行传输;此时,目的节点要从接收的Bundle中提取这些小块的应用数据并重组得到完整的应用数据;Bundle的重组是根据段偏移量和载荷长度的指示,把所有接收到的和当前段具有相同端点ID和创建时间戳的段载荷连结起来;如果组成的字节阵列的长度等于基本块中指示的应用数据单元总长度,那么用这个字节阵列重组的应用数据单元取代当前段的载荷,每段的载荷是重组后的应用数据单元的子集; When the source endpoint of the bundle is far away from the destination endpoint and there is only intermittent connection, and the duration of the connection is not enough to transmit the entire bundle, at this time, as long as the bundle processing flag field of the basic block does not indicate that the bundle cannot be segmented, the bundle can be processed Segmentation processing, each fragment is encapsulated into a new Bundle for transmission; each fragment has the same source endpoint ID and creation timestamp, indicating that they come from the same Bundle; specific segmentation forms include active segmentation and Passive segmentation, the method of active segmentation is adopted here, that is, the Bundle process actively divides the application data into many smaller blocks, and then encapsulates each block into a Bundle for transmission; at this time, the destination node needs to receive The application data of these small pieces is extracted from the Bundle and reassembled to obtain the complete application data; the reorganization of the Bundle is based on the indication of the segment offset and payload length, and all received segments with the same endpoint ID and creation timestamp as the current segment If the length of the formed byte array is equal to the total length of the application data unit indicated in the basic block, then the application data unit reassembled with this byte array replaces the current segment load, and the load of each segment is the reassembled application data unit a subset of data units;

如果是自中断FROM_ROUTER,此时调用路由模块计算下一跳结点; If it is a self-interruption FROM_ROUTER, call the routing module to calculate the next hop node at this time;

如果是自中断STATE_IND,此时对收到的Bundle数据包进行解封装和重组,然后交付给目的结点; If it is a self-interrupted STATE_IND, at this time, the received Bundle data packet is decapsulated and reassembled, and then delivered to the destination node;

如果是自中断RETRANS,此时取出保管队列中的Bundle数据包并转发至下一跳结点。 If it is a self-interrupted RETRANS, take out the Bundle data packet in the storage queue and forward it to the next hop node.

在上述的一种延迟可容忍网络的星上路由器仿真方法,所述仿真数据和真实数据的转换的步骤中,时间的同步、数据包的截获以及数据包的转换的具体方法如下: In the above-mentioned on-board router emulation method of a delay tolerant network, in the step of converting the simulated data and real data, the specific methods of time synchronization, data packet interception and data packet conversion are as follows:

由于SITL模块添加了两个特殊的模型,网关节点和链路模型,需要将运行于真实协议栈中的数据包导入到虚拟的仿真环境,包括:  Since the SITL module adds two special models, the gateway node and the link model, it is necessary to import the data packets running in the real protocol stack into the virtual simulation environment, including:

步骤1:时间的同步; Step 1: Synchronization of time;

将仿真时间与系统时间同步; Synchronize the simulation time with the system time;

步骤2:数据包的截获; Step 2: interception of data packets;

采用WinPcap辅助抓包工具来捕获原始数据包,在此基础上根据数据报头分析协议的类型,进而实现包的过滤; Use the WinPcap auxiliary packet capture tool to capture the original data packet, and then analyze the protocol type according to the data packet header, and then realize packet filtering;

步骤3:数据包的转换; Step 3: conversion of data packets;

当SITL模块接收到数据包时,不管是来自物理系统的真实包还是来自仿真系统的虚拟包,都首先尝试对包格式及其所属的协议进行判断,通过与转换函数的匹配,找到合适的转换函数,并调用其对数据包进行转换; When the SITL module receives a data packet, whether it is a real packet from a physical system or a virtual packet from a simulation system, it first tries to judge the packet format and the protocol it belongs to, and finds the appropriate conversion by matching with the conversion function function, and call it to convert the data packet;

当仿真开始时,首先SITL调用初始化函数加载所有的转换/检测函数对;若有数据包到达,WinPcap抓包工具将其截获并发送到SITL网关节点,SITL调用转换入口函数来转换数据包,通常情况下首先调用基本包格式的转换函数;若该数据包嵌套有其它类型的数据包,那么转换函数会调用该数据域的转换函数来对下一层数据包进行转换,直到转换至所设定的最顶层协议。 When the simulation starts, first SITL calls the initialization function to load all conversion/detection function pairs; if a data packet arrives, the WinPcap packet capture tool intercepts it and sends it to the SITL gateway node, and SITL calls the conversion entry function to convert the data packet, usually In this case, the conversion function of the basic packet format is first called; if the data packet is nested with other types of data packets, then the conversion function will call the conversion function of the data field to convert the next layer of data packets until the conversion to the set The topmost protocol specified.

在上述的一种延迟可容忍网络的星上路由器仿真方法,所述卫星拓扑的模拟步骤是通过在STK中定义卫星的参数确定不同的卫星,从而进行卫星网络拓扑的仿真,包括 In the above-mentioned on-board router simulation method of a delay tolerant network, the simulation step of the satellite topology is to determine different satellites by defining the parameters of the satellite in the STK, thereby performing the simulation of the satellite network topology, including

设置一:卫星的基本属性设置; Setting 1: Basic property setting of the satellite;

设置卫星的基本属性:轨道、姿态、轨迹断点、质量、描述、图形、属性,、显示时间、约束时间; Set the basic attributes of the satellite: orbit, attitude, trajectory breakpoint, quality, description, graphics, attributes, display time, constraint time;

设置二:定义卫星轨道设置; Setting 2: Define satellite orbit settings;

利用设置轨道参数确定卫星轨道的大小、形状、轨道方位及卫星在轨道上的位置,主要包括:半长轴、远地点半径、远地点高度、回归周期、每日轨道圈数、偏心率、近地点半径、轨道倾角、升交点赤经、近地点幅角、真近点角、平近点角、偏近地点角、升交角距、过升交点时间、过近地点时间。 Determine the size, shape, orbital orientation and position of the satellite orbit by setting orbital parameters, mainly including: semi-major axis, apogee radius, apogee height, return period, daily orbital circles, eccentricity, perigee radius, Orbital inclination, right ascension of ascending node, argument of perigee, true anomaly, mean anomaly, partial perigee, ascending angular distance, ascending node time, and perigee time.

在上述的一种延迟可容忍网络的星上路由器仿真方法,还包括一个网络性能的测试的步骤,随机选择iperf测试模块或者VLC_media_player测试模块进行: The on-board router emulation method of the above-mentioned delay tolerant network also includes a step of testing the network performance, randomly selecting the iperf test module or the VLC_media_player test module to carry out:

随机测试一:使用iperf测试模块进行网络性能测试,其步骤为: Random test 1: Use the iperf test module for network performance testing, the steps are:

步骤6.11,iperf软件配置:客户端配置:以2Mb/s速率向服务器端的5001端口发送1KByte大小的UDP包,持续时间200s,服务器配置以监听UDP的5001端口; Step 6.11, iperf software configuration: client configuration: send a 1KByte UDP packet to port 5001 of the server at a rate of 2Mb/s for a duration of 200s, and configure the server to listen to port 5001 of UDP;

步骤6.12,OPNET仿真环境的配置:打开DTN路由器功能,设置分片大小设为1470字节,包的生存期设置为300s,两个路由器上设置监听UDP的5001端口,Bundle的汇聚层设置为UDPCL; Step 6.12, configuration of the OPNET simulation environment: enable the DTN router function, set the fragment size to 1470 bytes, set the packet lifetime to 300s, set port 5001 to monitor UDP on the two routers, and set the aggregation layer of the bundle to UDPCL ;

步骤6.13,依次启动设备上的iperf服务器,以及opnet软件,iperf客户端,保存实验结果;  Step 6.13, start the iperf server on the device in sequence, as well as opnet software, iperf client, and save the experimental results;

随机测试二:使用VLC_media_player软件进行实际业务测试,其步骤为: Random test 2: use VLC_media_player software for actual business test, the steps are:

步骤6.21,在通信双方上分别运行两个VLC_media_player进程(该软件不支持双向通信,即一个进程只能作为客户端或者服务器),分别作为双向通信的客户端和服务器,两个服务器的通信端口分别配置为10000和10001,开启OPNET环境下DTN网关的相应端口; Step 6.21, run two VLC_media_player processes on both sides of the communication (this software does not support two-way communication, that is, one process can only be used as a client or server), as a client and a server for two-way communication respectively, and the communication ports of the two servers are respectively Configured as 10000 and 10001, open the corresponding port of the DTN gateway in the OPNET environment;

步骤6.22,配置网络损伤仪,分别设置延时为100ms、1s和10s; Step 6.22, configure the network damage tester, set the delay to 100ms, 1s and 10s respectively;

步骤6.23,测试使用VLC_media_player软件能否在通信双方高延迟的链路情况下进行双向通话; Step 6.23, test whether the VLC_media_player software can be used for two-way communication in the case of a high-delay link between the two communication parties;

步骤6.24,拔掉的以太网线,然后对着通信设备的麦克风进行录音;然后再插上以太网线,测试在接收设备上能否听到刚才录音的内容。 Step 6.24, unplug the Ethernet cable, and then record into the microphone of the communication device; then plug in the Ethernet cable again, and test whether the recorded content can be heard on the receiving device.

因此,本发明具有如下优点:整合了现有的空间通信协议体系从而设计出星上路由器,为我国在DTN协议体系的系统级实现乃至空间信息网络的关键技术研究方面做一些准备工作;软硬件结合较为真实的模拟了卫星网络的环境,有助于验证星上路由器对空间环境的适用性。 Therefore, the present invention has the following advantages: integrate the existing space communication protocol system to design the on-board router, and do some preparatory work for the system-level realization of the DTN protocol system and even the key technology research of the space information network in my country; software and hardware Combined with a more realistic simulated satellite network environment, it is helpful to verify the applicability of the on-board router to the space environment.

附图说明 Description of drawings

附图1是本发明中实施例的综合网关的协议体系。 Accompanying drawing 1 is the protocol system of the integrated gateway of the embodiment in the present invention.

附图2是本发明中实施例的Bundle协议基本处理过程。 Accompanying drawing 2 is the basic processing procedure of the Bundle protocol of the embodiment in the present invention.

附图3是本发明中实施例的SCPS-TP协议的数据报文格式。 Accompanying drawing 3 is the data message format of the SCPS-TP agreement of the embodiment among the present invention.

附图4是本发明中实施例的idle状态控制流。 Accompanying drawing 4 is the idle state control flow of the embodiment in the present invention.

附图5是本发明中 DTN路由器测试结果。 Accompanying drawing 5 is DTN router test result among the present invention.

附图6是本发明的方法流程示意图。 Accompanying drawing 6 is a schematic flow chart of the method of the present invention.

具体实施方式 Detailed ways

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。 The technical solutions of the present invention will be further specifically described below through the embodiments and in conjunction with the accompanying drawings.

实施例: Example:

以下结合附图和实施例详细说明本发明技术方案。 The technical solution of the present invention will be described in detail below in conjunction with the drawings and embodiments.

步骤一、 基于OPNET的星上路由器建模和仿真。 Step 1. On-board router modeling and simulation based on OPNET.

(1)节点域建模。 (1) Node domain modeling.

节点域的工作是定义节点的内部结构。在OPNET中采用如图1所示的协议体系结构。在传输层和应用层间加入附加的Bundle层,传输层自适应选择SCPS-TP或UDP协议,链路层则使用IP OVER CCSDS AOS架构。在空间通信时,一般无需考虑应用层网关这一复杂情况。 The job of the node field is to define the internal structure of the node. The protocol architecture shown in Figure 1 is adopted in OPNET. An additional Bundle layer is added between the transport layer and the application layer. The transport layer adaptively selects the SCPS-TP or UDP protocol, and the link layer uses the IP OVER CCSDS AOS architecture. When communicating in space, there is generally no need to consider the complex situation of the application layer gateway.

在节点模型中,相互连接组成节点模型的方块成为模块,每个模块包含一组输入和输出、状态内存以及根据输入和状态内存计算输出的函数。模块的输入和输出分为包流和统计两种,模块可以从它的输出包流中输出数据包或从输入包流上接收数据包,也可以从输出统计中输出数值或从输入统计中输入数值。 In the node model, the interconnected blocks that make up the node model become modules, and each module contains a set of inputs and outputs, a state memory, and a function that computes an output based on the inputs and state memory. The input and output of the module are divided into packet flow and statistics. The module can output data packets from its output packet flow or receive data packets from the input packet flow, and can also output values from output statistics or input from input statistics. value.

(2)进程域建模。 (2) Process domain modeling.

根据节点域模型,需要描述和实现的进程模型包括Bundle、SCPS-TP和IP OVER CCSDS AOS。 According to the node domain model, the process models that need to be described and implemented include Bundle, SCPS-TP and IP OVER CCSDS AOS.

1、Bundle进程模型。 1. Bundle process model.

Bundle协议的基本处理流程如图2所示,主要包括Bundle初始传输、转发规程、接收规程、调度规程、转发受限规程、转发失败规程、删除规程和本地交付规程等。此外还有一些处理行为,例如同意保管、保管释放和保管失败等。各种规程具体的处理流程详见协议规范。 The basic processing flow of the Bundle protocol is shown in Figure 2, mainly including Bundle initial transmission, forwarding procedures, receiving procedures, scheduling procedures, forwarding restricted procedures, forwarding failure procedures, deletion procedures, and local delivery procedures. In addition, there are some processing actions, such as consent to safekeeping, safekeeping release, and safekeeping failure. For the specific processing procedures of various procedures, please refer to the protocol specification.

进程开始时首先通过预初始化状态直到其它进程准备好,然后进行一些必要的初始化工作,主要是初始化静态路由表和其它状态变量并进行Bundle节点的注册。初始化完成后进入空闲状态,此状态主要是判断中断的类型。如果是流中断FROM_LOW,说明从下层进程接收到数据,根据传输层端口号确定是应用数据或是Bundle数据。若传输层端口号为550说明是Bundle数据,需要向保管结点发送保管成功信号,然后等待交付中断信号的达到;否则即为应用数据,此时首先需要打开相应的传输层连接,由之前设计的综合网关协议栈模型可知,这里主要是UDP或者SCPS-TP连接。连接建立之后进行Bundle封装,然后插入保管队列等待存储转发。 At the beginning of the process, it first passes through the pre-initialization state until other processes are ready, and then performs some necessary initialization work, mainly initializing the static routing table and other state variables and registering the Bundle node. After the initialization is completed, it enters the idle state, which is mainly to judge the type of interrupt. If it is a flow interruption FROM_LOW, it means that data is received from the lower layer process, and it is determined whether it is application data or Bundle data according to the port number of the transport layer. If the port number of the transport layer is 550, it means that it is Bundle data. It needs to send a storage success signal to the storage node, and then wait for the arrival of the delivery interruption signal; otherwise, it is application data. At this time, the corresponding transport layer connection needs to be opened first. According to the previous design It can be known from the integrated gateway protocol stack model that here is mainly a UDP or SCPS-TP connection. After the connection is established, the Bundle is encapsulated, and then inserted into the storage queue to wait for storage and forwarding.

当Bundle源端点与目的端点相距较远且只有断续的连接,连接的持续时间不足以传输整个Bundle,此时只要基本块的Bundle处理标志字段没有指示该Bundle不能分段,就可以对Bundle进行分段处理,每个片段都被封装成一个新的Bundle进行传输。各片段都具有相同的源端点ID 和创建时间戳,指示它们来源于同一个Bundle。具体的分段形式包括主动分段和被动分段,此处采用主动分段的方法,即由Bundle进程主动将应用数据划分为许多更小的块,然后再将每个块封装成Bundle进行传输。此时,目的节点要从接收的Bundle中提取这些小块的应用数据并重组得到完整的应用数据。Bundle的重组是根据段偏移量和载荷长度的指示,把所有接收到的和当前段具有相同端点ID和创建时间戳的段载荷连结起来。如果组成的字节阵列的长度等于基本块中指示的应用数据单元总长度,那么用这个字节阵列重组的应用数据单元取代当前段的载荷,每段的载荷是重组后的应用数据单元的子集。 When the source endpoint of the bundle is far away from the destination endpoint and there is only intermittent connection, and the duration of the connection is not enough to transmit the entire bundle, at this time, as long as the bundle processing flag field of the basic block does not indicate that the bundle cannot be segmented, the bundle can be processed Fragmentation processing, each fragment is encapsulated into a new Bundle for transmission. Fragments have the same source endpoint ID and creation timestamp, indicating that they originate from the same bundle. The specific segmentation forms include active segmentation and passive segmentation. Here, the active segmentation method is adopted, that is, the Bundle process actively divides the application data into many smaller blocks, and then encapsulates each block into a Bundle for transmission. . At this point, the destination node should extract these small pieces of application data from the received Bundle and reassemble to obtain complete application data. The reassembly of Bundle is to connect all received segment payloads with the same endpoint ID and creation timestamp as the current segment according to segment offset and payload length. If the length of the composed byte array is equal to the total length of the application data unit indicated in the basic block, then the application data unit reassembled with this byte array replaces the payload of the current segment, and the payload of each segment is a subsection of the reassembled application data unit. set.

如果是自中断FROM_ROUTER,此时调用路由模块计算下一跳结点。 If it is a self-interrupt FROM_ROUTER, call the routing module to calculate the next hop node at this time.

如果是自中断STATE_IND,此时对收到的Bundle数据包进行解封装和重组,然后交付给目的结点。 If it is a self-interrupted STATE_IND, at this time, the received Bundle data packet is decapsulated and reassembled, and then delivered to the destination node.

如果是自中断RETRANS,此时取出保管队列中的Bundle数据包并转发至下一跳结点。 If it is a self-interrupted RETRANS, take out the Bundle data packet in the storage queue and forward it to the next hop node.

2、SCPS-TP进程模型。 2. SCPS-TP process model.

类似于TCP协议的实现,SCPS-TP协议的实现建立了两个进程模型,一个为管理进程,一个为处理子进程,管理进程为与上下层的接口进程,子进程为SCPS-TP协议的实际处理进程。SCPS-TP 管理状态进程负责接收从应用层和下层发来的所有命令,并根据命令进入不同状态: Similar to the implementation of the TCP protocol, the implementation of the SCPS-TP protocol establishes two process models, one is the management process, and the other is the processing sub-process. The management process is the interface process with the upper and lower layers, and the sub-process is the actual process of the SCPS-TP protocol. process. The SCPS-TP management state process is responsible for receiving all commands sent from the application layer and the lower layer, and enters different states according to the commands:

1)OPEN:打开一个 SCPS-TP 连接; 1) OPEN: open a SCPS-TP connection;

2)SEND:发送一个数据包给建立好的 SCPS-TP 连接; 2) SEND: Send a data packet to the established SCPS-TP connection;

3)RECEIVE:SCPS-TP 请求上层注入数据包; 3) RECEIVE: SCPS-TP requests the upper layer to inject data packets;

4)CLOSE:发送完数据,结束 SCPS-TP 连接; 4) CLOSE: After sending the data, end the SCPS-TP connection;

5)ABORT:非正常中断 SCPS-TP 连接; 5) ABORT: abnormally interrupt the SCPS-TP connection;

6)SEG_REV:接收数据包; 6) SEG_REV: receive data packets;

7)STATUS:SCPS-TP 状态指示。 7) STATUS: SCPS-TP status indication.

SCPS-TP 协议处理子进程负责 SCPS-TP 协议从建立连接到关闭连接的整个过程,在不同的时候收到数据段采取何种处理,可以用连接的状态来表示这些不同的事件,并使用状态转移图来说明 SCPS-TP 在各种状态下对各种数据段的处理方式: The SCPS-TP protocol processing sub-process is responsible for the entire process of the SCPS-TP protocol from establishing a connection to closing the connection. What kind of processing is used to receive data segments at different times? These different events can be represented by the state of the connection, and the state can be used Transition diagram to illustrate how SCPS-TP handles various data segments in various states:

1)LISTEN:监听非本地的 SCPS-TP 端口的连接请求; 1) LISTEN: Listen for connection requests from non-local SCPS-TP ports;

2)SYN-SENT:在发送连接请求后等待相应连接请求; 2) SYN-SENT: Wait for the corresponding connection request after sending the connection request;

3)SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认; 3) SYN-RECEIVED: After receiving and sending a connection request, wait for the other party to confirm the connection request;

4)ESTABLISHED:表示一个连接已经建立; 4) ESTABLISHED: Indicates that a connection has been established;

5)FIN-WAIT-1:等待远程 SCPS-TP 连接中断请求,或先前的连接中断请求的确认; 5) FIN-WAIT-1: Wait for the remote SCPS-TP connection interruption request, or the confirmation of the previous connection interruption request;

6)FIN-WAIT-2:从远程 SCPS-TP 等待连接中断请求; 6) FIN-WAIT-2: Waiting for connection interruption request from remote SCPS-TP;

7)CLOSE-WAIT:等待从本地用户发来的连接中断请求; 7) CLOSE-WAIT: Waiting for a connection interruption request from a local user;

8)CLOSING:等待远程 SCPS-TP 对连接中断的确认; 8) CLOSING: Waiting for the remote SCPS-TP to confirm the connection interruption;

9)LAST-ACK:等待原来的发向远程 SCPS-TP 的连接中断请求的确认; 9) LAST-ACK: Waiting for the confirmation of the original connection interruption request sent to the remote SCPS-TP;

10)TIME-WAIT:等待足够的时间以确保远程 SCPS-TP 接收到连接中断请求的确认; 10) TIME-WAIT: Wait for enough time to ensure that the remote SCPS-TP receives an acknowledgment of the connection interruption request;

11)CLOSED:表示当前没有任何连接状态。 11) CLOSED: Indicates that there is no current connection status.

SCPS-TP协议的数据报文格式如图3所示: The data packet format of the SCPS-TP protocol is shown in Figure 3:

ields域为20字节标准的TCP报文包头;SACK-Permitted Option域与SACK Option域为SACK机制所用到的SACK允许选项域与SACK选项域;SCPS Capabilities Option域与SNACK Option域为SNACK机制相关的字段。 The ields field is the 20-byte standard TCP packet header; the SACK-Permitted Option field and the SACK Option field are the SACK permission option field and the SACK option field used by the SACK mechanism; the SCPS Capabilities Option field and the SNACK Option field are related to the SNACK mechanism field.

3、IP OVER CCSDS AOS进程模型 3. IP OVER CCSDS AOS process model

IP OVER CCSDS AOS管理进程首先进入初始化状态进行状态变量赋值,然后进入idle状态开始处理各种事件,如图4所示。当进入idle状态后,进程开始等待事件。当事件为流中断时,进程首先读取入流端口。如果是来自上层IP进程,进程进入from_upper状态对IP数据进行AOS帧封装;如果是来自下层MAC进程,进程进入from_lower状态对AOS帧进行解封装并重组IP数据。当事件为自中断Polling_MPDU时,进程进入from_upper状态对当前进行封装操作的AOS帧的帧长进行判断,若不足指定的固定长度,则产生空闲数据插入MPDU包区中,以保证AOS帧为固定长度,然后调用IP OVER CCSDS AOS周期发送子进程对该AOS帧进行发送。 The IP OVER CCSDS AOS management process first enters the initialization state to assign state variables, and then enters the idle state to start processing various events, as shown in Figure 4. When entering the idle state, the process begins to wait for events. When the event is a stream interruption, the process first reads the inflow port. If it is from the upper layer IP process, the process enters the from_upper state to perform AOS frame encapsulation on the IP data; if it is from the lower layer MAC process, the process enters the from_lower state to decapsulate the AOS frame and reassemble the IP data. When the event is self-interrupting Polling_MPDU, the process enters the from_upper state to judge the frame length of the AOS frame currently undergoing encapsulation operation. If it is less than the specified fixed length, then generate idle data and insert it into the MPDU packet area to ensure that the AOS frame is a fixed length , and then call the IP OVER CCSDS AOS periodic sending subprocess to send the AOS frame.

(3)外部系统域建模。 (3) External system domain modeling.

外部系统模块主要用于协同仿真。协同仿真是一种由多种仿真工具联合运行的仿真,由Modeler模型、协仿真代码以及外部代码组成。Modeler模型含有一个或多个外部系统定义,而外部代码可以是一个完整的仿真器或连接其它操作系统进程的通信机构,两者通过协仿真代码连接为一体。本发明实施例中SITL部分的实现便属于外部系统域的建模,首先是编写自定义的SITL函数,然后在SITL网关模块中选择包含有该SITL转换函数的外部文件即可。SITL部分需要实现的是对Bundle、SCPS-TP和IP OVER CCSDS AOS协议的支持。 External system blocks are mainly used for co-simulation. Co-simulation is a simulation that is run jointly by multiple simulation tools, and is composed of Modeler model, co-simulation code and external code. The Modeler model contains one or more external system definitions, and the external code can be a complete simulator or a communication mechanism connecting other operating system processes, and the two are connected as one through the co-simulation code. The realization of the SITL part in the embodiment of the present invention belongs to the modeling of the external system domain. Firstly, a self-defined SITL function is written, and then an external file containing the SITL conversion function is selected in the SITL gateway module. What SITL needs to implement is the support for Bundle, SCPS-TP and IP OVER CCSDS AOS protocols.

步骤二、基于OPNET SITL接口的仿真数据和真实数据的转换。 Step 2. Conversion of simulation data and real data based on OPNET SITL interface.

SITL模块添加了两个特殊的模型,网关节点和链路模型,在真实网络中,我们利用TCP/IP协议栈进行数据流的转发与通信,而在仿真网络中的协议栈是虚拟构造的,不同的数据结构使真实的设备和仿真网络无法直接进行通信。将运行于真实协议栈中的数据包导入到虚拟的仿真环境,需要解决3个方面的问题:时间的同步、包的截获以及数据包的转换。 The SITL module adds two special models, the gateway node and the link model. In the real network, we use the TCP/IP protocol stack to forward and communicate data streams, while the protocol stack in the simulated network is constructed virtually. Different data structures make it impossible for real devices and simulated networks to communicate directly. To import the data packets running in the real protocol stack into the virtual simulation environment, three problems need to be solved: time synchronization, packet interception and data packet conversion.

(1)时间的同步. (1) Synchronization of time.

一般情况下SITL仿真的时间同步是通过将仿真时间与系统时间同步推进来确保的,通过简单的设置就可以完成。 Generally, the time synchronization of SITL simulation is ensured by synchronizing the simulation time with the system time, which can be completed through simple settings.

(2)数据包的截获。 (2) Interception of data packets.

采用WinPcap辅助抓包工具来捕获原始数据包,在此基础上根据数据报头分析协议的类型,进而实现包的过滤。 The WinPcap auxiliary packet capture tool is used to capture the original data packet, and on this basis, the type of the protocol is analyzed according to the data packet header, and then the packet filtering is realized.

(3)数据包的转换. (3) Conversion of data packets.

当SITL模块接收到数据包时,不管是来自物理系统的真实包还是来自仿真系统的虚拟包,都首先尝试对包格式及其所属的协议进行判断,通过与转换函数的匹配,找到合适的转换函数,并调用其对数据包进行转换。 When the SITL module receives a data packet, whether it is a real packet from a physical system or a virtual packet from a simulation system, it first tries to judge the packet format and the protocol it belongs to, and finds the appropriate conversion by matching with the conversion function function, and call it to convert the packet.

当仿真开始时,首先SITL调用初始化函数加载所有的转换/检测函数对。若有数据包到达,WinPcap抓包工具将其截获并发送到SITL网关节点,SITL调用转换入口函数来转换数据包,通常情况下首先调用基本包格式的转换函数。若该数据包嵌套有其它类型的数据包,那么转换函数会调用该数据域的转换函数来对下一层数据包进行转换,直到转换至所设定的最顶层协议。 When the simulation starts, first SITL calls the initialization function to load all the conversion/detection function pairs. If a data packet arrives, the WinPcap packet capture tool intercepts it and sends it to the SITL gateway node. SITL calls the conversion entry function to convert the data packet. Usually, the conversion function of the basic packet format is called first. If the data packet is nested with other types of data packets, then the conversion function will call the conversion function of the data field to convert the next layer of data packets until it is converted to the set top-level protocol.

步骤三、基于STK的卫星网络拓扑的模拟。 Step 3, simulation of satellite network topology based on STK.

    通过在STK中定义卫星的参数确定不同的卫星,从而进行卫星网络拓扑的仿真。 By defining the parameters of the satellite in STK to determine different satellites, the simulation of the satellite network topology is carried out.

(1)卫星的基本属性设置。 (1) The basic attribute setting of the satellite.

设置卫星的基本属性:轨道、姿态、轨迹断点、质量、描述、图形、属性,、显示时间、约束时间等。 Set the basic properties of the satellite: orbit, attitude, track breakpoint, quality, description, graphics, attributes, display time, constraint time, etc.

(2)定义卫星轨道设置. (2) Define satellite orbit settings.

利用设置轨道参数确定卫星轨道的大小、形状、轨道方位及卫星在轨道上的位置,主要包括:半长轴、远地点半径、远地点高度、回归周期、每日轨道圈数、偏心率、近地点半径、轨道倾角、升交点赤经、近地点幅角。真近点角、平近点角、偏近地点角、升交角距、过升交点时间、过近地点时间。 Determine the size, shape, orbital orientation and position of the satellite orbit by setting orbital parameters, mainly including: semi-major axis, apogee radius, apogee height, return period, daily orbital circles, eccentricity, perigee radius, Orbital inclination, right ascension of ascending node, argument of perigee. True anomaly, mean anomaly, partial perigee, ascending angular distance, time of passing ascending node, time of passing perigee.

步骤四、基于网络损伤仪的空间链路的模拟。 Step 4, the simulation of the space link based on the network damage instrument.

采用iTrinegy网络损伤仪对空间链路进行模拟。将模拟卫星路由器的电脑都与网络损伤仪采用以太网连接,在网络损伤仪的.xml配置文件中,设置不同的延时和误码率参数,用于模拟不同的空间链路参数和链路通断。    The space link is simulated by iTrinegy network damage instrument. Connect the computer that simulates the satellite router to the network damage tester with Ethernet, and set different delay and bit error rate parameters in the .xml configuration file of the network damage tester to simulate different space link parameters and link on and off. the

步骤五、网络性能的测试。 Step five, network performance test.

本发明实施例中采用两种方法测试网络性能:采用 Adopt two methods to test network performance in the embodiment of the present invention: adopt

(1)使用iperf软件进行网络性能测试,其步骤为: (1) Use iperf software for network performance testing, the steps are:

1、iperf软件配置。客户端配置:以2Mb/s速率向服务器端的5001端口发送1KByte大小的UDP包,持续时间200s。服务器配置以监听UDP的5001端口。 1. iperf software configuration. Client configuration: Send a 1KByte UDP packet to port 5001 of the server at a rate of 2Mb/s for a duration of 200s. The server is configured to listen on UDP port 5001.

2、OPNET仿真环境的配置。打开DTN路由器功能,设置分片大小设为1470字节,包的生存期设置为300s,两个路由器上设置监听UDP的5001端口,Bundle的汇聚层设置为UDPCL。 2. Configuration of OPNET simulation environment. Turn on the DTN router function, set the fragment size to 1470 bytes, set the packet lifetime to 300s, set the port 5001 to monitor UDP on the two routers, and set the aggregation layer of the bundle to UDPCL.

3、依次启动设备上的iperf服务器,以及opnet软件,iperf客户端。保存实验结果。如图5为DTN路由器测试结果,结果显示虽然没有端到端的连接,数据仍可以通过保管转发,最终交付给服务器。 3. Start the iperf server, opnet software, and iperf client on the device in sequence. Save the experiment results. Figure 5 shows the test results of the DTN router. The results show that although there is no end-to-end connection, the data can still be kept and forwarded, and finally delivered to the server.

(2)使用VLC_media_player软件进行实际业务测试,其步骤为: (2) Use VLC_media_player software for actual business testing, the steps are:

1、在通信双方上分别运行两个VLC_media_player进程(该软件不支持双向通信,即一个进程只能作为客户端或者服务器),分别作为双向通信的客户端和服务器。两个服务器的通信端口分别配置为10000和10001。开启OPNET环境下DTN网关的相应端口。 1. Run two VLC_media_player processes on both sides of the communication (the software does not support two-way communication, that is, one process can only be used as a client or server), as the client and server of two-way communication respectively. The communication ports of the two servers are configured as 10000 and 10001 respectively. Open the corresponding port of the DTN gateway in the OPNET environment.

2、配置网络损伤仪,分别设置延时为100ms、1s和10s。 2. Configure the network damage tester, and set the delay to 100ms, 1s and 10s respectively.

3、测试使用VLC_media_player软件能否在通信双方高延迟的链路情况下进行双向通话。 3. Test whether the VLC_media_player software can be used for two-way communication in the case of a high-latency link between the two communicating parties.

4、拔掉的以太网线,然后对着通信设备的麦克风进行录音。然后再插上以太网线,测试在接收设备上能否听到刚才录音的内容。 4. Unplug the Ethernet cable, and then record into the microphone of the communication device. Then plug in the Ethernet cable again and test whether you can hear what you just recorded on the receiving device.

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。 The specific embodiments described herein are merely illustrative of the spirit of the invention. Those skilled in the art to which the present invention belongs can make various modifications or supplements to the described specific embodiments or adopt similar methods to replace them, but they will not deviate from the spirit of the present invention or go beyond the definition of the appended claims range.

Claims (6)

1.一种延迟可容忍网络的星上路由器仿真方法,其特征在于,包括: 1. A method for emulating the on-star router of a delay tolerant network, characterized in that it comprises: 星上路由器建模和仿真的步骤:建立星上路由器模型;结合CCSDS和DTNRG定义的网络层次结构,构建适合星上路由器的协议模型,并采用软件仿真的形式对模型的可行性和有效性进行验证;所述星上路由器建模和软件仿真是基于OPNET进行,包括节点域建模、进程域建模、以及外部系统域建模; The steps of on-board router modeling and simulation: establish an on-board router model; combine the network hierarchy defined by CCSDS and DTNRG to build a protocol model suitable for on-board routers, and use software simulation to verify the feasibility and effectiveness of the model Verification; the on-star router modeling and software simulation are carried out based on OPNET, including node domain modeling, process domain modeling, and external system domain modeling; 仿真数据和真实数据的转换的步骤:将软件仿真环境下通过验证的虚拟的数据流,转换为真实的数据流,从而验证网关对真实流的处理能力,由于网关仍然采用软件形式实现,因此具体实施过程中包括仿真数据到真实数据的转换接口和真实数据到仿真数据的转换接口;该步骤是基于OPNET SITL接口进行的,包括时间的同步、数据包的截获以及数据包的转换的子步骤; Steps of conversion of simulation data and real data: convert the verified virtual data flow in the software simulation environment into real data flow, so as to verify the processing ability of the gateway to the real flow. Since the gateway is still implemented in the form of software, the specific The implementation process includes the conversion interface from simulation data to real data and the conversion interface from real data to simulation data; this step is carried out based on the OPNET SITL interface, including the sub-steps of time synchronization, data packet interception and data packet conversion; 卫星拓扑的模拟步骤:根据各卫星的轨道参数生成星座组网运行数据,得到星际和星地链路通断时间、链路传输时延等数据,并分析得到网络拓扑结构变化数据;在仿真软件中输入这些数据,构建星际网络拓扑模型,在此基础上对星际网络中的星地、星间通信协议进行仿真;该步骤是基于基于STK进行,通过在STK中定义卫星的参数确定不同的卫星,从而进行卫星网络拓扑的仿真; Satellite topology simulation steps: Generate constellation network operation data according to the orbital parameters of each satellite, obtain interstellar and satellite-ground link on-off time, link transmission delay and other data, and analyze the network topology change data; in the simulation software Input these data in, construct the interstellar network topology model, and on this basis, simulate the satellite-ground and inter-satellite communication protocols in the interstellar network; this step is based on STK, and determine different satellites by defining satellite parameters in STK , so as to simulate the satellite network topology; 空间链路的模拟步骤:模拟星地、星间链路,提供延迟、误码率这些参数的模拟接口,通过这些参数配置,观察不同链路对网络性能的影响;具体是:采用iTrinegy网络损伤仪对空间链路进行模拟;将模拟卫星路由器的电脑都与网络损伤仪采用以太网连接,在网络损伤仪的.xml配置文件中,设置不同的延时和误码率参数,用于模拟不同的空间链路参数和链路通断。 The simulation steps of the space link: simulate the satellite-ground and inter-satellite links, provide a simulation interface for parameters such as delay and bit error rate, and observe the impact of different links on network performance through the configuration of these parameters; specifically: use iTrinegy network damage The instrument simulates the space link; the computers that simulate satellite routers are connected to the network damage instrument through Ethernet, and in the .xml configuration file of the network damage instrument, different delay and bit error rate parameters are set to simulate different Space link parameters and link continuity. 2.根据权利要求1所述的一种延迟可容忍网络的星上路由器仿真方法,其特征在于,所述步骤1中,三个建模方法具体实现过程如下: 2. the on-star router emulation method of a kind of delay tolerant network according to claim 1, is characterized in that, in described step 1, three modeling methods specific implementation processes are as follows: 建模一:节点域建模; Modeling 1: node domain modeling; 定义在传输层和应用层间加入附加的Bundle层,传输层自适应选择SCPS-TP或UDP协议,链路层则使用IP OVER CCSDS AOS架构 Define the addition of an additional Bundle layer between the transport layer and the application layer, the transport layer adaptively selects the SCPS-TP or UDP protocol, and the link layer uses the IP OVER CCSDS AOS architecture 建模二:进程域建模;根据节点域模型,需要描述和实现的进程模型包括Bundle、SCPS-TP和IP OVER CCSDS AOS; Modeling 2: process domain modeling; according to the node domain model, the process models that need to be described and implemented include Bundle, SCPS-TP and IP OVER CCSDS AOS; Bundle进程模型:Bundle初始传输、转发规程、接收规程、调度规程、 Bundle process model: Bundle initial transmission, forwarding procedure, receiving procedure, scheduling procedure, 转发受限规程、转发失败规程、删除规程和本地交付规程、以及处理行为,所述处理行为包括同意保管、保管释放和保管失败; Forwarding restricted procedures, forwarding failure procedures, deletion procedures and local delivery procedures, and processing actions including consent to custody, custody release and custody failure; SCPS-TP进程模型:类似于TCP协议的实现,SCPS-TP协议的实现建立了两个进程模型,一个为管理进程,一个为处理子进程,管理进程为与上下层的接口进程,子进程为SCPS-TP协议的实际处理进程;SCPS-TP 管理状态进程负责接收从应用层和下层发来的所有命令,并根据命令进入不同状态;SCPS-TP 协议处理子进程负责 SCPS-TP 协议从建立连接到关闭连接的整个过程,在不同的时候收到数据段采取何种处理,用连接的状态来表示这些不同的事件,并使用状态转移图来说明 SCPS-TP 在各种状态下对各种数据段的处理方式; SCPS-TP process model: Similar to the implementation of the TCP protocol, the implementation of the SCPS-TP protocol establishes two process models, one is the management process, and the other is the processing sub-process. The management process is the interface process with the upper and lower layers, and the sub-process is The actual processing process of the SCPS-TP protocol; the SCPS-TP management state process is responsible for receiving all commands sent from the application layer and the lower layer, and enters different states according to the commands; the SCPS-TP protocol processing sub-process is responsible for the SCPS-TP protocol from establishing a connection From the whole process of closing the connection, how to deal with the received data segments at different times, use the connection state to represent these different events, and use the state transition diagram to illustrate how SCPS-TP handles various data in various states how the segment is handled; IP OVER CCSDS AOS进程模型:IP OVER CCSDS AOS管理进程首先进入初始化状态进行状态变量赋值,然后进入idle状态开始处理各种事件;当进入idle状态后,进程开始等待事件;当事件为流中断时,进程首先读取入流端口;如果是来自上层IP进程,进程进入from_upper状态对IP数据进行AOS帧封装;如果是来自下层MAC进程,进程进入from_lower状态对AOS帧进行解封装并重组IP数据;当事件为自中断Polling_MPDU时,进程进入from_upper状态对当前进行封装操作的AOS帧的帧长进行判断,若不足指定的固定长度,则产生空闲数据插入MPDU包区中,以保证AOS帧为固定长度,然后调用IP OVER CCSDS AOS周期发送子进程对该AOS帧进行发送; IP OVER CCSDS AOS process model: The IP OVER CCSDS AOS management process first enters the initialization state to assign state variables, and then enters the idle state to start processing various events; after entering the idle state, the process begins to wait for events; when the event is a stream interruption, The process first reads the inflow port; if it is from the upper layer IP process, the process enters the from_upper state to perform AOS frame encapsulation on the IP data; if it is from the lower MAC process, the process enters the from_lower state to decapsulate the AOS frame and reassemble the IP data; When Polling_MPDU is self-interrupted, the process enters the from_upper state to judge the frame length of the AOS frame currently undergoing encapsulation operation. If it is less than the specified fixed length, then generate idle data and insert it into the MPDU packet area to ensure that the AOS frame is a fixed length, and then Call the IP OVER CCSDS AOS periodic sending subprocess to send the AOS frame; 建模三:外部系统域建模;外部系统模块主要用于协同仿真;协同仿真是一种由多种仿真工具联合运行的仿真,由Modeler模型、协仿真代码以及外部代码组成;Modeler模型含有一个或多个外部系统定义,而外部代码可以是一个完整的仿真器或连接其它操作系统进程的通信机构,两者通过协仿真代码连接为一体;定义SITL部分的实现属于外部系统域的建模,首先是编写自定义的SITL函数,然后在SITL网关模块中选择包含有该SITL转换函数的外部文件;SITL部分需要实现的是对Bundle、SCPS-TP和IP OVER CCSDS AOS协议的支持。 Modeling 3: external system domain modeling; external system modules are mainly used for co-simulation; co-simulation is a simulation run jointly by multiple simulation tools, which consists of Modeler model, co-simulation code and external code; Modeler model contains a or multiple external system definitions, and the external code can be a complete emulator or a communication mechanism connected to other operating system processes. The first is to write a custom SITL function, and then select the external file containing the SITL conversion function in the SITL gateway module; what the SITL part needs to implement is the support for Bundle, SCPS-TP and IP OVER CCSDS AOS protocols. 3.根据权利要求2所述的一种延迟可容忍网络的星上路由器仿真方法,其特征在于,所述步骤1中,Bundle进程模型的具体建立方法如下: 3. the on-star router emulation method of a kind of delay tolerant network according to claim 2, is characterized in that, in described step 1, the concrete establishment method of Bundle process model is as follows: 进程开始时首先通过预初始化状态直到其它进程准备好,然后进行一些必要的初始化工作,主要是初始化静态路由表和其它状态变量并进行Bundle节点的注册;初始化完成后进入空闲状态,此状态主要是判断中断的类型;如果是流中断FROM_LOW,说明从下层进程接收到数据,根据传输层端口号确定是应用数据或是Bundle数据,若传输层端口号为550说明是Bundle数据,需要向保管结点发送保管成功信号,然后等待交付中断信号的达到;否则即为应用数据,此时首先需要打开相应的传输层连接,由之前设计的综合网关协议栈模型可知,这里主要是UDP或者SCPS-TP连接;连接建立之后进行Bundle封装,然后插入保管队列等待存储转发; At the beginning of the process, it first passes through the pre-initialization state until other processes are ready, and then performs some necessary initialization work, mainly initializing the static routing table and other state variables and registering the Bundle node; after the initialization is completed, it enters the idle state, which is mainly Determine the type of interruption; if it is a flow interruption FROM_LOW, it means that the data is received from the lower layer process. According to the port number of the transport layer, it is determined whether it is application data or Bundle data. If the port number of the transport layer is 550, it means that it is Bundle data. Send the storage success signal, and then wait for the arrival of the delivery interrupt signal; otherwise, it is the application data. At this time, the corresponding transport layer connection needs to be opened first. From the previously designed comprehensive gateway protocol stack model, here is mainly a UDP or SCPS-TP connection ; After the connection is established, Bundle packaging is performed, and then inserted into the storage queue to wait for storage and forwarding; 当Bundle源端点与目的端点相距较远且只有断续的连接,连接的持续时间不足以传输整个Bundle,此时只要基本块的Bundle处理标志字段没有指示该Bundle不能分段,就可以对Bundle进行分段处理,每个片段都被封装成一个新的Bundle进行传输;各片段都具有相同的源端点ID 和创建时间戳,指示它们来源于同一个Bundle;具体的分段形式包括主动分段和被动分段,此处采用主动分段的方法,即由Bundle进程主动将应用数据划分为许多更小的块,然后再将每个块封装成Bundle进行传输;此时,目的节点要从接收的Bundle中提取这些小块的应用数据并重组得到完整的应用数据;Bundle的重组是根据段偏移量和载荷长度的指示,把所有接收到的和当前段具有相同端点ID和创建时间戳的段载荷连结起来;如果组成的字节阵列的长度等于基本块中指示的应用数据单元总长度,那么用这个字节阵列重组的应用数据单元取代当前段的载荷,每段的载荷是重组后的应用数据单元的子集; When the source endpoint of the bundle is far away from the destination endpoint and there is only intermittent connection, and the duration of the connection is not enough to transmit the entire bundle, at this time, as long as the bundle processing flag field of the basic block does not indicate that the bundle cannot be segmented, the bundle can be processed Segmentation processing, each fragment is encapsulated into a new Bundle for transmission; each fragment has the same source endpoint ID and creation timestamp, indicating that they come from the same Bundle; specific segmentation forms include active segmentation and Passive segmentation, the method of active segmentation is adopted here, that is, the Bundle process actively divides the application data into many smaller blocks, and then encapsulates each block into a Bundle for transmission; at this time, the destination node needs to receive The application data of these small pieces is extracted from the Bundle and reassembled to obtain the complete application data; the reorganization of the Bundle is based on the indication of the segment offset and payload length, and all received segments with the same endpoint ID and creation timestamp as the current segment If the length of the formed byte array is equal to the total length of the application data unit indicated in the basic block, then the application data unit reassembled with this byte array replaces the current segment load, and the load of each segment is the reassembled application data unit a subset of data units; 如果是自中断FROM_ROUTER,此时调用路由模块计算下一跳结点; If it is a self-interruption FROM_ROUTER, call the routing module to calculate the next hop node at this time; 如果是自中断STATE_IND,此时对收到的Bundle数据包进行解封装和重组,然后交付给目的结点; If it is self-interrupted STATE_IND, decapsulate and reassemble the received Bundle data packet at this time, and then deliver it to the destination node; 如果是自中断RETRANS,此时取出保管队列中的Bundle数据包并转发至下一跳结点。 If it is a self-interrupted RETRANS, take out the Bundle data packet in the storage queue and forward it to the next hop node. 4.根据权利要求1所述的一种延迟可容忍网络的星上路由器仿真方法,其特征在于,所述仿真数据和真实数据的转换的步骤中,时间的同步、数据包的截获以及数据包的转换的具体方法如下: 4. the on-star router emulation method of a kind of delay tolerant network according to claim 1, is characterized in that, in the step of the conversion of described emulation data and real data, the synchronization of time, the interception of data packet and the interception of data packet The specific method of conversion is as follows: 由于SITL模块添加了两个特殊的模型,网关节点和链路模型,需要将运行于真实协议栈中的数据包导入到虚拟的仿真环境,包括:  Since the SITL module adds two special models, the gateway node and the link model, it is necessary to import the data packets running in the real protocol stack into the virtual simulation environment, including: 步骤1:时间的同步; Step 1: Synchronization of time; 将仿真时间与系统时间同步; Synchronize the simulation time with the system time; 步骤2:数据包的截获; Step 2: interception of data packets; 采用WinPcap辅助抓包工具来捕获原始数据包,在此基础上根据数据报头分析协议的类型,进而实现包的过滤; Use the WinPcap auxiliary packet capture tool to capture the original data packet, and then analyze the protocol type according to the data packet header, and then realize packet filtering; 步骤3:数据包的转换; Step 3: conversion of data packets; 当SITL模块接收到数据包时,不管是来自物理系统的真实包还是来自仿真系统的虚拟包,都首先尝试对包格式及其所属的协议进行判断,通过与转换函数的匹配,找到合适的转换函数,并调用其对数据包进行转换; When the SITL module receives a data packet, whether it is a real packet from a physical system or a virtual packet from a simulation system, it first tries to judge the packet format and the protocol it belongs to, and finds the appropriate conversion by matching with the conversion function function, and call it to convert the data packet; 当仿真开始时,首先SITL调用初始化函数加载所有的转换/检测函数对;若有数据包到达,WinPcap抓包工具将其截获并发送到SITL网关节点,SITL调用转换入口函数来转换数据包,通常情况下首先调用基本包格式的转换函数;若该数据包嵌套有其它类型的数据包,那么转换函数会调用该数据域的转换函数来对下一层数据包进行转换,直到转换至所设定的最顶层协议。 When the simulation starts, first SITL calls the initialization function to load all conversion/detection function pairs; if a data packet arrives, the WinPcap packet capture tool intercepts it and sends it to the SITL gateway node, and SITL calls the conversion entry function to convert the data packet, usually In this case, the conversion function of the basic packet format is first called; if the data packet is nested with other types of data packets, then the conversion function will call the conversion function of the data field to convert the next layer of data packets until the conversion to the set The topmost protocol specified. 5.根据权利要求1所述的一种延迟可容忍网络的星上路由器仿真方法,其特征在于,所述卫星拓扑的模拟步骤是通过在STK中定义卫星的参数确定不同的卫星,从而进行卫星网络拓扑的仿真,包括 5. the on-board router simulation method of a kind of delay tolerant network according to claim 1, is characterized in that, the simulation step of described satellite topology is to determine different satellites by defining the parameter of satellite in STK, thereby carries out satellite Simulation of network topologies, including 设置一:卫星的基本属性设置; Setting 1: Basic property setting of the satellite; 设置卫星的基本属性:轨道、姿态、轨迹断点、质量、描述、图形、属性,、显示时间、约束时间; Set the basic attributes of the satellite: orbit, attitude, trajectory breakpoint, quality, description, graphics, attributes, display time, constraint time; 设置二:定义卫星轨道设置; Setting 2: Define satellite orbit settings; 利用设置轨道参数确定卫星轨道的大小、形状、轨道方位及卫星在轨道上的位置,包括:半长轴、远地点半径、远地点高度、回归周期、每日轨道圈数、偏心率、近地点半径、轨道倾角、升交点赤经、近地点幅角、真近点角、平近点角、偏近地点角、升交角距、过升交点时间、过近地点时间。 Determine the size, shape, orbital orientation and position of the satellite orbit by setting orbital parameters, including: semi-major axis, apogee radius, apogee height, return period, daily orbital circles, eccentricity, perigee radius, orbit Inclination, right ascension of ascending node, argument of perigee, true anomaly, mean anomaly, partial perigee, ascending angular distance, ascending node passing time, passing perigee time. 6.根据权利要求1所述的一种延迟可容忍网络的星上路由器仿真方法,其特征在于,还包括一个网络性能的测试的步骤,随机选择iperf测试模块或者VLC_media_player测试模块进行: 6. the on-star router emulation method of a kind of delay tolerant network according to claim 1, is characterized in that, also comprises the step of the test of a network performance, randomly selects iperf test module or VLC_media_player test module to carry out: 随机测试一:使用iperf测试模块进行网络性能测试,其步骤为: Random test 1: Use the iperf test module for network performance testing, the steps are: 步骤6.11,iperf软件配置:客户端配置:以2Mb/s速率向服务器端的5001端口发送1KByte大小的UDP包,持续时间200s,服务器配置以监听UDP的5001端口; Step 6.11, iperf software configuration: client configuration: send a 1KByte UDP packet to port 5001 of the server at a rate of 2Mb/s for a duration of 200s, and configure the server to listen to port 5001 of UDP; 步骤6.12,OPNET仿真环境的配置:打开DTN路由器功能,设置分片大小设为1470字节,包的生存期设置为300s,两个路由器上设置监听UDP的5001端口,Bundle的汇聚层设置为UDPCL; Step 6.12, configuration of the OPNET simulation environment: enable the DTN router function, set the fragment size to 1470 bytes, set the packet lifetime to 300s, set port 5001 to monitor UDP on the two routers, and set the aggregation layer of the bundle to UDPCL ; 步骤6.13,依次启动设备上的iperf服务器,以及opnet软件,iperf客户端,保存实验结果;  Step 6.13, start the iperf server on the device in sequence, as well as opnet software, iperf client, and save the experimental results; 随机测试二:使用VLC_media_player软件进行实际业务测试,其步骤为: Random test 2: use VLC_media_player software for actual business test, the steps are: 步骤6.21,在通信双方上分别运行两个VLC_media_player进程(该软件不支持双向通信,即一个进程只能作为客户端或者服务器),分别作为双向通信的客户端和服务器,两个服务器的通信端口分别配置为10000和10001,开启OPNET环境下DTN网关的相应端口; Step 6.21, run two VLC_media_player processes on both sides of the communication (this software does not support two-way communication, that is, one process can only be used as a client or server), as a client and a server for two-way communication respectively, and the communication ports of the two servers are respectively Configured as 10000 and 10001, open the corresponding port of the DTN gateway in the OPNET environment; 步骤6.22,配置网络损伤仪,分别设置延时为100ms、1s和10s; Step 6.22, configure the network damage tester, set the delay to 100ms, 1s and 10s respectively; 步骤6.23,测试使用VLC_media_player软件能否在通信双方高延迟的链路情况下进行双向通话; Step 6.23, test whether the VLC_media_player software can be used for two-way communication in the case of a high-delay link between the two communication parties; 步骤6.24,拔掉的以太网线,然后对着通信设备的麦克风进行录音;然后再插上以太网线,测试在接收设备上能否听到刚才录音的内容。 Step 6.24, unplug the Ethernet cable, and then record into the microphone of the communication device; then plug in the Ethernet cable again, and test whether the recorded content can be heard on the receiving device.
CN201410066341.9A 2014-02-26 2014-02-26 A Simulation Method of On-Star Router for Delay Tolerant Network Active CN103825761B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410066341.9A CN103825761B (en) 2014-02-26 2014-02-26 A Simulation Method of On-Star Router for Delay Tolerant Network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410066341.9A CN103825761B (en) 2014-02-26 2014-02-26 A Simulation Method of On-Star Router for Delay Tolerant Network

Publications (2)

Publication Number Publication Date
CN103825761A true CN103825761A (en) 2014-05-28
CN103825761B CN103825761B (en) 2017-06-27

Family

ID=50760608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410066341.9A Active CN103825761B (en) 2014-02-26 2014-02-26 A Simulation Method of On-Star Router for Delay Tolerant Network

Country Status (1)

Country Link
CN (1) CN103825761B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168053A (en) * 2014-07-23 2014-11-26 华中科技大学 LLC order-arranging processing method based on multi-relay transmission condition
CN104780119A (en) * 2015-04-28 2015-07-15 重庆大学 A Packet Loss Location and Detection Method Based on SCPS-TP
CN105357039A (en) * 2015-10-27 2016-02-24 中国船舶重工集团公司第七二二研究所 Simulation method and device for delay tolerant network
CN105721243A (en) * 2016-01-28 2016-06-29 中国电子科技集团公司第十研究所 Method for storing and rapidly transmitting forward link data of delay tolerant measurement and control network
CN108259232A (en) * 2017-12-27 2018-07-06 清华大学 A kind of spatial network analogy method and system
CN108574581A (en) * 2017-03-07 2018-09-25 北京空间技术研制试验中心 Incorporate network environment ground artificial system
CN109995661A (en) * 2019-03-14 2019-07-09 北京航空航天大学 Method, device and system for DTN data transmission in airport communication network
CN110266368A (en) * 2019-06-24 2019-09-20 江南大学 Simulation method of space-ground integrated information network based on cloud platform
CN112600611A (en) * 2020-12-09 2021-04-02 中国科学院国家空间科学中心 Scene configuration system for spatial internet constellation compatibility analysis simulation system
CN113067627A (en) * 2021-03-18 2021-07-02 西安电子科技大学 Self-adaptive survivable satellite routing method based on virtual nodes
CN113315647A (en) * 2020-09-14 2021-08-27 阿里巴巴集团控股有限公司 Network simulation method and device
CN113890682A (en) * 2021-09-30 2022-01-04 电子科技大学 Data transmission method for communication between near-earth environment and deep space environment
CN114362809A (en) * 2022-01-10 2022-04-15 中国人民解放军国防科技大学 Space-based intelligent networked edge computing system
WO2022199534A1 (en) * 2021-03-24 2022-09-29 中国移动通信有限公司研究院 Non-terrestrial network power control method and apparatus, device, and readable storage medium
CN115378822A (en) * 2022-08-19 2022-11-22 武汉烽火技术服务有限公司 DDS distributed application simulation method and system
CN115512459A (en) * 2022-09-28 2022-12-23 南斗六星系统集成有限公司 Data acquisition method, device, equipment and readable storage medium
CN119854123A (en) * 2025-03-19 2025-04-18 方舟信息技术(苏州)有限公司 Vehicle-mounted equipment communication simulation system and method based on AVC_LAN protocol
CN119854123B (en) * 2025-03-19 2025-07-01 方舟信息技术(苏州)有限公司 A vehicle-mounted equipment communication simulation system and method based on AVC_LAN protocol

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337036A (en) * 2018-02-06 2018-07-27 西安四方星途测控技术有限公司 Inter-satellite link simulation system based on navigation satellite constellation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404547A (en) * 2008-11-21 2009-04-08 中国科学院软件研究所 Satellite network simulation system
CN101483644A (en) * 2009-03-25 2009-07-15 南京邮电大学 Satellite network simulation platform constructing method based on multi-proxy
CN102006237A (en) * 2010-12-13 2011-04-06 西安电子科技大学 Routing decision method for delay tolerant network
CN102752173A (en) * 2012-07-19 2012-10-24 西安电子科技大学 Distributed simulation system and method supporting large-scale complicated delay tolerant network (DTN)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404547A (en) * 2008-11-21 2009-04-08 中国科学院软件研究所 Satellite network simulation system
CN101483644A (en) * 2009-03-25 2009-07-15 南京邮电大学 Satellite network simulation platform constructing method based on multi-proxy
CN102006237A (en) * 2010-12-13 2011-04-06 西安电子科技大学 Routing decision method for delay tolerant network
CN102752173A (en) * 2012-07-19 2012-10-24 西安电子科技大学 Distributed simulation system and method supporting large-scale complicated delay tolerant network (DTN)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GANG ZHENG: "A Routing Strategy with Link Disruption Tolerance for Multilayered Satellite Networks", 《INTERNATIONAL JOURNAL OF COMMUNICATIONS NETWORK & SYSTEM SCIENCES》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168053B (en) * 2014-07-23 2017-06-23 华中科技大学 A kind of whole sequence processing methods of LLC based under the conditions of many relay transmissions
CN104168053A (en) * 2014-07-23 2014-11-26 华中科技大学 LLC order-arranging processing method based on multi-relay transmission condition
CN104780119A (en) * 2015-04-28 2015-07-15 重庆大学 A Packet Loss Location and Detection Method Based on SCPS-TP
CN104780119B (en) * 2015-04-28 2017-08-29 重庆大学 A Packet Loss Location and Detection Method Based on SCPS‑TP
CN105357039B (en) * 2015-10-27 2019-01-18 中国船舶重工集团公司第七二二研究所 A kind of emulation mode and device of time delay tolerant network
CN105357039A (en) * 2015-10-27 2016-02-24 中国船舶重工集团公司第七二二研究所 Simulation method and device for delay tolerant network
CN105721243A (en) * 2016-01-28 2016-06-29 中国电子科技集团公司第十研究所 Method for storing and rapidly transmitting forward link data of delay tolerant measurement and control network
CN105721243B (en) * 2016-01-28 2018-10-23 中国电子科技集团公司第十研究所 Interrupt storage and the rapid transmission method of tolerance measurement and control network forward link data
CN108574581A (en) * 2017-03-07 2018-09-25 北京空间技术研制试验中心 Incorporate network environment ground artificial system
CN108259232B (en) * 2017-12-27 2020-05-19 清华大学 A space network simulation method and system
CN108259232A (en) * 2017-12-27 2018-07-06 清华大学 A kind of spatial network analogy method and system
CN109995661A (en) * 2019-03-14 2019-07-09 北京航空航天大学 Method, device and system for DTN data transmission in airport communication network
CN110266368A (en) * 2019-06-24 2019-09-20 江南大学 Simulation method of space-ground integrated information network based on cloud platform
CN113315647A (en) * 2020-09-14 2021-08-27 阿里巴巴集团控股有限公司 Network simulation method and device
CN112600611A (en) * 2020-12-09 2021-04-02 中国科学院国家空间科学中心 Scene configuration system for spatial internet constellation compatibility analysis simulation system
CN113067627A (en) * 2021-03-18 2021-07-02 西安电子科技大学 Self-adaptive survivable satellite routing method based on virtual nodes
WO2022199534A1 (en) * 2021-03-24 2022-09-29 中国移动通信有限公司研究院 Non-terrestrial network power control method and apparatus, device, and readable storage medium
CN113890682A (en) * 2021-09-30 2022-01-04 电子科技大学 Data transmission method for communication between near-earth environment and deep space environment
CN114362809A (en) * 2022-01-10 2022-04-15 中国人民解放军国防科技大学 Space-based intelligent networked edge computing system
CN114362809B (en) * 2022-01-10 2023-11-24 中国人民解放军国防科技大学 Space-based intelligent network edge computing system
CN115378822A (en) * 2022-08-19 2022-11-22 武汉烽火技术服务有限公司 DDS distributed application simulation method and system
CN115378822B (en) * 2022-08-19 2023-06-06 武汉烽火技术服务有限公司 A method and system for DDS distributed application simulation
CN115512459A (en) * 2022-09-28 2022-12-23 南斗六星系统集成有限公司 Data acquisition method, device, equipment and readable storage medium
CN115512459B (en) * 2022-09-28 2024-01-26 南斗六星系统集成有限公司 Data acquisition method, device, equipment and readable storage medium
CN119854123A (en) * 2025-03-19 2025-04-18 方舟信息技术(苏州)有限公司 Vehicle-mounted equipment communication simulation system and method based on AVC_LAN protocol
CN119854123B (en) * 2025-03-19 2025-07-01 方舟信息技术(苏州)有限公司 A vehicle-mounted equipment communication simulation system and method based on AVC_LAN protocol

Also Published As

Publication number Publication date
CN103825761B (en) 2017-06-27

Similar Documents

Publication Publication Date Title
CN103825761B (en) A Simulation Method of On-Star Router for Delay Tolerant Network
US8072992B2 (en) Interfacing real and virtual networks in hardware-in-the-loop (HITL) simulations
CN106571956A (en) Satellite networking routing protocol simulation system and method
CN110266368A (en) Simulation method of space-ground integrated information network based on cloud platform
CN106301911A (en) Information Network based on SDN half centralized simulation platform in kind and its implementation
CN101867959B (en) Satellite mobile communication network multi-machine collaborative simulation system and method
CN105357039B (en) A kind of emulation mode and device of time delay tolerant network
CN105871487B (en) A kind of system integration project demonstration and verification system towards satellite mobile communication
CN109905280B (en) A simulation method and system for mobile satellite network
CN101155088A (en) Satellite network protocol simulation system and method
CN106411652B (en) A gateway protocol conversion test system and method for aerospace communication
CN114422018A (en) Satellite network simulation system, test method, device, storage medium and product
CN118338335A (en) Satellite network digital prototype construction method and device based on digital twin
Choudhari et al. Disruption tolerant network (dtn) for space communication: An overview
Komnios et al. Spice testbed: A dtn testbed for satellite and space communications
CN107508828B (en) A kind of very-long-range data interaction system and method
Marin-de-Yzaguirre et al. Study to integrate Delay-Tolerant Network protocols in IoT LEO constellations for flood prevention
Barbour et al. Network Testbed for Small Satellites (NeTSat)-Distributed Space Adaptive Communications and Security for Multi-Constellation Networks
Bull et al. Network Emulation Testbed Capabilities for Prototyping Space DTN Software and Protocols
CN104753740B (en) A kind of deep space communication simulation demo verification method and simulation demo verify system
CN116709357A (en) Space network simulation system based on virtualization technology
CN114745254A (en) Modeling Method of Colored Petri Nets for Time-varying Inter-satellite Links Based on Function Separation
Birrane The Delay-Tolerant Networking Experimental Network Constructing a Cross-agency Supported Internetworking Testbed
Liang et al. Research on simulation technology for space-ground integrated network
Ruiz de Azua et al. Virtual Satellite Network Simulator (VSNeS): a simulation engine to virtualize non-terrestrial networks

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