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