SpaceWire uses wormhole routing to route packets through the network. Each packet contains a header which holds the destination node address either as the route through the network or as the identity of the destination node. As soon as the header for a packet is received the switch determines the output port to route the packet to by checking the destination address. If the requested output port is free then the packet is routed immediately to that output port. That output port is now marked as busy until the last character of the packet has passed through the switch – indicated by the end of packet marker being detected by the switch. Wormhole routing cuts down on the amount of buffering used within each switch, compared to a store and forward technique where an entire packet is first received and stored before it is sent out of the switch.
There are no restrictions on the topology of a SpaceWire network. SpaceWire can work with simple point-to-point networks, and when more than one link connects nodes in the SpaceWire network, SpaceWire can use adaptive network routing to share bandwidth and provide for fault tolerant, and rapid failed link recovery.