ECE
533
Advanced
Computer
Communica5on
Networks
Introduc5on
Goals
and
Mo5va5on
Focus
of
the
course
Client
?
?
?
?
Server
Goals
and
Mo5va5on
Focus
of
the
course
Three
networking
topics
Distributed
Systems
Networking
Communica5ons
We
are
in
the
middle.
Dierent
types
of
apps
builds
on
top
of
networks.
E.g.,
mul5player
gaming,
video
streaming,
video
conferencing,
etc.
How
packets
are
carried
across
networks
and
how
Internet
operates
How
to
use
signals
to
carry
informa5on
and
bits
across
the
networks
Goals
and
Mo5va5on
Goal
of
the
course
Goal
I:
Learn
the
theory
on
how
the
Internet
works.
What
is
the
theory/ra5onale
behind
the
networking
protocols
and
algorithms
such
as
TCP/
IP,
802.11,
etc.?
Why
learn
about
the
theory
and
details?
Curiosity
Job
Impact
on
our
world
Goals
and
Mo5va5on
Goal
of
the
course
Goal
I:
Learn
the
theory
on
how
the
Internet
works.
Why?
Impact
on
our
world
Goals
and
Mo5va5on
Goal
of
the
course
Goal
I:
Learn
the
theory
on
how
the
Internet
works.
Why?
Impact
on
our
world
-
-
-
-
-
-
Access
to
informa5on
Wikipedia
Socializa5on
Facebook,
TwiWer
Personal
rela5onships
match.com
Sharing
jokes
Imgur
Educa5on
khan
academy
Economy
-
Online
adver5sing
(google
ads),
shopping
(amazon),
crowdsourcing
(wikipedia),
crowdfunding
(kickstarter),
etc.
Goals
and
Mo5va5on
Goal
of
the
course
Goal
II:
Learn
the
fundamentals
and
theory
of
computer
networks
Understand
the
hard
problems
that
computer
networks
need
to
solve
The
design
strategies
which
have
been
proven
valuable
Goals
and
Mo5va5on
Goal
of
the
course
Goal
II:
Learn
the
fundamentals
and
theory
of
computer
networks
Why
learn
about
the
fundamentals?
Fundamentals
apply
to
all
kinds
of
computer
networks.
E.g.,
techniques
developed
for
WiFi
may
apply
to
satellite
networks
Intellectual
interest
Change/reinven5on
The
Internet
is
constantly
being
reinvented
Todays
Internet
is
dierent
from
yesterdays,
and
the
tomorrow
will
be
dierent
again
But
the
fundamentals
remain
the
same
Course
Informa5on
Instructor:
Hulya
Seferoglu
Oce:
SEO
1037
Phone:
(312)
413-7573
Email:
[email protected]
(This
is
the
best
way
to
contact
me)
On
the
Web:
BlackBoard
Oce
Hours:
Hulya
Seferoglu:
W
(11:00am-
12:00pm
&
1:00pm-2:00pm),
in
SEO
1037
Prerequisites:
ECE
333
(Computer
CommunicaNon
Networks
I)
AND
ECE
341
(Probability
and
Random
Processes
for
Engineers)
OR
equivalent
classes
in
computer
networks
and
probability
and
random
processes.
Suggested
Textbooks:
Dimitri
P.
Bertsekas
and
Robert
G.
Gallager,
Data
Networks,
2nd
EdiNon,
PrenNce
Hall,
1992.
R.
Srikant
and
Lei
Ying,
CommunicaNon
Networks:
An
OpNmizaNon,
Control,
and
StochasNc
Networks
PerspecNve,
Cambridge
University
Press,
2014.
James
F.
Kurose
and
Keith
W.
Ross,
Computer
Networking:
A
Top-Down
Approach,
6th
EdiNon,
Addison-
Wesley,
2013.
Course
Informa5on
Course
Descrip5on:
In
this
course,
we
will
learn
about
some
advanced
topics
in
computer
networks.
Our
goal
will
be
to
give
some
insight
on
the
theory
and
raNonale
behind
the
todays
networking
protocols
and
algorithms.
Such
theoreNcal
understanding
has
paramount
importance
to
cope
with
the
issues
that
will
possibly
arise
in
the
next-generaNon
computer
networks.
Topics
will
include:
a
brief
review
of
the
layered
structure
of
networks,
staNsNcal
mulNplexing
and
queues,
scheduling
in
packet
switches,
scheduling
in
wireless
networks
(including
stochasNc
scheduling),
network
uNlity
maximizaNon
and
its
relaNonship
to
TCP
protocols
as
well
as
MAC
and
physical
layer
protocols.
Time
permidng;
we
may
also
cover
selected
topics
on
peer-to-peer
networks,
network
coding,
and
network
security.
Course
Informa5on
Deliverables
and
Grading
What
Grade
Homework
20%
Midterm
25%
Project
20%
Final
Exam
35%
Homeworks
are
~bi-weekly
and
involve
calculaNons
and
some
programming
(Matlab,
ns2
simulaNons,
etc.).
Project:
The
class
project
will
involve
reading
one
-
two
important
research
papers
and
reporNng
on
them.
Course
Informa5on
Project
Details
The
class
project
will
involve
reading
one
to
two
important
research
papers
ad
repor5ng
on
them.
Project
steps
are
summarized
in
the
following.
1) Project
Proposal:
You
are
to
select
a
topic
and
one-two
papers
from
the
project
list.
Project
proposal
(selec5ng
a
topic
and
papers)
is
due
on
09/10.
This
step
will
be
1%
of
your
grade.
2) Project
Report
I:
You
should
study
the
papers
you
selected
in
the
rst
step
and
write
a
3-page
(single
column
10pt)
report.
Your
report
should
summarize
the
papers
you
study
and
explain
how
they
relate
to
each
other.
Project
Report
I
is
due
on
10/22.
This
step
will
be
5%
of
your
grade.
3) Project
Report
II:
You
should
write
a
4-page
(single
column
10pt)
report.
This
report
should
be
devoted
to
iden5fying
an
open
problem
(in
the
area
you
studied
in
the
rst
two
steps)
and
your
approach
and
solu5on
to
the
problem.
Project
Report
II
is
due
on
11/19.
This
step
will
be
9%
of
your
grade.
4) Project
Presenta5on:
You
will
need
to
prepare
10-min
oral
presenta5on
on
the
project.
Project
presenta5on
should
include
your
mo5va5on
to
choose
the
topic,
summary
of
the
papers,
and
the
open
problems
in
the
area
and
your
approach.
Presenta5ons
will
be
scheduled
in
the
last
two
weeks
of
classes.
This
step
will
be
5%
of
your
grade.
Course
Informa5on
Project
Details
Note
I:
If
you
wish
to
research
a
topic
that
is
not
on
the
list,
that
would
be
ok,
but
you
should
seek
my
approval
for
your
plan.
Note
II:
Projects
can
be
conducted
as
a
team
of
up
to
two
students.
Two-people
projects
should
select
at
least
two
papers
to
study.
Note
III:
Dierent
projects
and
teams
may
select
the
same/similar
papers.
Each
team
is
responsible
for
their
independent
project.
If
we
no5ce
that
mul5ple
projects
on
the
same
topic
are
iden5cal,
both
teams
will
get
0
grade
from
their
project.
They
will
also
be
subject
to
the
rules
of
UIC
Academic
Integrity
Policy.
Course
Informa5on
Project
Topics
Will
be
announced
on
Blackboard!!!
Course
Informa5on
Tenta5ve
lecture
schedule
Course
Informa5on
Tenta5ve
lecture
schedule
Course
Informa5on
General
policies
Late
policy:
No
late
homeworks,
project
proposals,
and
project
reports
will
be
accepted.
Homework
solu5ons
will
be
posted
online
shortly
ajer
the
deadline.
Homeworks,
project
proposals,
project
reports
not
submiWed
by
the
deadline
will
get
zero
points.
However,
to
accommodate
for
unforeseen
circumstances,
your
homework
with
the
lowest
grade
(including
0
for
a
missing
one)
will
be
dropped.
This
means
that
you
can
skip
one
homework
without
asking
permission.
This
does
not
apply
to
your
project
proposals
and
project
reports.
CollaboraDon
on
homeworks:
You
are
allowed
to
discuss
with
your
classmates,
but
you
are
supposed
to
do
your
homework
individually.
If
we
no5ce
that
two
homeworks
are
iden5cal,
both
students
will
get
0
grade;
they
will
also
be
subject
to
the
rules
of
UIC
Academic
Integrity
Policy.
AFendance
is
not
mandatory.
It
is
up
to
you
to
keep
up
with
the
materials.
Exam
Policy:
1)
All
the
exams,
i.e.,
Midterm
and
Final
Exam,
are
closed
book,
closed
notes.
You
can
bring
one
page
cheat
sheet
to
the
exam,
but
you
cannot
access
your
slides,
notes,
book
etc.
2)
You
will
be
given
the
opportunity
to
take
a
make-up
exam
only
in
cases
of
medical
or
personal
emergencies,
which
must
be
veried.
If
such
an
emergency
occurs,
call
me
or
leave
a
note
(or
phone
message)
with
the
department
secretary
as
soon
as
possible.
If
you
will
be
out
of
town
when
an
exam
is
scheduled,
I
must
be
told
in
advance
and
may
require
you
to
take
the
exam
early.
Otherwise,
if
you
miss
an
exam
you
will
receive
0
points.
Grading
Policy:
Curve.
Religious
Holidays:
Students
who
wish
to
observe
their
religious
holidays
should
no5fy
instructor
by
the
tenth
day
of
the
semester
of
the
date
when
they
will
be
absent
unless
the
religious
holiday
is
observed
on
or
before
the
tenth
day
of
the
semester.
In
such
cases,
the
students
should
no5fy
the
instructor
at
least
ve
days
in
advance
of
the
date
when
he/she
will
be
absent.
Every
reasonable
eort
will
be
made
to
honor
the
request.
Academic
Integrity:
Dishonest
ac5ons
by
students
including
plagiarism
will
result
in
appropriate
disciplinary
ac5on.
Inten5onal
use
or
aWempt
to
use
unauthorized
assistance,
materials,
informa5on,
or
people
in
any
examina5on,
quiz,
or
assignment
may
lead
to
penal5es
such
as
a
failing
grade.
UIC
Academic
Integrity
Policy
will
be
followed.
Roadmap
Goals
and
Mo5va5on
Course
Informa5on,
Tenta5ve
Syllabus,
Policies,
and
Requirements
Network
Components
Protocols
and
Layers
Reference
Models
Network
Core
Network
Components
Parts
of
a
Network
Applica5on
Applica5on
Node
Link
Network
Components
Parts
of
a
Network
Applica5on
Applica5on
Node
Host
Host
Link
Routers
Network
Components
Parts
of
a
Network
Applica5ons
Host
Router
Applica5on
Router
We
have
dierent
parts
of
network
components
which
are
key
for
a
network
Host
Network
Components
Component
Func5on
Example
Applica5on,
app,
user
Uses
the
network
YouTube,
Facebook,
CandyCrash
Host,
or
end-system,
edge
device,
node,
source,
sink
Support
apps
Smartphones,
laptop,
desktop
Router,
or
switch,
node,
hub,
intermediate
system
Relays
messages
between
links
Access
point,
cable/
DSL
modem,
laptop,
desktop
Link,
or
channel
Connects
nodes
Wired,
wireless
Types
of
Links
Full-duplex:
Bi-direc5onal
Applica5ons
Applica5on
Host
Host
Half-duplex:
Bi-direc5onal.
E.g.,
wireless
Applica5ons
Applica5on
Simplex:
Unidirec5onal.
Only
one
direc5on
at
all
5mes.
Wireless
Links
Message
is
broadcast
Received
by
all
nodes
in
the
transmission
range
Wireless
Links
Message
is
broadcast
Received
by
all
nodes
in
the
transmission
range
Wireless
Links
Message
is
broadcast
Received
by
all
nodes
in
the
transmission
range
Building
a
Network
Connect
two/more
laptops.
We
can
also
have
large
networks.
Building
a
Network
Example
Networks
mobile network
WiFi
(802.11)
Ethernet
ISP
(Internet
Service
Provider)
Cable/DSL
Cellular
(2G,
3G,
4G)
Bluetooth
Telephone
Satellite
Techniques
we
will
learn
in
this
class
can
be
applied
in
dierent
networks
global ISP
home
network
institutional
network
regional ISP
Network
names
by
scale
mobile network
Scale
Type
Example
Close
PAN(Personal
Area
proximity
Network)
Bluetooth
Building
LAN
(Local
Area
Network)
WiFi,
Ethernet
City,
Campus
MAN
(Metropolitan
Area
Network)
Cable,
DSL
Country
WAN
(Wide
Area
Network)
Large
ISP
Planet
The
Internet
(network
of
all
networks)
The
Internet
global ISP
home
network
institutional
network
regional ISP
Roadmap
Goals
and
Mo5va5on
Course
Informa5on,
Tenta5ve
Syllabus,
Policies,
and
Requirements
Network
Components
Protocols
and
Layers
Reference
Models
Network
Core
Protocols
and
Layers
Networks
Need
Modularity
Make
and
break
connec5ons
Find
a
path
through
the
network
Transfer
informa5on
reliably
Transfer
arbitrary
length
of
informa5on
Send
as
fast
as
the
network
allows
Shares
bandwidth
among
users
Secures
informa5on
in
transit
Lets
many
new
hosts
be
added
We
need
a
form
of
modularity,
to
help
manage
complexity
and
support
reuse
This
is
exactly
what
protocols
and
layering
give
us.
Protocols
and
Layers
Protocols
and
layering
are
the
main
structuring
methods
used
to
divide
up
network
func5onality.
Each
instance
of
a
protocol
talks
virtually
to
its
peer
using
the
protocols
Each
instance
of
a
protocol
uses
only
the
services
of
the
lower
layer
Protocols
and
Layers
Instance
of
protocol
X
Instance
of
lower
layer
protocol
Y
Protocol
X
X
Node
1
Protocol
Y
Node
2
Instance
of
protocol
X
at
peer
node
Protocols
and
Layers
Protocols
talk
to
each
other
horizontally:
Protocols
X
at
node
1
talks
to
protocols
Y
at
node
2
Layers
talks
to
each
other
ver5cally:
Protocol
X
at
the
higher
layer
talks
to
protocol
Y
in
the
lower
layer
at
node
1
(or
node
2)
Instance
of
protocol
X
Instance
of
lower
layer
protocol
Y
Protocol
X
X
Node
1
Protocol
Y
Node
2
Instance
of
protocol
X
at
peer
node
Protocols
and
Layers
Set
of
protocols
in
use
is
called
a
protocol
stack
Protocols
and
Layers
Example
protocol
stack
used
by
a
web
browser
on
a
host
that
is
wirelessly
connected
to
the
Internet
mobile network
Web
Browser
global ISP
HTTP
home
network
TCP
IP
802.11
Wireless
Medium
institutional
network
regional ISP
Encapsula5on
We
said
that
layers
are
implemented
on
top
of
each
other,
but
we
did
not
talk
about
how
this
layering
scheme
works
Encapsula5on
is
the
mechanism
used
to
eect
protocol
layering
Lower
layer
wraps
higher
layer
content,
adding
its
own
informa5on
to
make
a
new
message
for
delivery
Like
sending
a
leWer
in
an
envelope;
postal
service
doesnt
look
inside
Encapsula5on
HTTP
TCP
IP
802.11
HTTP
HTTP
HTTP
HTTP
TCP
TCP
TCP
IP
IP
802.11
Encapsula5on
HTTP
HTTP
TCP
HTTP
TCP
IP
HTTP
TCP
IP
802.11
HTTP
HTTP
HTTP
TCP
TCP
HTTP
TCP
IP
IP
HTTP
TCP
IP
HTTP
TCP
IP
802.11
HTTP
802.11
TCP
IP
802.11
802.11
Encapsula5on
Normally
we
draw
a
message
like
this:
Each
layer
adds
its
own
header
802.11
IP
First
bit
on
the
wire/air
TCP
HTTTP
Last
bits
It
may
be
more
complicated
in
prac5ce
Trailers
as
well
as
headers,
encrypt/compress
contents
Segmenta5on
(divide
long
message)
and
reassembly
Demul5plexing
Incoming
message
must
be
passed
to
the
protocols
that
it
uses
SMTP
HTTP
DNS
TCP
UDP
IP
ARP
Ethernet
???
Demul5plexing
Done
with
demulDplexing
keys
in
the
headers
SMTP
HTTP
DNS
TCP
port
number
TCP
UDP
IP
protocol
eld
IP
ARP
Ethertype
value
Ethernet
Ethernet
IP
TCP
HTTTP
Incoming
message
Advantage
of
Layering
Informa5on
hiding
and
reuse
Browser
Server
HTTP
HTTP
HTTP
HTTP
TCP
TCP
TCP
TCP
IP
IP
IP
IP
802.11
802.11
Ethernet
Ethernet
Browser
OR
Server
Disadvantage
of
Layering
Adds
overhead
But
minor
for
long
messages
Hides
informa5on
App
may
care
whether
it
is
running
over
wired
or
wireless
Roadmap
Goals
and
Mo5va5on
Course
Informa5on,
Tenta5ve
Syllabus,
Policies,
and
Requirements
Network
Components
Protocols
and
Layers
Reference
Models
Network
Core
Reference
Models
What
func5onality
should
we
implement
at
which
layer?
For
example,
sharing
bandwidth
@
which
layer?
This
is
a
key
ques5on
No
clear
answer
to
this
ques5on,
but
Reference
models
provide
frameworks
that
guide
us
Reference
Models
OSI
7
Layer
Reference
Model
Open
Systems
Interconnec5on
(OSI)
model
A
principled,
interna5onal
standard,
to
connect
systems
Inuen5al,
but
not
used
in
prac5ce
(7)
Applica5on
-
Provides
funcNons
needed
by
users
(6)
Presenta5on
-
Converts
dierent
representaNons
(5)
Session
-
Manages
task
dialogs
(4)
Transport
-
Provides
end-to-end
delivery
(3)
Network
-
Sends
packets
over
mulNple
links
(2)
Data
Link
-
Send
frames
of
informaNon
(1) Physical
-
Sends
bits
as
signals
Reference
Models
Internet
Reference
Model
Mostly
used
in
prac5ce
A
four
layer
model
based
on
experience;
omits
some
OSI
layers
and
uses
IP
and
the
network
layer.
Applica5on
-
Programs
that
use
network
service
Transport
-
Provides
end-to-end
data
delivery
Internet
(IP)
-
Send
packets
over
mulNple
networks
Link
-
Send
frames
over
a
link
Reference
Models
Internet
Reference
Model
Mostly
used
in
prac5ce
A
four
layer
model
based
on
experience;
omits
some
OSI
layers
and
uses
IP
and
the
network
layer.
7
Applica5on
-
Programs
that
use
network
service
4
Transport
-
Provides
end-to-end
data
delivery
3
Internet
(IP)
-
Send
packets
over
mulNple
networks
2/1
Link
-
Send
frames
over
a
link
Reference
Models
Internet
Reference
Model
With
examples
of
common
protocols
in
each
layer
7
Applica5on
-
HTTP,
RTP,
SMTP,
DNS
4
Transport
-
TCP,
UDP
3
Internet
(IP)
-
IP
2/1
Link
-
3G
cellular,
Ethernet,
DSL,
Cable,
802.11
Roadmap
Goals
and
Mo5va5on
Course
Informa5on,
Tenta5ve
Syllabus,
Policies,
and
Requirements
Network
Components
Protocols
and
Layers
Reference
Models
Network
Core
The
network
core
Mesh
of
interconnected
routers
Packet-switching:
hosts
break
applica5on-layer
messages
into
packets
Forward
packets
from
one
router
to
the
next,
across
links
on
path
from
source
to
des5na5on
Each
packet
transmiWed
at
full
link
capacity
Packet-switching:
store-and-forward
L
bits
per
packet
source
3
2
1
R
bps
Takes
L/R
seconds
to
transmit
(push
out)
L-bit
packet
into
link
at
R
bps
Store
and
forward:
en5re
packet
must
arrive
at
router
before
it
can
be
transmiWed
on
next
link
End-end
delay
=
2L/R
(assuming
zero
propaga5on
delay)
R
bps
desNnaNon
One-hop
numerical
example:
L
=
7.5
Mbits
R
=
1.5
Mbps
one-hop
transmission
delay
=
5
sec
Packet
Switching:
queueing
delay,
loss
A
B
R = 100 Mb/s
R = 1.5 Mb/s
queue of packets
waiting for output link
D
E
Queuing
and
loss:
v
If
arrival
rate
(in
bits)
to
link
exceeds
transmission
rate
of
link
for
a
period
of
5me:
packets
will
queue,
wait
to
be
transmiWed
on
link
packets
can
be
dropped
(lost)
if
memory
(buer)
lls
up
Introduction
1-55
Circuit
switching:
FDM
versus
TDM
Example:
FDM
4 users
frequency
time
TDM
frequency
time
Packet
switching
versus
circuit
switching
packet
switching
allows
more
users
to
use
network!
100
kb/s
when
ac5ve
ac5ve
10%
of
5me
1 Mbps link
circuit-switching:
10
users
N
users
..
example:
1
Mb/s
link
each
user:
packet
switching:
with
35
users,
probability
>
10
ac5ve
at
same
5me
is
less
than
.0004
*
Q:
how
did
we
get
value
0.0004?
Q:
what
happens
if
>
35
users
?
Packet
switching
versus
circuit
switching
Is packet switching better?
Great
for
bursty
data
Resource
sharing
Simpler,
no
call
setup
Excessive
conges5on
possible:
packet
delay
and
loss
Protocols
needed
for
reliable
data
transfer,
conges5on
control
Q:
How
to
provide
circuit-like
behavior?
Bandwidth
guarantees
needed
for
audio/video
apps
S5ll
an
unsolved
problem
How
do
loss
and
delay
occur?
Packets
queue
in
router
buers
packet
arrival
rate
to
link
(temporarily)
exceeds
output
link
capacity
packets
queue,
wait
for
turn
packet being transmitted (delay)
A
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Four
sources
of
packet
delay
transmission
propagation
nodal
processing
queueing
dnodal = dproc + dqueue + dtrans + dprop
dproc: nodal processing
check bit errors
determine output link
typically < msec
dqueue: queueing delay
time waiting at output link for
transmission
depends on congestion level of
router
Four
sources
of
packet
delay
transmission
propagation
nodal
processing
queueing
dnodal = dproc + dqueue + dtrans + dprop
dtrans: transmission delay:
L: packet length (bits)
R: link bandwidth (bps)
dtrans = L/R
dtrans and dprop
very different
dprop: propagation delay:
d: length of physical link
s: propagation speed in medium
(~2x108 m/sec)
dprop = d/s
Caravan
analogy
100 km
ten-car
caravan
toll
booth
Cars
propagate
at
100
km/hr
Toll
booth
takes
12
sec
to
service
car
(bit
transmission
5me)
Car~bit;
caravan
~
packet
Q:
How
long
un5l
caravan
is
lined
up
before
2nd
toll
booth?
100 km
toll
booth
Time
to
push
en5re
caravan
through
toll
booth
onto
highway
=
12*10
=
120
sec
Time
for
last
car
to
propagate
from
1st
to
2nd
toll
both:
100km/
(100km/hr)=
1
hr
A:
62
minutes
R:
link
bandwidth
(bps)
L:
packet
length
(bits)
a:
average
packet
arrival
rate
average
queueing
delay
Queueing
delay
(revisited)
trac
intensity
=
La/R
La/R
~
0:
avg.
queueing
delay
small
v La/R
->
1:
avg.
queueing
delay
large
v La/R
>
1:
more
work
arriving
than
can
be
serviced,
average
delay
innite!
v
La/R ~ 0
La/R -> 1