Computer Networks

40
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 1 Computer Networks Chapter 1 - Fundamentals

description

Computer Networks. Chapter 1 - Fundamentals. Computer Networks. Need to share Information Resources Communication vs. Storage Transmission across: Space (communication) Time (storage). Virtuality. Architecture Layered Hierarchical Algorithms Information hiding, ADTs, objects - PowerPoint PPT Presentation

Transcript of Computer Networks

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 1

Computer Networks

Chapter 1 - Fundamentals

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 2

Computer Networks

• Need to share– Information– Resources

• Communication vs. StorageTransmission across:– Space (communication)– Time (storage)

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 3

Virtuality• Architecture

– Layered– Hierarchical

• Algorithms– Information hiding, ADTs, objects

• Protocols – Distributed coordination algorithms

• Programs– Modularity

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 4

Layered vs. Hierarchical

• Both– Peer-to-peer communication– Encapsulation– Protocol = common language/behaviors

• Layered– Layer i serves layer i+1 ONLY– Layer i gets service from layer i-1 ONLY

• Hierarchical– Lower layers serve higher layers

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 5

Layered vs. Hierarchical

• Issues– Flexibility– Efficiency– Modularity– Maintainability– Scalability/manageability– Future adaptability

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 6

Comparative Architectures7 - Application

6 - Presentation

5 - Session

4 - Transport

3 - Network

2 – Data Link

1 - Physical

UserApplication

Data Link ControlDDCMP

Physical 1 - Physical

Path Control

Transmission Ctl

Data Flow Control

Transport

Functional Management Data Services

Network Services Protocol

NetworkApplication

ISO - OSI IBM - SNA DEC - DECnet

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 7

OSI Reference Architecture

• Physical (L1 = PHY)

• Data Link (L2 = MAC/Link)

• Network (L3)

• Transport (L4)

• Session (L5)

• Presentation (L6)

• Application (L7)

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 8

PHY Layer

• Hardware• Physical manipulation of medium

(modulation)• Physical sensing of medium (detection)• Low level synchronization

(bits/symbols/frames)• Forward error correction/error detection• Mechanical/electrical interconnect and

medium

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 9

Link Layer• Firmware• Framing• Addressing• Medium access control (MAC)• Backward error detection/correction• Reliable delivery of frames from one STA

to a directly connected STA• Pacing• Upward multiplexing

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 10

Network Layer

• Software/firmware• Packets/cells• Routing• Packet fragmentation/reassembly• Backward error correction• Delivery of frames from source to an

indirectly connected destination• Congestion control

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 11

Transport Layer• Software on end host: End-to-end layer• Reliable communication stream

– Messages– Byte stream– Ordering– BEC

• Upward Multiplexing• Delivery of messages/byte stream from

source process to destination process• Congestion control

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 12

Session Layer

• Software on end host: end-to-end layer

• Stream management

• Dialog control

• Packet chaining (atomic delivery)

• Downward Multiplexing

• Authentication

• Connection-oriented

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 13

Presentation Layer

• Software on end host

• Common utilities– Encryption– Compression– Uniform formatting (XML, ASN.1,…)

• Standardized representations

• Interfacing to local resources

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 14

Application Layer

• Software on end host

• Specific application programs– FTP– Remote terminal (rlogin, telnet, ssh,…)– Email– HTTP

• May also be layered in distributed software system

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 15

Encapsulation

applicationtransportnetworklink

physical

applicationtransportnetworklink

physical

source destination

M

M

M

M

Ht

HtHn

HtHnHl

M

M

M

M

Ht

HtHn

HtHnHl

message

segmentdatagram

frame

(thanks – Kurose & Ross)

• Receive SDU from higher layer• Hide uninterpreted SDU as payload of PDU

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 16

End-to-end Data Transport

(thanks – Kurose & Ross)

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 17

Service Models

• Interface– Connectionless– Connection-oriented

• Reliability– Best effort– Reliable

• Combinations

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 18

Service Interface

• Interface– Connectionless: memoryless

• Send packet• Receive packet

– Connection-oriented: stateful• Initialize (set up connection)• Use (send/receive)• Close (release state)

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 19

Service Reliability

• Reliability– Best effort

• Lost packets• Duplicate packets• Delayed/reordered delivery• Damaged packets

– Reliable• Undamaged packets• All packets sent delivered in timely fashion• Delivered in order sent

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 20

Message Conventions

1-REQ

2,3

2 - Tx 3 - Rx

4 - IND5 - RSP8 - CNF

6 - Tx7 - Rx6,7

Request/Confirm Indication/Response

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 21

Combining Service Models

Best Effort

Reliable

Connectionless Connection-Oriented

UDP, IP, IPX, CLNP, DECnet, Appletalk, CLNS,…

ATM

TCP, X.25, CONS???

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 22

Network Service vs. Implementation

Service

Implementation

Connectionless Connection-Oriented

UDP, CLNS

TCP, DNA

???Connectionless

Connection-Oriented X.25, ATM, CONS, SNA

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 23

Network Properties

• Scope

• Scalability

• Robustness

• Autoconfigurability

• Tweakability

• Determinism

• Migration

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 24

Network Properties - Robustness

• Types of Errors– Link/node failure– Data errors (esp. undetected!)– S/W errors– H/W errors– Human Errors

• Features

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 25

Network Properties - Robustness

• Types of Errors

• Features– Safety Barriers– Self-stabilization– Fault detection– Byzantine robustness

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 26

Reliable Data Transfer

• Models– Errors– Receiver capacity

• Requirements– Duplexity– Timers– State

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 27

Data Transfer Model• Events

– What can happen at node, channel

• Frames– What do they hold

• Duplexity– Simplex, half duplex, full duplex

• Time costs– What does it take to complete transfer

• Metrics– How do we measure the costs

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 28

Data Transfer - Events

• Node– New frame to send from HLE– Frame/ACK arrival – good frame– Frame/ACK arrival – damaged frame– Timeout– Attempt to receive next frame by HLE

• Channel– Error – damage frame– Error – lose frame

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 29

Data Transfer - Frames• Forward Control Info

– Type– Sequence number– Timestamp– Length– Addressing– Error Detection (FCS)

• Reverse Control Info– ACKs– Flow control/pacing– Piggybacking

• Information– payload

Dst Src Type SN TS Len … Payload FCS

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 30

Channel Model - Duplexity

• Simplex – only one way• Half duplex – one way at a time• Full duplex – simultaneously both ways

A BA B A B

SimplexHalf Duplex Full Duplex

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 31

Data Transfer - Delays

• Processing– Source– Destination

• Transmission– Time to put bits on wire

• Propagation– Time for bit to traverse

channel

Src Dest

Src Proc

Transmission

Dest Proc

Propagation

Propagation

Src Proc

Data frame

ACK frameACK Tx

Tx REQ

Rx REQ

Rx CNFTx CNF

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 32

Data Transfer - Metrics• Utilization

– Time sending info/total time

• Storage requirements– At source– At destination

• Channel type– duplexity

• Timers– Retransmission– ACK transmission

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 33

Reliable Data Xfer - Utopia

• Infinitely fast receiver

• Simplex channel

• No errors

• 100% utilization by protocol

Src Dest

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 34

Stop&Wait Data Xfer - Pacing

• Finitely fast receiver• Half duplex channel• No errors• <100% utilization by

protocol– UProtocol = TTx/Tcycle

– TTx= L (bits)/R (bps)– Tcycle = TTx+Tprop+Tproc+

Tprop+Tproc

Src Dest

OK

OK

Data time

Cycle time

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 35

Reliable Data Xfer – PAR(Positive ACK and Retransmit)

• Finitely fast receiver

• Full duplex channel

• Channel errors

• Utilization factor due to errors– Uerrors = Tgood/ Tgood+ Tbad

• U = Uprotocol x Uerrors

Src Dest

ACK-

*

ACK-

X

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 36

Reliable Data Xfer – PARneed for sequence numbers

Src Dest

ACK-

*

ACK-

X

Src Dest

ACK-

*

ACK-

X

Frame 1

Frame 2

Frame 2 - duplicate

Missing ACK Missing ACK

ACK

Frame 1

Frame 2

Frame 2 - duplicate

Missing ACK

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 37

Reliable Data Xfer – 1-bit ARQSrc Dest

ACK 1-

*

ACK 0-

X

Src Dest

ACK 1-

*

ACK 0-

X

Frame 0

Frame 1

Frame 1

Missing ACK Missing ACK

Frame 0

Frame 1

Frame 1

Missing ACK

ACK 0

accept accept

accept

accept

discardduplicate

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 38

Reliable Data Xfer – GBN ARQSrc Dest

*

-

Missing D3

D 0

D 1ACK 1 Accept D0D 2

D 3 (resent)

D 4D 5

ACK 2

ACK 3

ACK 3ACK 3 Discard D4

Discard D5

D 4D 5

ACK 6ACK 5

Accept D1Accept D2

Accept D3

Accept D4

Accept D5

ACK 4

• Multiple sequence #’s

• Channel errors

• Discard out of order frames on Rx

• Resend all frames from missing on forward

• Rx buffer size of 1

• Tx buffer size of N

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 39

Reliable Data Xfer – SR ARQSrc Dest

*

-

Missing D3

D 0

D 1ACK 1 Accept D0D 2

D 3 (resent)

D 4D 5

ACK 2

ACK 3

ACK 3ACK 3 Buffer D4

Buffer D5

D 6D 7

ACK 8ACK 7

Accept D1Accept D2

Accept D3

Accept D6

Accept D7

ACK 6

• Multiple sequence #’s

• Channel errors

• Buffer out of order frames on Rx

• Resend only missing frame

• Rx buffer size of N

• Tx buffer size of k

CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 40

Protocol Utilization –ARQSrc Dest

T data

T cycle

• Protocol util.depends on k

Uproto= kT/(T+2)T = Tx time = D/R = propagation delay

• Uproto= k/(1+2) = /T = /(D/R)

• Utilization factor due to errors varies