A switching controller is a type of computer network device that acts to direct traffic from one device to another. Switches are used to build, manage and maintain network connections. This helps in optimizing the flow of traffic for efficient communications in the network. A switching controller can be managed manually or with an automated program such as IP switches or software-driven modem management. Switches will usually be located at the core of the network and typically include routing and congestion control tools to help manage bandwidth and keep traffic flowing smoothly. Switches are used to automatically switch connections between two or more network devices and also can be used as a bridge between two different networks.