<Li> FIN (1 bit): Last packet from sender . </Li> <Dl> <Dt> Window size (16 bits) </Dt> <Dd> The size of the receive window, which specifies the number of window size units (by default, bytes) (beyond the segment identified by the sequence number in the acknowledgment field) that the sender of this segment is currently willing to receive (see Flow control and Window Scaling). </Dd> <Dt> Checksum (16 bits) </Dt> <Dd> The 16 - bit checksum field is used for error - checking of the header, the Payload and a Pseudo-Header . The Pseudo-Header consists of the Source IP Address, the Destination IP Address, the protocol number for the TCP - Protocol (0x0006) and the length of the TCP - Headers including Payload (in Bytes). </Dd> <Dt> Urgent pointer (16 bits) </Dt> <Dd> if the URG flag is set, then this 16 - bit field is an offset from the sequence number indicating the last urgent data byte . </Dd> <Dt> Options (Variable 0--320 bits, divisible by 32) </Dt> <Dd> The length of this field is determined by the data offset field . Options have up to three fields: Option - Kind (1 byte), Option - Length (1 byte), Option - Data (variable). The Option - Kind field indicates the type of option, and is the only field that is not optional . Depending on what kind of option we are dealing with, the next two fields may be set: the Option - Length field indicates the total length of the option, and the Option - Data field contains the value of the option, if applicable . For example, an Option - Kind byte of 0x01 indicates that this is a No - Op option used only for padding, and does not have an Option - Length or Option - Data byte following it . An Option - Kind byte of 0 is the End Of Options option, and is also only one byte . An Option - Kind byte of 0x02 indicates that this is the Maximum Segment Size option, and will be followed by a byte specifying the length of the MSS field (should be 0x04). This length is the total length of the given options field, including Option - Kind and Option - Length bytes . So while the MSS value is typically expressed in two bytes, the length of the field will be 4 bytes (+ 2 bytes of kind and length). In short, an MSS option field with a value of 0x05B4 will show up as (0x02 0x04 0x05B4) in the TCP options section . </Dd> <Dd> Some options may only be sent when SYN is set; they are indicated below as . Option - Kind and standard lengths given as (Option - Kind, Option - Length). <Ul> <Li> 0 (8 bits): End of options list </Li> <Li> 1 (8 bits): No operation (NOP, Padding) This may be used to align option fields on 32 - bit boundaries for better performance . </Li> <Li> 2, 4, SS (32 bits): Maximum segment size (see maximum segment size) </Li> <Li> 3, 3, S (24 bits): Window scale (see window scaling for details) </Li> <Li> 4, 2 (16 bits): Selective Acknowledgement permitted . (See selective acknowledgments for details) </Li> <Li> 5, N, BBBB, EEEE,...(variable bits, N is either 10, 18, 26, or 34) - Selective ACKnowledgement (SACK) These first two bytes are followed by a list of 1--4 blocks being selectively acknowledged, specified as 32 - bit begin / end pointers . </Li> <Li> 8, 10, TTTT, EEEE (80 bits) - Timestamp and echo of previous timestamp (see TCP timestamps for details) </Li> </Ul> </Dd> <Dd> The remaining options are historical, obsolete, experimental, not yet standardized, or unassigned . Option number assignments are maintained by the IANA . </Dd> <Dt> Padding </Dt> <Dd> The TCP header padding is used to ensure that the TCP header ends, and data begins, on a 32 bit boundary . The padding is composed of zeros . </Dd> </Dl> <Dt> Window size (16 bits) </Dt> <Dd> The size of the receive window, which specifies the number of window size units (by default, bytes) (beyond the segment identified by the sequence number in the acknowledgment field) that the sender of this segment is currently willing to receive (see Flow control and Window Scaling). </Dd>

Which of the following is not part of transaction control