What's new under the Sun? "Nothing" is the historical answer. "Not much" is pretty close for the current hot topic, Software Defined Network (SDN).
In some sense, all networks (circuit switched and packet switched) have been defined by software since computers began to control voice switching in the public network more than 50 years ago. Rather than counting dial pulses and routing calls with purely electromechanical relays, the Electronic Switching System (ESS) stored digits and selected routing connections with digital logic circuits.
Paths and Policies
In the realm of digital packet data starting with X.25 services, routing and switching have been entirely electronic. While routers and switches work with different parts of the packet header (at the protocol layer), both share two prime functions: path finding and policy application.
Every packet handler operates from a forwarding table, using a list of destinations to which it can send packets. The list may consist of MAC addresses, IP addresses, or some other element. The device matches the destination address in an arriving packet to determine where it should exit the device (port)--along with mapping what address it should carry (because the MPLS label, IP address, or Frame Relay DLCI may change). In a circuit switch the routing table is the cross-connect configuration.
Policy refers to operational conditions that may modify the handling of a packet. For example, an Access Control List in a router may block a packet. A frame relay switch will compare the recent throughput to the committed information rate (CIR) for the connection to determine if a packet should be sent or dropped. Policy in voice circuit switches created the first SDNs on the public network by routing calls based on short dial strings rather than a full telephone number.
Same Principles, Different Implementations
I contend that all networks operate on the same principles. The differences arise in how a network device builds a forwarding table and how it gets policy information. For example:
Telcos prefer deterministic controls that allow operators (or operations software) to make all the decisions regarding routes or paths and every policy. Examples are MPLS with traffic engineering, permanent virtual circuits (frame relay or Ethernet), and rate throttling for "heavy users" of Internet access.
Internet architects devised open protocols to let the network devices themselves find paths and signal each other regarding policy. Thus we have routing protocols (BGP, RIP, and OSPF) and path-finding methods that include policy issues (Label Distribution Protocol, RSVP).
Hardware makers used to prefer proprietary methods. TimeNet "threaded a needle" to set up an X.25 connection while Nortel used its own method to assign a path. Frame Relay switches all had proprietary ways to find a path to a destination based on a signal from the "caller" (a switched virtual circuit); however, carriers never implemented this feature as a service.
The Packet SDN
Today's packet SDN uses a central processer or server to manage switch and router configurations. With complete knowledge of the network, the server doesn't rely on routing protocols in every device to find paths. Rather, the server knows how each device should handle any packet address and pushes a forwarding table and policies to each.
Network devices can't be completely dumb. They must recognize and report errors, faults, traffic volume, and perhaps even flow information. Automatic alternate routing, or failover to a backup path, is also required; this could be managed as a policy implementation or part of the forwarding table set up centrally. Newbridge Networks (in the 1990s) called this concept "center-weighted management." They applied it to multiplexers (circuit switches), but it's basically the same for packets. SDN or not, each device forwards packets based on addresses, ports, or other fields in the headers --according to rules set up in the forwarding table and their associated policies.
What's the difference between the SDN and today's Internet? It's how those tables and policies are set up in each device. Will it make a noticeable difference? Perhaps.
Making it Work
Calculating paths and tables centrally should eliminate route flapping, and network operators will like the ability to control path routing because this helps balance loads across multiple circuits and control latency for the Service Level Agreement on specific connections. Removing all traffic from a device that needs maintenance or replacement should be faster and easier. Taking routing protocols off the routers frees up processing power to handle more throughput.
All in all, not a bad idea--again.
How can you equate circuit and packet switching? Aren't they completely different?