CS 31204: Computer Networks – History and Protocol Stack
INDIAN INSTITUTE OF TECHNOLOGY
KHARAGPUR
Department of Computer Science and Engineering
Abhijnan Chakraborty
Few slides in this presentation has been adopted from the online resources accompanying the book Computer Networking: A Top-Down Approach by Jim Kurose and Keith Ross
Indian Institute of Technology Kharagpur
Circuit Switching – the Beginning
Indian Institute of Technology Kharagpur
Circuit Switching
Indian Institute of Technology Kharagpur
Problem with Circuit Switching for Data Communication
Indian Institute of Technology Kharagpur
Packet Switching
Packet Multiplexing
Indian Institute of Technology Kharagpur
The First Packet Switching Network
Robert Taylor was promoted to the head of the information processing office at Defense Advanced Research Projects Agency (DARPA) in June 1966. He intended to realize Licklider's ideas of an interconnected networking system. Bringing in Larry Roberts from MIT, he initiated a project to build such a network. The first ARPANET link was established between the University of California, Los Angeles (UCLA) and the Stanford Research Institute at 22:30 hours on October 29, 1969.
Kleinrock said in an interview: "We typed the L and we asked on the phone,
"Do you see the L?"
"Yes, we see the L," came the response.
We typed the O, and we asked, "Do you see the O."
"Yes, we see the O."
Then we typed the G, and the system crashed ...
Yet a revolution had begun"
By December 5, 1969, a 4-node network was connected by adding the University of Utah and the University of California, Santa Barbara.
Source: Wikipedia
Indian Institute of Technology Kharagpur
ARPANET – The First Packet Switching Network
Indian Institute of Technology Kharagpur
History of Computer Networks
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
Let’s take a stepwise approach to describe current Internet structure
mobile network
home network
enterprise
network
national or global ISP
local or regional ISP
datacenter
network
content
provider
network
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
Question: given millions of access ISPs, how to connect them together?
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
…
…
…
…
…
Question: given millions of access ISPs, how to connect them together?
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
connecting each access ISP to each other directly doesn’t scale: O(N2) connections.
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
Option: connect each access ISP to one global transit ISP?
Customer and provider ISPs have economic agreement.
global�ISP
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
ISP A
ISP C
ISP B
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
But if one global ISP is viable business, there will be competitors ….
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
ISP A
ISP C
ISP B
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
But if one global ISP is viable business, there will be competitors …. who will want to be connected
IXP
peering link
Internet exchange point
IXP
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
ISP A
ISP C
ISP B
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
… and regional networks may arise to connect access nets to ISPs
IXP
IXP
access
net
access
net
regional ISP
access
net
access
net
access
net
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
ISP A
ISP C
ISP B
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
…
…
…
…
…
…
… and content provider networks (e.g., Google, Microsoft, Akamai) may run their own network, to bring services, content close to end users
IXP
IXP
access
net
access
net
access
net
access
net
access
net
Content provider network
regional ISP
Indian Institute of Technology Kharagpur
Internet Structure: A “network of networks”
access
ISP
access
ISP
access
ISP
access
ISP
access
ISP
access
ISP
access
ISP
access
ISP
At “center”: small # of well-connected large networks
Regional ISP
Regional ISP
Tier 1 ISP
Tier 1 ISP
IXP
IXP
IXP
Indian Institute of Technology Kharagpur
Packet Switching: Store-and-forward
source
R bps
destination
1
2
3
L bits
per packet
R bps
One-hop numerical example:
Indian Institute of Technology Kharagpur
Packet Switching: Queueing
A
B
C
R = 100 Mb/s
R = 1.5 Mb/s
D
E
queue of packets
waiting for transmission over output link
Queueing occurs when work arrives faster than it can be serviced:
Indian Institute of Technology Kharagpur
Packet Switching: Queueing
Packet queuing and loss: if arrival rate (in bps) to link exceeds transmission rate (bps) of link for some period of time:
A
B
C
R = 100 Mb/s
R = 1.5 Mb/s
D
E
queue of packets
waiting for transmission over output link
Indian Institute of Technology Kharagpur
How Do Packet Delay and Loss Occur?
A
B
packet being transmitted (transmission delay)
packets in buffers (queueing delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Indian Institute of Technology Kharagpur
Packet Delay: Four Sources
dproc: nodal processing
dqueue: queueing delay
propagation
nodal
processing
queueing
dnodal = dproc + dqueue + dtrans + dprop
A
B
transmission
Indian Institute of Technology Kharagpur
Packet Delay: Four Sources
propagation
nodal
processing
queueing
dnodal = dproc + dqueue + dtrans + dprop
A
B
transmission
dtrans: transmission delay:
dprop: propagation delay:
dtrans and dprop
very different
Indian Institute of Technology Kharagpur
Caravan Analogy
toll booth
toll booth
(aka link)
ten-car caravan
(aka 10-bit packet)
100 km
100 km
toll booth
toll booth
(aka link)
toll booth
Indian Institute of Technology Kharagpur
Caravan Analogy
toll booth
toll booth
(aka router)
ten-car caravan
(aka 10-bit packet)
100 km
100 km
A: Yes! after 7 min, first car arrives at second booth; three cars still at first booth
Indian Institute of Technology Kharagpur
Packet queueing delay (revisited)
La/R ~ 0
La/R -> 1
traffic intensity = La/R
average queueing delay
1
service rate of bits
R
arrival rate of bits
L
a
.
:
“traffic
intensity”
Indian Institute of Technology Kharagpur
“Real” Internet Delays and Routes
3 probes
3 probes
3 probes
Indian Institute of Technology Kharagpur
Real Internet Delays and Routes
1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms
2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms
3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms
4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms
5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms
6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms
7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms
8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms
9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms
10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms
11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms
12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms
13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms
14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms
15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms
16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms
17 * * *
18 * * *
19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
traceroute: gaia.cs.umass.edu to www.eurecom.fr
* means no response (probe lost, router not replying)
3 delay measurements from
gaia.cs.umass.edu to cs-gw.cs.umass.edu
3 delay measurements
to border1-rt-fa5-1-0.gw.umass.edu
looks like delays decrease! Why?
trans-oceanic link
Indian Institute of Technology Kharagpur
Packet Loss
A
B
packet being transmitted
buffer
(waiting area)
packet arriving to
full buffer is lost
Indian Institute of Technology Kharagpur
Throughput
server, with
file of F bits
to send to client
link capacity
Rs bits/sec
link capacity
Rc bits/sec
server sends bits
(fluid) into pipe
pipe that can carry
fluid at rate
(Rs bits/sec)
pipe that can carry
fluid at rate
(Rc bits/sec)
Indian Institute of Technology Kharagpur
Throughput
Rs < Rc What is average end-end throughput?
Rs bits/sec
Rc bits/sec
Rs > Rc What is average end-end throughput?
link on end-end path that constrains end-end throughput
bottleneck link
Rs bits/sec
Rc bits/sec
Indian Institute of Technology Kharagpur
Throughput: Network Scenario
10 connections (fairly) share backbone bottleneck link R bits/sec
Rs
Rs
Rs
Rc
Rc
Rc
R
Indian Institute of Technology Kharagpur
TCP/IP Protocol Stack
Physical
Data Link
Network
Transport
Application
Physical
Data Link
Network
Transport
Application
Physical
Data Link
Physical
Data Link
Network
Physical
Data Link
Indian Institute of Technology Kharagpur
Transport Layer Services
Process to process Connection
Identify processes using port number
Indian Institute of Technology Kharagpur
Transport Layer Services
Indian Institute of Technology Kharagpur
Network (Internet) Layer Services
Indian Institute of Technology Kharagpur
Data Link Layer Services
Indian Institute of Technology Kharagpur
Data Link Layer
Medium Access Control (MAC)
Logical Link Control (LLC)
Error control and flow control
Channel access and physical layer
addressing
Indian Institute of Technology Kharagpur
Addressing a Host in the Network
Indian Institute of Technology Kharagpur
Addressing a Host in the Network
Indian Institute of Technology Kharagpur
Protocol Stack Implementation in a Host
Software, Kernel
Firmware, Device Driver
Hardware
Physical
Data Link
Network
Transport
Application
Indian Institute of Technology Kharagpur
How Application Data Passes Through Different Layers
Physical
Data Link
Network
Transport
Application
HTTP Data
HTTP Header
HTTP Data
HTTP Header
TCP Header
HTTP Data
HTTP Header
TCP Header
IP Header
HTTP Data
HTTP Header
TCP Header
IP Header
MAC Header
HTTP Data
HTTP Header
TCP Header
IP Header
MAC Header
PHY Header
PHY Trailer
Indian Institute of Technology Kharagpur
How do you access a page at www.google.com?
Indian Institute of Technology Kharagpur
How do you access a page at www.google.com?
Indian Institute of Technology Kharagpur
How do you access a page at www.google.com?
Indian Institute of Technology Kharagpur
How do you access a page at www.google.com?
172.16.28.192
172.16.22.121
74.125.224.72
Indian Institute of Technology Kharagpur
How do you access a page at www.google.com?
172.16.28.192
172.16.22.121
Gateway
Local Area Network (LAN)
Indian Institute of Technology Kharagpur
How do you access a page at www.google.com?
172.16.28.192
172.16.22.121
Gateway
Local Area Network (LAN)
Indian Institute of Technology Kharagpur
In Summary
Physical
Data Link
Network
Transport
Application
HTTP Data
HTTP Header
HTTP Data
HTTP Header
TCP Header
HTTP Data
HTTP Header
TCP Header
IP Header
HTTP Data
HTTP Header
TCP Header
IP Header
MAC Header
HTTP Data
HTTP Header
TCP Header
IP Header
MAC Header
PHY Header
PHY Trailer
Indian Institute of Technology Kharagpur