Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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