Your SlideShare is downloading. ×
0
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
T Tcp
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

T Tcp

1,022

Published on

Unit 3 Of ACN

Unit 3 Of ACN

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,022
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. TCP performance problem 1 <ul><li>Standard TCP imposes two performance problems for transaction-oriented communication. </li></ul><ul><li>First, a TCP connection is opened with a &quot;3-way handshake&quot;, which must complete successfully before data can be transferred. </li></ul><ul><li>The 3-way handshake adds an extra RTT (round trip time) to the latency of a transaction. </li></ul>
  • 2. 3 way handshake
  • 3. TCP performance problem 2 <ul><li>The second performance problem is that closing a TCP connection leaves one or both ends in TIME-WAIT state for a time 2*MSL </li></ul><ul><ul><li>where MSL is the maximum segment lifetime (defined to be 120 seconds). </li></ul></ul><ul><li>A new connection cannot be opened until the TIME-WAIT delay expires </li></ul>
  • 4. TCP close (connection termination)
  • 5. The TIME-WAIT State <ul><li>The TIME-WAIT state is required for two main reasons. </li></ul><ul><ul><li>The first is to provide enough time to ensure that the ACK is received by the other device, and to retransmit it if it is lost. </li></ul></ul><ul><ul><li>The second is to provide a “buffering period” between the end of this connection and any subsequent ones. If not for this period, it is possible that packets from different connections could be mixed, creating confusion. </li></ul></ul><ul><li>The standard specifies that the client should wait double a particular length of time called the maximum segment lifetime (MSL) before finishing the close of the connection. </li></ul>
  • 6. TCP performance problem 3 <ul><li>Transaction rate: </li></ul><ul><ul><li>the 16-bit port space limits the rate to 2**16/240 transactions per second </li></ul></ul><ul><ul><li>more practically, an excessive amount of kernel space would be occupied by TCP state blocks in TIME-WAIT state. </li></ul></ul>
  • 7. Solutions for TCP performance problems <ul><li>T/TCP solves these two performance problems for transactions, by </li></ul><ul><ul><li>(1) bypassing the 3-way handshake (3WHS) </li></ul></ul><ul><ul><li>(2) shortening the delay in TIME-WAIT state. </li></ul></ul>
  • 8. Bypassing the Three-Way Handshake <ul><li>T/TCP introduces a 32-bit incarnation number, called a &quot;connection count&quot; (CC) </li></ul><ul><li>A distinct CC value is assigned to each direction of an open connection </li></ul><ul><li>A T/TCP implementation assigns monotonically increasing CC values to successive connections that it opens actively or passively </li></ul>
  • 9. TCP Accelerated Open (TAO) <ul><li>A T/TCP server keeps a cache containing the last valid CC value </li></ul><ul><li>If an initial <SYN> segment from a particular client host carries a CC value larger than the corresponding cached value, the <SYN> segment must be new and can therefore be accepted immediately </li></ul><ul><li>Otherwise it executes a normal 3WHS </li></ul>
  • 10. new TCP options <ul><li>CC – for bypassing 3WHS </li></ul><ul><li>CC.NEW </li></ul><ul><ul><li>Receiving a CC.NEW causes the server to invalidate its cache entry and do a 3WHS </li></ul></ul><ul><li>CC.ECHO </li></ul><ul><ul><li>When a server sends a <SYN,ACK> segment, it echoes the connection count from the initial <SYN> in a CC.ECHO option, which is used by the client to validate the <SYN,ACK> segment. </li></ul></ul>
  • 11. TCP Accelerated Open Client Server CC[A] = X SYN, data1, CC=x SYN, ACK(data1), data2, CC=y, CC.ECHO=x CC[A] = X0 X>X0, TAO OK
  • 12. Minimal TCP transaction Client Server CC[A] = X SYN, data1, FIN, CC=x SYN,ACK(FIN),data2,FIN,CC=y,CC.ECHO=x CC[A] = X0 X0>X, TAO OK ACK(FIN),CC=x closed Syn-sent Time-wait Listen Closed Close-wait
  • 13. Truncation of TIME- WAIT Client Server CC[A] = X SYN, data1, FIN, CC=x SYN,ACK(FIN),data2,FIN,CC=y,CC.ECHO=x CC[A] = X0 X0>X, TAO OK ACK(FIN),CC=x closed Syn-sent Time-wait Listen Closed Close-wait SYN,data3, FIN, CC=z Syn-sent

×