SpaceWire addresses shall follow the allowed allocation defined in the SpaceWire standard. Only logical addresses will be used for router and endpoint addresses which means they must be in the range of 0x20-0xFE.
JAS applications shall use SpaceWire regional addressing in conjunction with header deletion within the SpaceWire routers. Two SpaceWire addresses shall be used to route packets through the network. The first address will be the address of the router connected to the destination endpoint and the second address will be the endpoint address. Every router should be loaded with a route table that defines which ports map to each intended destination router and endpoint. The router addresses shall be unique and maintained at a payload level. The endpoint addresses shall only be unique for the endpoints connected to a specific router. Endpoint addresses can be reused at each router.
The following example helps clarify the addressing and routing requirements. Referencing the figure below, Endpoint 1 and Endpoint 3 have the same endpoint address but they are connected to different routers. There are still unique path addresses for reaching each endpoint; Endpoint 1 uses [0x21,0x41] and Endpoint 3 uses [0x23,0x41]. If an application running on Endpoint 1 wants to send data to an application running on Endpoint 3, it would use the SpaceWire address [0x23,0x41]. The SpaceWire packet gets delivered from Router 1 to Router 3 via either Router 2 or Router 5. Route tables within Router 2 specify how to forward the packet to its destination. When the SpaceWire packet arrives at Router 3, the first byte will be stripped off, and the packet is delivered to Endpoint 3 with address [0x41].
"SpaceWire - Links, nodes, routers and networks". ECSS-E-ST-50-12C, 39660, European Cooperation for Space Standardization (ECSS), The Netherlands, 2008, SpaceWire - Links, nodes, routers and networks.