# A Bit History of Internet/Chapter 2 : Circuit switching vs packet switching

Author/Editor: Heng Zheng Hann, Chong Yi Yong, Fareezul Asyraf, Farhana binti Mohamad, Fong Poh Yee

## Introduction to Packet Switching

Packet switching is a digital networking communications method which is similar to message switching using short messages. All the transmitted data are broken into suitably sized blocks (shorter units), regardless of their contents, types, or structures. This grouped data are called packets. Each packet is associated with a header before they are transmitted individually through the network. The path taken by each packet to reach their respective destination is depending on the status of links, or algorithms used by switching equipment. Meanwhile, switching is carried out by special nodes on the network which govern the flow of data. Devices such as routers, switches or bridges are the one which carry out the task.
Packet switching differences itself with another principal networking paradigm, circuit switching. Circuit switching is a method which sets up a limited number of dedicated connections with a constant bit rate and a constant delay between nodes for exclusive use during a communication session. In terms of network traffic fee, circuit switching is characterized by a fee per time unit of connection time, even when no data is transferred, while packet switching is characterized by a fee per unit of information.
Many different strategies, algorithms and protocols used to maximize the throughput of packet switching networks. There are two major packet switching protocols that we are using today. The first one is connectionless packet switching, also known as datagram switching, and the second one is connection-oriented packet switching, also known as virtual circuit switching. In datagram, each packet is treated individually for complete addressing and routing. Thus, sometimes packets are transmitted in different path or any routes available. Virtual circuit switching means the packet switching behaves like circuit switching. Connections between devices are completed by using dedicated nodes or routes for packet transmission. Each packet includes a connection identifier and delivered in an order.
Packet mode communication may be used with or without transitional forwarding nodes (packet switches or routers). In all packet mode communication, network resources are managed by statistical multiplexing or dynamic bandwidth allocation in which a communication channel is efficiently divided into an arbitrary number of logical variable-bit-rate channels or data streams. Statistical multiplexing, packet switching and other store-and-forward buffering introduce varying delay and input/output amount in the transmission. Each logical stream consists of a sequence of packets, which normally are forwarded by the multiplexers and intermediate network nodes asynchronously using first-in, first-out buffering. Alternatively, the packets may be forwarded according to some scheduling restraint for fair queuing, traffic shaping or for segregated or guaranteed quality of service, such as weighted fair queuing or leaky bucket. In case of a shared physical medium, the packets may be delivered according to some packet-mode multiple access schemes.

## History of Packet Switching

The concept of switching small blocks of data was first explored by Paul Baran in the early 1960s. Independently, Donald Davies at the National Physical Laboratory (NPL) in the UK had developed the same ideas.
Baran developed the concept of message block switching during his research at the RAND Corporation for the US Air Force into survivable communications networks, first presented to the Air Force in the summer of 1961 as briefing B-265[1] then published as RAND Paper P-2626 in 1962 and then including and expanding somewhat within a series of eleven papers titled On Distributed Communications in 1964. Baran's P-2626 paper described a general architecture for a large-scale, distributed, survivable communications network. The paper focuses on three key ideas: first, use of a decentralized network with multiple paths between any two points; and second, dividing complete user messages into what he called message blocks (later called packets); then third, delivery of these messages by store and forward switching.
Baran's study made its way to Robert Taylor and J.C.R. Licklider at the Information Processing Technology Office, both wide-area network evangelists, and it helped influence Lawrence Roberts to adopt the technology when Taylor put him in charge of development of the ARPANET. Baran's work was similar to the research performed independently by Donald Davies at the National Physical Laboratory, UK. In 1965, Davies developed the concept of packet-switched networks and proposed development of a UK wide network. He gave a talk on the proposal in 1966, after which a person from the Ministry of Defence told him about Baran's work. A member of Davies' team met Lawrence Roberts at the 1967 ACM Symposium on Operating System Principles, bringing the two groups together.
Interestingly, Davies had chosen some of the same parameters for his original network design as Baran, such as a packet size of 1024 bits. In 1966 Davies proposed that a network should be built at the laboratory to serve the needs of NPL and prove the feasibility of packet switching. The NPL Data Communications Network entered service in 1970. Roberts and the ARPANET team took the name "packet switching" itself from Davies's work.
The first computer network and packet switching network deployed for computer resource sharing was the Octopus Network at the Lawrence Livermore National Laboratory that began connecting four Control Data 6600 computers to several shared storage devices and to several hundred Teletype Model 33 ASR terminals for time sharing use starting in 1968.
In 1973 Vint Cerf and Bob Kahn wrote the specifications for Transmission Control Protocol (TCP), an internetworking protocol for sharing resources using packet-switching among the nodes.

## Packet Switching in Networks

Packet switching is used to optimize the use of the channel capacity available in digital telecommunication networks such as computer networks, to minimize the transmission latency, the time it takes for data to pass across the network. It is also used to increase robustness of communication.
There are seven layers in network communication to transmit data from one note to another. The end user’s computer buffers a data of any length to be sent. If the data is too large, it will be cut into smaller pieces (segmentation). Each segment will be appended with a header which contains information for where the data will be send to and some relevant information. Then the segment is then passed down to the next layer which will do the same task on the segment which is called data now. These processes is iterated until the data reaches the final layer and it is placed on the communication link and sent to the receiving node. The receiving node will just simply remove the headers from data and puts all the segments back together in its initial condition (encapsulation).
These layers are introduced to break down the complexity of communications. The top layer (layer 7) is the layer at user level. As the layers go down, they get increasingly primitive. Layer 1 is the most primitive form as it is just binary numbers prepared to be transmit to the end node.
seven layers of open systems interconnection models
| Layer Number | Name | Description |
| 7 | Application Layer | Gives application software access to the open systems interconnection environment. This layer contains management functions. |
| 6 | Presentation Layer | Establishes ‘common ground’ for applications to communicate with the other layers. This layer formats data and provides syntaxes for applications. |
| 5 | Session Layer | Provides a service that controls the communication between applications running on end nodes. |
| 4 | Transportation Layer | Provides a means of communicating between end nodes. Its functions may include sequencing, error detection and optimisation of communication. |
| 3 | Network Layer | Deals with communication of data on a network. Here, network information is gathered, including addresses, routing information, etc. |
| 2 | Data Link Layer | Deals with maintaining and optimising the actual connection to the network. It also performs error checking on the communicated data. |
| 1 | Physical Layer | Deals with the physical connection between nodes in a network. It tends to deal with a ‘bit stream’ rather than any single pieces on information. |

## Advantages of Packet Switching

Packet switching offers some of the advantages over circuit switching:
* More robust than the circuit switched systems and packet switching is more suitable for transmitting the binary data. (since that is what it was originally designed for packet switching)
* Since the advances of the technology nowadays, it is possible to encode voice and send it in packetised format with minimal problems. In the past it was generally accepted that delay sensitive data (for example voice) was to be handled through a circuit switched network.
* A damaged packet can be resent, this is because only the damaged part is sent, no need to resent an entire file.
* It allows multiplexing, different users, or different processes from the same user, can communicate at the same time.
* Might be more economical than using private lines if the amount of traffic between terminals does not warrant a dedicated circuit.
* Might be more economical than dialed data when the data communication sessions are shorter than a telephone call minimum chargeable time unit.
* Destination information is contained in each packet, so numerous messages can be sent very quickly to many different destinations. The rate depends on how fast the data terminal equipment (DTE) can transmit the packets.
* Computers at each node allow dynamic data routing. This inherent intelligence in the network picks the best possible route for a packet to take through the network at any particular time. So the throughput and efficiency might be maximized.
* The packet network inherent intelligence also allows graceful degradation of the network in the event of a node or path (link) failure. Automatic rerouting of the packets around the failed area causes more congestion in those areas, but the overall system is still operable.
* Ability to emulate a circuit switched network. For example, X.25 and ATM uses a method of communication that is called virtual circuit. These virtual circuits perform in much the same way as circuit switched circuits, but with one fundamental difference; Virtual circuits allow other virtual circuits to occupy the same link. This means that communication can occur concurrently along a link between many nodes (rather than between two nodes, which is the solution circuit switching provides).

## Introduction to Circuit Switching

Circuit switching is the most commonly use in for the dedicated telecommunication field. But this is strong concept the developer use for communication that provide reliability and consistent connection that established between one node to another node. So, many people have strong misunderstanding about circuit switching that only use in establishment of voice analog and voice circuit but in fact the circuit switching is provide more than consistency connection among the network.
The simple analogy for circuit switching is the reserving the lane on the highway. For circuit switching, we reserve the lane so that only the car (data) can reach to the destination fast and consistent without delay. There is no traffic jam occur that will slow down the car. On the other hand, the packet switching, they didn’t reserve the lane, so the packets (car) can easily going through the highway (connection) that will produce the congestion on the connection.
Telephony system is much related to the circuit switching system. To make a connection, we must setup a connection between two nodes that is sender and receiver. So the subscriber will use operator to connect to another subscriber to make a call connection. In this situation, electrical connection is established between two subscribers. As the result, the connection is reserved and cannot be used by other user. In the mean time, the copper wire that carries that call will not receive any calls that made by other users in the same time.
When the nodes are connected with an electrical circuit physically, then the switching network become available to generate a communication route between the nodes before the user communication. There are three switch circuit methods of circuit switching which are store and forward, cut-through and the last is fragment-free switching.

## Advantages and Pitfalls of Circuit Switching

Both the advantages and pitfalls should be taken in consideration when talking about Circuit Switching. This is due to the fact that although it may be useful in certain scenarios, it may not be convenient in others. For example, some may prefer to use Packet Switching over Circuit Switching and some may prefer the opposite.
Below are the lists of some of the advantages in Circuit Switching:
1. Guaranteed bandwidth
The communication performance in Circuit Switching is predictable and there will be no "best-effort" delivery with no real guarantees.
2. Simple abstraction
Circuit Switching is a reliable communication channel between hosts and one would not have to worry about lost or out-of-order packets.
3. Simple forwarding
The forwarding in Circuit Switching is based on time slot or frequency and one would not need to inspect a packet header.
4. Low per-packet overhead
There will be no IP (and TCP/UDP) header on each packet in Circuit Switching.
Despite the advantages listed above, Circuit Switching cannot avoid having pitfalls or disadvantages that has led to the invention of Packet Switching in order to overcome its pitfalls. Below are some of the pitfalls in Circuit Switching:
1. Wasted bandwidth
Since most traffic occurs in bursts, in Circuit Switching this may leads to idle connection during silent period. Because it is unable to achieve gains from statistical multiplexing that relies in identifying, predicting and allocating more time for the generally more active paths.
2. Blocked connections
When resources are not sufficient, the connection will refuse to be connected and thus, Circuit Switching is unable to offer "okay" service to everybody.
3. Connection set-up delay
There will be no communication until the connection is set up. Plus, in Circuit Switching, it is unable to avoid extra latency for small data transfers.
4. Network state
The network nodes in Circuit Switching must store per-connection information and it is unable to avoid per-connection storage and state.

## Circuit Switching vs Packet Switching

There are a few aspects when it comes to comparing between circuit switching and packet switching. The few common comparisons made to distinguish the two are:
1. History of the techniques
Circuit switching is a technique that has been developed long before packet switching came into view. Circuit switching is used to dedicate point-to-point connections during calls and this method is used in Public Switched Telephone Network. Packet switching, however, is a more modern way of sending data by breaking it down to pieces and transmitting based on the destination address in each packet, hence the name packet switching. Today, the Voice Over Internet Protocol (VoIP) is commonly associated with packet switching technology which means voice communication or multimedia gets sent over the Internet through Internet Protocol networks.
2. Cost
When circuit switching is used, the end-to-end point of the communication path is reserved for users. For example, when a call is made, the communication path (telephone line) is considered ‘rented’ and users find that charges apply to how long they use the path. So the cost falls on the single user who made the call.
However, with VoIP, many people can use the same communication path (there is no dedicated circuit to any user in particular e.g. the internet line) and the cost is shared.
3. Reliability
Most people would think that modern technology would fare better than ancient ones. On the contrary, in this case, it seems that circuit switching is deemed to be the more reliable method of transferring data.
Since circuit switching reserves the whole communication path, the can almost be said that the information can be get across with no loss. This makes circuit switching very preferable when it comes to real time communication such as conference calls and video streams.
Meanwhile, packet switching breaks the information into small packets and transmits them over a congested medium such as the Internet, there is bound to be lost packets along the way. However, there are various protocols built to prevent huge data losses in a packet switched network, so even though real time data stream may pose a problem, packet switched networks are still relatively reliable.
Conclusion
In the modern and fast paced world, what we are looking for is efficiency, low costs and reliability and packet-switched networks seems to fulfill most of the criteria that the society is looking for. It would only be a matter of time before circuit switching becomes a thing of the past.