T Tcp

1,441 views
1,230 views

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,441
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×