This document discusses several key design issues that occur across multiple layers in computer networks, including addressing, error control, flow control, multiplexing, and routing. Addressing refers to the need for each layer to identify senders and receivers. Error control handles imperfect physical circuits using error detection and correction codes agreed upon by both ends. Flow control deals with assembling and reassembling messages as they are transmitted. Routing selects a path when multiple options exist between source and destination. Multiplexing and demultiplexing improve network systems by combining and separating multiple communication signals.