After the bytes have been numbered TCP assigns a sequence number to each segment that is being sent. These sequence number for each segment is the number of the first byte carried in that segment.
The value in the sequence number fields of a segment defines the number of the first data byte contained in that segment when a segment carries a combination of data and control information. It uses a sequence number. If a segment does not carry user data. It does not logically define a sequence number. The field is there but the value is not valid. However some segments when carrying only control information needs a sequence number to allow an acknowledgment form the receiver. These segments are used for connection establishment. Termination or abortion. Each of these segment consumes one sequence number as through it carried i byte but there are no actual data. If the randomly generated sequence number is x the first data byte is numbered x +1. The byte x is considered a phony byte that is used for a control segment to a connection.