Back to ComputerTerms
https://www.scotnpatti.com/unl/images/tcpheader.jpg
TCP is a byte oriented protocol. This means that each byte of data has a sequence number, and the sequence number field contains the sequence number for the first byte of datacarried in theat segment. The acknowledgement and advertised window fields carry information about the flow of data going in the other direction.
Source Port
Gives the source port, the port used by the machine building the connection
Range: 0 - 65535
Destination Port
Gives the destination port, teh port used by the target machine of this connection
Range: 0 - 65536
Sequence Number
The sequence number of this packet
Acknowledgement
The sequence number you are acknowledging
Header Length
???
TCP provides a Reliable Byte Stream Abstraction
Error Control: Cumulative ACK -> Next Byte & retransmission When needed
Flow Control: Receiver Window
Congestion Control: Congestion windows size using a reactive method
TCP Congestion control mechanisms
- AIMD Additive Increase Multiplicative Decrease
MaxWindow = MIN(CongestionWindow, AdvertisedWindow) EffectiveWindow = MaxWindow - (LastByteSent - LastByteAcked)
Review of Information
This is also found on layer 2
Sender Windows Size: The size of the buffer on the sender. So you don't send if your window is full! You would risk forgetting about a frame that may need to be resent. Invariant: LFS-LAR+1<=SWS Where LAR=Last Acknowledgement Received and LFS=Last Frame Sent
Receiver Windows Size: The size of the buffer on the receiver. You don't receive if your window is full. Invariant: LFA-NFE<=RWS Where NFE=Next Frame Expected and LFA=Last Frame Accepted.
Sequence Number Space SWS <= (MaxSeqNum+1)/2, This is so the windows of the sender and receiver don't overlap.
Back to ComputerTerms