TCP will notify both application programs. Typically one host computer (server) issues a passive open to a port, making the services available. Another host computer (client) issues an active open to initiate the connection. When the application session is complete, the connection is terminated by issuing a close to the port.

TCP supports multiple connections to a single port and full duplex connections (two concurrent data streams flowing in the opposite direction). Using full duplex, TCP can send control information for one stream back to the source in datagrams containing data in the opposite direction.

3)Reliable Data Transfer

TCP software provides a reliable data transfer service by a using a technique known as positive acknowledgement with retransmission. When a group of packets has been successfully received, the recipient TCP software sends an acknowledgement message back to the sender TCP software. TCP keeps a record of each packet sent and waits for acknowledgement before sending the next group of packets. If no acknowledgement is returned after a designated time, then TCP re-sends the packets.

To improve throughput and to reduce network loading, TCP allows multiple packets to be sent before an acknowledgement is required. The number of packets which can be sent before an acknowledgement is required is called the window size. TCP dynamically manages the window size to optimize network utilization and to exercise flow control.

TCP maintains a Sequence Number field in the header which identifies the sequence in which the packets were sent. Using this sequence number, TCP ensures that data is delivered to the destination application program in the same sequence that is was sent by the source application program. The Acknowledgement Number field allows TCP to acknowledge receipt of packets while sending new data.

Figure 14 shows the format of the TCP segment. You may note that both the TCP segment header and the segment data are contained in the data area of the IP datagram.

IP DATAGRAM

HEADER

DATA

TCP SEGMENT

SOURCE PORT (16)

 

DESTINATION PORT (16)

 

 

 

 

 

 

 

 

 

 

 

 

 

SEQUENCE NUMBER (32)

 

 

 

 

 

 

 

 

 

 

 

ACKNOWLEDGEMENT NUMBER (32)

 

 

 

 

 

 

 

 

 

 

DATA

RES

U

A

P

R

S

F

WINDOW (16)

OFF

R

C

S

S

Y

I

SET

 

G

K

H

T

N

N

 

 

 

 

 

 

 

 

 

 

 

 

 

CHECKSUM (16)

 

URGENT POINTER (16)

 

 

 

 

 

 

 

 

 

 

 

OPTIONS (Variable)

 

PADDING

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DATA (Variable)

 

 

 

 

 

 

 

 

 

 

Figure 14 TCP Segment

26

CTI 2572 Technical Overview Manual

Page 36
Image 36
IBM CTI 2572 manual Reliable Data Transfer, TCP Segment