Referring to FIG. 2, in some implementations, the communication network 100 provides a communication signal 20 between two communication devices 200, e.g., a first communication device 200a and a second communication device 200b through a free space optical link 22. The communication signal 20 may include data 23, such as, for example, internet protocol packets, being routed through the global-scale communication network 100. Each communication device 200, 200a, 200b may include one or more processors 210, e.g., 210a or 210b, a memory 220, e.g., 220a or 220b, a transmitter 230, e.g., 230a or 230b, a receiver 240, e.g., 240a or 240b, an optical system 250, e.g., 250a or 250b, and pointing hardware 260, or steering hardware, e.g., 260a or 260b. Communication devices 200c-f may also be configured with the same elements.