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 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 Syllabus Text Readings Today Chapter 6 Section 6 6 TCP Performance Tuesday March 10 Chapter 7 1 DNS 7 2 3 Chapter 7 4 Multimedia 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 Transport Layer Connection Oriented Service Addressing Access Points Connection Request Establishment Delayed Duplicate Packet Problem Timer management Connection points Connection Release Today s Agenda Transport Layer TCP Timers RTT estimates Exponential backof Wireless vs wired Transactional TCP Performance Port Detective http www softpedia com get Network Tools Network Testing Port Detective shtml 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 TCP Congestion Control a A fast network feeding a low capacity receiver b A slow network feeding a high capacity receiver 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 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 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 TCP Congestion Control Example cwin timeout threshold threshold time 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 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 TCP Timer Management a Probability density of ACK arrival times in the data link layer b Probability density of ACK arrival times for TCP TCP Retransmission Timer When segment sent retransmission timer starts If segment ACKed timer stops If time out segment retransmitted and timer starts again 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 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 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 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 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 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 Performance Issues Performance Problems in Computer Networks Network Performance Measurement System Design for Better Performance Fast TPDU Processing Protocols for Gigabit Networks 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 Wireless TCP and UDP Splitting a TCP connection into two connections 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 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 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 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
View Full Document
Unlocking...