1 1 EE 122: Final Review Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/fa09 (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley) Announcements Project 2 due Friday, Dec 11, 11:59pm Final exam: Dec 17, 8-11am, 10 Evans Hall My office hours next week My office hours: MW 10-11:30am The office hours of everyone else unchanged Final Exam Open book, open notes! Crib sheets ok if you like Comprehensive, but greater focus on material since midterm Questions similar in format to the first midterm Problem set-up descriptions + multipart fill-ins All answers on the exam sheets we hand out Bring PENCIL, ERASER, no calculators needed Outline Persistent Oscillations TCP Multicast: DVRMP Token Bucket Integrated & Differentiated Services Routing in Chord
15
Embed
EE 122: Final Review - University of California, Berkeleyinst.eecs.berkeley.edu/~ee122/fa09/notes/25-FinalReviewx4.pdf · 2 5 Routing: Persistent Oscillations Assume link cost = amount
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
1
EE 122: Final Review Ion Stoica
TAs: Junda Liu, DK Moon, David Zats
http://inst.eecs.berkeley.edu/~ee122/fa09 (Materials with thanks to Vern Paxson, Jennifer Rexford,
and colleagues at UC Berkeley)
Announcements
Project 2 due Friday, Dec 11, 11:59pm
Final exam: Dec 17, 8-11am, 10 Evans Hall
My office hours next week My office hours: MW 10-11:30am The office hours of everyone else unchanged
Final Exam
Open book, open notes! Crib sheets ok if you like
Comprehensive, but greater focus on material since midterm
Questions similar in format to the first midterm Problem set-up descriptions + multipart fill-ins
All answers on the exam sheets we hand out Bring PENCIL, ERASER, no calculators needed
Routing: Persistent Oscillations Assume link cost = amount of carried traffic
A
D
C
B 0 0
0 0 0 0
No traffic
A
D
C
B 1 1
0 0 0 0
B to A: 1 unit of traffic D to A: 1 unit of traffic
1 1
A
D
C
B 1 1+e
e 1 0 0
CA: e units of traffic
1 1 e
6
Routing: Persistent Oscillations Assume link cost = amount of carried traffic
A
D
C
B 1 1+e
e 0
e 1 1
0 0
A
D
C
B 2+e 0
0 0 1+e 1
B to A: cost(BCDA) = 1 lower than cost(BA) = 1+e
C to A: cost(CDA) = 1 lower than cost(CBA) = 1+2*e
1 1 e
B to A: switches to BCDA
C to A: switches to CDA
7
Routing: Persistent Oscillations Assume link cost = amount of carried traffic
A
D
C
B 2+e 0
0 0
e 1 1
1+e 1
B to A: cost(BA) = 0 lower than cost(BCDA) = 4+2*e C to A: cost(CBA) = 0 lower than cost(CDA) = 3+2*e D to A: cost(DCBA) = 0 lower than cost(DA) = 2+e
B to A: switches to BA
C to A: switches to CBA
D to A: switches to DCBA
A
D
C
B 0 2+e
1+e 1 0 0
1 1 e
8
Routing: Persistent Oscillations Assume link cost = amount of carried traffic
B to A: cost(BCDA) = 0 lower than cost(BCDA) = 4+2*e C to A: cost(CBA) = 0 lower than cost(CDA) = 3+2*e D to A: cost(DCBA) = 0 lower than cost(DA) = 2+e
B to A: switches to BCDA
C to A: switches to CDA
D to A: switches to DA
A
D
C
B 0 2+e
1+e 1 0 0
1 1 e
A
D
C
B 2+e 0
e 0 1+e 1
1 1 e
3
Outline
Persistent Oscillations TCP Wireless MAC Multicast: DVRMP Token Bucket Integrated & Differentiated Services Routing in CAN & Chord
TCP Congestion Control
Flow control keeps one fast sender from overwhelming a slow receiver
Congestion control keeps a set of senders from overloading the network
Three congestion control problems: Adjusting to bottleneck bandwidth
Without any a priori knowledge Could be a Gbps link; could be a modem
Adjusting to variations in bandwidth Sharing bandwidth between flows
Wait for Retransmission Time Out (RTO) RTO kills throughput
In BSD TCP implementations, RTO is usually more than 500ms The granularity of RTT estimate is 500 ms Retransmission timeout is RTT + 4 * mean_deviation
Solution: Don’t wait for RTO to expire
20
Fast Retransmits
Resend a segment after 3 duplicate ACKs Duplicate ACK means
that an out-of sequence segment was received
Notes: ACKs are for next
expected packet Packet reordering can
cause duplicate ACKs Window may be too
small to get enough duplicate ACKs
ACK 2
segment 1 cwnd = 1
cwnd = 2 segment 2 segment 3
ACK 4 cwnd = 4 segment 4
segment 5 segment 6 segment 7
ACK 3
3 duplicate ACKs
ACK 4
ACK 4
ACK 4
6
21
Fast Retransmit and Fast Recovery
Retransmit after 3 duplicated acks Prevent expensive timeouts
Reduce slow starts At steady state, cwnd oscillates around
the optimal window size
Time
cwnd
Slow Start
AIMD
Fast retransmit
22
Fast Recovery: After a Fast Retransmit ssthresh = cwnd / 2 cwnd = ssthresh
Instead of setting cwnd to 1, cut cwnd in half (multiplicative decrease)
For each dup ack arrival dupack++ Indicates packet left network, so we may be able to send more MaxWindow = min(cwnd + dupack, AdvWin)
Receive ack for new data (beyond initial dup ack) dupack = 0 Exit fast recovery
But when RTO expires still do cwnd = 1
Outline
Persistent Oscillations TCP Multicast: DVRMP Token Bucket Integrated & Differentiated Services Routing in CAN & Chord