Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.
Dec 19, 2015
Spring 2004EE4272
EE4272: Computer Networks
Instructor: Dr. Tricia Chigan
Dept.: Elec. & Comp. Eng.
Spring 2004EE4272
Introduction of Computer Networks
Communication & Computer/Data Networks Applications of Computer Networks Requirements Network Architectures Implementing Network Software Network Performance
Spring 2004EE4272
Communication & Computer/Data Networks
What are the differences between…Applications
Underline technologies
Spring 2004EE4272
Applications of Computer Networks (e.g. …)
Surfing the Web of Client/Server
Streaming Audio & VideoVideo-on-demand: ( )Video Conference: ( )
Different requirements for various applications .
Spring 2004EE4272
Requirements from Perspectives… Application programmer: services that their
applications need, e.g.,
Network designers: cost-effective design e.g.,
Network providers: system that is easy to administer and manage e.g.,
Spring 2004EE4272
High-level Major Requirements- Network Designers’ Perspectives
Connectivity Cost-Effective Resource Sharing Reliability
Spring 2004EE4272
Nodes: PC, special-purpose hardware…Host: edge node for .Switch: node to .Router/Gateway: node connects two/more
different .
Links: coaxial cable, …
Direct connectivitypoint-to-pointmultiple access
Building Blocks & Connectivity
(a)
(b)
Spring 2004EE4272
Indirect Connectivity Switched networks
switch
Internetworks router gateway
Spring 2004EE4272
Switching Strategies circuit switching ( ): dedicated circuit;
send/receive . packet switching ( ): store-and-forward;
shared channel; send/receive .
Addressing and Routing address: byte-string that a node; usually unique routing: process of messages towards the
destination node based on its types of addresses
cast: node-specific cast: all nodes on the network cast: some subset of nodes on the network
Issues Related to Connectivity
Spring 2004EE4272
Cost-Effective Resource Sharing Must share (multiplex) network resources
(nodes and links) among multiple users
L2
L3
R2
R3
L1 R1
Switch 1 Switch 2
Spring 2004EE4272
Conventional Multiplexing Strategies
Synchronous Time-Division Multiplexing (STDM)
Frequency-Division Multiplexing (FDM)
Spring 2004EE4272
Statistical Multiplexing On-demand (not predetermined) time-division Schedule link on a basis (fairness): FIFO,
Round-robin… . Packets from different sources on link
What about if only one source has data? Why is needed?
Buffer packets that are contending for the link: . Buffer (queue) overflow is called .
■ ■ ■
Spring 2004EE4272
What Goes Wrong in the Network?-Reliability Issue
(light, power, microwave interference -> error detection/correction): single or burst errordepend on transmission med.: coaxial cable, optical
fiber?
(congestion control) (network survivability)
Spring 2004EE4272
Client
Server
process-to-process
Network Architecture Use abstractions (unified
model) . Abstraction naturally lead to . Can have at each layer
Hardware
Host-to-host connectivity
Request/replychannel
Message streamchannel
Application programs
Spring 2004EE4272
Layering & Protocols Advantages of Layering
Manageable Modular design
Protocols building blocks of a network architecture layer Each protocol object has two different interfaces
service interface: operations . peer-to-peer interface: messages exchanged with .
Term “protocol” is overloaded Module (various) that implements this interface: . specification of peer-to-peer interface ( )
Spring 2004EE4272
Interfaces
Host 1 Host 2
High-levelobject
High-levelobject
Protocol Protocol
Spring 2004EE4272
Host 1 Host 2
Fileapplication
Digitallibrary
application
Videoapplication
Fileapplication
Digitallibrary
application
Videoapplication
Protocol Machinery Protocol Graph
most peer-to-peer communication is . peer-to-peer is only at hardware level
Spring 2004EE4272
Host 1 Host 2
Applicationprogram
Applicationprogram
RRP
Data Data
HHP
RRP
HHP
Applicationprogram
Applicationprogram
RRP Data
RRP Data
HHP RRP Data
Protocol Machinery (cont) Encapsulation ( : control infor., e.g. seq. num) Multiplexing & Demultiplexing ( ): share logical
channel at each protocol layer
Spring 2004EE4272
One or more nodeswithin the network
End host
Application
Presentation
Session
Transport
Network
Data link
Physical
Network
Data link
Physical
Network
Data link
Physical
End host
Application
Presentation
Session
Transport
Network
Data link
Physical
/aggregation
OSI (open systems interconnection) Architecture
Spring 2004EE4272
Ethernet, ATM, FDDI…
■ ■ ■
FTP
TCP UDP
IP
NET 1 NET 2 NET n
HTTP NV TFTP Application
TCP UDP
IP
Network
Internet Architecture Defined by ( ) Design Application vs Application Protocol (e.g.,HTTP)
Spring 2004EE4272
Some Protocols in TCP/IP Suite
Source: book by William Stallings
Spring 2004EE4272
Software Protocol Implementation
Service Interface (e.g. Socket API) socket: the point where a local applications process attaches to the
network built in most of the Unix OS, common library routines (socket, listen,
accept, client, server, connect, send, recv…) reference: W. Richard Stevens, Unix Network Programming, 2nd edition,
Prentice Hall 1998
Protocol Implementation Issues (difference between Socket & protocol- protocol interface) Process Model Message Buffers
Spring 2004EE4272
Performance Metrics Bandwidth (throughput) :
data transmitted per time unit link vs. end-to-end
Latency (delay) time to send message from point A to point B one-way versus round-trip time (RTT) components
Latency = Propagation + Transmit + Queue Propagation = . Transmit = .
Throughput (end-to-end) = TransferSize / TransferTime TransferTime = RTT + 1/Bandwidth x TransferSize (w/o
queue)
Spring 2004EE4272
Delay x Bandwidth Product Amount of data “in flight” or “in the pipe” Example: 100ms x 45Mbps = 560KB
Application Needs requirements ( ): burst with
peak rate : variance in latency ( )
Bandwidth
Delay