Computer Networking
Naeem Ul Islam
Contact: naeem@saturn.yzu.edu.tw
Office: 70928
Internet communication
Internet communication technologies uses:
✓Circuit switching
✓Packet switching
Introduction: 1-2
Internet communication
Internet communication technologies uses:
Circuit switching Packet switching
Introduction: 1-3
Circuit switching: FDM and TDM
Frequency Division Multiplexing
(FDM) 4 users
▪ optical, electromagnetic frequencies
frequency
divided into (narrow) frequency
bands
▪ each call allocated its own band, can
transmit at max rate of that narrow
band time
▪ In telephone networks, this frequency band
typically has a width of 4 kHz
Introduction: 1-4
Circuit switching: FDM and TDM
4 users
Time Division Multiplexing (TDM)
frequency
▪ time is divided into frames of fixed
duration
▪ each frame is divided into a fixed
number of time slots time
▪ each call allocated periodic slot(s), can
transmit at maximum rate of (wider)
frequency band, but only during its time
slot(s)
Introduction: 1-5
Packet-switching: queueing delay, loss
R = 100 Mb/s
A C
D
B R = 1.5 Mb/s
E
queue of packets
waiting for output link
Packet queuing and loss: if arrival rate (in bps) to link exceeds
transmission rate (bps) of link for a period of time:
▪ packets will queue, waiting to be transmitted on output link
▪ packets can be dropped (lost) if memory (buffer) in router fills
up
Introduction: 1-6
Packet switching versus circuit switching
packet switching allows more users to use network!
Example:
▪ 1 Gb/s link
▪ each user: N
• 100 Mb/s when “active” users 1 Gbps link
• active 10% of time
▪ circuit-switching: 10 users
Q: how did we get value 0.0004?
▪ packet switching: with 35 users,
probability > 10 active at same time
is less than .0004 *
* Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive
Introduction: 1-7
How do packet loss and delay occur?
packets queue in router buffers
▪ packets queue, wait for turn
▪ arrival rate to link (temporarily) exceeds output link capacity: packet loss
packet being transmitted (transmission delay)
B
packets in buffers (queueing delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Introduction: 1-8
Packet delay: four sources
transmission
A propagation
B
nodal
processing queueing
dnodal = dproc + dqueue + dtrans + dprop
dproc: nodal processing dqueue: queueing delay
▪ check bit errors ▪ time waiting at output link for transmission
▪ determine output link ▪ depends on congestion level of router
▪ typically < msec
Introduction: 1-9
Packet delay: four sources
transmission
A propagation
B
nodal
processing queueing
dnodal = dproc + dqueue + dtrans + dprop
dtrans: transmission delay: dprop: propagation delay:
▪ L: packet length (bits) ▪ d: length of physical link
▪ R: link transmission rate (bps) ▪ s: propagation speed (~2x108 m/sec)
▪ dtrans = L/R ▪ dprop = d/s
dtrans and dprop * Check out the online interactive exercises:
http://gaia.cs.umass.edu/kurose_ross
very different
Introduction: 1-10
Packet queueing delay (revisited)
average queueing delay
▪ R: link bandwidth (bps)
▪ L: packet length (bits)
▪ a: average packet arrival rate
traffic intensity = La/R 1
▪ La/R ~ 0: avg. queueing delay small
▪ La/R -> 1: avg. queueing delay large La/R ~ 0
▪ La/R > 1: more “work” arriving is
more than can be serviced - average
delay infinite!
La/R -> 1
Introduction: 1-11
Packet queueing delay (revisited)
Introduction: 1-12
“Real” Internet delays and routes
▪ what do “real” Internet delay & loss look like?
▪ traceroute program: provides delay measurement from
source to router along end-end Internet path towards
destination. For all i:
• sends three packets that will reach router i on path towards
destination
• router i will return packets to sender
• sender measures time interval between transmission and reply
3 probes 3 probes
3 probes
Introduction: 1-13
“Real” Internet delays and routes
Introduction: 1-14
Real Internet delays and routes
traceroute: gaia.cs.umass.edu to www.eurecom.fr
3 delay measurements from
gaia.cs.umass.edu to cs-gw.cs.umass.edu
1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 3 delay measurements
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 to border1-rt-fa5-1-0.gw.umass.edu
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 trans-oceanic link
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 looks like delays
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 decrease! Why?
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 * * * * means no response (probe lost, router not replying)
19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
* Do some traceroutes from exotic countries at www.traceroute.org
Introduction: 1-15
Packet loss
▪ queue (aka buffer) preceding link in buffer has finite capacity
▪ packet arriving to full queue dropped (aka lost)
▪ lost packet may be retransmitted by previous node, by source end
system, or not at all
buffer
(waiting area) packet being transmitted
A
B
packet arriving to
full buffer is lost
* Check out the Java applet for an interactive animation on queuing and loss Introduction: 1-16
Packet loss
https://www2.tkn.tu-berlin.de/teaching/rn/animations/queue/
* Check out the Java applet for an interactive animation on queuing and loss Introduction: 1-17
Throughput is the rate at which bits are being sent from the sender to the receiver.
Throughput It is measured in bits per unit of time, such as bits per second (bps) ¹.
Instantaneous throughput is the rate at a given point in time,
while average throughput is the rate over a longer period of time ¹.
keluaran
▪ throughput: rate (bits/time unit) at which bits are being sent from
sender to receiver
• instantaneous: rate at given point in time
• average: rate over longer period of time
link capacity
pipe that can carry linkthat
pipe capacity
can carry
Rsfluid
bits/sec
at rate Rfluid
c bits/sec
at rate
serverserver,
sends with
bits
(fluid) into pipe (Rs bits/sec) (Rc bits/sec)
file of F bits
to send to client
Introduction: 1-18
Throughput
Rs < Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec
depends on this one
Rs > Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec
bottleneck link
link on end-end path that constrains end-end throughput
Introduction: 1-19
Throughput: network scenario
▪ per-connection end-
Rs end throughput:
find the smallest it'll be the bandwidth
Rs Rs min(Rc,Rs,R/10)
depend how many users use that ▪ in practice: Rc or Rs is
R often bottleneck
Rc Rc
Rc
* Check out the online interactive exercises for more
examples: http://gaia.cs.umass.edu/kurose_ross/
10 connections (fairly) share
backbone bottleneck link R bits/sec
Introduction: 1-20
Chapter 1: roadmap
▪ What is the Internet?
▪ What is a protocol?
▪ Network edge: hosts, access network,
physical media
▪ Network core: packet/circuit
switching, internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
Introduction: 1-21
Network security
▪ field of network security:
• how bad guys can attack computer networks
• how we can defend networks against attacks
• how to design architectures that are immune to attacks
▪ Internet not originally designed with (much) security in
mind
• original vision: “a group of mutually trusting users attached to a
transparent network” ☺
• Internet protocol designers playing “catch-up”
• security considerations in all layers!
Introduction: 1-22
Bad guys: malware
▪ malware can get in host from:
• virus: self-replicating infection by receiving/executing object
(e.g., e-mail attachment)
• worm: self-replicating infection by passively receiving object that
gets itself executed
▪ spyware malware can record keystrokes, web sites visited, upload
info to collection site
▪ infected host can be enrolled in botnet, used for spam or
distributed denial of service (DDoS) attacks
Introduction: 1-23
Bad guys: denial of service
Denial of Service (DoS): attackers make resources (server,
bandwidth) unavailable to legitimate traffic by
overwhelming resource with bogus traffic
1. select target
2. break into hosts
around the network
(see botnet)
3. send packets to target target
from compromised
hosts
Introduction: 1-24
Bad guys: packet interception
packet “sniffing”:
▪ broadcast media (shared Ethernet, wireless)
▪ promiscuous network interface reads/records all packets (e.g.,
including passwords!) passing by
A C
src:B dest:A payload
B
Wireshark software used for our end-of-chapter labs is a (free) packet-sniffer
Introduction: 1-25
Bad guys: fake identity
IP spoofing: send packet with false source address
A C
src:B dest:A payload
… lots more on security (throughout, Chapter 8)
Introduction: 1-26
Chapter 1: roadmap
▪ What is the Internet?
▪ What is a protocol?
▪ Network edge: hosts, access network,
physical media
▪ Network core: packet/circuit
switching, internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
Introduction: 1-27
Protocol “layers” and reference models
Networks are complex,
with many “pieces”: Question:
▪ hosts is there any hope of
▪ routers organizing structure of
▪ links of various media network?
▪ applications
▪ protocols
▪ hardware, software
…. or at least our
discussion of networks?
Introduction: 1-28
Example: organization of air travel
ticket (purchase) ticket (complain)
baggage (check) baggage (claim)
gates (load) gates (unload)
runway takeoff runway landing
airplane routing airplane routing
airplane routing
airline travel: a series of steps, involving many services
Introduction: 1-29
Example: organization of air travel
ticket (purchase) ticketing service ticket (complain)
baggage (check) baggage service baggage (claim)
gates (load) gate service gates (unload)
runway takeoff runway service runway landing
airplane routing routing service
airplane routing airplane routing
layers: each layer implements a service Q: describe in words
▪ via its own internal-layer actions the service provided
in each layer above
▪ relying on services provided by layer below
Introduction: 1-30
Why layering?
dealing with complex systems:
▪ explicit structure allows identification, relationship of
complex system’s pieces
• layered reference model for discussion
▪ modularization eases maintenance, updating of system
• change in layer's service implementation: transparent to rest of
system
• e.g., change in gate procedure doesn’t affect rest of system
▪ layering considered harmful?
Introduction: 1-31
Internet protocol stack
application application
presentation
transport
session
network transport
link network
link
physical physical
The seven layer OSI/ISO
reference model
Introduction: 1-32
Internet protocol stack
▪ application: supporting network applications
• IMAP, SMTP, HTTP
application
▪ transport: process-process data transfer
(recognize source and dest processes for a
specific message) transport
• TCP, UDP
▪ network: routing of datagrams from source to network
destination
• IP, routing protocols link
▪ link: data transfer between neighboring physical
network elements
• Ethernet, 802.11 (WiFi), PPP
▪ physical: bits “on the wire”
Introduction: 1-33
ISO/OSI reference model
Two layers not found in Internet
application
protocol stack!
presentation
▪ presentation: allow applications to
interpret meaning of data, e.g., encryption, session
compression, machine-specific conventions transport
▪ session: synchronization, checkpointing, network
recovery of data exchange link
▪ Internet stack “missing” these layers! physical
• these services, if needed, must be
implemented in application The seven layer OSI/ISO
reference model
• needed?
Introduction: 1-34
source
message M application Encapsulation
segment Ht M transport
datagram Hn Ht M network
frame Hl Hn Ht M link
physical
link
physical
switch
destination Hn Ht M network
M application Hl Hn Ht M link Hn Ht M
Ht M transport physical
Hn Ht M network
Hl Hn Ht M link router
physical
Introduction: 1-35
Chapter 1: roadmap
▪ What is the Internet?
▪ What is a protocol?
▪ Network edge: hosts, access network,
physical media
▪ Network core: packet/circuit
switching, internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
Introduction: 1-36
Internet history
1961-1972: Early packet-switching principles
▪ 1961: Kleinrock - queueing ▪ 1972:
theory shows effectiveness of • ARPAnet public demo
packet-switching • NCP (Network Control Protocol)
▪ 1964: Baran - packet-switching first host-host protocol
in military nets • first e-mail program
▪ 1967: ARPAnet conceived by • ARPAnet has 15 nodes
Advanced Research Projects
Agency
▪ 1969: first ARPAnet node
operational
Introduction: 1-37
Internet history
1972-1980: Internetworking, new and proprietary nets
▪ 1970: ALOHAnet satellite network
Cerf and Kahn’s internetworking
in Hawaii
principles:
▪ 1974: Cerf and Kahn - architecture ▪ minimalism, autonomy - no
for interconnecting networks internal changes required to
▪ 1976: Ethernet at Xerox PARC interconnect networks
▪ best-effort service model
▪ late70’s: proprietary architectures:
DECnet, SNA, XNA ▪ stateless routing
▪ decentralized control
▪ late 70’s: switching fixed length
packets (ATM precursor) define today’s Internet architecture
▪ 1979: ARPAnet has 200 nodes
Introduction: 1-38
Internet history
1980-1990: new protocols, a proliferation of networks
▪ 1983: deployment of TCP/IP ▪ new national networks: CSnet,
▪ 1982: smtp e-mail protocol BITnet, NSFnet, Minitel
defined ▪ 100,000 hosts connected to
▪ 1983: DNS defined for name- confederation of networks
to-IP-address translation
▪ 1985: ftp protocol defined
▪ 1988: TCP congestion control
Introduction: 1-39
Internet history
1990, 2000s: commercialization, the Web, new applications
▪ early 1990s: ARPAnet late 1990s – 2000s:
decommissioned ▪ more killer apps: instant
▪ 1991: NSF lifts restrictions on messaging, P2P file sharing
commercial use of NSFnet ▪ network security to forefront
(decommissioned, 1995)
▪ est. 50 million host, 100 million+
▪ early 1990s: Web users
• hypertext [Bush 1945, Nelson 1960’s]
• HTML, HTTP: Berners-Lee ▪ backbone links running at Gbps
• 1994: Mosaic, later Netscape
• late 1990s: commercialization of the
Web
Introduction: 1-40
Internet history
2005-present: more new applications, Internet is “everywhere”
▪ ~18B devices attached to Internet (2017)
• rise of smartphones (iPhone: 2007)
▪ aggressive deployment of broadband access
▪ increasing ubiquity of high-speed wireless access: 4G/5G, WiFi
▪ emergence of online social networks:
• Facebook: ~ 2.5 billion users
▪ service providers (Google, FB, Microsoft) create their own networks
• bypass commercial Internet to connect “close” to end user, providing
“instantaneous” access to search, video content, …
▪ enterprises run their services in “cloud” (e.g., Amazon Web Services,
Microsoft Azure)
Introduction: 1-41