The degradation happens because of the store and forward process on each element in the chain.
To pass 2 intermediate stations, your data packet will have to be received, queued, dequeued and sent 4 additional times (if your B and C nodes consist of 2 access points linked together by ethernet).
So, even if a flow could be theoretically high, it will take a longer time for acknowledge packages to be sent back the chain, and trigger the next data run on the transmission.
An unacknowledged UDP stream (like video) could actually reach the full speed, but not other connections relying on a handshake.
You mean this is exactly the mechanism that causes data slow down:
If we consider a transmission delay of 1 msec/hop (RTT 6msec) and a maximum window size of 64k for TCP, than the maximum theoretical bandwidth is 10 MBps (166 windows/sec * 64k). Now take in account that the RTT could be bigger because of CPU processing, queuing and retransmissions due to co-location and interference…
I guess: Packet aggregation in NV2 which disturbs the ack mechanism of tcp. The acks might come at fast changing rates and cause hickups. We see this problems a long time now (getting better with newer ROS releases). nstreme never had this problems. nstreme has more problems with interference (did not check this with newer ROS releases so it might be better now??).