Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.

Post on 19-Dec-2015

219 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

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

top related