- The client that
want to establish a
TCP connection:
- Client
creates a
TCP connection record for the
TCP connection
- Client first picks a
random
(send) sequence number
- Client sends
a SYN message
with the
send seq no
- The ACK bit in the
SYN message is
reset (
because the message
contains an invalid
ACK no !!!)
|
Example:
Meaning:
- requests that
the receiver (server)
creates a TCP connection with
the ACK number = 7625+1
|
Note:
- The srcIP and
srcIP addresses
are sent in the
IP packet header
- The TCP srcPort# and
TCP destPort#
are sent in the
TCP header
|
- When the server (receiver)
receives the
SYN 7625
request:
Response action:
- Server picks
its own random
(send) seq. no.
- Server sends
back
2 items:
- A SYN request with the
(random) send seq no to
client
and
- Piggyback the
ACK 7626 for the
client's SYN request
|
|
Example response:
Meaning:
- SYN 1234 will
request the
client to:
- requests
that the
client
creates a TCP connection
with the ACK number = 1234+1
|
- ACK 7626 will:
- acknowledge the
client's
SYN 7625 request
|
|
- When the client receives
the SYN 1234 request
+
ACK 7626 reply:
Response action:
- Client
must
acknowledge the
SYN request of the
server:
- Send back:
ACK 1235
(for the
SYN 1234 request)
|
|
Example:
Meaning:
- ACK 1235 will:
- acknowledge the
server's
SYN 1234 request
|
|
- When the server
receives the
ACK (only) message:
- ACK 1235 processing ---
the server sets:
(server's) send seq no = 1235
|
Note:
- An ACK (only) message must
not be
acknowledged !!!
|
|
Graphically:
No message needs to be
send back ....
Protocol ends !!!
Result:
- Client
and server
both
has the correct:
- Send sequence number
and
- ACK number
|
|
|