RB2011 UiAS-2HnD-IN - SLOW TRANSFER

Hello,
I bought this router just because of 1GBit ethernet ports and now I see that I cannot get higher speed than 100Mbit
my case:
two computers where is each conected into 1Gbit port (eth1, eth2)
one computer is on a subnet 192.168.1.0/24 (eth1)
second on is on a subnet 192.168.10.0/24 (eth2)

for testing transfer speed I use tool “iperf”
**zdenek@debian-zdenek:~$ iperf -c 192.168.10.1

Client connecting to 192.168.10.1, TCP port 5001
TCP window size: 16.0 KByte (default)

[ 3] local 192.168.6.116 port 34286 connected with 192.168.10.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 112 MBytes 94.2 Mbits/sec
zdenek@debian-zdenek:~$**

this test is not correct, and will only test small packet sizes.
to test actual throughput, use UDP not TCP, and increase packet size to 1500.

**supervisor@linux-server:~$ iperf -c 192.168.10.1 -u -l 1500

Client connecting to 192.168.10.1, UDP port 5001
Sending 1500 byte datagrams
UDP buffer size: 122 KByte (default)

[ 3] local 192.168.1.1 port 36481 connected with 192.168.10.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec
[ 3] Sent 875 datagrams
[ 3] WARNING: did not receive ack of last datagram after 10 tries.
supervisor@linux-server:~$

Client connecting to 192.168.10.1, UDP port 5001
Sending 1500 byte datagrams
UDP buffer size: 122 KByte (default)

[ 3] local 192.168.1.1 port 48276 connected with 192.168.10.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec
[ 3] Sent 875 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 1.23 MBytes 1.03 Mbits/sec 0.503 ms 0/ 875 (0%)
supervisor@linux-server:~$
**

/interface print
Flags: D - dynamic, X - disabled, R - running, S - slave

NAME TYPE MTU L2MTU MAX-L2MTU

0 R eth1_gw-Linux ether 1500 1598 4074
1 R eth2_gw-zeus1 ether 1500 1598 4074
2 R eth3_gw-switch ether 1500 1598 4074
3 eth4 ether 1500 1598 4074
4 eth5 ether 1500 1598 4074
5 eth6 ether 1500 1598 2028
6 eth7 ether 1500 1598 2028
7 eth8 ether 1500 1598 2028
8 eth9 ether 1500 1598 2028
9 R eth10_ISP ether 1500 1598 2028
10 sfp1-gateway ether 1500 1598 4074
11 wlan1 wlan 1500 2290
12 wlan2 wlan 1500 2290
13 DR pptp-in 1400
14 DR pptp-in 1400

/ip firewall nat> print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat action=masquerade src-address=192.168.1.0/24
out-interface=eth10_ISP

1 chain=srcnat action=masquerade src-address=192.168.10.0/24
out-interface=eth10_ISP

2 chain=srcnat action=masquerade src-address=192.168.6.0/24
out-interface=eth10_ISP

3 chain=srcnat action=masquerade src-address=192.168.7.0/24
out-interface=eth10_ISP

4 ;;; NAT for PPTP (VPN)
chain=srcnat action=masquerade src-address=192.168.50.0/24
out-interface=eth10_ISP

when I transfer data between " eth1_gw-Linux" and " eth1_gw-zeus1" the NAT is not used I think…the packets are just routed not NATed

The RB2011 CPU cannot process packets at Gb/s Speeds it generally maxes out at about 100Mb/s from my experience (You can confirm by performing your test and watching the CPU monitor in Inbox). However you can gain wire speed switching ability (1Gb/s) by utilizing the switch chip. This is achieved by setting a master port say ether1 and the other ports as slaves. The master port is then added to the bridge, whilst the slave ports are marked as a slave in the interfaces menu by specifying a master port for all on that switch chip. However I do not believe that the switch chip can do changing sub nets, thus your router board cannot function an better by software configurations sorry.

If any of this is not clear or you require a more detailed demonstration/explanation I will be happy to provide.

Regards,

Considering 99% of the data transferred with typical file transfers is TCP, your tests are accurate.

I have a 2011-UAS and it maxes out at about 130mbps or so TCP routing.

If you have two computers on two subnets, you are routing data between them. You are maxing out the CPU. You can confirm that by watching the CPU in the “resources” page.

Do you want to use two ports in routing or switch mode? If you don’t use them in switch mode you’ll be using the CPU and that will be slower.

To compare two devices at their maximum possible performance, one has to use the same tests on both devices. Maximum speed is achieved with large packet UDP. If you want to compare anything, conditions must be the same.

In any case, our tests are in a table here (see bottom of page):
http://routerboard.com/RB2011UAS-2HnD-IN

At least test with more simultaneous TCP connections. Or simply download something via torrent (50 connections)

this is mine maximum
router version 6.5 - is in routing mode, NAT is not used

TCP packets:
**zdenek@debian-zdenek:~$ iperf -c 192.168.1.1

Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)

[ 3] local 192.168.6.116 port 41402 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 314 MBytes 263 Mbits/sec
zdenek@debian-zdenek:~$**

UDP packets (horrible result):
**zdenek@debian-zdenek:~$ iperf -c 192.168.1.1 -u -f m -b 1000M

Client connecting to 192.168.1.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 0.12 MByte (default)

[ 3] local 192.168.6.116 port 57514 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1117 MBytes 937 Mbits/sec
[ 3] Sent 796934 datagrams
[ 3] Server Report:
[ 3] 0.0-10.3 sec 383 MBytes 314 Mbits/sec 15.100 ms 523401/796852 (66%)
[ 3] 0.0-10.3 sec 1 datagrams received out-of-order
zdenek@debian-zdenek:~$
**

on the page: http://routerboard.com/RB2011UAS-2HnD-IN stay, that versio 6 in routing with 512 byte can make 890Mbit

First of all to get MT results you need to use MT method of testing
http://wiki.mikrotik.com/wiki/Manual:Performance_Testing_with_Traffic_Generator


Second, why the hell everyone uses some artificial testing programs… If you have good internet connection - download some popular torrent, if no - make a FTP server and download with several connection at once…

I fight it almost every week - users run some speedtest and then complain, after they see actual torrent or FTP speed - complains stop.

IPERF is professional Unix tool
Iperf was developed by the Distributed Applications Support Team (DAST) at the National Laboratory for Applied Network Research (NLANR), a research lab that merged with the University of California San Diego’s CAIDA group, but which was shut down on December 31, 2006 due to termination of funding by the USA’s NSF.

Yes. Exactly what Macgaiver said - it’s a test tool. Not real traffic that your user will get.

ok …
say me how I can test the transfer speed when in office I have just one routerboard
i need generate trafic from PC to PC cause this is real case

now Iam trying copy files from station(linux) to station(linux) over ssh, exactly say SFTP(secure FTP on port 22)
and actually speed is max 87Mbit
and also Iam trying copy files over windows share and average is 230Mbit - it is better

Filezilla ftp server - filezilla ftp client - some good SSD on server side. Download 8 files at once (so 8 TCP connection)

I just tested it on my RB2011 at home (with firewall configuration and NAT) and got ~40MBps (~360Mbps).

I understand with what you are saying, and I agree with you, but I am talking about real world scenarios, not testing.

Single thread (aka transferring files via smb) routing 1500byte packets single threaded, average thruput will be about 140mbit if you have a few firewall rules enabled. Sure, if you run multiple connections you will see higher thruput, but “typical” useage that a “normal user” will see is roughly 140mbit. I have 3 2011’s here and have tested them time and time again and 140mbit TCP is average for a single routed connection between 2 subnets, even using the built in speed test from 2011 to 2011. Sure, add some connections and the speed goes up, but that isn’t “real world what a user would see on their desktop”.

Brings up a good point though as there seems to be some kind of inefficiency in the RouterOS programming to have such a speed difference between a single connection and what the device can actually handle (multiple connections).

exactly…so it is

This is not specific to RouterOS or RouterBOARD. Any device will show slower results with single TCP connection. This is how TCP works, and is not related to our software. In addition to that, you only run the test for 10 seconds. This is not enough. The test should be run longer, and with 20 connections in parallel. TCP is slow to start. I suggest reading through this http://tools.ietf.org/html/rfc6349

In addition to that, here is a more simplified article why the speed is not what you expected:
http://bradhedlund.com/2008/12/19/how-to-calculate-tcp-throughput-for-long-distance-links/

What is the difference between UAS and UiAS?

Poe injector on port 10.