EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the...

12
Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng. Spring 2004 EE4272 Introduction of Computer Networks Communication & Computer/Data Networks Applications of Computer Networks Requirements Network Architectures Implementing Network Software Network Performance

Transcript of EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the...

Page 1: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

1

Spring 2004EE4272

EE4272: Computer Networks

Instructor: Dr. Tricia ChiganDept.: Elec. & Comp. Eng.

Spring 2004EE4272

Introduction of Computer Networks

Communication & Computer/Data NetworksApplications of Computer NetworksRequirementsNetwork ArchitecturesImplementing Network SoftwareNetwork Performance

Page 2: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

2

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/ServerStreaming Audio & Video

Video-on-demand: ( )Video Conference: ( )

Different requirements for various applications

.

Page 3: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

3

Spring 2004EE4272

Requirements from Perspectives…Application programmer: services that their applications need, e.g.,

Network designers: cost-effective designe.g.,

Network providers: system that is easy to administer and manage e.g.,

Spring 2004EE4272

High-level Major Requirements- Network Designers’ Perspectives

ConnectivityCost-Effective Resource SharingReliability

Page 4: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

4

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 connectivity

point-to-pointmultiple access

Building Blocks & Connectivity

(a)

(b)

Spring 2004EE4272

Indirect ConnectivitySwitched networks

switch

Internetworksroutergateway

Page 5: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

5

Spring 2004EE4272

Switching Strategiescircuit switching ( ): dedicated circuit; send/receive .packet switching ( ): store-and-forward; shared channel; send/receive .

Addressing and Routingaddress: byte-string that a node; usually uniquerouting: process of messages towards the destination node based on its types of addresses

cast: node-specificcast: all nodes on the networkcast: some subset of nodes on the network

Issues Related to Connectivity

Spring 2004EE4272

Cost-Effective Resource SharingMust share (multiplex) network resources (nodes and links) among multiple users

L2

L3

R2

R3

L1 R1

Switch 1 Switch 2

Page 6: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

6

Spring 2004EE4272

Conventional Multiplexing Strategies

Synchronous Time-Division Multiplexing (STDM)

Frequency-Division Multiplexing (FDM)

Spring 2004EE4272

Statistical MultiplexingOn-demand (not predetermined) time-divisionSchedule 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 .

■ ■ ■

Page 7: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

7

Spring 2004EE4272

What Goes Wrong in the Network?-Reliability Issue

(light, power, microwave interference -> error detection/correction): single or burst error

depend on transmission med.: coaxial cable, optical fiber?

(congestion control)(network survivability)

Spring 2004EE4272

Client

Server

process-to-process

Network ArchitectureUse abstractions (unified model) .Abstraction naturally lead to .Can have at each layer

Hardware

Host-to-host connectivity

Request/replychannel

Message streamchannel

Application programs

Page 8: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

8

Spring 2004EE4272

Layering & ProtocolsAdvantages of Layering

ManageableModular design

Protocolsbuilding blocks of a network architecture layerEach protocol object has two different interfaces

service interface: operations .peer-to-peer interface: messages exchanged with .

Term “protocol” is overloadedModule (various) that implements this interface: . specification of peer-to-peer interface ( )

Spring 2004EE4272

Interfaces

Host 1 Host 2

High-levelobject

High-levelobject

Protocol Protocol

Page 9: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

9

Spring 2004EE4272

Host 1 Host 2

Fileapplication

Digitallibrary

applicationVideo

applicationFile

applicationDigitallibrary

applicationVideo

application

Protocol MachineryProtocol 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

Page 10: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

10

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

TCP UDP

IP

Network

Application

Ethernet, ATM, FDDI…

■ ■ ■

FTP

TCP UDP

IP

NET 1 NET 2 NET n

HTTP NV TFTP Application

TCP UDP

IP

Network

Internet ArchitectureDefined by ( )

DesignApplication vs Application Protocol (e.g.,HTTP)

Page 11: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

11

Spring 2004EE4272

Some Protocols in TCP/IP Suite

Source: book by William Stallings

Spring 2004EE4272

Software Protocol ImplementationService Interface (e.g. Socket API)

socket: the point where a local applications process attaches to the networkbuilt 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 ModelMessage Buffers

Page 12: EE4272: Computer Networks...2 EE4272 Spring 2004 Communication & Computer/Data Networks What are the differences between… Applications Underline technologies EE4272 Spring 2004 Applications

12

Spring 2004EE4272

Performance MetricsBandwidth (throughput) :

data transmitted per time unitlink vs. end-to-end

Latency (delay)time to send message from point A to point Bone-way versus round-trip time (RTT)components

Latency = Propagation + Transmit + QueuePropagation = .Transmit = .

Throughput (end-to-end) = TransferSize / TransferTimeTransferTime = RTT + 1/Bandwidth x TransferSize (w/o queue)

Spring 2004EE4272

Delay x Bandwidth ProductAmount of data “in flight” or “in the pipe”Example: 100ms x 45Mbps = 560KB

Application Needsrequirements ( ): burst with

peak rate: variance in latency ( )

Bandwidth

Delay