DOC PREVIEW
DePaul TDC 375 - TCP

This preview shows page 1-2-15-16-31-32 out of 32 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Network Protocols Transmission Control Protocol TCP TDC375 Winter 2002 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over everything Ethernet ATM X 25 fiber etc Minimizes network state Unreliable datagram forwarding TDC375 Winter 2002 John Kristoff DePaul University 2 TCP key features Sequencing Byte stream delivery Connection oriented Reliability Flow control Congestion avoidance TDC375 Winter 2002 John Kristoff DePaul University 3 TCP feature summary Provides a completely reliable no data duplication or loss connection oriented full duplex byte stream transport service that allows two application programs to form a connection send data in either direction simultaneously and then terminate the connection TDC375 Winter 2002 John Kristoff DePaul University 4 Apparent contradiction IP offers best effort unreliable delivery TCP uses IP TCP provides completely reliable transfer How is this possible TDC375 Winter 2002 John Kristoff DePaul University 5 Achieving reliability Reliable connection start up Reliable data transfer Sender starts a timer Receiver sends ACK when data arrives Sender retransmits if timer expires before ACK is returned Reliable connection shutdown TDC375 Winter 2002 John Kristoff DePaul University 6 Reliability illustrated TDC375 Winter 2002 John Kristoff DePaul University 7 When do you retransmit The time for an ACK to return depends on Distance between endpoints propagation delay Network traffic conditions congestion End system conditions CPU buffers Packets can be lost damaged or fragmented Network traffic conditions can change rapidly TDC375 Winter 2002 John Kristoff DePaul University 8 Solving retransmission problem Keep running average of round trip time RTT Current average determines retransmission timer This is known as adaptive retransmission This is key to TCP s success How does each RTT sample affect the average What weight to you give each sample Higher weight means timer changes quickly Lower weight means timer changes slowly TDC375 Winter 2002 John Kristoff DePaul University 9 Adaptive retransmission illustrated TDC375 Winter 2002 John Kristoff DePaul University 10 Flow control Match the sending rate with allowable receiver rate TCP uses a sliding window Receiver advertises available buffer space Also known as the window Sender can transmit a full window without receiving an ACK for that transmitted data Ideally the window size allows pipe to remain full TDC375 Winter 2002 John Kristoff DePaul University 11 Window size advertisement Each ACK carries receiver s current window size Called the window advertisement If zero window is closed no data can be sent Interpretation of window advertisement Receiver I can accept X octets or less unless I tell you otherwise TDC375 Winter 2002 John Kristoff DePaul University 12 Window size illustrated TDC375 Winter 2002 John Kristoff DePaul University 13 Window size another picture TDC375 Winter 2002 John Kristoff DePaul University 14 Byte stream sequencing Each segment carries a sequence number Sequencing helps ensure in order delivery TCP sequence numbers are fixed at 32 bits Byte stream is not limited to 232 bytes Sequence number space can wrap Each side has an initial sequence number ISN Exchanged during connection establishment Receiver ACKs cumulative octets bytes TDC375 Winter 2002 John Kristoff DePaul University 15 TCP segment illustrated TDC375 Winter 2002 John Kristoff DePaul University 16 Application multiplexing OS independent identifier for a network process Each application assigned a unique 16 bit integer Called a port number Server applications Use standard well known port numbers Usually low numbered port numbers Clients Obtain unused number from protocol software Usually uses high numbered port numbers TDC375 Winter 2002 John Kristoff DePaul University 17 TCP connection start up The three way handshake used Servers use a passive open Application sits waiting on an open port Clients use an active open Application requests a connection to server Initial sequence number ISN exchange is the primary goal Other parameters options can also be exchanged e g Window scale maximum segment size etc TDC375 Winter 2002 John Kristoff DePaul University 18 3 way handshake illustrated TDC375 Winter 2002 John Kristoff DePaul University 19 Connection shutdown illustrated TDC375 Winter 2002 John Kristoff DePaul University 20 Congestion principles Flow control Matching the sending and receiving rates Congestion control Active response to network overload conditions End hosts cannot control congestion per se Network devices routers do this Congestion avoidance Cautionary response to presumed conditions TCP does this TDC375 Winter 2002 John Kristoff DePaul University 21 TCP congestion control Recall sliding window advertised window Receiver based control of sending rate Congestion window is sender based control Sender transmits min cwnd advertised window This value is the transmission window TCP sender infers network conditions and adjusts TDC375 Winter 2002 John Kristoff DePaul University 22 TCP retransmission TCP starts timer after sending a segment If ACK returns reset timer If time out occurs retransmit and increase timer This is a back off process Can t retransmit forever need some upper bound Eventually TCP would give up Maximum time out must be at least 60 seconds TDC375 Winter 2002 John Kristoff DePaul University 23 Estimating round trip time RTT TCP measures RTT for which to calculate timers If ACKs return quickly timers should be short If loss occurs recovery happens quickly If ACKs return slowly timers should be long If delays occur retransmits not sent needlessly Keep a smoothed running average of RTT Smoothed RTT used to adjust retransmit timer Karn s algorith says ignore ACKs of retransmits TDC375 Winter 2002 John Kristoff DePaul University 24 TCP slow start Recall that min cwnd awnd transmission window Rather than sending a full window at start up Initialize cwnd to 1 maximum segment size MSS Increase cwnd by 1 MSS for every ACK returned Obviously don t go past advertised window This can actually be quite fast exponential TDC375 Winter 2002 John Kristoff DePaul University 25 TCP slow start illustrated TDC375 Winter 2002 John Kristoff DePaul University 26 TCP congestion avoidance If a retransmission timer expires slow down Set slow start threshold transmission window x This is sshthresh Set cwnd back to 1 MSS Transmit min cwnd


View Full Document

DePaul TDC 375 - TCP

Download TCP
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view TCP and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view TCP and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?