Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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