I was thinking of using the bytes_in_flgiht in order to estimate a TCP cwnd from passive traces but it is not clear for on how we can we derive its relation with the cwnd. I am joining the passive trace from the monitor to a TCP kernel state of the sender where we get the value of the cwnd that have the same sequence number in the trace file. tcp_seq=1256867582, tcp_nxt_seq=1256869030, tcp_len=1448, tcp_window_size=29312, tcp_bytes_in_flight=11622, cwnd=16 Is there any way to derive (or estimate sort to say) the value of the congestion window (for example: cwnd=16) from the bytes_in_flight or the sequence number? I am so confused. asked 25 Apr '17, 07:25 armodes edited 25 Apr '17, 07:44 |
One Answer:
cwnd is accounted in MSS. So, cwnd (in Bytes)=cwnd * MSS. BUT when you're estimating cwnd from bytes_in_flight, you have to consider in that case cwnd MUST be the limiting factor for the sender. In your case cwnd = 16 * MSS = 16 * 1448 Bytes = 23168 Bytes. This is much more than actual bytes_in_flight, and it just means the sender can continue sending packets without receiving ACKs. answered 26 Apr '17, 00:02 Packet_vlad edited 26 Apr '17, 00:26 |