So, what are computer networks? Not used during lecture 

advertisement
 E.g., https://www.youtube.com/watch?v=w42EsCDAhB4
 So, what are computer networks?
Not used during lecture
TDTS06
1-1
Computer Network?
 “interconnected collection of autonomous
computers connected by a communication
technology”
 What is the Internet?
“network of networks”
 “collection of networks interconnected by
routers”
 “a communication medium used by millions”

• Email, chat, Web “surfing”, streaming media
 Internet  Web
Not used during lecture
TDTS06
1-2
The “nuts and bolts” view of the Internet
router
server
workstation
mobile
local ISP
regional ISP
company
network
Not used during lecture
TDTS06
1-3
The “nuts and bolts” view of the Internet
 millions of connected
computing devices called
hosts or end-systems


PCs, workstations, servers
PDAs, phones, toasters
router
server
workstation
mobile
local ISP
running network apps

communication links



regional ISP
fiber, copper, radio, satellite
links have different
capacities (bandwidth)
routers: forward packets
 packet: piece of a message
(basic unit of transfer)
company
network
Not used during lecture
TDTS06
1-4
A Classification of Networks
 Wide Area Network (WAN)
 Metropolitan Area Network (MAN)
 Local Area Network (LAN)
 Wireless LAN (WLAN)
 Home Networks
 Personal Area Network (PAN)
 Body Area Network (BAN)
 Also … Ad hoc and sensor networks …
Not used during lecture
Not used during lecture
Layered Architecture: Why?
 Networks are complex with many pieces
 Hosts,
routers, links, applications,
protocols, hardware, software
 Can we organize it, somehow?
Not used during lecture
Motivation Continued …
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 of implementation of layer’s service
transparent to rest of system
Not used during lecture
Layers, Protocols, Interfaces
Application
Services
Application logic
protocol
Application
Services
Communication
Service
Reliable delivery
protocol
Communication
Service
Network
Services
Transfer “bits”
protocol
Network
Services
Layer
Interface
Layer
Interface
Web client
Not used during lecture
Web server
Layers, Protocols, Interfaces
 Networks organized as a stack of layers
 Offer services to the layer above it using a
well-defined interface
 Reduces design complexity
 Protocols: Logical “horizontal”
conversations at any layer (between peers)
 Data Transfer: each layer passes data &
control information over the interfaces
(between neighboring layers)
Not used during lecture
TDTS06
1-10
Layered Architecture (cont’d)
 A set of layers & protocols is called a
Network Architecture. These
specifications enable hardware/software
developers to build systems compliant with
a particular architecture.

E.g., TCP/IP, OSI
Not used during lecture
Internet protocol stack
 application: supporting network
applications

FTP, SMTP, HTTP
application
 transport: host-host data transfer
 TCP, UDP
transport
 network: routing of datagrams from
network
source to destination

IP, routing protocols
 link: data transfer between
neighboring network elements

PPP, Ethernet
 physical: bits “on the wire”
link
physical
Layering: logical communication
application
transport
network
link
physical
application
transport
network
link
physical
network
link
physical
application
transport
network
link
physical
application
transport
network
link
physical
TDTS06
1-13
Layering: logical communication
data
application
transport
transport
network
link
physical
application
transport
network
link
physical
ack
data
network
link
physical
application
transport
network
link
physical
data
application
transport
transport
network
link
physical
TDTS06
1-14
Layering: physical communication
data
application
transport
network
link
physical
application
transport
network
link
physical
network
link
physical
application
transport
network
link
physical
data
application
transport
network
link
physical
TDTS06
1-15
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
M
source
destination
application
transport
network
link
physical
application
transport
network
link
physical
message
TDTS06
1-16
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
M
Ht M
source
destination
application
transport
network
link
physical
application
transport
network
link
physical
message
segment
TDTS06
1-17
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
M
Ht M
Hn Ht M
source
destination
application
transport
network
link
physical
application
transport
network
link
physical
message
segment
datagram
TDTS06
1-18
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
M
Ht M
Hn Ht M
Hl Hn Ht M
source
destination
application
transport
network
link
physical
application
transport
network
link
physical
message
segment
datagram
frame
TDTS06
1-19
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
source
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
destination
application
transport
network
Hl Hn Ht M
link
physical
message
segment
datagram
frame
TDTS06
1-20
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
source
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
destination
application
transport
Hn Ht M
network
Hl Hn Ht M
link
physical
message
segment
datagram
frame
TDTS06
1-21
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
source
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
destination
application
Ht M
transport
Hn Ht M
network
Hl Hn Ht M
link
physical
message
segment
datagram
frame
TDTS06
1-22
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
source
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
destination
application
Ht
transport
Hn Ht
network
Hl Hn Ht
link
physical
M
message
M
segment
M
M
datagram
frame
TDTS06
1-23
Encapsulation: Layering and data
Each layer takes data from above
 adds header information to create new data unit
 passes new data unit to layer below
source
M
Ht M
Hn Ht M
Hl Hn Ht M
destination
application
transport
network
link
physical
router
application
Ht
transport
Hn Ht
network
Hl Hn Ht
link
physical
M
message
M
segment
M
M
datagram
frame
Layering: physical communication
data
application
transport
network
link
physical
application
transport
network
link
physical
network
link
physical
application
transport
network
link
physical
data
application
transport
network
link
physical
TDTS06
1-25
TDTS06
1-26
What’s a protocol?
Protocols:
 The rules used for
communication
 Proper, accepted,
and expected
behavior
Introduction 1-27
What’s a protocol?
network protocols:
 Machines rather than
humans
 All communication
activity in Internet
governed by protocols
human protocols:
 “What’s the time?”
 “I have a question”
 Introductions
Hi
TCP connection
request
Hi
TCP connection
response
Get http://www.awl.com/kurose-ross
Got the
time?
2:00
<file>
time
Introduction 1-28
What’s a protocol?
messages
[actions on
events]
[actions on
events]
Need:
Introduction 1-29
What’s a protocol?
messages
[actions on
events]
[actions on
events]
Need:
… specific msgs sent
Introduction 1-30
What’s a protocol?
messages
[actions on
events]
[actions on
events]
Need:
… specific msgs sent
… specific actions taken
when msgs received,
or other events
Introduction 1-31
What’s a protocol?
messages
[actions on
events]
[actions on
events]
Need:
… specific msgs sent
… specific actions taken
when msgs received,
or other events
Network protocols:
 Define the order and
format of messages
exchanged
 Defines the actions to
take in response to
events (e.g., message
arrivals, transmissions,
losses, and timeouts)
Introduction 1-32
What’s a protocol?
messages
[actions on
events]
[actions on
events]
Wireless vs. wired world …
Introduction 1-33
What’s a protocol?
messages
[actions on
events]
[actions on
events]
Wireless vs. wired world …
- E.g., Losses and scrambled
data much more common
- Need mechanism to coop with
these events ...
Introduction 1-34

the fundamental
question: how is data
transferred through net?
TDTS06
1-36

the fundamental
question: how is data
transferred through net?
 circuit-switching:
dedicated circuit per
call: telephone net
 packet-switching: data
sent thru net in
discrete “chunks”
TDTS06
1-37
Network Taxonomy
Telecommunication
networks
Circuit-switched
networks
FDM
TDM
Packet-switched
networks
Networks
with VCs
Datagram
Networks
Alt. 1: Circuit-Switching
End-to-end resources
reserved for “call”
 Link bandwidth, switch




capacity
Dedicated resources
with no sharing
Guaranteed transmission
capacity
Call setup required
“Blocking” may occur
TDTS06
1-39
Alt. 1: Circuit-Switching
 Capacity of medium exceeds the capacity
required for transmission of a single signal

How can we improve “efficiency”?
• Let’s multiplex.
 Divide link bandwidth into “pieces”:
 frequency
division - FDMA
 time division – TDMA
 code division - CDMA (cellular networks)
 wavelength division - WDM (optical)
TDTS06
1-40
Circuit-Switching: FDMA and TDMA
Example:
FDMA
4 users
frequency
time
TDMA
frequency
time
TDTS06
1-41
Alt. 2: Packet-Switching
 source breaks long messages into smaller
“packets”
 “store-and-forward” transmission
packets share network resources
 each packet briefly uses full link bandwidth

 resource contention
aggregate resource demand can exceed amount
available
 congestion: packets queue, wait for link use
 analogy: rush hour traffic in cities

TDTS06
1-42
Packet-Switching: Statistical Multiplexing
10 Mbs
Ethernet
A
statistical multiplexing
C
1.5 Mbs
B
queue of packets
waiting for output
link
D
E
 Resource sharing great for bursty traffic


E.g., Sequence of A & B packets does not have fixed
pattern - statistical multiplexing.
In contrast: In TDM each host gets same slot in
revolving TDM frame.
TDTS06
1-43
Mobile networks
E.g., 2G, 3G, 4G, ... and what about WiFi?
Mobile networks
 Also mobile networks are going towards IP-based
packet switching …
[Fig. from 3GPP website]
How do loss and delay occur?
packets queue in router buffers
 packet arrival rate to link exceeds output link capacity
 packets queue, wait for turn
 if queue is full, arriving packets dropped (Drop-Tail)
packet being transmitted (delay)
A
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
How do loss and delay occur?
packets queue in router buffers
 packet arrival rate to link exceeds output link capacity
 packets queue, wait for turn
 if queue is full, arriving packets dropped (Drop-Tail)
Collisions, connectivity, etc. (loss) packet being transmitted (delay)
A
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Connection oriented or not?
Connection less:
Connection oriented:

 No handshaking
Hand shaking


 No (significant) state
Explicit setup phase for
logical connection
Connection release
afterwards
Establishes state information
about the connection
 Mechanisms for



reliable data transfer, error
control, flow control, etc.
Guarantees that data will
arrive (eventually)
information (at end points
or in network)
 No guarantees of arrival
(or when)
 No mechanisms for flow
control etc.
 Simpler (and faster?)
Which is the best? … It depends on (i)
what it is used for, and (ii) what it is
built ontop of
Internet protocol stack
application
E.g., TCP (CO)
UDP (CL)
transport
E.g., IP (CL)
network
link
physical
E.g., Ethernet (CL)
ATM (CO)
Two notes on the physical layer:
• Guided (e.g., coaxial cable, fiber, etc) vs.
unguided (satellite, wireless, etc.)
• Signaling, modulation, encoding, etc,
Wireless, mobility: impact on higher layer protocols
 logically, impact
should be minimal …
Best-effort service model remains unchanged
 TCP and UDP can (and do) run over wireless, mobile
 … but performance-wise:
 packet loss/delay due to bit-errors (discarded
packets, delays for link-layer retransmissions),
handoffs from mobility and transient connectivity
 TCP interprets loss as congestion, will decrease
congestion window un-necessarily
 delay impairments for real-time traffic
 limited bandwidth of wireless links

Something for next class
Question to think/read about ...
 Which technology is the fastest?
 10 Mbps Ethernet
 11 Mbps 802.11
Download