Post on 31-Dec-2015
description
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