Sei sulla pagina 1di 3

http://www.scribd.

com/doc/133405159/InternetworkingWith-TCP-IP-Vol-2-2ed-Design-Implementation-AndInternals#scribd

TCP DATA STRUCTURES


TCP is defined in the RFC 793 and defines a reliable,
connection orientated full duplex byte stream for a user
process. TCP creates a CONNECTION orientated service by
contacting the end system and establishing a set of guidelines
both can support. Such agreements as how much data
segments can be transferred before an acknowledgement are
received. TCP takes large blocks of data coming from upper
layers and segments them. Then it adds numbers to the
segments so the end system can sequence them at arrival and
assemble the original block before sending it to the upper layer.
When TCP creates a connection between two end systems, it is
called a VIRTUAL CIRCUIT. This virtual circuit is created at the
time the one system needs to send a data stream to the end
system and takes it down when the data transfer is completed.
The three phases of the TCP are
CONNECTION ESTABLISHMENT
CONNECTION MAINTENANCE
CONNECTION TIREDOWN
TCP is a reliable, connection oriented, and byte-stream protocol.
It provides reliability with a mechanism called Positive
Acknowledgement with retransmission(PAR). The following
diagram shows the details about the header.

TCP Header contain the following data information:


Source port address
Defines the application program in the source computer
Destination port address
Defines the application program in the destination computer
Sequence number
A stream of data from the application program may be divided
into two or more TCP
segments. The sequence number field shows the position
Acknowledge number
This is valid only if the ACK bit in the control field is set. This
number is used to
acknowledge the receipt of data from the other communication
device. The number
defines the byte sequence number that is next expected.
Header length

Defines the header length


Reserved
A six-bit field is reserved for future use.
Control fields
URG - Urgent bit is set to validate the urgent pointer field
ACK - when set validates the acknowledgement number field
PSH - Used to inform the sender that a higher throughput is
needed
RST - Used to reset the connection, when there is confusion in
the sequence Numbers
SYN - Used for sequence number synchronization in three types
of segments:
connection request, connection confirmation and
confirmation acknowledgement
FIN - Used in connection termination in three types of segments
:
termination
request,
termination
confirmation
and
acknowledgement of termination confirmation
Window size
Defines the size of the sliding window
Checksum
Used in error detection
Urgent pointer
Its value is valid only when the URG field is set. This pointer
defines the end of urgent
data and the start of normal data.
Options and padding
Optional field in which used to convey additional information to
the receiver or for alignment purpose.

Potrebbero piacerti anche