Bug 2747

Summary: BulkSendApplication does not send data completely
Product: ns-3 Reporter: Varun Reddy <varunamarreddy>
Component: internetAssignee: Tommaso Pecorella <tommaso.pecorella>
Status: RESOLVED INVALID    
Severity: normal CC: ns-bugs
Priority: P3    
Version: ns-3-dev   
Hardware: All   
OS: All   
Attachments: TCP (BulkSendApplication) over Wifi

Description Varun Reddy 2017-05-30 21:27:39 UTC
Created attachment 2859 [details]
TCP (BulkSendApplication) over Wifi

I have modified the example "wifi-tcp" to have a single AP and a variable number of Stations, all connected to the AP. Each Station sends 150,000 bytes of information, using BulkSendHelper. All nodes are within range of the AP.

In the case of 30 or 40 stations, all the data is received successfully at the AP. However, in the case of 50 stations, 5 stations are unable to send all their data. Even in the event of collisions or buffer overflow at the receiver, and given enough simulation time, shouldn't TCP retransmissions ensure that all the data is received at the AP?

The code is attached.

Thanks,
Varun
Comment 1 Varun Reddy 2017-05-30 21:34:10 UTC
(In reply to Varun Reddy from comment #0)
> Created attachment 2859 [details]
> TCP (BulkSendApplication) over Wifi
> 
> I have modified the example "wifi-tcp" to have a single AP and a variable
> number of Stations, all connected to the AP. Each Station sends 150,000
> bytes of information, using BulkSendHelper. All nodes are within range of
> the AP.
> 
> In the case of 30 or 40 stations, all the data is received successfully at
> the AP. However, in the case of 50 stations, 5 stations are unable to send
> all their data. Even in the event of collisions or buffer overflow at the
> receiver, and given enough simulation time, shouldn't TCP retransmissions
> ensure that all the data is received at the AP?
> 
> The code is attached.
> 
> Thanks,
> Varun

Increasing the Data Rate (by either increasing the MCS mode or by increasing the TCP Segment Size) will certainly improve the performance in this scenario. However, there always seems to be an 'upper limit' for the amount of data that can be sent to the AP, for a given data rate. 

Why isn't all the data sent by BulkSendHelper, given enough time and retransmissions?

Thanks,
Varun