A Link-Layer Broadcast Service for Spacewire Networks Allison Roberts, Sandra G
Total Page:16
File Type:pdf, Size:1020Kb
A Link-Layer Broadcast Service for SpaceWire Networks Allison Roberts, Sandra G. Dykes, Robert Klar, Christopher C. Mangels Southwest Research Institute® 6220 Culebra Road San Antonio TX 78238-5166 210.522.3248 {allison.roberts, sandra.dykes, robert.klar, christopher.mangels}@swri.org Abstract—SpaceWire, a recent ESA standard, is gaining dynamically configured environment. For example, it may popularity because of its simple circuitry, low power be suitable for manned missions, such as NASA’s Crew consumption, and high-link speed. However network Exploration Vehicle (CEV). Introducing the human management on SpaceWire networks is hampered by the element introduces the potential for the addition or removal lack of a link-layer broadcast mechanism which is required of devices from the network. Another possible scenario for services such as the Address Resolution Protocol (ARP) would be coordinated collaborative measurements between and the Dynamic Host Configuration Protocol (DHCP). SpaceWire-based Science Instruments on multiple Currently, address resolution and host IP assignments spacecraft as they move through orbits, creating dynamic, require manual configuration. This paper describes a link- short-duration networks. SpaceWire has also been layer broadcast service and encapsulation service for suggested for some terrestrial applications, such as SpaceWire that is implemented in the host node software streaming video. Users of such applications would drivers and requires no change to routers or host node undoubtedly want to make use of automatic network interface hardware. We believe this work will help move configuration support. SpaceWire towards a future of Plug And Play networks, decreasing the cost and time required to develop and To achieve the goal of automatic network configuration, we integrate space systems.12 offer a plan which leverages support from well established existing standards, including Address Resolution Protocol TABLE OF CONTENTS (ARP) and Dynamic Host Configuration Protocol (DHCP) and introduces a dynamic routing protocol. None of these 1. AUTOMATIC CONFIGURATION OF SPACEWIRE ...1 technologies are currently supported directly by SpaceWire 2. SPACEWIRE NETWORK LAYER ............................2 networks as defined by the standard (ESA specification 3. SPACEWIRE MESSAGES ........................................3 ECSS-E-50-12A) [4]. One element missing from 4. SPACEWIRE BROADCAST PROTOCOL ..................3 SpaceWire that would help support such standard protocols 5. BROADCAST AND HIGHER-LEVEL SERVICES .......5 is a link-layer broadcast. ARP utilizes broadcasts to 6. IP OVER SPACEWIRE............................................6 discover the mapping between an IP (network-layer) 7. BROADCAST PROTOCOL DEVELOPMENT .............6 address and a unique hardware (link-layer) address. DHCP 8. RELATED WORK ...................................................8 clients use broadcast to discover the DHCP server that 9. CONCLUSIONS .......................................................8 dynamically assigns a unique network address. Routing REFERENCES .............................................................9 protocols for wired networks typically rely on router-to- BIOGRAPHY .............................................................10 router communication, rather than link-layer broadcast ACKNOWLEDGEMENTS ...........................................10 (although broadcasts are fundamental to ad hoc routing protocols). SpaceWire differs from most wired networks in 1. AUTOMATIC CONFIGURATION OF SPACEWIRE that the host nodes must specify the packet destination address and, if regions are used, must also specify the SpaceWire was introduced as a high-speed (10-400Mbps), address of the appropriate regional gateway. Broadcast low-power, and low-cost network for spacecraft. It is in use could be used to disseminate the addresses of regional on several current and future space missions from NASA, gateways to the host nodes. While this method does not the European Space Agency (ESA), the Japanese Space address dynamic updating of the router forwarding tables, it Agency (JAXA), and the Russian Space Agency. These does provide a simple “first step” that dynamically missions include the Geostationary Environmental Satellite configures route information on host nodes. Program (GOES-R), the James Webb Space Telescope, and the Lunar Reconnaissance Orbiter [5]. This paper presents three central concepts. The first concept is that of a unique address for a SpaceWire host. While most current applications of SpaceWire support The SpaceWire standard specifies that hosts may be statically configured networks, it is easy to envision a future assigned a logical address (LA) which is unique within a where it would prove advantageous to use SpaceWire in a region. However network-wide uniqueness is not 1 guaranteed since, a LA may be reused by another host in a 1 different region. Regions are inferred from information in 1-4244-0525-4/07/$20.00 ©2007 IEEE. 2 the router forwarding tables and do not have explicit IEEEAC paper #1484, Version 4, Updated January 15, 2007 1 identifiers. In our approach, each region is explicitly [1..31] is known as a “path address” and specifies which assigned a unique region identifier (RID). We combine the physical port the packet should travel through. An address RID with the host node LA to form a host address that is in the range [32..255] is known as a “logical address.” unique across the entire network. A unique address is When a SpaceWire router receives a packet with a logical required to support a standard ARP protocol [9]. address, it consults the routing table to find the next packet destination. The logical addresses of 254 and 255 are The second concept we introduce is that of a link-layer reserved. For more detail on SpaceWire addressing, refer to broadcast mechanism. An earlier version of our broadcast [4]. protocol was introduced at the 2006 Space Internetworking Workshop [3]. Implementing link-layer broadcast entirely SpaceWire routing is performed by configuration of routing in the host nodes allows the use of ARP, DHCP, and other tables stored on the routers. The standard method for a configuration protocols without modification to existing router table update is a manual configuration. Routers may Commercial-Off-the-Shelf (COTS) SpaceWire routers or be configured to delete the first byte of the address as the host interface hardware. The broadcast algorithm conforms packet is forwarded, a technique known as header deletion. to the SpaceWire standard [4], adding only the concept of Header deletion is commonly applied to path addressing, to the region identifier. reveal the next physical port the message will be directed to. The third contribution of this paper is a method to Since SpaceWire uses a single byte for logical addresses, dynamically and automatically update route information on there are only 222 unique logical addresses available. To host nodes using the link-layer broadcast mechanism. Our allow for larger networks, or to support the re-use of logical method broadcasts regional gateway update messages to all addresses, SpaceWire regions were introduced. Each region hosts that contain the logical addresses of gateways between is guaranteed to have a non-repeating set of logical each region. To send a SpaceWire message, a host node addresses. need only add the logical gateway address(es) and the destination’s logical address. Hosts do not need to know Regional Gateways network topology or path information. This reduces the When a packet needs to travel between SpaceWire regions, problem of route discovery to maintaining router a special logical address known as a gateway is used. forwarding tables. Nodes in different regions typically use different gateways to reach the same destination. This requires that each host Our approach to unique address formation, broadcast, and node know the gateway as well as the logical address to dissemination of routing information to hosts can be each potential destination. Routers are configured to confined to software on the host nodes, and in particular to perform header deletion on gateway addresses. SpaceWire interface drivers. No changes are required to the SpaceWire specification, to SpaceWire routers, nor to host interface hardware. Region 1 Gateway to Region 2 Region 2 While extending the breadth of SpaceWire network Router Router A 67 B services, it is important to remain compatible with the 52 PID Data 3 established SpaceWire standard and to support existing hardware. This improves interoperability and encourages N1 N2 N3 N4 N5 acceptance. The broadcast service and routing protocol LA 32 LA 33 LA 34 LA 32 LA 52 described in this paper are designed to be entirely RX compatible with the SpaceWire standard. Although last TX 52 PID Data 67 52 PID Data Message year we presented a packet encapsulation service [2] to Message provide a mechanism for identifying packet application or stack association, we have chosen to instead implement the Figure 1. SpaceWire Gateway Addressing encapsulation service more recently introduced by the SpaceWire Working Group [6]. The improvements Figure 1 shows an example of gateway addressing. To presented in this paper are designed to support multiple direct a packet from Region 1, Node 2 to Region 2, Node 5, higher-level network stacks (IPv4, IPv6, SCPS-NP) as well the gateway address “67” is first used to move to the new as custom applications that directly interface to the driver. region. When the