Skip to main content
Wikispaces Classroom is now free, social, and easier than ever.
Try it today.
Pages and Files
There are many electronic media by which information can be communicated, mostly through networks of some kind
Computer networks (Internet, ethernet, wifi)
Landline Phone Networks
Wireless (analog or digital)
And there are many kinds of information we want to communicate
Radio and Television
Data (scientific, computer, etc, etc)
Traditionally, each of these has been tied to one or a small number of media, for example:
(telephone), analog two way radio systems, cellular networks
Radio and Television = FM broadcast, analog cable
Images, videos,etc = specialized devices
Data (scientific, computer, text etc, etc) = computer or specialized networks
Location = GPS satellites, GIS, specialized equipment
However, the world is tending towards enabling all kinds of information on all media (e.g. voice on computer networks, data on two-way radios, locations on cellphones, etc). In particular, there is a tendency for everything to use computer networks and the internet as a medium (maybe except for the "
"). So, in our internet-centric world we have:
Voice = VoIP, P25 over Internet
Radio and Television = streaming media over internet
Images, videos,etc = streaming media or files over internet
Data (scientific, computer, text etc, etc) = internet, SMS
Location = GPS satellites, NMEA, internet
To understand how all this can be done using just the internet, we need to understand something basic about how the internet (and other networks work).
Circuit switching vs. Packet Switching
Before we talk about "packet switching" it helps to understand a little bit of history. Telephone networks are
. The telephone exchange is a means to creating a dedicated, end-to-end electric circuit between the caller and callee. Once this circuit is established, analog audio can be transmitted back and forth. While circuit switching provides a dedicated line between two callers it is not an efficient use of resources. For example, when the line is silent it could be used to carry other voice communications, but instead it is tied up for the dedicated call. This brings us to the other alternative, packet switching.
Image of a switchboard taken
from AT&T's website
networks are digital communication networks that route
between end points. A
is an encapsulated piece of information, with metadata to indicate where the information has come from, and where it is going. The key insight is that packets are small pieces of information that can be transmitted between routers quickly. Once a packet is transferred, the electric circuit can be used to transmit other users' packets, thus improving the utilization of the network. Thus a packet switched network like the Internet can carry all kinds of traffic as long as they are digitized into packets. The packet switching protocol you are most likely to come across is the Internet Protocol (
). The nice thing is that anything that can be represented digitally can be split into packets; and thus can be transmitted on the internet with IP.
animation of packet switching on this page.
(skip to position 4:30)
For all the advantages of packet switching, one major disadvantage is that such networks are "best effort", and if a router gets overwhelmed with packets, these packets are simply dropped. Contrast this with the dedicated line created in circuit switching. Thus, the end points need protocols to realize when packets are lost and retransmit them if necessary. Generally when packet switching is used, some form of session control protocol is used for real-time communications (e.g.
) Retransmission strategies will depend on the application: transferring documents will certainly need lost packets to be retransmitted, but real time video feeds may not require a retransmit because a lost video frame cannot be replayed if it comes in too late.
We will now take a closer look into the nature of packets and the various protocol layers used on the Internet:
Getting packets from a computer at IU to a webserver in India can be a very complicated process. To make this routing manageable the concept of layering is used. Here the communications system is subdivided into layers, i.e., a collection of similar functions that provides services to the layer above, and uses functions from the layer below. The most celebrate model is the
OSI Model (Open Systems Interconnection)
, which specifies seven layers starting with the physical layer at the bottom and the application layer at the top. We will focus on the
(which has fewer layers) instead, since it is more relevant to the design of the Internet.
Image taken from Wikipedia
Layer 1 - Physical Layer (e.g., Ethernet cards and physical interconnects): This layer includes the electrical and physical specification of devices, and how these devices interact with the medium to transmit and receive digital signals. For example, the Ethernet network card on your computer (shown below, image source
) is able to send and receive digital signals over an Ethernet cable.
Ethernet card (Layers 1 and 2)
Layer 2 - Link Layer (e.g., Ethernet protocol): This layer connects two or more devices operating at the physical layer. Using the services provided by the physical layer, this layer governs how devices connect to each other over the physical medium and transmit packets (or "frames") between the devices. For example, packets/frames sent by one Ethernet card are received by another Ethernet card. If an error in transmission is detected, these packets are retransmitted by the protocol at this layer.
Layer 3 - Network Layer (IP): This layer is responsible for delivering packets from a computer in one network (e.g., at IU) to a computer in another network (e.g., at the University of Illinois). Packets are navigated between several routers using the data link layer to communicate between each set of routers. IP is the network layer protocol for the Internet. This layer focuses on the routing in a best-effort manner. If packets are lost because of network congestion, higher layers (e.g., Layer 4) must handle retransmissions.
Layer 4 - Transport Layer (e.g., TCP, UDP): This layer implements an end-to-end transfer protocol between two applications. While the network layer gets packets from one computer to another, this layer handles delivery of packets to the correct application within the computer by using ports. UDP provides such basic functionality without handling retransmits and could be used by video streaming applications for example. TCP is the dominant protocol used on the Internet that ensures packets are delivered reliably, and in sequence between two applications. TCP features packet transmission along with acknowledgments from the other endpoint. If a packet loss is detected, the sender resends a packet. TCP also regulates the speed at which packets are transmitted, reacting to congestion by slowing down so as to relieve the congestion.
Layer 5 - Application Layer: Applications make use of the transport layer to transmit packets to an application on some other computer. For example, backup software may use TCP to reliably transfer files from your computer to a backup server in the cloud.
Data representation at the various layers
Each layer deals with its own representation of a packet, encapsulating the packet from the lower layer as
, and attaching a
to that data. This concept is called
. The following
diagram taken from Wikipedia
shows this process (also see
Figure 85 here
Now let's take a deeper look at the packet structure for the various layers:
UDP packet structure
TCP/IP packet structure
IP packet structure
Ethernet frame structure
Summing it up with the end-to-end argument
The beauty of the Internet's design is that all applications operating at the upper layer are eventually "squeezed" into IP. By creating a "stupid network" that talks only one protocol at the network layer, specialized applications can be designed "end-to-end". This end-to-end approach keeps the Internet's architecture simple, efficient, cheap and fast, but still supports a rich set of applications such as VoIP, video, TV, file transfers, web traffic, and so on. Applications can make use of TCP/IP, UDP, or specialized protocols on top of IP depending on their unique needs.
Internet hourglass design. Image from Wikimedia.
help on how to format text
Turn off "Getting Started"