Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
source destinationMMMM
Ht
HtHnHtHnHl
MMMM
Ht
HtHnHtHnHl
messagesegmentdatagramframe
(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
Propagation
Propagation
Src Proc
Dest 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
First Frame
Second Frame
Second Frame - 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
Protocol Utilization – 1-bit ARQ• Protocol util.
Uproto= T/(T+2τ)T = Tx time = D/RD = size (bits/frame)R = data rate (bps)τ = propagation delay
• Uproto= 1/(1+2α)α = τ /T = τ /(D/R)
τ
Src Dest
ACK 1
Frame 0
T
τ
ACK 0
Frame 1
Cycle Tim
e
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 39
Protocol Utilization – 1-bit ARQ1-bit ARQ Efficiency
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.25 0.5 1 2 4 8 16 32 64
Normalize d de lay
Effic
ienc
y
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 40
Reliable Data Xfer – GBN ARQSrc Dest
*
-
D 0D 1ACK 1
Missing D3
Accept D0D 2
D 3 (resent)
D 4D 5
ACK 2ACK 3
ACK 3ACK 3 Discard D4
Discard D5
D 4D 5
ACK 6ACK 5
Accept D1Accept D2
Accept D3
Accept D4Accept 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 41
Reliable Data Xfer – SR ARQSrc Dest
*
-
Missing D3
D 0D 1ACK 1 Accept D0D 2
D 3 (resent)
D 4D 5
ACK 2ACK 3
ACK 3ACK 3 Buffer D4
Buffer D5
D 6D 7
ACK 8ACK 7
Accept D1Accept D2
Accept D3
Accept D6Accept 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 42
Protocol Utilization – ARQSrc Dest
kT data
T cycle
• Protocol util.depends on kUproto= kT/(T+2τ)T = Tx time = D/Rτ = propagation delay
• Uproto= min(1,k/(1+2α))α = τ /T = τ /(D/R)
• Utilization factor due to errors different for GBN and SR
τ
τ
T
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 43
Protocol Utilization –ARQARQ Protocol Efficiency
0
0.2
0.4
0.6
0.8
1
1.2
0.25 0.5 1 2 4 8 16 32 64
a = normalized delay
effic
ienc
y
k=1k=2k=3k=5k=9k=17
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 44
Error Utilization Factor• SR-ARQ
Only resend missing framesUerr,SR= 1-pp = frame error prob
• GBN-ARQSend all frames after missing frameUerr,GBN=(1-p)/(1+2αp) when k>1+2αUerr,GBN=(1-p)/(1-p+kp) when k<1+2αDepends on k
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 45
Error Utilization FactorEfficiency Loss due to Errors
0
0.2
0.4
0.6
0.8
1
1.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frame Error Rate p
Effic
ienc
y
GBN k=1GBN k=2GBN k=4GBN k=8GBN k=16GBN k=32
(large a)
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 46
Overall ARQ Utilization• SR-ARQ
USR= min{(1-p),k(1-p)/(1+2α)}
• GBN-ARQUGBN= (1-p)/(1+2αp) when k>1+2αUGBN= k(1-p)/(1+2α)(1-p+kp) when k<1+2α
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 47
Overall UtilizationARQ Efficiency, p=0.001
0
0.2
0.4
0.6
0.8
1
1.2
0.25 0.5 1 2 4 8 16 32 641282565121024
Normalized delay (a)
Effic
ienc
y
both k=1GBN k=9GBN k=65GBN k=129SR k=9SR k=65SR k=129
CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman 48
Sequence Numbers• Sequence numbers are finite (usually)
Assume n bits• Hence, they wrap around
i.e., 0 follows 2n-1• Need to use circular “<“ relation
i.e., 0 > 2n-1• Need to limit range usable by sender and
acceptable to receiver (SW and RW)|SW| + |RW| <= 2n
0 12
2n-1
2n-1-12n-1
2n-1+1