Network architecture defines the complete framework of an organization's computer network, including hardware components, cabling, device types, network layouts and topologies, physical and wireless connections, implemented areas, and future plans. It also includes the software rules and protocols. The network architecture provides a detailed overview of the network and is designed by a network manager/administrator with input from network engineers. The two most widely used types of network architecture are peer-to-peer and client/server.