Small satellites and CubeSats: survey of structures, architectures, and protocols