A computer network connects end systems through transit systems. It uses either circuit switching or packet switching. Circuit switching establishes a dedicated communication path between nodes by using frequency division, time division, or wavelength division multiplexing. Packet switching transmits data in packets through statistical multiplexing without dedicated paths. It can use either datagram or virtual circuit networks. Datagram networks route each packet independently while virtual circuit networks emulate circuit switching by establishing virtual circuits for packets.