1 / 37

CMPE 150 – Winter 2009

CMPE 150 – Winter 2009. Lecture 17 March 5, 2009 P.E. Mantey. CMPE 150 -- Introduction to Computer Networks. Instructor: Patrick Mantey mantey@soe.ucsc.edu http://www.soe.ucsc.edu/~mantey/ Office: Engr. 2 Room 595J Office hours: Tues 3-5 PM, Mon 5-6 PM*

ataret
Download Presentation

CMPE 150 – Winter 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMPE 150 – Winter 2009 • Lecture 17 • March 5, 2009 • P.E. Mantey

  2. CMPE 150 -- Introduction to Computer Networks • Instructor: Patrick Mantey mantey@soe.ucsc.edu http://www.soe.ucsc.edu/~mantey/ • Office: Engr. 2 Room 595J • Office hours: Tues 3-5 PM, Mon 5-6 PM* • TA: Anselm Kia akia@soe.ucsc.edu • Web site: http://www.soe.ucsc.edu/classes/cmpe150/Winter09/ • Text: Tannenbaum: Computer Networks (4th edition – available in bookstore, etc. )

  3. Syllabus

  4. Text Readings • Today: • Chapter 6, Section 6.6 (TCP Performance) • Tuesday March 10 • Chapter 7.1 (DNS), 7.2-3 • Chapter 7.4 (Multimedia)

  5. Internet Layering • Level 5 -- Application Layer • (rlogin, ftp, SMTP, POP3, IMAP, HTTP..) • Level 4 -- Transport Layer(a.k.a Host-to-Host) • (TCP, UDP) • Level 3 -- Network Layer (a.k.a. Internet) • (IP, ICMP, ARP) • Level 2 -- (Data)Link Layer / MAC sub-layer • (a.k.a. Network Interface or Network Access Layer) • Level 1 -- Physical Layer

  6. Transport Layer – Connection Oriented Service • Addressing / Access Points • Connection Request / Establishment • Delayed Duplicate Packet Problem • Timer management • Connection points • Connection Release

  7. Today’s Agenda • Transport Layer • TCP: Timers / RTT estimates • Exponential backoff • Wireless vs. wired • Transactional TCP • Performance

  8. Port Detective http://www.softpedia.com/get/Network-Tools/Network-Testing/Port-Detective.shtml

  9. 3389 Remote desktop (Windows XP) Reference: http://www.microsoft.com/windowsxp/using/networking/expert/northrup_03may16.mspx ==========================================================See also:http://www.chebucto.ns.ca/~rakerman/port-table.html

  10. TCP Congestion Control • (a) A fast network feeding a low capacity receiver. • (b) A slow network feeding a high-capacity receiver.

  11. Jacobson’s Algorithm 1 • Determining the round-trip time: • TCP keeps RTT variable. • When segment sent, TCP measures how long it takes to get ACK back (M). • RTT = alpha*RTT + (1-alpha)M. • alpha: smoothing factor; determines weight given to previous estimate. • Typically, alpha=7/8.

  12. Jacobson’s Algorithm 2 • Determining timeout value: • Measure RTT variation, or |RTT-M|. • Keeps smoothed value of cumulative variation D=alpha*D+(1-alpha)|RTT-M|. • Alpha may or may not be the same as value used to smooth RTT. • Timeout = RTT+4*D.

  13. Karn’s Algorithm • How to account for ACKs of retransmitted segments? • Count it for first or second transmission? • Karn proposed not to update RTT on any retransmitted segment. • Instead RTT is doubled on each failure until segments get through.

  14. TCP Congestion Control: Example cwin timeout threshold threshold time

  15. Persistence Timer • Prevents deadlock if an window update packet is lost and advertised window = 0. • When persistence timer goes off, sender probes receiver; receiver replies with its current advertised window. • If = 0, persistence timer is set again.

  16. Keepalive Timer • Goes off when a connection is idle for a long time. • Causes one side to check whether the other side is still alive. • If no answer, connection terminated.

  17. TCP Timer Management • (a) Probability density of ACK arrival times in the data link layer. • (b) Probability density of ACK arrival times for TCP.

  18. TCP Retransmission Timer • When segment sent, retransmission timer starts. • If segment ACKed, timer stops. • If time out, segment retransmitted and timer starts again.

  19. How to set timer? • Based on round-trip time: time between a segment is sent and ACK comes back. • If timer is too short, unnecessary retransmissions. • If timer is too long, long retransmission delay.

  20. Jacobson’s Algorithm 1 • Determining the round-trip time: • TCP keeps RTT variable. • When segment sent, TCP measures how long it takes to get ACK back (M). • RTT = alpha*RTT + (1-alpha)M. • alpha: smoothing factor; determines weight given to previous estimate. • Typically, alpha=7/8.

  21. Jacobson’s Algorithm 2 • Determining timeout value: • Measure RTT variation, or |RTT-M|. • Keeps smoothed value of cumulative variation D=alpha*D+(1-alpha)|RTT-M|. • Alpha may or may not be the same as value used to smooth RTT. • Timeout = RTT+4*D.

  22. Karn’s Algorithm • How to account for ACKs of retransmitted segments? • Count it for first or second transmission? • Karn proposed not to update RTT on any retransmitted segment. • Instead RTT is doubled on each failure until segments get through.

  23. Persistence Timer • Prevents deadlock if an window update packet is lost and advertised window = 0. • When persistence timer goes off, sender probes receiver; receiver replies with its current advertised window. • If = 0, persistence timer is set again.

  24. Keepalive Timer • Goes off when a connection is idle for a long time. • Causes one side to check whether the other side is still alive. • If no answer, connection terminated.

  25. Performance Issues • Performance Problems in Computer Networks • Network Performance Measurement • System Design for Better Performance • Fast TPDU Processing • Protocols for Gigabit Networks

  26. System Design for Better Performance • Rules: • CPU speed is more important than network speed. • Reduce packet count to reduce software overhead. • Minimize context switches. • Minimize copying. • You can buy more bandwidth but not lower delay. • Avoiding congestion is better than recovering from it. • Avoid timeouts.

  27. Wireless TCP and UDP • Splitting a TCP connection into two connections.

  28. Wireless TCP 1 • According to layered system design principles, transport protocol should be independent of underlying technology. • However, wireless networks invalidate this principle. • Ignoring properties of wireless medium can lead to poor TCP performance. • Problem: TCP’s congestion control.

  29. Wireless TCP 2 • Problem: packet loss as congestion indicator. • When retransmission timer times out, sender slows down. • Wireless links are lossy! • Dealing with losses in this case should be re-sending lost segments asap.

  30. Indirect TCP (I-TCP) • [Bakne and Badrinath, 1995]. • Split TCP connection in 2: one from sender to base station and the other from base station to receiver. • Base station serves as “repeater”: copies segments between connections in both directions. • Connections are homogeneous; timeouts on 1st. connection, slow down sender. • Problem: violates TCP’s e2e’ness. • Example: ACKs to sender mean base station received segments, not necessarily receiver.

  31. Snoop TCP • [Balakrishnan et al., 1995]. • Does not break connection. • Modifications to base station’s network layer code. • Snooping agent on base station observes and caches TCP segments sent to mobile host and ACKs coming back. • If it doesn’t see an ACK for a segment or sees duplicate ACKs, it times out and retransmits. • But source may time out anyway.

More Related