Professor: Uzma Maroof | Term: Fall 2025

Lecture 1

Question

What is a computer network?

A system that enables computers to exchange information.

The information exchange is governed by protocols.

Question

What is a protocol?

A system of rules that explain the correct conduct and procedures to be followed in formal situations.

Humans follow protocols.

Network protocols are between computers (devices) rather than humans.

A protocol defines:

  • The format and order of messages sent and received among network entities, and
  • Actions taken on message transmission and receipt

It is preferred to transmit data in chunks. Otherwise if something fails, the rest fails.

Question

How does the data get transmitted?

Sender breaks data into smaller chunks. Over the internet, these chunks are known as packets. “Packetize”

Receiver receives data chunks and reassembles the data. Reassembles the chunks.

When you want to connect many computers, things get complicated very fast.

In principle, if there are computers, we can use dedicated links between each pair.

But this does not scale well. could be thousands or millions of computers.

Success

Use a collection of shared network devices and links.

A single-”hop” becomes multi-”hop”

Switches/routers’s job is to relay the data.

Multiple pairs of senders and receivers will use the shared devices and links simultaneously.

Ideally, we’d like

  • data transfer between each pair to be done within a reasonable time
  • the network to be utilized well - i.e., not to be overwhelmed with too many simultaneous requests or be left idle for too long

To make that happen, networking people have to solve several challenging problems:

  • How to decide when a sender gets to transmit data?
  • How to pick good paths for getting data from its source to its destination?
  • How to adapt when a switch/router or a link fails?

Solution 1: Reserve before sending.

, and are network devices.

Suppose that if is connected to , it can send data units to every second.

In diagram, each link has four “slots”.

When wants to communicate with

  • tells the network how many data units per second it needs to send ( in this example)
  • Asks the network to reserve resources along a path between and accordingly.

To reserve resources, each device along the path records that it needs to reserve th the capacity of its link to the next device for the data from to .

  • Call gets 2nd slot in top link and 1st slot in right link.

Once the network confirms the reservation, can start sending.

Once is done sending, the network can end the reservation.

Reservations are great. While is sending data to , of the capacity of the top and right links is dedicated to that data transfer.

Pro: No one else can use it

Con: No one else can use it

Question

Why is this a pro and a con?

No sharing means dedicated resources and circuit-like (guaranteed) performance.

No sharing also means if and are not using the circuit, it will go non-utilized.

Reserve before sending = circuit switching

Circuit: The reserved path over the network

Switching: moving data from one switch “port” to another (more on this later)

Circuit switching is commonly used in traditional telephone networks.

There were some circuit-switching-like proposals in the early days of Internet

The term ‘switching’: Moving data from one port/channel to another.

Question

What are those slots?

Frequency Division Multiplexing (FDM)

  • Optical electromagnetic frequencies divided into narrow frequency bands
    • each call is allocated its own band, can transmit at max rate of that narrow band

Time Division Multiplexing (TDM)

  • Time divided into slots
    • Each call allocated periodic slot(s), can transmit at maximum rate of (wider) frequency band (only) during its time slot(s)