Only significant when the URG control bit is set. If this option is not used, any segment size is allowed. Padding All zero bytes used to fill up the TCP header to a total length that is a multiple of 32 bits. Acknowledgments and Retransmissions TCP sends data in variable length segments. Sequence numbers are based on a byte count.
Acknowledgments specify the sequence number of the next byte that the receiver expects to receive.
Now suppose that a segment gets lost or corrupted. In this case, the receiver will acknowledge all further well-received segments with an acknowledgment referring to the first byte of the missing packet. The sender will stop transmitting when it has sent all the bytes in the window. Eventually, a timeout will occur and the missing segment will be retransmitted. Suppose a window size of 1500 bytes, and segments of 500 bytes.