Distributed networks play an increasingly important role in health, energy, safety, and transport applications, to name a few. A common objective of these domains is that a set of widely spread network entities, each limited to its local sensing capabilities and field of influence, should cooperate to accomplish global performance, resource-availability, robustness missions, and the like. Towards this end the entities need to exchange systemic information among them. The rules of this exchange, which is generally called network protocol, determine 'who' should send 'what' to 'whom' and 'when'. Complexity of today's networks together with higher safety and performance expectations hinder the applicability of suggest-and-test solution approaches. Instead, we model protocol design as a control problem, and synthesize the required protocol in a systematic correct-by-construction procedure. This approach ensures that the network function correctly, eliminates the need for after-design verification of the protocol, provides measures to guarantee its optimality, and admits a modular structure to beat the complexity of protocol design for large networks.