## 2 Principles and Methods
### The Design of SDN-Based ISTNs  
#### 2.3.1 The Functional Block Diagram of SDN-Based ISTNs  
The network management system, controllers, and hardware modules are the three components of the proposed semi-physical simulation system. A Windows 10 personal computer, which runs an INTEL VxWorks embedded real-time operating system, is an SDN controller to realize the management and control plane functions. The main function of the management plane is to monitor dynamic parameters, while the network topology changes or data services are modified. The controller is responsible for executing all control plane protocols and algorithms (e.g., OSPF, CSPF, link manager protocol (LMP), and CR-LDP). The label-based AOS frame switching and data forwarding are simulated using the hardware module. Figure 4 depicts the framework of the semi-physical simulation platform. The proposed SDN-based ISTNs are built the same way as a traditional SDN with the management plane (MP), the control plane (CP), and the data plane (DP). The network management system (NMS) in the terrestrial network is capable of managing and controlling the satellite optical network as well as monitoring network status through the northbound interface. As a result, each node, i.e., label edge routers (LERs) and label switching routers, has a network management agent (NMA) that receives, processes, and forwards NMS information. The management plane is logically a star structure since all NMAs are directly governed by NMS. Second, the distributed control plane module in each node includes sub-modules such as the network management system agent, routing module, connection control module, signaling module, link management module, and data plane agent. The data plane, on the other hand, is made up of an FPGA board and communication terminals, e.g., laser and microwave, as well as physical spatial links. The FPGA board uses a XILINX KINTEX-7 (XC7K325) as the primary control chip to provide data forwarding based on label switching, and adaption between data services (e.g., IP data, bitstream data, virtual channel access data, and packet data) and the CCSDS AOS data link protocol. The routing method, i.e., the (constraint) Dijkstra algorithm, performs routing computation, which is an essential function of the routing module. The routing module computes two types of routes based on the needs of networking protocols:  
1. Routing of managing and controlling messages. This sort of routing path is used for the managing and controlling messages from the management plane to the control plane. Since the **data communication network** field is the overhead for managing and controlling communications, each node will construct a routing table for the shortest  
Figure 4: The framework of SDN-based ISTNs simulation platform. way to all other nodes based on the shortest path first (SPF) method (i.e., Dijkstra algorithm) simply in terms of link priority and cost, ignoring the QoS requirements. When a node's link-state database is updated, the routing module will compute a new routing path for managing and controlling messages immediately;
2. Routing of service data. This sort of routing path is an explicit end-to-end routing path based on the CSPF-TE algorithm for traffic flows under service QoS requirements, such as source-destination, forward and backward bandwidth, link duration time, latency, etc. Due to the restricted bit length of the **data communication network** field, a fixed bits length managing and controlling message is divided into segments and sent in ten continuous AOS frames with the sequence number ranging from one to ten before transmission, as illustrated in Figure 5. After a cyclic redundancy check, the split managing and controlling message segments are reunited in sequence and delivered to the control plane and management plane on the receiving side.