The Receive Window size in a TCP segment is used to: ~ make sure that a sending application does not overflow the buffers in the sender's TCP implementation ~+ make sure that a sending application does not overflow the buffers in the receiver's TCP implementation ~ make sure that a sending application does not contribute to excessive network congestion ~~ If the Receive Window size is smaller than the bandwidth delay product for a TCP connection: ~+ The sender will not be able to use all of the available bandwidth for the connection ~ The sender may cause network congestion ~ The sender may overflow the receiver's buffers ~~ To achieve the simultaneous goals of preventing congestion and preventing receiver buffer overflow: ~ The sender must have at least as many unacknowledged bytes as the minimum of the receive window size and the sender's calculated congestion window size. ~+ The sender must have no more unacknowledged bytes than as the minimum of the receive window size and the sender's calculated congestion window size. ~ The sender must have no more unacknowledged bytes than the maximum of the receive window size and the sender's calculated congestion window size. ~ The sender must have more unacknowledged bytes than as the maximum of the receive window size and the sender's calculated congestion window size. ~~ When a client initiates a TCP connection to a server, the 3-way handshake is initiated by: ~ the socket system call performed by the client ~ the accept system call ~ the bind system call ~+ the connect system call