point-to-point upload and download bottlneck

51 views
Skip to first unread message

Hiba Yousef

unread,
Sep 30, 2019, 12:34:30 PM9/30/19
to ns-3-users
Dear all,

At first, thanks for having this helpful group!

I have a question regarding the point-to-point liink, I read that it is symmetric link,
But when I used it for uploading and downloading I got a bottleneck issue.

I used very simple point-to-poitnt configuration:

 // Default Network Topology
 //                                                                          emu{i}
 //                                                                                |
 //                                                                         +------------+
 //                                                                        | tap-bridge |
 //     +--------+                                                     +------------+
 //     | Server |                                                 | Csma ghost |
 //     +--------+                                                     +------------+
 //         |                                                                       |2
 //         |                                                                 10.1.{i}.0
 //         |                                                                        | 1
 //         |                                                              +--------------+
 //      emu0                                                        | Csma ghost |
 //   +----------+                                                      +------------+
 //   |  tap       |                                                       |   p2p      |
 //   | bridge   |                                                      +------------+
 //   +----------+                +---------+ 1     10.3.{i}.0      2 |
 //   | CSMA0 |                 |  p2p    | -------------------------+
 //    +----------+               +---------+ 1
 //          |                        |CSMA0 |
 //          |                        +---------+
 //          |0     10.1.100.0    5 |
 //          +-------------------------+
 //
I used  the following configuration :
NodeContainer outputNodes,
                p2ppeer{i},
                csmapeer{i};
  outputNodes.Create (noutputNodes);
  p2ppeer{i}.Add( outputNodes.Get (0));
  p2ppeer{i}.Create (1);
  csmapeer{i}.Add( p2ppeer{i}.Get (1));
  csmapeer{i}.Create (1);

  NetDeviceContainer outputDevices,
                     p2ppeer{i}Devices,
                     csmapeer{i}Devices;
  // CSMA channel
  CsmaHelper csma;
  csma.SetChannelAttribute ("DataRate", StringValue ("1Gbps"));
  csma.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (1)));
  outputDevices = csma.Install (outputNodes);
  csmapeer{i}Devices =  csma.Install (csmapeer{i});
  Ptr<NetDevice> devicepeer{i} = outputDevices.Get (0);
  devicepeer{i}->SetAddress (Mac48Address ("aa:ff:00:00:00:{I}"));
  // point-to-point channels
  PointToPointHelper pointToPoint;
  pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("2Mbps"));
  pointToPoint.SetChannelAttribute ("Delay", StringValue ("1ms"));
  p2ppeer{i}Devices = pointToPoint.Install (p2ppeer{i});

 
 
Whenever I start uploading and downloading at the same time, the download bandwidth is dropped, and when I stop uplading the bandwidth goes back to 2Mbps
Do you think the point to point is a bottleneck ? if so I was thinking it might be a queue issue but I don't really know how to solve it  
(I can not upload the images or any files looks like there is a problem )



Thanks in advance for your time and help !!
 


Jared Dulmage

unread,
Oct 7, 2019, 7:14:12 PM10/7/19
to ns-3-users
Maybe first see if the P2P net supports full-duplex TX.  I didn't see anything in the code that would suggest it wasn't.  But it seems simple enough to make just a P2P network with a couple nodes and have them transmit to each other.

Jared.

Hiba Yousef

unread,
Oct 8, 2019, 9:15:44 AM10/8/19
to ns-3-users
Thanks for your answer,

In fact I solved this issue using different queue,
For some reason the default queue of p2p (fastcodel) was giving huge RTTs when I tried to ping, so I changes to CODEL queus and enabled BQL, this gave lower RTTs and full duplexity.

Tom Henderson

unread,
Oct 8, 2019, 9:38:01 AM10/8/19
to ns-3-...@googlegroups.com
On 10/8/19 6:15 AM, Hiba Yousef wrote:
> Thanks for your answer,
>
> In fact I solved this issue using different queue,
> For some reason the default queue of p2p (fastcodel) was giving huge
> RTTs when I tried to ping, so I changes to CODEL queus and enabled BQL,
> this gave lower RTTs and full duplexity.
>

Which version of ns-3 are you using? The current default for p2p is
FQ-CoDel which has BQL and CoDel as part of it, so I am surprised that
changing to plain CoDel and BQL makes any difference. In older versions
of ns-3, however, the default queue configuration is different.

- Tom

Hiba Yousef

unread,
Oct 8, 2019, 9:49:08 AM10/8/19
to ns-3-users
Then that's ally surprising !
I am using the 3.29 version. I also changed the queue maxSize to 25 packets. then added BQL where I got the best performance !

Hiba

Tom Henderson

unread,
Oct 8, 2019, 10:36:59 AM10/8/19
to ns-3-...@googlegroups.com
On 10/8/19 6:49 AM, Hiba Yousef wrote:
Then that's ally surprising !
I am using the 3.29 version. I also changed the queue maxSize to 25 packets. then added BQL where I got the best performance !

OK, with ns-3.30, FqCoDel with BQL is now the default.

- Tom

Reply all
Reply to author
Forward
0 new messages