260 likes | 384 Views
ECEN4533 Data Communications Lecture #27 11 March 2013 Dr. George Scheets. Problems Web 20-22 Corrected Exams One week after return (DL) Design #2 Due 15 March (Live) Due 22 March (DL) Quiz #2 on 27 March. ECEN4533 Data Communications Lecture #28 13 March 2013 Dr. George Scheets.
E N D
ECEN4533 Data CommunicationsLecture #27 11 March 2013Dr. George Scheets • Problems Web 20-22 • Corrected Exams • One week after return (DL) • Design #2 • Due 15 March (Live) • Due 22 March (DL) • Quiz #2 on 27 March
ECEN4533 Data CommunicationsLecture #28 13 March 2013Dr. George Scheets • Read 8.5, 8.6 • Problems Web 23, Quiz #2 2010 • Design #2 • Due 15 March (Live) • Due 22 March (DL) • Quiz #2 on 27 March • Design 1 Final Scores • Hi = 70, Low = 38.5, Ave = 59.92, σ = 14.13
ECEN4533 Data CommunicationsLecture #29 15 March 2013Dr. George Scheets • Problems Quiz #2 2011 & 2011 • Design #2 • Due 15 March (Live) • Due 22 March (DL) • Quiz #2 on 27 March
Internet Packet Traffic (Daily) Amsterdam Internet Exchange
RFC2988 Algorithm time RTO RTT 5 3 Steady round-trip times of 500 msec with no variation. Initial RTO = 3 seconds. RTO settles on 500 msec. ACK #
RFC2988 Algorithm time RTO RTT 5 3 Round-trip times uniformly distributed between 0 & 1 second. Initial RTO = 3 seconds. RTO settles on about 1.3 seconds. ACK #
How does time out value effect performance the end user sees? • It doesn't if dropped packets are rare. • Line speed important, not RTT accuracy • Can severely effect wait if dropped packets are common.
TCP Flow Chart (simplified) no flow to send? yes slow start normal ops congestion avoidance
Terms • Advertised Window • What info sink is advertising in ACK • Available Window • Source's "Cleared to Send" moving window • Shrinks as segments sent • Expands as ACK's received • Congestion Window • Used during Slow Start & Congestion • Same as Advertised Window during Normal Ops
TCP Slow Start • Used on flow start up. • Congestion Window set = 1 segment • Info Source transmits 1 packet • Each ACK received bumps Congestion Window by +1 • Allows Source to transmit 2 packets for every ACK received (assuming Info Sink transmits an ACK for every packet it receives & nothing lost) • Congestion Window = Advertised Window? • Enter Normal Operation
Units are segments. Congestion Window sets the pace. TCP Slow Start timed out? enter slow start continue slow start ConWind = 1 window* = min(ConWind, AdvWind) yes ConWind < AdvWind? no congestion avoidance normal ops send packet window*= window*-1 ConWind + 1 adjust window* window* = 0? no adjust round-trip estimate & RTO yes yes ACK received? halt window* = Available (moving) Window (at Source)
TCP Normal Operation • Congestion Window = Advertised Window • During Normal Operation • Info Source • Transmits so long as Available Window > 0 • Info Sink • ACK's received segments • May adjust Window size • Transmission pace set by • Window Size as compared to NPD • Rate ACK's received
timed out? Normal Operation (Info Source) enter normal ops ACK received? congestion avoidance send packet decrease window* yes window* = 0? Normal Operations Congestion Window = Advertised Window no adjust window* adjust round-trip estimate & RTO yes halt window* = Available (moving) Window (at Source)
Time Out Occurs? Info Source... • Retransmits missing segment • Doubles RTO value • Readjusts RTO via RFC2988 when ACK received • Enters congestion avoidance mode • Sets Slow Start Threshold = Congestion Window/2 • Sets Congestion Window = 1 • Executes Slow Start • Congestion window +1 for every ACK received • Until Congestion Window > Slow Start Threshold, then... • Executes Additive Increase • Congestion Window +1 every RTT • Until Congestion Window = Advertised Window, then... • Enter Normal Operations
Units are segments. Congestion Window sets the pace. Congestion Avoidance timed out? enter slow start continue slow start ConWind = 1 SSThreshold = AdvWind/2 window* = min(ConWind, AdvWind) yes ConWind < SSThres? no congestion avoidance Additive Increase send packet window*= window*-1 ConWind + 1 adjust window* window* = 0? adjust round-trip estimate & RTO no yes ACK received? yes halt window* = Available (moving) Window (at Source)
Units are segments. Congestion Window sets the pace. Congestion Avoidance timed out? Additive Increase continue Additive window* = min(ConWind, AdvWind) yes ConWind < AdvWind? no congestion avoidance Normal Ops send packet window*= window*-1 adjust round-trip estimate & RTO window* = 0? adjust window* no yes yes ACK received? ConWind + 1 Every RTT halt window* = Available (moving) Window (at Source)
Fast Retransmission • 3 duplicate ACK's? • Immediately ship missing segment • No Time Out? • Proceed as if everything OK • Time out before missing segment ACKed? • Enter "Fast Recovery" • Congestion Window cut in half • Use Additive IncreaseCongestion Window +1 every RTT
Units are segments. Congestion Window sets the pace. Fast Recovery timed out? Additive Increase continue Additive window* = min(ConWind, AdvWind) yes ConWind < AdvWind? no congestion avoidance Normal Ops send packet window*= window*-1 adjust round-trip estimate & RTO window* = 0? adjust window* no yes yes ACK received? ConWind + 1 Every RTT halt window* = Available (moving) Window (at Source)
If line fails, fix at lowest layer • SONET 1st • Shoots for 50 msec fix • ATM or Carrier Ethernet Second • Routers 3rd
Two main types of protection • Line Protection • All traffic on inop line routed around break • Treated as one bundle • Path Protection • All affected end-to-end connections are completely rerouted • Line Protection is faster • Path Protection uses less resources
Anaheim to Dallas Link Fails If Line Protection, all affected traffic is rerouted around break. 1 - 30 Paths 31 - 60 Paths 61 - 90 Paths 91 - 120 Paths 121+ Paths Figure 1) 17 Node, 27 Link Test Network with 500 End - to - End Optical Paths. Links are color coded based on traffic density.
Anaheim - Dallas Fails Example here is Path Protection. Note changes in NE.
UDP Header Source Port Destination Port Checksum Sequence Length