CS716
Advanced Computer Networks
By Dr. Amir Qayyum
1
Lecture No. 25
2
Review Lecture
Switched Networks
• A network can be defined recursively as...
– Two or more nodes
connected by a link
– Circular nodes
(switches) implement
the network
– Squared nodes (hosts)
use the network
4
Switched Networks
• A network can be defined recursively as...
– Two or more networks
connected by one or more
nodes: internetworks
– Circular nodes (router or
gateway) interconnects the
networks
– A cloud denotes “any type of
independent network”
5
Switching Strategies
•
• Packet switching:
Storeandforward
a. establishes a dedicated
messages
Circuit switching:
Carry bit streams
circuit
b. links reserved for use
by communication
channel
c. send/receive bit stream
at constant rate
d. example: original
telephone network
a. operates on discrete
blocks of data
b. utilizes resources
dynamically according
to traffic demand
c. send/receive messages
at variable rate
d. example: Internet
6
Multiplexing
• Physical links/switches must be shared among users
– (Synchronous) TimeDivision Multiplexing (TDM)
– FrequencyDivision Multiplexing (FDM)
L1
R1
Multiple flows
on a single link
L2
L3
R2
Switch 1
Switch 2
R3
Do you see any problem with TDM / FDM ?
7
Statistical Multiplexing
•
•
•
•
Ondemand timedivision, possibly synchronous (ATM)
Schedule link on a perpacket basis
Buffer packets in switches that are contending for the link
Packets from different sources interleaved on link
…
Do you see any problem ?
8
InterProcess Communication
• Turn hosttohost connectivity into processtoprocess
communication, making the communication meaningful.
• Fill gap between what applications expect and what the
underlying technology provides.
Host
Host
Host
Application
Abstraction for
applicationlevel
communication
Channel
Application
Host
Host
9
Abstract Channel Functionality
• What functionality does a channel provide ?
– Smallest set of abstract channel types adequate
for largest number of applications
• Where the functionality is implemented ?
– Network as a simple bitpipe with all highlevel
communication semantics at the hosts
– More intelligent switches allowing hosts to be
“dumb” devices (telephone network)
10
Performance Metrics
• … and to do so while delivering
“good” performance
• Bandwidth (throughput)
– Data transmitted per unit time, e.g. 10 Mbps
– Link bandwidth versus endtoend bandwidth
– Notation
• KB = 210 bytes
• Kbps = 103 bits per second
11
Performance Metrics
• Latency / Delay
– Time to send message from point A to point B
– Oneway versus RoundTrip Time (RTT)
– Components
Latency = Propagation + Transmit + Queue
Propagation = Distance / c
Transmit = Size / Bandwidth
• Note:
• No queuing delay in direct (pointtopoint) link
• Bandwidth irrelevant if size = 1 bit
• Processtoprocess latency includes software processing overhead
(dominates over shorter distances)
12
Delay x Bandwidth Product
• Amount of data “in flight” or “in the pipe”
• Example: 100ms RTT x 45Mbps BW = 560KB
• This much data must be buffered before the sender
responds to slowdown the request
Delay
Bandwidth
13
Network Architecture
• The challenge is to fill the gap between hardware
capabilities and application expectations, and to
do so while delivering “good” performance
• Designers cope with this complex task by
developing a network architecture as a guideline
– Layering, protocols, standards
14
Layering
• Alternative abstractions at each layer
• Manageable network components
• Modify layers independently
Application programs
Request/reply
channel
Message stream
channel
Host-to-host connectivity
Hardware
15
Protocols
• Building blocks of a network architecture
• Each protocol object has two different interfaces
– service interface: operations on this protocol
– peertopeer interface: messages exchanged with peer
• Term “protocol” is overloaded
– Specification of peertopeer interface
– Module that implements this interface
– Peer modules are interoperable if both accurately
follow the specifications
16
Protocol Interfaces
Host 1
High-level
object
Protocol
Host 2
Service
interface
Peer-to-peer
interface
High-level
object
Protocol
17
Protocol Graph – Network Architecture
• Collection of protocols and their dependencies
– Most peertopeer communication is indirect
– PeertoPeer is direct only at hardware level
Host 2
Host 1
RRP: Request
Reply Protocol
MSP: Message
Stream Protocol
HHP: Hostto
Host Protocol
Digital
Video
File
library
application application application
RRP
MSP
HHP
Digital
Video
File
library
application application application
RRP
MSP
HHP
18
Protocol Machinery
• Multiplexing and Demultiplexing (demux key)
• Encapsulation (header/body) in peertopeer
interfaces
– Indirect communication (except at hardware level)
– Each protocol adds a header
– Part of header includes demultiplexing field (e.g., pass
up to request/reply or to message stream?)
19
Encapsulation
Host 1
Host 2
Application
program
Application
program
Data
Data
RRP
RRP
RRP Data
RRP Data
HHP
HHP
HHP
RRP Data
20
Standard Architectures
• Open System Interconnect (OSI) Architecture
– International Standards Organization (ISO)
– International Telecommunications Union (ITU),
formerly CCITT
– “X dot” series: X.25, X.400, X.500
– Primarily a reference model
21
OSI Architecture
End host
End host
User
level
OS
kernel
Application
Application
Application
Presentation
Presentation
Data formatting
Session
Session
Connection management
Transport
Transport
Processtoprocess
communication channel
Network
Network
Network
Network
Data link
Data link
Data link
Data link
Physical
Physical
Physical
Physical
Hosttohost packet
delivery
Framing of data bits
Transmission of raw bits
One or more nodes
within the network
22
Internet Architecture
• TCP/IP Architecture
– Developed with ARPANET and NSFNET
– Internet Engineering Task Force (IETF)
• Culture: implement, then standardize
• OSI culture: standardize, then implement
– Became popular with release of Berkeley Software
Distribution (BSD) Unix; i.e. free software
– Standard suggestions traditionally debated publically
through “Request For Comments” (RFC’s)
23
Internet Architecture
• Implementation and design done together
• Hourglass Design (bottleneck is IP)
• Application vs Application Protocol (FTP, HTTP)
FTP
HTTP
NV
TFTP
UDP
TCP
IP
NET1
NET2
…
NETn
24
Internet Architecture
• Layering is not very strict
Application
TCP
UDP
IP
Network
25