3 way handshake

Document Sample
3 way handshake Powered By Docstoc
					                    Connection Establishment in TCP

            Three-way Handshaking
                                 Chayan Sarkar
                                 Roll no - 09305069
                                  M.Tech - I, CSE
                                    IIT Bombay

                              September 9, 2009

         TCP is a connection oriented Transport Layer protocol. As internet
     architecture is best effort [2], packet losses occur very often. But applica-
     tion layer wants reliability. So, this has to done by TCP. Applications run
     only on the end host. So some process to process communication facilities
     should be provided and TCP does this. At each end host TCP takes care
     of reordering of packets, packet loss, flow control and many other things.
     To do all these things, TCP establishes a point-to-point connection be-
     tween two host. For reliable connection establishment it uses three way
     handshaking, i.e. three specialized packets are transferred between the
     two host to agree on the connection.

1    Introduction
TCP is said to be connection-oriented because before one application process
can begin to send data to another, the two processes must first “handshake”with
each other-that is, they must send some preliminary segments to each other to
establish the parameters of the ensuing data transfer. As part of TCP connec-
tion establishment, both sides of the connection will initialize many TCP state
variables associated with TCP connections.

2    TCP Segment Structure
Let’s examine TCP segment structure briefly [1]. The TCP segment consist of
a header fields and data field.

In the header field, there is a flag field contains 6 bits.
The ACK bit is used to indicate that the value carried in the acknowledgement
field is valid. The RST, SYN and FIN bits are used for connection setup and
teardown. PUSH bit indicates that data should pass to the upper layer imme-
diately. Finally, the URG bit is used to indicate some data has marked urgent
by the sender.
The RST and SYN bits play import role in connection setup.

3    TCP Connection Establishment
To establish a connection, TCP uses a three-way handshake. Before a client
attempts to connect with a server, the server must first bind to a port to open
it up for connections: this is called a passive open. Once the passive open is
established, a client may initiate an active open [3]. To establish a connection,
the three-way (or 3-step) handshake occurs:

1. The active open is performed by the client sending a SYN to the server. It
sets the segment’s sequence number to a random value.

       Host 1                         SYN                Host 2

2. In response, the server replies with a SYN-ACK. The acknowledgment num-
ber is set to one more than the received sequence number, and the sequence
number is random.

    Host 1                      SYN-ACK               Host 2

3. Finally, the client sends an ACK back to the server. The sequence number is
set to the received acknowledgement value, and the acknowledgement number
is set to one more than the received sequence number.

    Host 1                        ACK                 Host 2

At this point, both the client and server have received an acknowledgment of
the connection.

                (Client)                  Host1 (Server)

                 Connection established between two Hosts.

4.1     Fourier Series representation of periodic signals
Any periodic signal can be represented as a sum of sinusoids, known as Fourier

              x(t) =      +    [An cos(2πnf0 t) + Bn sin(2πnf0 t)]         (1)
                       2    n=1

where f0 is the reciprocal of the period of the signal (f0 = 2/T ). The frequency
f0 is referred to as the fundamental frequency. Thus a periodic signal with period T
consists of the fundamental frequency f0 = 1/T plus integer multiples of that
frequency. If A0 = 0, then x(t) has a dc component.
The values of the coefficients are calculated as follows:

                                    A0 =                    x(t)dt         (2)
                                                T   0

                         An =                   x(t) cos(2πnf0 t)dt        (3)
                                    T   0

                          Bn =                  x(t) sin(2πnf0 t)dt        (4)
                                    T   0
   This form of representation is known as the sine-cosine representation. A
more meaningful representation, the amplitute-phase representation, takes the

                       x(t) =      +     Cn cos(2πnf0 t + θn )             (5)
                                2    n=1


                                            C0 = A0                        (6)
                                    Cn =            A2 + Bn
                                                          2                (7)
                                θn = tan− 1                                (8)

4.2     A typical Routing Table entry

                                   Valid Routes : 5
        Address        Mask         Next Hop Interface   Protocol   Metric      2    Default      1      2     Static      1      2     Static      1      2     Local       1      2     Static      1

[1] Keith W. Ross James F. Kurose. Computer Networking. Pearson Education,

[2] Andrew S. Tanenbaum. Computer Networks. Prentice Hall of India Private
    Limited, New Delhi, 2002.
[3] Wiki.


Shared By: