source router Destination IP packet IP packet fragments Reassembly Required Fragments Created
TCP Connection Oriented –state Stream Oriented –Sequence number Full Duplex Reliable –acknowledgment
TCP Commands Syn – synchronize sequence numbers Ack – acknowledgement Fin – close connection Push – send data immediately Urgent – look at data out of sequence Reset – reject connection
TCP Connection Passive Open –Server opens known port and waits for client to connect (no traffic on network) Active open –Client opens any available port and connects to server on known port (starts three way handshake)
TCP Connection States LISTENServer waiting SYN-SENTWaiting for ack SYN-RCVDSyn received ESTABLISHEDConnection established FIN-WAIT-1Closing requested FIN-WAIT-2Closing accepted CLOSE-WAITServer waiting for client to close LAST-ACKServer waiting for last ack
CLOSEDLISTENESTABLISHEDSYN-SENTCLOSE-WAITSYN-RCVDFIN-WAIT-1LAST-ACKFIN-WAIT-2TIME-WAIT Passive open Active open/syn Syn/ syn+ack Syn+ack/ack Close/fin Ack/ timeout Fin/ack ack Close/fin Fin/ack
TCP Sliding Window Sequence No. - number of first byte in the segment Acknowledgement – number of next byte expected Sliding Window – number of bytes that can be transmitted without an acknowledgement
KSU GOLDENFLASHES Sliding Window Sender Receiver
KSU GOLDENFLASHES KSU Sliding Window Ready to send Sent, not yet acked
KSU GOLDENFLASHES KSU DENFLA Sent and ACKed Sliding WindowReady to send Sent, not yet acked
KSU GOLDENFLASHES KSU GOLDENFLA Sent and ACKed Sliding Window
Syn Client Server Seq 7280 Client sends syn to open connection
Syn Client Server Syn, Ack Server sends Ack and Syn Seq 5965 Ack 7281
Syn Client Server Syn, Ack Ack Cient sends Ack, connection is established Seq 7281 Ack 5966
Syn Client Server Syn, Ack Ack Ack, Push Client requests Web Page Seq 7281 Ack 5966
Syn Client Server Syn, Ack Ack Server sends first part of Web Page Seq 5966 ack 7532
Syn Client Server Syn, Ack Ack Server sends remainder of page Seq 5966 ack 7531 Seq 7426 ack 7531
Syn Client Server Syn, Ack Ack Client sends ack Seq 7531 ack 8886
Syn Client Server Syn, Ack Ack Ack, Fin, Push Server starts closing of connection Seq 8886 ack 7531
Syn Client Server Syn, Ack Ack Ack, Fin, Push Ack Client acks closing of server’s side of connection Seq 7531 ack 9203
Syn Client Server Syn, Ack Ack Ack, Fin, Push Ack Ack, Fin Client requests closing of its side of connection Seq 7531 ack 9203
Syn Client Server Syn, Ack Ack Ack, Fin, Push Ack Ack, Fin Ack Server sends Ack, connection closed Seq 9203 ack 7532
TYPE IDENTIFIER OPTIONAL DATA SEQUENCE NUMBER CODECHECKSUM ICMP Echo message
ftp client ftp server Proto Local Address Foreign Address TCP : :21 TCP : : TCP Segments