I got an issue for several days. Hope anybody could give me a hint.
I simulate data transfer (using TCP) over high speed ethernet (40 Gbps), but I can only get about 4MBps throughput with NS3. my topology is: client -> switch -> router -> router -> switch -> server. total RTT is 54ms.
My configuration is:
Config::SetDefault("ns3::TcpSocket::SndBufSize", UintegerValue(67108864));
Config::SetDefault("ns3::TcpSocket::RcvBufSize", UintegerValue(67108864));
Config::SetDefault("ns3::CsmaNetDevice::Mtu", UintegerValue(9000));
Config::SetDefault("ns3::PointToPointNetDevice::Mtu", UintegerValue(9000));
Config::SetDefault("ns3::TcpSocket::SegmentSize", UintegerValue(8930));
Config::SetDefault("ns3::TcpSocket::InitialCwnd", UintegerValue(8));
Config::SetDefault("ns3::TcpL4Protocol::SocketType", StringValue ("ns3::TcpHtcp"));
GlobalValue::Bind ("ChecksumEnabled", BooleanValue (true));
I tried to capture the traffic, I see [TCP Previous segment not captured] when server gets Seq=3679191, then server keeps receiving [TCP Dup Ack] Ack=3688091, it seems that server does not response client's retransmission request.
I also tried parallel TCP, the performance became worse!
Thank you very much in advance.