This document discusses two main types of switching technologies used in communications networks: circuit switching and packet switching. Circuit switching establishes a dedicated communication path for the duration of a connection, while packet switching breaks messages into packets that are transmitted individually and reassembled at the destination. Packet switching provides better line efficiency since the bandwidth is shared dynamically between users, and allows for variable data rates and prioritization of packets. Virtual circuits are a form of packet switching that pre-establishes a route for packets to follow, avoiding per-packet routing decisions.