A computer network connects devices using communication links. It allows for simultaneous communication and sharing of bandwidth between connected devices sending signals in either direction. There are different types of networks including personal area networks covering a single person, local area networks spanning a building or campus, metropolitan area networks covering multiple cities, and wide area networks spanning countries or continents. Networks rely on protocols that define rules for communication and different hardware technologies for data transmission, including broadcast links that send packets to all machines and point-to-point links that connect individual pairs of machines.