技术领域Technical field
本发明涉及一种基于网络虚拟化的卫星通信仿真平台的协议测试方法,属于卫星通信网络领域。The invention relates to a protocol testing method for a satellite communication simulation platform based on network virtualization, and belongs to the field of satellite communication networks.
背景技术Background technique
随着人们无所不在的通信需求的提升,以及高数据率数据通信业务的不断增长,卫星通信所具有的无缝覆盖和通信容量大的优势将在新一代通信系统中发挥关键性作用。此外,随着星上基带数据交换和处理功能的提升,通信卫星已不再仅仅实现数据的转发,还能够实现数据的复用、交换、路由、存储和处理,因此卫星通信网络的应用和相关技术研究层出不穷。然而,由于卫星信道具有传输时延长、时延抖动大、链路带宽不对称等特点,地面网络中已经成熟应用的技术在宽带卫星通信中并不完全适用,从而现有的地面网络无法为卫星通信网络的应用和技术研究提供测试与验证环境。卫星通信网络是个时变的巨系统,它是一个复杂的综合体,而不是大量信道和卫星的简单堆砌。尽管理论上我们可以采用基于真实卫星通信网络、基于卫星网络原型系统或基于模拟仿真系统等条件场景来测试、验证卫星通信网络相关技术,但这些场景仍存在着许多局限性:With the increase in people's ubiquitous communication needs and the continuous growth of high-data-rate data communication services, the advantages of seamless coverage and large communication capacity of satellite communications will play a key role in the new generation of communication systems. In addition, with the improvement of on-board baseband data exchange and processing functions, communication satellites no longer only realize data forwarding, but can also realize data multiplexing, exchange, routing, storage and processing. Therefore, the application and related functions of satellite communication networks Technology research is emerging in endlessly. However, due to the characteristics of satellite channels such as extended transmission time, large delay jitter, and asymmetric link bandwidth, the technologies that have been maturely applied in terrestrial networks are not fully applicable in broadband satellite communications. Therefore, existing terrestrial networks cannot provide satellite communications. Provides a testing and verification environment for application and technical research on communication networks. The satellite communication network is a time-varying giant system. It is a complex complex rather than a simple stacking of a large number of channels and satellites. Although in theory we can test and verify satellite communication network-related technologies using conditional scenarios based on real satellite communication networks, satellite network prototype systems, or simulation systems, these scenarios still have many limitations:
首先,在实际运行的卫星通信网络上进行真实的测试并不现实。各类卫星通信网络承担着重要的通信业务,不能进行任何可能导致网络不稳定的试验。First, it is not practical to conduct real-world tests on an actual operational satellite communications network. Various satellite communication networks undertake important communication services and cannot conduct any experiments that may cause network instability.
第二,建立一个能够表征大规模、复杂网络特点的卫星通信网络实物环境,在经济上、时间上、技术上不可行;而规模小、场景简单则难以保证卫星通信网络的逼真度。当进行各类应用测试时,卫星通信网络环境也存在保障成本高、维护周期长、测试验证效率低和结果呈现不直观等缺点。Second, it is economically, time- and technically unfeasible to establish a physical satellite communication network environment that can represent the characteristics of large-scale and complex networks; while small scale and simple scenarios make it difficult to ensure the fidelity of satellite communication networks. When conducting various application tests, the satellite communication network environment also has shortcomings such as high maintenance costs, long maintenance cycles, low test verification efficiency, and unintuitive results presentation.
第三,采用现有仿真模拟系统来构造卫星通信网络,由于卫星通信网络所具有的信道误码率、时延抖动和时变性等特点难以准确描述,仿真过程与真实情况可能相差较大,难以保证仿真的真实性。一个环节的缺失甚至一个参数的误设置,将会导致仿真结果“差之毫厘,失之千里”。Third, existing simulation systems are used to construct satellite communication networks. Since the channel bit error rate, delay jitter, and time variability of satellite communication networks are difficult to accurately describe, the simulation process may be quite different from the real situation, making it difficult to Ensure the authenticity of the simulation. The absence of a link or even the incorrect setting of a parameter will lead to "a slight difference in the simulation results, a loss of thousands of miles".
发明内容Contents of the invention
本发明的技术解决问题是:克服现有技术的不足,提供了一种基于网络虚拟化的卫星通信仿真平台的协议测试方法,利用网络功能虚拟化技术,构建可虚实互联的卫星通信网络仿真平台,并基于此平台实现多种异构协议的动态部署与运行测试,有效降低卫星通信网络协议的测试难度。The technical problem solved by the present invention is to overcome the shortcomings of the existing technology, provide a protocol testing method for a satellite communication simulation platform based on network virtualization, and use network function virtualization technology to build a satellite communication network simulation platform that can be interconnected between virtual and real things. , and based on this platform, the dynamic deployment and operation testing of multiple heterogeneous protocols can be realized, effectively reducing the difficulty of testing satellite communication network protocols.
本发明的技术解决方案是:The technical solution of the present invention is:
一种基于网络虚拟化的卫星通信仿真平台的协议测试方法,步骤如下:A protocol testing method for a satellite communication simulation platform based on network virtualization. The steps are as follows:
步骤一:设计四层架构的卫星通信网络仿真平台;Step 1: Design a four-layer architecture satellite communication network simulation platform;
第一层为用户接口层,用于网络拓扑结构定制、测试协议编排和试验控制与结果输出;The first layer is the user interface layer, which is used for network topology customization, test protocol orchestration, test control and result output;
第二层为用户指令解析层,根据用户制定的网络拓扑结构生成虚拟容器和链路创建指令,将用户编排的协议转换为统一格式指令集合,将传回的测试结果转换为图表形式呈现给用户;The second layer is the user command parsing layer, which generates virtual container and link creation instructions based on the network topology specified by the user, converts the user-programmed protocols into a unified format instruction set, and converts the returned test results into charts to present to the user. ;
第三层为虚拟卫星通信网络管理层,用于卫星网络节点与链路的创建、配置和销毁;The third layer is the virtual satellite communication network management layer, which is used for the creation, configuration and destruction of satellite network nodes and links;
第四层为运行监控层,收集运行数据,并反馈给用户;The fourth layer is the operation monitoring layer, which collects operation data and feeds it back to users;
步骤二:基于所述卫星通信网络仿真平台,根据用户设置的节点数量、节点分布模型和链路数量,自动生成网络拓扑结构;Step 2: Based on the satellite communication network simulation platform, automatically generate a network topology according to the number of nodes, node distribution model and number of links set by the user;
步骤三:根据协议测试要求,对卫星通信网络节点功能、处理能力和链路性能指标进行配置;初始时,所有参数指标均设置为最优默认值,用户根据实际需要对参数在有效范围内进行变更,基于所述卫星通信网络仿真平台,生成描述卫星通信网络的网络配置文件;Step 3: According to the protocol test requirements, configure the satellite communication network node functions, processing capabilities and link performance indicators; initially, all parameter indicators are set to the optimal default values, and the user can adjust the parameters within the effective range according to actual needs. Change, based on the satellite communication network simulation platform, generate a network configuration file describing the satellite communication network;
步骤四:在计算机中安装运行Linux内核操作系统,作为测试运行环境,采用Docker容器技术实现对卫星通信网络设备功能的仿真;Step 4: Install and run the Linux kernel operating system on the computer. As a test operating environment, use Docker container technology to simulate the functions of satellite communication network equipment;
步骤五:设置在线协议编辑器,使用格式化语言描述协议内容,采用事件关联描述协议分组之间的时序关系;Step 5: Set up an online protocol editor, use formatting language to describe the protocol content, and use event correlation to describe the timing relationship between protocol groups;
步骤六:设置通用协议转换器,将用户添加的协议统一转换为xml格式描述,并采用petri网存储协议分组之间的关系,建立协议有限状态机,作为协议正常交互的判定准则;Step 6: Set up a general protocol converter to uniformly convert user-added protocols into xml format descriptions, and use petri net to store the relationship between protocol groups, and establish a protocol finite state machine as a criterion for determining normal protocol interaction;
步骤七:试验环境搭建完成之后,用户通过对外提供的接口,将地面网络与虚拟卫星通信网络互联,开展协议交互测试;Step 7: After the test environment is built, the user interconnects the ground network with the virtual satellite communication network through the externally provided interface to carry out protocol interaction testing;
步骤八:用户接口层实时获取运行监控层传送的数据,并以图表形式呈现协议交互过程,同时生成相应的测试报告;当协议交互出现错误时,显示错误位置。Step 8: The user interface layer obtains the data transmitted by the operation monitoring layer in real time, presents the protocol interaction process in the form of a chart, and generates a corresponding test report; when an error occurs in the protocol interaction, the error location is displayed.
进一步的,采用拓扑生成器根据用户设定的拓扑模型生成具有特定约束的节点之间的关系,即形成网络拓扑结构。Furthermore, a topology generator is used to generate relationships between nodes with specific constraints based on the topology model set by the user, that is, to form a network topology.
进一步的,网络配置文件的生成分为两步:Further, the generation of network configuration files is divided into two steps:
(3.1)根据所述网络拓扑结构,生成描述节点与节点之间连接关系的网络拓扑文件;(3.1) According to the network topology structure, generate a network topology file describing the connection relationship between nodes;
(3.2)将网络拓扑文件扩充为格式化的NFV网络配置文件,根据NFV网络配置文件生成NFV网络。(3.2) Expand the network topology file into a formatted NFV network configuration file, and generate an NFV network based on the NFV network configuration file.
进一步的,所述将网络拓扑文件扩充为格式化的NFV网络配置文件,具体包括:Further, the expansion of the network topology file into a formatted NFV network configuration file specifically includes:
a.为每条连接的节点对补充网络相关信息,为两个端点分配端口号、IP地址/掩码、MAC地址参数;a. Supplement network-related information for each connected node pair, and assign port numbers, IP addresses/masks, and MAC address parameters to the two endpoints;
b.配置路由协议:若节点为路由器,则需指定它所需要的路由协议相关信息。b. Configure routing protocols: If the node is a router, you need to specify the routing protocol related information it requires.
进一步的,采用Docker容器技术实现对卫星通信网络设备功能的仿真,具体为:创建卫星网络虚拟设备池,默认池中有N个容器,当容器数量小于n时,0<n<N,启动容器创建进程,并将成功创建的容器加入设备池中;虚拟卫星通信网络管理层根据网络配置文件,从虚拟设备池中选择空闲容器,同时开启相应功能,并通过修改网络配置文件建立虚拟设备之间的连接关系和虚拟链路性能指标,实现对卫星通信网络的仿真。Further, Docker container technology is used to simulate the functions of satellite communication network equipment, specifically: Create a satellite network virtual equipment pool. There are N containers in the default pool. When the number of containers is less than n, 0<n<N, start the container. Create a process and add the successfully created container to the device pool; the virtual satellite communication network management layer selects idle containers from the virtual device pool based on the network configuration file, turns on the corresponding functions, and establishes a connection between virtual devices by modifying the network configuration file. The connection relationship and virtual link performance indicators are used to simulate the satellite communication network.
进一步的,测试过程中,利用每个虚拟容器中驻留的监视代理程序获取实际的协议分组,并统一传送到运行监控层,运行监控层根据协议有限状态机判断协议是否运行正常,并将监测结果实时送到用户接口层。Furthermore, during the test process, the monitoring agent program resident in each virtual container is used to obtain the actual protocol grouping and uniformly transmit it to the running monitoring layer. The running monitoring layer determines whether the protocol is running normally according to the protocol finite state machine, and monitors The results are sent to the user interface layer in real time.
本发明与现有技术相比的有益效果是:Compared with the prior art, the beneficial effects of the present invention are:
(1)本发明提出的基于网络功能虚拟技术搭建虚拟卫星通信网络测试平台,采用Docker容器技术,直接共享服务器的Linux内核,不需要为每个容器重复加载,节约了大量的内存空间,在一台服务器上可以部署100~1000个容器。而且Docker支持增量更新技术,当需要进行更新操作时,只需要对镜像文件的增量内容进行分发、传输和存储即可,大大提高了更新效率,采用容器池自动填补技术,进一步提升了虚拟网络部署效率。(1) The invention proposes to build a virtual satellite communication network test platform based on network function virtualization technology. It uses Docker container technology to directly share the Linux kernel of the server. It does not need to be loaded repeatedly for each container, saving a lot of memory space. 100 to 1,000 containers can be deployed on each server. Moreover, Docker supports incremental update technology. When an update operation is required, only the incremental content of the image file needs to be distributed, transmitted, and stored, which greatly improves the update efficiency. It uses container pool automatic filling technology to further improve virtualization. Network deployment efficiency.
(2)本发明设计有协议运行监控功能,能快速定位协议运行时错误,有效降低了协议测试难度。(2) The present invention is designed with a protocol operation monitoring function, which can quickly locate protocol runtime errors and effectively reduce the difficulty of protocol testing.
(3)本发明为卫星通信网络相关技术研究提供了价格低廉、易学易用的测试与验证平台,具有一定的推广应用价值。(3) The present invention provides a low-cost, easy-to-learn and easy-to-use testing and verification platform for research on satellite communication network-related technologies, and has certain promotion and application value.
附图说明Description of the drawings
图1为卫星通信网络仿真平台组成示意图;Figure 1 is a schematic diagram of the satellite communication network simulation platform;
图2为TCP建立连接的有限状态机示意图;Figure 2 is a schematic diagram of the finite state machine for TCP connection establishment;
具体实施方式Detailed ways
下面结合附图对本发明的具体实施方式进行进一步的详细描述。Specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
根据现有技术的情况,亟需发展一种与大规模、复杂真实卫星通信网络的功能与性能非常接近的试验平台,同时该平台应当具有易部署、易使用、成本低、接口开放等优良特点,并具备以下重要特点:According to the existing technology, there is an urgent need to develop a test platform that is very close to the functions and performance of large-scale and complex real satellite communication networks. At the same time, the platform should have excellent features such as easy deployment, easy use, low cost, and open interfaces. , and has the following important characteristics:
1.对于通信关系已知的卫星通信网络,试验平台应当能够产生拓扑与之完全相同的网络,且功能完全相同和性能非常相似。对于通信关系未知的网络,试验平台应当根据应用需求和网络规模及拓扑特征,从统计上逼近真实网络的功能与性能。为此,卫星通信网络试验平台中所有虚拟节点(设备)都必须能实际运行卫星通信网络协议,承载真实的通信流量。1. For satellite communication networks with known communication relationships, the test platform should be able to generate a network with exactly the same topology, identical functions and very similar performance. For networks with unknown communication relationships, the test platform should statistically approximate the functions and performance of the real network based on application requirements, network scale and topological characteristics. To this end, all virtual nodes (devices) in the satellite communication network test platform must be able to actually run the satellite communication network protocol and carry real communication traffic.
2.卫星通信网络试验平台内的虚拟节点能够配置成各类虚拟设备,这些设备应当能够与平台外的真实设备通过实际接口相连。2. The virtual nodes in the satellite communication network test platform can be configured into various virtual devices, and these devices should be able to be connected to real devices outside the platform through actual interfaces.
3.被仿真卫星通信网络应具有相当大的规模,且构建时间≤30分钟。显然,该仿真平台应运行在强大的计算平台上,并且要采用程序控制的方法自动部署完成大规模虚拟卫星通信网络。3. The simulated satellite communication network should be of considerable scale, and the construction time should be ≤30 minutes. Obviously, the simulation platform should run on a powerful computing platform and use program control methods to automatically deploy and complete large-scale virtual satellite communication networks.
4.卫星通信网络试验平台环境包括实际地面网络和基于网络功能虚拟化的卫星通信网络两部分,卫星通信网络充当核心,地面网络充当边缘网络。边缘网络可以是已有局域网/园区网或主机的集合,能够与卫星通信网络通过标准网络接口实际连接,收发分组;不同局域网的主机之间交互需要通过卫星通信网络进行。4. The satellite communication network test platform environment includes two parts: the actual ground network and the satellite communication network based on network function virtualization. The satellite communication network acts as the core and the ground network acts as the edge network. The edge network can be an existing LAN/campus network or a collection of hosts that can actually connect to the satellite communication network through a standard network interface to send and receive packets; interactions between hosts in different LANs need to be carried out through the satellite communication network.
5.卫星通信网络试验平台能够提供核心网络和边缘网络的可视化功能,以展示虚实网络拓扑、特定部位的网络流量分布和性能情况,以提升卫星通信网络试验平台的易用性。网络核心部分拓扑基于卫星通信网络测量规律或根据已有信息自动生成,网络边缘部分采用人工配置方式生成,所有网络拓扑视图均可手动修改并存储重用。5. The satellite communication network test platform can provide visualization functions of the core network and edge network to display the virtual and real network topology, network traffic distribution and performance of specific parts, so as to improve the usability of the satellite communication network test platform. The topology of the core part of the network is automatically generated based on satellite communication network measurement rules or existing information. The edge part of the network is generated by manual configuration. All network topology views can be manually modified and stored for reuse.
6.卫星通信网络试验平台应能够在任何虚拟网络设备接口处,通过调用标准API实时采集所需信息,及时处理并传输这些报文,从而为定性展示和定量评价平台上的特定网络应用提供支持。6. The satellite communication network test platform should be able to collect the required information in real time by calling standard APIs at any virtual network device interface, process and transmit these messages in a timely manner, thereby providing support for specific network applications on the qualitative display and quantitative evaluation platform .
基于上述卫星通信网络试验平台,我们可以方便地对各类卫星网络通信协议进行测试与验证,有效降低试验成本,提升效率。Based on the above-mentioned satellite communication network test platform, we can easily test and verify various satellite network communication protocols, effectively reducing test costs and improving efficiency.
本发明基于网络功能虚拟化技术,实现对卫星通信网络设备功能与网络传输性能的仿真,在此基础上,实现应用层协议的测试与验证。Based on network function virtualization technology, the present invention realizes the simulation of satellite communication network equipment functions and network transmission performance, and on this basis, realizes the testing and verification of application layer protocols.
本发明提出的基于网络虚拟化的卫星通信仿真平台的协议测试方法,具体包括如下步骤:The protocol testing method of the satellite communication simulation platform based on network virtualization proposed by the present invention specifically includes the following steps:
步骤一:设计四层架构的卫星通信网络仿真平台,如图1所示;Step 1: Design a four-layer architecture satellite communication network simulation platform, as shown in Figure 1;
第一层为用户接口层,用于网络拓扑结构定制、测试协议编排和试验控制与结果输出;The first layer is the user interface layer, which is used for network topology customization, test protocol orchestration, test control and result output;
第二层为用户指令解析层,根据用户制定的网络拓扑结构生成虚拟容器和链路创建指令,将用户编排的协议转换为统一格式指令集合,将传回的测试结果转换为图表形式呈现给用户;The second layer is the user command parsing layer, which generates virtual container and link creation instructions based on the network topology specified by the user, converts the user-programmed protocols into a unified format instruction set, and converts the returned test results into charts to present to the user. ;
第三层为虚拟卫星通信网络管理层,用于卫星网络节点与链路的创建、配置和销毁;The third layer is the virtual satellite communication network management layer, which is used for the creation, configuration and destruction of satellite network nodes and links;
第四层为运行监控层,收集运行数据,并反馈给用户;The fourth layer is the operation monitoring layer, which collects operation data and feeds it back to users;
步骤二:基于所述卫星通信网络仿真平台,根据用户设置的节点数量、节点分布模型和链路数量,自动生成网络拓扑结构;Step 2: Based on the satellite communication network simulation platform, automatically generate a network topology according to the number of nodes, node distribution model and number of links set by the user;
采用拓扑生成器根据用户设定的拓扑模型生成具有特定约束的节点之间的关系,即形成网络拓扑结构。常用的拓扑生成器包括GT-ITM、Inet和Brite等,其中Brite是一种性能较好、易于使用的拓扑生成器,可用于生成多种模型的拓扑。A topology generator is used to generate the relationship between nodes with specific constraints based on the topology model set by the user, that is, to form a network topology. Commonly used topology generators include GT-ITM, Inet and Brite, among which Brite is a topology generator with good performance and easy to use, which can be used to generate the topology of a variety of models.
步骤三:根据协议测试要求,对卫星通信网络节点功能、处理能力和链路性能指标进行配置;初始时,所有参数指标均设置为最优默认值,用户根据实际需要对参数在有效范围内进行变更,基于所述卫星通信网络仿真平台,生成描述卫星通信网络的网络配置文件;Step 3: According to the protocol test requirements, configure the satellite communication network node functions, processing capabilities and link performance indicators; initially, all parameter indicators are set to the optimal default values, and the user can adjust the parameters within the effective range according to actual needs. Change, based on the satellite communication network simulation platform, generate a network configuration file describing the satellite communication network;
网络配置文件的生成分为两步:The generation of network configuration files is divided into two steps:
(3.1)根据所述网络拓扑结构,生成描述节点与节点之间连接关系的网络拓扑文件;(3.1) According to the network topology structure, generate a network topology file describing the connection relationship between nodes;
下方为5个节点以及10条边拓扑图的输出文件格式示例。其中node节点属性依次为节点ID号、x坐标值、y坐标值、入度、出度、所属AS号、节点类型,Edge连接属性依次为边ID号、源节点ID号、目的节点ID号、长度、时延、带宽、源节点所属AS号、目的节点所属AS号、边类型。The following is an example of the output file format of a 5-node and 10-edge topology graph. Among them, the node node attributes are node ID number, x coordinate value, y coordinate value, in degree, out degree, AS number, node type, and the edge connection attributes are edge ID number, source node ID number, destination node ID number, Length, delay, bandwidth, AS number of the source node, AS number of the destination node, and edge type.
Nodes:(C)Nodes: (C)
Edges:(10)Edges:(10)
(3.2)将网络拓扑文件扩充为格式化的NFV网络配置文件,根据NFV网络配置文件生成NFV网络。NFV:Network FunctionsVirtualization,网络功能虚拟化。(3.2) Expand the network topology file into a formatted NFV network configuration file, and generate an NFV network based on the NFV network configuration file. NFV: Network FunctionsVirtualization, network function virtualization.
所述将网络拓扑文件扩充为格式化的NFV网络配置文件,具体包括:The expansion of the network topology file into a formatted NFV network configuration file specifically includes:
a.为每条连接的节点对补充网络相关信息,为两个端点分配端口号、IP地址/掩码、MAC地址参数;a. Supplement network-related information for each connected node pair, and assign port numbers, IP addresses/masks, and MAC address parameters to the two endpoints;
b.配置路由协议:若节点为路由器,则需指定它所需要的路由协议相关信息。b. Configure routing protocols: If the node is a router, you need to specify the routing protocol related information it requires.
根据NFV网络拓扑描述文件生成NFV网络的算法如下:The algorithm for generating an NFV network based on the NFV network topology description file is as follows:
在上述算法中,第1~2行为根据选择的拓扑模型、节点数目、边数目以及其他参数信息,通过拓扑生成器,生成拓扑,并输出至文件topo.conf中;第3行表示扫描拓扑中的所有链路,第4~6行表示,若链路两端节点所在AS相同,则该链路为内部链路,分别为节点所在端口分配内部IP地址;第7~9行表示,反之,为外部链路,为两端节点所在端口分配外部IP地址。第10行为更新节点使用的端口号;第12行表示,执行拓扑转换程序,结合端口IP信息,以及topo.conf中的拓扑信息,按照特定格式输出拓扑配置文件topo.conf;第13行则为依据拓扑配置文件,执行函数CreateNet(),搭建由LXC组成的NFV网络;In the above algorithm, lines 1 to 2 use the topology generator to generate the topology based on the selected topology model, number of nodes, number of edges, and other parameter information, and output it to the file topo.conf; line 3 represents the scanning topology. For all links, lines 4 to 6 indicate that if the nodes at both ends of the link are in the same AS, the link is an internal link, and internal IP addresses are allocated to the ports where the nodes are located respectively; lines 7 to 9 indicate that, vice versa, For external links, assign external IP addresses to the ports where the nodes at both ends are located. The 10th line updates the port number used by the node; the 12th line indicates that the topology conversion program is executed, and the topology configuration file topo.conf is output in a specific format based on the port IP information and the topology information in topo.conf; the 13th line is According to the topology configuration file, execute the function CreateNet() to build an NFV network composed of LXC;
步骤四:在计算机中安装运行Linux内核操作系统,作为测试运行环境,采用Docker容器技术实现对卫星通信网络设备功能的仿真;Step 4: Install and run the Linux kernel operating system on the computer. As a test operating environment, use Docker container technology to simulate the functions of satellite communication network equipment;
采用Docker容器技术实现对卫星通信网络设备功能的仿真,具体为:创建卫星网络虚拟设备池,默认池中有N个容器,当容器数量小于n时,0<n<N,启动容器创建进程,并将成功创建的容器加入设备池中;虚拟卫星通信网络管理层根据网络配置文件,从虚拟设备池中选择空闲容器,同时开启相应功能,并通过修改网络配置文件建立虚拟设备之间的连接关系和虚拟链路性能指标,实现对卫星通信网络的仿真。Docker container technology is used to simulate the functions of satellite communication network equipment, specifically: Create a satellite network virtual equipment pool. There are N containers in the default pool. When the number of containers is less than n, 0<n<N, start the container creation process. And add the successfully created container to the device pool; the virtual satellite communication network management layer selects idle containers from the virtual device pool according to the network configuration file, turns on the corresponding functions, and establishes the connection relationship between virtual devices by modifying the network configuration file. and virtual link performance indicators to realize the simulation of satellite communication networks.
对PC机的硬件要求,主频3.0GHz及以上的多核CPU的高性能服务器,内存≥128GB,硬盘大于2TB,运行Fedora 30或更高版本的操作系统;Hardware requirements for the PC include a high-performance server with a multi-core CPU clocked at 3.0GHz or above, memory ≥128GB, a hard disk greater than 2TB, and running Fedora 30 or higher operating system;
步骤五:设置在线协议编辑器,用户可使用xml、json、html等格式化语言描述协议内容,采用事件关联描述协议分组之间的时序关系;Step 5: Set up an online protocol editor. Users can use xml, json, html and other formatting languages to describe the protocol content, and use event correlation to describe the timing relationship between protocol groups;
步骤六:设置通用协议转换器,将用户添加的协议统一转换为xml格式描述,并采用petri网存储协议分组之间的关系,建立协议有限状态机,作为协议正常交互的判定准则;Step 6: Set up a general protocol converter to uniformly convert user-added protocols into xml format descriptions, and use petri net to store the relationship between protocol groups, and establish a protocol finite state machine as a criterion for determining normal protocol interaction;
下方为TCP三次握手协议的xml描述示例和对应的有限状态机描述;Below is an example xml description of the TCP three-way handshake protocol and the corresponding finite state machine description;
搭建后的状态机如图2所示。The built state machine is shown in Figure 2.
步骤七:试验环境搭建完成之后,用户通过对外提供的接口,将地面网络与虚拟卫星通信网络互联,开展协议交互测试;Step 7: After the test environment is built, the user interconnects the ground network with the virtual satellite communication network through the externally provided interface to carry out protocol interaction testing;
测试过程中,利用每个虚拟容器中驻留的监视代理程序获取实际的协议分组,并统一传送到运行监控层,运行监控层根据协议有限状态机判断协议是否运行正常,并将监测结果实时送到用户接口层。During the test process, the monitoring agent program resident in each virtual container is used to obtain the actual protocol grouping and uniformly transmit it to the operation monitoring layer. The operation monitoring layer determines whether the protocol is running normally according to the protocol finite state machine, and sends the monitoring results in real time. to the user interface layer.
步骤八:用户接口层实时获取运行监控层传送的数据,并以图表形式呈现协议交互过程,同时生成相应的测试报告;当协议交互出现错误时,显示错误位置。Step 8: The user interface layer obtains the data transmitted by the operation monitoring layer in real time, presents the protocol interaction process in the form of a chart, and generates a corresponding test report; when an error occurs in the protocol interaction, the error location is displayed.
本发明提出的基于网络功能虚拟技术搭建虚拟卫星通信网络测试平台,采用Docker容器技术,直接共享服务器的Linux内核,不需要为每个容器重复加载,节约了大量的内存空间,在一台服务器上可以部署100~1000个容器。而且Docker支持增量更新技术,当需要进行更新操作时,只需要对镜像文件的增量内容进行分发、传输和存储即可,大大提高了更新效率,采用容器池自动填补技术,进一步提升了虚拟网络部署效率。设计实现的协议运行监控模块,能快速定位协议运行时错误,有效降低了协议测试难度。本发明为卫星通信网络相关技术研究提供了价格低廉、易学易用的测试与验证平台,具有一定的推广应用价值。The invention proposes to build a virtual satellite communication network test platform based on network function virtualization technology. It uses Docker container technology to directly share the Linux kernel of the server. It does not need to be loaded repeatedly for each container, saving a lot of memory space on one server. 100 to 1,000 containers can be deployed. Moreover, Docker supports incremental update technology. When an update operation is required, only the incremental content of the image file needs to be distributed, transmitted, and stored, which greatly improves the update efficiency. The automatic filling technology of the container pool is used to further improve virtualization. Network deployment efficiency. The designed and implemented protocol operation monitoring module can quickly locate protocol runtime errors, effectively reducing the difficulty of protocol testing. The invention provides a low-cost, easy-to-learn and easy-to-use testing and verification platform for research on satellite communication network-related technologies, and has certain promotion and application value.
本发明未详细说明部分属本领域技术人员公知常识。The parts of the present invention that are not described in detail are common knowledge to those skilled in the art.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111579637.7ACN114422010B (en) | 2021-12-22 | 2021-12-22 | A protocol testing method for satellite communication simulation platform based on network virtualization |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111579637.7ACN114422010B (en) | 2021-12-22 | 2021-12-22 | A protocol testing method for satellite communication simulation platform based on network virtualization |
| Publication Number | Publication Date |
|---|---|
| CN114422010A CN114422010A (en) | 2022-04-29 |
| CN114422010Btrue CN114422010B (en) | 2024-03-15 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111579637.7AActiveCN114422010B (en) | 2021-12-22 | 2021-12-22 | A protocol testing method for satellite communication simulation platform based on network virtualization |
| Country | Link |
|---|---|
| CN (1) | CN114422010B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114745254B (en)* | 2022-06-10 | 2022-08-26 | 中国地质大学(武汉) | Time-varying inter-satellite link coloring Petri net modeling method based on function separation |
| CN116319491A (en)* | 2022-09-09 | 2023-06-23 | 中科南京移动通信与计算创新研究院 | Virtual-real device communication method and device, electronic device and storage medium |
| CN115220367B (en)* | 2022-09-21 | 2022-12-27 | 北京航天驭星科技有限公司 | Virtual satellite measurement and control simulation method and device |
| CN115242655B (en)* | 2022-09-22 | 2022-12-13 | 鹏城实验室 | Container-based constellation network simulation method, device, equipment and storage medium |
| CN116506403A (en)* | 2023-05-12 | 2023-07-28 | 广州大学 | A method and system for automatically generating domain name resolution business scenarios |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5862177A (en)* | 1996-09-09 | 1999-01-19 | The United States Of America As Represented By The Secretary Of The Army | Method for testing communications channels |
| CN101155088A (en)* | 2007-09-17 | 2008-04-02 | 北京航空航天大学 | Satellite network protocol simulation system and method |
| CN105915304A (en)* | 2016-05-31 | 2016-08-31 | 西安交通大学 | System-level simulation demonstration verification method facing satellite mobile communication |
| CN106411587A (en)* | 2016-09-26 | 2017-02-15 | 中国空间技术研究院 | Simulation architecture suitable for performance evaluation of satellite communications network |
| CN112600717A (en)* | 2020-12-30 | 2021-04-02 | 上海交通大学 | Satellite network management and control protocol semi-physical test device based on SDN |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5862177A (en)* | 1996-09-09 | 1999-01-19 | The United States Of America As Represented By The Secretary Of The Army | Method for testing communications channels |
| CN101155088A (en)* | 2007-09-17 | 2008-04-02 | 北京航空航天大学 | Satellite network protocol simulation system and method |
| CN105915304A (en)* | 2016-05-31 | 2016-08-31 | 西安交通大学 | System-level simulation demonstration verification method facing satellite mobile communication |
| CN106411587A (en)* | 2016-09-26 | 2017-02-15 | 中国空间技术研究院 | Simulation architecture suitable for performance evaluation of satellite communications network |
| CN112600717A (en)* | 2020-12-30 | 2021-04-02 | 上海交通大学 | Satellite network management and control protocol semi-physical test device based on SDN |
| Title |
|---|
| 移动卫星网络仿真验证系统研究;郭欣;张军;张涛;;遥测遥控;20100115(第01期);全文* |
| Publication number | Publication date |
|---|---|
| CN114422010A (en) | 2022-04-29 |
| Publication | Publication Date | Title |
|---|---|---|
| CN114422010B (en) | A protocol testing method for satellite communication simulation platform based on network virtualization | |
| CN106571956B (en) | Satellite networking routing protocol simulation system and method | |
| CN101626383B (en) | Route test method of aeronautical telecommunication network and router virtual machine | |
| CN100588204C (en) | Real-time visual display platform of a communication network simulation tool and its implementation method | |
| CN101867505B (en) | A network simulation method and device | |
| CN112039722B (en) | A kind of MQTT protocol simulation method and simulation device | |
| CN114244449B (en) | Satellite network simulation verification method, system, electronic equipment and storage medium | |
| CN110249593A (en) | System and method for configuring IED process bus network switches according to substation topology specification | |
| CN114553752B (en) | Network performance test method and device based on simulation software and computer equipment | |
| WO2020207051A1 (en) | Method and apparatus for network verification | |
| Raj et al. | Simulation of VANET using ns-3 and SUMO | |
| CN106599398A (en) | Simulation method and apparatus of space-ground integrated management system | |
| CN101610275B (en) | Supporting large-scale distributed P2P simulation system and its implementation method and device | |
| CN113193998B (en) | Network emulation method, programmable switch, and computer-readable storage medium | |
| CN112073237A (en) | A method for constructing large-scale target network in cloud-edge architecture | |
| CN107483284A (en) | Method and device for testing network equipment | |
| Uddin et al. | Performance analysis of SDN based firewalls: POX vs. ODL | |
| CN109039709A (en) | A kind of mobile wireless network emulation and experiment porch based on virtualization | |
| CN106559129A (en) | Satellite communication protocols emulation test method and system | |
| CN103634290B (en) | Network (WSN) emulation system | |
| Petersen et al. | DockSDN: A hybrid container‐based software‐defined networking emulation tool | |
| US12341682B2 (en) | Methods, systems, and computer readable media for controlling a traffic generator using an open application programming interface | |
| CN105142178B (en) | A kind of analogue simulation system and method for AP and STA | |
| CN116319380B (en) | Network simulation method and system based on cloud native platform and user mode switch | |
| Hayes | Scalability and Performance Considerations for Traffic Classification in Software-Defined Networks |
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |