Transcript ppt
Introduction to Computer
Networks
CMPE 150
Fall 2005
Lecture 14
CMPE 150- Introduction to Computer Networks
1
Announcements
• Midterm moved to 11.04.
– In class, closed books/notes.
• We will have lab this week.
• Homework 1 is due today.
• Homework 2 will be up soon.
CMPE 150- Introduction to Computer Networks
2
Today
• Finish Layer 2…
CMPE 150- Introduction to Computer Networks
3
Flow + Error Control
• Stop and Wait.
– ACKs.
• ARQ.
–
–
–
–
Noisy channels.
ACKs.
Sequence numbers.
Timers.
CMPE 150- Introduction to Computer Networks
4
Can we do better?
• Can we do better?
– Piggybacking.
– Bi-directional transmission.
– Wait for data packet and use that to piggyback
the ACK.
– Use ACK field: only a few additional bits in the
header.
• But, how long should Layer 2 wait to send an
ACK?
– ACK timers!
CMPE 150- Introduction to Computer Networks
5
Can we do even better?
• In Stop and Wait, only 1 frame outstanding at
any given point in time.
• What’s the problem with that?
– “Loooong pipes”.
S
R
– “Fat pipes”.
S
CMPE 150- Introduction to Computer Networks
R
6
Sliding Window
• Window: number of “outstanding” frames at
any given point in time.
– So what’s the window size of Stop and Wait?
• Every ACK received, window slides.
CMPE 150- Introduction to Computer Networks
7
Sliding Window: Example
• A sliding window of size 1, with a 3-bit sequence
number.(a) Initially; (b) After the first frame has
been sent; (c) After the first frame has been
received;(d) After the first acknowledgement has
been received.
CMPE 150- Introduction to Computer Networks
8
Sliding Window: Basics
• Allows multiple frames to be in transit at the
same time.
• Receiver allocates buffer space for n frames.
• Transmitter is allowed to send n (window size)
frames without receiving ACK.
• Sequence number?
CMPE 150- Introduction to Computer Networks
9
Sliding Window: Receiver
• Receiver maintains window corresponding with
frames it can receive.
• Receiver ack’s frame by including sequence
number of next expected frame.
– Cumulative ACK: ack’s multiple frames.
• Example: if receiver receives frames 2,3, and 4,
it sends an ACK with sequence number 5,
which ack’s receipt of 2, 3, and 4.
CMPE 150- Introduction to Computer Networks
10
Sliding Window: Sender
• Sender maintains window corresponding to
frames (sequence numbers) it’s allowed to
send.
• Sequence numbers are bounded; if frame
reserves k-bit field for sequence numbers,
then they can range from 0 … 2k -1.
• Transmission window shrinks each time frame
is sent, and grows each time an ACK is
received.
CMPE 150- Introduction to Computer Networks
11
Example: 3-bit sequence number
and window size 7
A (Sender)
B (Receiver)
0 1 2 3 4 5 6 7 0 1 2 3 4…
0123456701234
0
1
0123456701234
2
ACK 3
0123456701234
0123456701234
0123456701234
0123456701234
ACK 4
0123456701234
CMPE 150- Introduction to Computer Networks
3
45 0 1 2 3 4 5 6 7 0 1 2 3 4
6
0123456701234
12
One-Bit Sliding Window Protocol
Two scenarios: (a) Normal case. (b) Abnormal case.
Notation is (seq, ack, packet number). An * indicates where a
network layer accepts packet. ACK indicates last sequence
number received.
CMPE 150- Introduction to Computer Networks
13
Bandwidth-Delay Product
• How large should the sender’s window be?
• Function of how “fat and long” the pipe is
BW
S
R
RTT
W = BW*RTT/data size
CMPE 150- Introduction to Computer Networks
14
Pipelining
Receiver’s
window size
is 1: discard
frames after error
with no ACK.
Go Back N
Receiver’s
window size
is large: buffers
all frames until error
Selective Repeat
recovered.
• Pipelining and error recovery. Effect on error when (a)
Receiver’s window size is 1. (b) Receiver’s window size is
large.
CMPE 150- Introduction to Computer Networks
15
Medium Access Control
• MAC.
• Tanenbaum, Chapter 4.
CMPE 150- Introduction to Computer Networks
16
Why MAC?
• Point-to-point versus shared-medium
networks.
• Shared-medium networks use “broadcast”
channels.
– A.k.a. multi-access or random access
channels.
MAC layer protocols regulate access to
medium in shared-medium networks.
CMPE 150- Introduction to Computer Networks
17
Where is the MAC Sub-Layer?
MAC
CMPE 150- Introduction to Computer Networks
18
Where is the MAC Sub-Layer?
Application
Transport
Network
DLL
Link Control
MAC
PHY
CMPE 150- Introduction to Computer Networks
19
MAC and LANs
• LANs typically use shared-medium.
• Examples?
• MAC layer critical!
– BTW, in wireless networks also!
• WANs typically use point-to-point
connections.
CMPE 150- Introduction to Computer Networks
20