Your SlideShare is downloading. ×
0
TCP performance problem 1 <ul><li>Standard TCP imposes two performance problems for transaction-oriented communication.  <...
3 way handshake
TCP performance problem 2 <ul><li>The second performance problem is that closing a TCP connection leaves one or both ends ...
TCP close  (connection termination)
The  TIME-WAIT  State <ul><li>The  TIME-WAIT  state is required for two main reasons. </li></ul><ul><ul><li>The first is t...
TCP performance problem 3 <ul><li>Transaction rate:  </li></ul><ul><ul><li>the 16-bit port space limits the rate to 2**16/...
Solutions for TCP performance problems <ul><li>T/TCP solves these two performance problems for transactions, by  </li></ul...
Bypassing the Three-Way Handshake  <ul><li>T/TCP introduces a 32-bit incarnation number, called a &quot;connection count&q...
TCP Accelerated Open (TAO)   <ul><li>A T/TCP server keeps a cache containing the last valid CC value   </li></ul><ul><li>I...
new TCP options   <ul><li>CC – for bypassing 3WHS </li></ul><ul><li>CC.NEW   </li></ul><ul><ul><li>Receiving a CC.NEW caus...
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>...
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] = ...
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] = ...
Upcoming SlideShare
Loading in...5
×

T Tcp

1,032

Published on

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,032
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "T Tcp"

  1. 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. 2. 3 way handshake
  3. 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. 4. TCP close (connection termination)
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×