so my question is, what's the maximum packets can be send in the pipeline without considering flow control and congestion control (what's the window size of TCP pipelined sending)
so my question is, how many packets can be send in the pipeline (what's the window size of TCP pipelined sending)
There is no single answer for that. The window size changes as the receiver sends ACKs back to the sender. It is up to the receiver as to the window size, which is based on octets, not segments.
RFC 793, Transmission Control Protocol explains:
TCP provides a means for the receiver to govern the amount of data sent by the sender. This is achieved by returning a "window" with every ACK indicating a range of acceptable sequence numbers beyond the last segment successfully received. The window indicates an allowed number of octets that the sender may transmit before receiving further permission.
The TCP window uses 16 bits. This means the maximum size of the TCP window is 65,536 bytes (216). This creates a problem; to fill up the 100 Mbps pipe over a path with 80ms of latency we must use a TCP window of 1 MB, but the TCP window can only grow to 65 10 Answers. The absolute limitation on TCP packet size is 64K (65535 bytes), but in practicality this is far larger than the size of any packet you will see, because the lower layers (e.g. ethernet) have lower packet sizes. The MTU (Maximum Transmission Unit) for Ethernet, for instance, is 1500 bytes.