Final Review Fall 2017 Profs Peter Steenkiste & Justine Sherry

Similar documents
CSE/EE 461 Wireless and Contention-Free Protocols

Virtual University of Pakistan. Describe the Hidden Node and Exposed Node problems in Standard? VUSR. [Larry L. Peterson]

CSE 461: Multiple Access Networks. This Lecture

Link Layer: Retransmissions

CSE 461: Wireless Networks

Link Layer. (continued)

CS 3640: Introduction to Networks and Their Applications

CSE/EE 461 Section 2

High Level View. EE 122: Ethernet and Random Access protocols. Medium Access Protocols

Getting Connected (Chapter 2 Part 4) Networking CS 3470, Section 1 Sarah Diesburg

EE 122: Ethernet and

Mohamed Khedr.

CSE 461 Multiple Access. David Wetherall

CS 43: Computer Networks. 27: Media Access Contd. December 3, 2018

Chapter 12 Multiple Access 12.1

Homework #4. Due: December 2, 4PM. CWND (#pkts)

Announcements: Assignment 4 due now Lab 4 due next Tuesday Assignment 5 posted, due next Thursday

CMPE 257: Wireless and Mobile Networking

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking

ECEN 5032 Data Networks Medium Access Control Sublayer

IEEE , Token Rings. 10/11/06 CS/ECE UIUC, Fall

Wireless and Mobile Networks

Computer Network Fundamentals Spring Week 3 MAC Layer Andreas Terzis

Unit 7 Media Access Control (MAC)

Computer Communication Networks Midterm Review

CMPE 257: Wireless and Mobile Networking

Review. Error Detection: CRC Multiple access protocols. LAN addresses and ARP Ethernet. Slotted ALOHA CSMA/CD

CSCD 433 Network Programming Fall Lecture 7 Ethernet and Wireless

ECE 435 Network Engineering Lecture 10

IEEE Medium Access Control. Medium Access Control

Lecture 15 Networking Fundamentals. Today s Plan

COMP/ELEC 429/556 Introduction to Computer Networks

CS118 Discussion 1A, Week 9. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Medium Access Control. CSCI370 Lecture 5 Michael Hutt New York Institute of Technology

15-441: Computer Networking. Wireless Networking

ECE 4450:427/527 - Computer Networks Spring 2017

CHAPTER 7 MAC LAYER PROTOCOLS. Dr. Bhargavi Goswami Associate Professor & Head Department of Computer Science Garden City College

Wireless Network and Mobility

Medium Access Control. MAC protocols: design goals, challenges, contention-based and contention-free protocols

Strengthening Unlicensed Band Wireless Backhaul

Lecture 16: QoS and "

Medium Access Control. IEEE , Token Rings. CSMA/CD in WLANs? Ethernet MAC Algorithm. MACA Solution for Hidden Terminal Problem

Computer Communication III

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

Final Exam Computer Networks Fall 2015 Prof. Cheng-Fu Chou

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Total /75 xxxxxxxxxx

CS 43: Computer Networks Media Access. Kevin Webb Swarthmore College November 30, 2017

The Link Layer II: Ethernet

ECE 158A: Lecture 13. Fall 2015

Wireless LANs. ITS 413 Internet Technologies and Applications

Multiple Access Links and Protocols

Announcements / Wireless Networks and Applications Lecture 9: Wireless LANs Wireless. Regular Ethernet CSMA/CD.

Local Area Networks NETW 901

Introduction to Wireless Networking CS 490WN/ECE 401WN Winter Lecture 4: Wireless LANs and IEEE Part II

Lecture 12 December 04, Wireless Access. Graduate course in Communications Engineering. University of Rome La Sapienza. Rome, Italy

CS 716: Introduction to communication networks. - 9 th class; 19 th Aug Instructor: Sridhar Iyer IIT Bombay

LECTURE PLAN. Script. Introduction about MAC Types o ALOHA o CSMA o CSMA/CD o CSMA/CA

Wireless Local Area Networks. Networks: Wireless LANs 1

CSCI Spring Final Exam Solution

Multiple Access in Cellular and Systems

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

Lecture (08) Wireless Traffic Flow and AP Discovery

Sharing Channels CS 118

ICE 1332/0715 Mobile Computing (Summer, 2008)

Wireless Local Area Networks (WLANs)) and Wireless Sensor Networks (WSNs) Computer Networks: Wireless Networks 1

Chapter 16 Networking

Name Student ID Department/Year. Final Examination. Introduction to Computer Networks Class#: Fall :20-11:00 Tuesday January 13, 2004

Lesson 2-3: The IEEE x MAC Layer

Medium Access Control (MAC) Protocols for Ad hoc Wireless Networks -IV

CS 123: Lecture 12, LANs, and Ethernet. George Varghese. October 24, 2006

Review Materials: Set B EE122 Fall 2012

Student ID: CS457: Computer Networking Date: 5/8/2007 Name:

Wireless MACs: MACAW/802.11

Lecture 24: CSE 123: Computer Networks Stefan Savage. HW4 due NOW

Shared Access Networks Wireless. 1/27/14 CS mywireless 1

Rahman 1. Application

Aloha and slotted aloha

Midterm Exam CSCE 232: Computer Networks Fall Instructions:

CSCI 466 Midterm Networks Fall 2011

Lecture 23 Overview. Last Lecture. This Lecture. Next Lecture ADSL, ATM. Wireless Technologies (1) Source: chapters 6.2, 15

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1

COMP3331/9331 XXXX Computer Networks and Applications Final Examination (SAMPLE SOLUTIONS)

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

A and C cant see each other, both send to B RTS/CTS can help

Reminder: Datalink Functions Computer Networking. Datalink Architectures

Lecture 25: CSE 123: Computer Networks Alex C. Snoeren. HW4 due NOW

IEEE Technical Tutorial. Introduction. IEEE Architecture

Ethernet Switches Bridges on Steroids. Ethernet Switches. IEEE Wireless LAN. Ad Hoc Networks

Data and Computer Communications. Chapter 13 Wireless LANs

Homework 1. Question 1 - Layering. CSCI 1680 Computer Networks Fonseca

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 24: Mobile and Wireless

TCP : Fundamentals of Computer Networks Bill Nace

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Logical Link Control (LLC) Medium Access Control (MAC)

Media Access Control in Ad Hoc Networks

CSCI-1680 Wireless Rodrigo Fonseca

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Problem 7. Problem 8. Problem 9

Transcription:

Final Review 15-441 Fall 2017 Profs Peter Steenkiste & Justine Sherry

Facts The Final is next week. It mostly covers things after the midterm, but there is significant material from before. There were two TCP questions on the original version of the midterm, but we cut one because it was too long. That TCP question is now on the final. The big things to know are Security, Wireless, Link Layer, and QoS/ Prioritization.

Your Piazza Questions broke down in to two camps: TCP/CWNDs and CSMA/CD, CA, etc.

What is the relationship between CWND and BDP?

What is CWND?

CWND: The number of unacked bytes that TCP can have outstanding.

CWND is another way of saying: how many bytes should TCP be able to have in the network without B having received them yet?

Abstract View of Link A B Sending Host Receiving Host

Abstract View of Link A B Sending Host Receiving Host

Abstract View of Link A B Sending Host Receiving Host A sends to B at a rate of r Mbps over a link with latency d millisec.

Abstract View of Link A B Sending Host Receiving Host A sends to B at a rate of r Mbps over a link with latency d millisec. In b milliseconds, A can stuff r*d packets into the pipe These packets have been sent by A, but have not yet been received by B

Abstract View of Link A B Sending Host Receiving Host r * d is our bandwidth-delay product AKA how much stuff fits in the pipe at a time.

Big Idea: if A maintains that there are r * d bytes in that pipe constantly, then A can keep the pipe full meaning achieve the maximum possible sending rate through that pipe.

Hence, perfect CWND is 2 * r * d (or r * RTT). Why * 2?

Need to wait for the ACKs!

Abstract View of Link A B Sending Host Receiving Host 2 * r * d total packets in the network.

From the homework: Wireshark does not show CWND directly. Give your best estimation about the initial CWND and explain how did you get the value.

Anyone want to explain how they did it?

Count the number of packets in the pipe! A B Sending Host Receiving Host After the handshake, you should have seen some number of packets leave A how many packets left A before you received the first ACK back for that first packet after the handshake?

Selective ACKs in TCP

SACKs are useful when you have multiple losses.

Seq = 1 Seq = 2 By default, TCP uses cumulative ACKS. Seq = 3 Seq = 4 Return one value: the next byte expected.

ACK 2 ACK 3 ACK 4 ACK 5 Seq = 1 Seq = 2 Seq = 3 Seq = 4 By default, TCP uses cumulative ACKS. Return one value: the next byte expected.

Seq = 1 ACK 2 On loss: only know one byte that was lost: Seq = 4 the next byte ACK 2 expected.

Seq = 1 ACK 2 On loss: only know one byte that was lost: Seq = 4 the next byte expected.

Seq = 1 ACK 2 On loss: only know one byte that was lost: Seq = 4 the next byte ACK 2 expected. Seq = 2 ACK 3

Seq = 1 ACK 2 On loss: only know one byte that was lost: Seq = 4 the next byte ACK 2 expected. Seq = 2 ACK 3 Seq = 3 ACK 5

Seq = 1 ACK [1, _, _, _] With SACK, we send back a scoreboard Seq = 4 of ACKs rather than a ACK [1, _, _, 4] cumulative ACK.

Seq = 1 ACK [1, _, _, _] With SACK, we send back a scoreboard Seq = 4 of ACKs rather than a ACK [1, _, _, 4] cumulative ACK. ACK [2, _, 4, _] ACK [5, _, _, _] Seq = 2 Seq = 3 Can retransmit more efficiently!

The difference between CSMA/CA and CSMA/CD

Quick, someone describe CSMA/CD!

Key to CSMA/CD: everyone who wants to transmit can detect when collision happens. (This is not the case in wireless.)

Hidden Terminals A B C 27

Hidden Terminals A B C 27

Hidden Terminals A B C transmit range 27

Hidden Terminals A B C transmit range A and C can both send to B but can t hear each other A is a hidden terminal for C and vice versa 27

Hidden Terminals A B C transmit range A and C can both send to B but can t hear each other A is a hidden terminal for C and vice versa Carrier Sense will be ineffective 27

Exposed Terminals A B C D 28

Exposed Terminals A B C D 28

Exposed Terminals A B C D 28

Exposed Terminals A B C D Exposed node: B sends a packet to A; C hears this and decides not to send a packet to D (despite the fact that this will not cause interference)! 28

Exposed Terminals A B C D Exposed node: B sends a packet to A; C hears this and decides not to send a packet to D (despite the fact that this will not cause interference)! Carrier sense would prevent a successful transmission. 28

Key Points 29

Key Points No concept of a global collision Different receivers hear different signals Different senders reach different receivers 29

Key Points No concept of a global collision Different receivers hear different signals Different senders reach different receivers Collisions are at receiver, not sender Only care if receiver can hear the sender clearly It does not matter if sender can hear someone else As long as that signal does not interfere with receiver 29

Key Points No concept of a global collision Different receivers hear different signals Different senders reach different receivers Collisions are at receiver, not sender Only care if receiver can hear the sender clearly It does not matter if sender can hear someone else As long as that signal does not interfere with receiver Goal of protocol: Detect if receiver can hear sender Tell senders who might interfere with receiver to shut up 29

Basic Collision Avoidance 30

Basic Collision Avoidance Since can t detect collisions, we try to avoid them 30

Basic Collision Avoidance Since can t detect collisions, we try to avoid them Carrier sense: When medium busy, choose random interval Wait that many idle timeslots to pass before sending 30

Basic Collision Avoidance Since can t detect collisions, we try to avoid them Carrier sense: When medium busy, choose random interval Wait that many idle timeslots to pass before sending When a collision is inferred, retransmit with binary exponential backoff (like Ethernet) Use ACK from receiver to infer no collision Use exponential backoff to adapt contention window 30

CSMA/CA -MA with Collision Avoidance sender receiver other node in sender s range Before every data transmission 31

CSMA/CA -MA with Collision Avoidance sender RTS receiver other node in sender s range Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the transmission 31

CSMA/CA -MA with Collision Avoidance sender RTS CTS receiver other node in sender s range Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the transmission Receiver respond with a Clear to Send (CTS) frame 31

CSMA/CA -MA with Collision Avoidance sender RTS CTS data receiver other node in sender s range Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the transmission Receiver respond with a Clear to Send (CTS) frame Sender sends data 31

CSMA/CA -MA with Collision Avoidance sender RTS CTS data ACK receiver other node in sender s range Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the transmission Receiver respond with a Clear to Send (CTS) frame Sender sends data Receiver sends an ACK; now another sender can send data 31

CSMA/CA -MA with Collision Avoidance sender RTS CTS data ACK receiver other node in sender s range Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the transmission Receiver respond with a Clear to Send (CTS) frame Sender sends data Receiver sends an ACK; now another sender can send data When sender doesn t get a CTS back, it assumes collision 31

CSMA/CA, con t receiver sender RTS other node in sender s range CTS data data 32

CSMA/CA, con t receiver sender RTS other node in sender s range CTS data data If other nodes hear RTS, but not CTS: send Presumably, destination for first sender is out of node s range 32

CSMA/CA, con t sender RTS CTS receiver other node in sender s range If other nodes hear RTS, but not CTS: send Presumably, destination for first sender is out of node s range Can cause problems when a CTS is lost 33

CSMA/CA, con t sender RTS CTS data ACK receiver other node in sender s range If other nodes hear RTS, but not CTS: send Presumably, destination for first sender is out of node s range Can cause problems when a CTS is lost When you hear a CTS, you keep quiet until scheduled transmission is over (hear ACK) 33

RTS / CTS Protocols (CSMA/CA) B sends to C B C 34

RTS / CTS Protocols (CSMA/CA) B sends to C A B C D Overcome hidden terminal problems with contention-free protocol 34

RTS / CTS Protocols (CSMA/CA) B sends to C A RTS B C D Overcome hidden terminal problems with contention-free protocol 1. B sends to C Request To Send (RTS) 34

RTS / CTS Protocols (CSMA/CA) B sends to C A RTS B C D Overcome hidden terminal problems with contention-free protocol 1. B sends to C Request To Send (RTS) 2. A hears RTS and defers (to allow C to answer) 34

RTS / CTS Protocols (CSMA/CA) B sends to C A RTS B C D CTS Overcome hidden terminal problems with contention-free protocol 1. B sends to C Request To Send (RTS) 2. A hears RTS and defers (to allow C to answer) 3. C replies to B with Clear To Send (CTS) 34

RTS / CTS Protocols (CSMA/CA) B sends to C A RTS B C D CTS Overcome hidden terminal problems with contention-free protocol 1. B sends to C Request To Send (RTS) 2. A hears RTS and defers (to allow C to answer) 3. C replies to B with Clear To Send (CTS) 4. D hears CTS and defers to allow the data 34

RTS / CTS Protocols (CSMA/CA) B sends to C A RTS B C D CTS Overcome hidden terminal problems with contention-free protocol 1. B sends to C Request To Send (RTS) 2. A hears RTS and defers (to allow C to answer) 3. C replies to B with Clear To Send (CTS) 4. D hears CTS and defers to allow the data 5. B sends to C 34

Alt: Preventing Collisions Altogether 35

Alt: Preventing Collisions Altogether Partition space into non-overlapping cells. 35

Alt: Preventing Collisions Altogether Partition space into non-overlapping cells. 35

Why doesn t Google use anycast to redirect traffic to its servers instead of DNS redirection?

Answer: performance

Answer: performance Recall: routing over the Internet follows sub-optimal paths. Why?

Answer: performance Recall: routing over the Internet follows sub-optimal paths. Why? Follow the money policies (choose cheap routes over short ones)

Answer: performance Recall: routing over the Internet follows sub-optimal paths. Why? Follow the money policies (choose cheap routes over short ones) AS path lengths don t necessarily correlate to shortest geographic paths / lowest latencies anyway

Answer: performance Recall: routing over the Internet follows sub-optimal paths. Why? Follow the money policies (choose cheap routes over short ones) AS path lengths don t necessarily correlate to shortest geographic paths / lowest latencies anyway And it s common for operators to just misconfigure stuff too.

If we use anycast, we re letting the sub-optimal routing protocols take charge: no guarantee they ll pick the best choice. google.com 1.2.3.4 AS 2 AS 3 google.com 1.2.3.4? AS 1 google.com 1.2.3.4 AS 4

With DNS redirection, Google can pick best route themselves, based on what IP address their DNS server returns for the domain name google.com 1.2.3.4 AS 2 AS 3 google.com 1.2.3.5 AS 1 google.com 1.2.3.6 AS 4

Bonus question: if anycast leads to sub-optimal routing, why does Google DNS (8.8.8.8) use anycast?

Answer: it s a chicken and egg problem. You can t use DNS redirection to find your optimal DNS resolver, because you d need to use your DNS resolver to look up its own DNS name

What is a PKI?

Public Key Infrastructure

Public Key Infrastructure How do I get the public key of someone I don t know? How do I know it s them?

Public Key Infrastructure How do I get the public key of someone I don t know? How do I know it s them? I can go find them in the real world, check their ID card, get their public key.

Public Key Infrastructure How do I get the public key of someone I don t know? How do I know it s them? I can go find them in the real world, check their ID card, get their public key. Or, I can ask a central database that authoritatively stores everyone s public key.

Public Key Infrastructure How do I get the public key of someone I don t know? How do I know it s them? I can go find them in the real world, check their ID card, get their public key. Or, I can ask a central database that authoritatively stores everyone s public key. Everyone registers with the central database, and anyone can look up anyone else s public key in the database.

Public Key Infrastructure How do I get the public key of someone I don t know? How do I know it s them? I can go find them in the real world, check their ID card, get their public key. Or, I can ask a central database that authoritatively stores everyone s public key. Everyone registers with the central database, and anyone can look up anyone else s public key in the database. Implication: everyone has to trust the key provider.

What does the Hamming Distance figure in the lecture slides mean?

I don t understand the figure either.

Here s a review of Hamming Distances though.

How many bit flips do you need to turn one binary string into another? That s it. That s Hamming distance.

Why do Hamming distances matter? Hamming distances put a bound on how much a Forward Error Correction algorithm can fix corrupted bitstrings back to their original value. If the valid words of a code have minimum Hamming distance D, then D-1 bit errors can be detected. If the valid words of a code have minimum Hamming distance D, then [(D-1)/2] bit errors can be corrected.

Good luck! My office hours ARE being held next week, but Prof Steenkiste s are not. TA s OH are pending their own exam schedules.