17.2.2 Satellite links

Figure 17.3: Main components of a satellite network interface

Satellite links resemble wireless links, which are described in Chapter 16. Each satellite node has one or more satellite network interface stacks, to which channels are connected to the physical layer object in the stack. Figure 17.3 illustrates the major components. Satellite links differ from ns wireless links in two major respects: i) the transmit and receive interfaces must be connected to different channels, and ii) there is no ARP implementation. Currently, the Radio Propagation Model is a placeholder for users to add more detailed error models if so desired; the current code does not use a propagation model.

Network interfaces can be added with the following instproc of Class Node/SatNode:

$node add-interface $type $ll $qtype $qlim $mac $mac_bw $phy
The add-interface instproc returns an index value that can be used to access the network interface stack later in the simulation. By convention, the first interface created on a node is attached to the uplink and downlink channels of a satellite or terminal. The following parameters must be provided:

An ISL can be added between two nodes using the following instproc:

$ns add-isl $ltype $node1 $node2 $bw $qtype $qlim
This creates two channels (of type Channel/Sat), and appropriate network interfaces on both nodes, and attaches the channels to the network interfaces. The bandwidth of the link is set to bw. The linktype (ltype) must be specified as either intraplane, interplane, or crossseam.

A GSL involves adding network interfaces and a channel on board the satellite (this is typically done using the wrapper methods described in the next paragraph), and then defining the correct interfaces on the terrestrial node and attaching them to the satellite link, as follows:

$node add-gsl $type $ll $qtype $qlim $mac $bw_up $phy \bs
   [$node_satellite set downlink_] [$node_satellite set uplink_]
Here, the type must be either geo or polar, and we make use of the downlink_ and uplink_ instvars of the satellite; therefore, the satellite's uplink and downlink must be created before this instproc is called.

By default, the node generator for satellite nodes (described in Section 5.3) will create nodes of a given type, give them an uplink and downlink interface, and create and attach an (initial) uplink and downlink channel, based on the interface options specified.

Tom Henderson 2011-11-05