Bandwidth-tests with my new Juniper EX2200-48T

The EX2200 line of Juniper Ethernet switches are ideal for access-layer deployments in branch offices and campus networks, delivers a level of functionality and performance normally associated with higher-cost Ethernet switches. Also i'd say that they are capable of doing Datacenter workload. Anyway, i am planning on using those as Rackswitches over at my Rackhousing business.

Switching Performance

On my Macbook Pro i was running

netcat -l -p 12345 > /dev/null

On the other machine i used dd piping into netcat (2 independent runs):

$ dd if=/dev/zero count=1000 bs=1M | nc 10.0.0.235 12345
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 8.99109 s, 117 MB/s

2nd run:

$ dd if=/dev/zero count=1000 bs=1M | nc 10.0.0.235 12345
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 8.98447 s, 117 MB/s

Clearly you can see that both runs ended with 117MB/s which is full speed in my book. :)

Routing Configuration

Normaly an interface on an EX-Series switch is configured for ethernet-switching:

root@ex2200# show interfaces ge-0/0/0
unit 0 {
    family ethernet-switching;
}

To set another family than ethernet-switching, you need to remove it first!

root@ex2200# delete interfaces ge-0/0/1 unit 0 family ethernet-switching
root@ex2200# delete interfaces ge-0/0/2 unit 0 family ethernet-switching

After that we set our IPs to the desired interfaces:

root@ex2200# set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.1/24
root@ex2200# set interfaces ge-0/0/2 unit 0 family inet address 10.0.1.1/24

The show configuration command should show something like this:

root@ex2200# show interfaces ge-0/0/1
unit 0 {
    family inet {
        address 10.0.0.1/24;
    }
}

root@ex2200# show interfaces ge-0/0/2
unit 0 {
    family inet {
        address 10.0.1.1/24;
    }
}

Routing Performance

For routing performance, i want to be a bit more exact. iperf will do the trick. On the server (in my case Macbook Pro):

# iperf -s

On the other machine i run:

# iperf -c 10.0.1.5
------------------------------------------------------------
Client connecting to 10.0.1.5, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.5 port 41361 connected with 10.0.1.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec

I also tried this using 64 byte packets:

# iperf -c 10.0.1.5 -l 64
------------------------------------------------------------
Client connecting to 10.0.1.5, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.5 port 58634 connected with 10.0.1.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   619 MBytes   520 Mbits/sec

And also using 128 byte packets:

# iperf -c 10.0.1.5 -l 128
------------------------------------------------------------
Client connecting to 10.0.1.5, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.5 port 41361 connected with 10.0.1.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec

933Mbit/s with normal sized packets is perfect, the only thing it seems to dislike are small packets with 64 bytes in size. You can see that there i only got 520Mbit/s.

Conclusion

The EX-Series switches are a great replacement for any other 1GE switch, the only thing i am sad about is the Advanced Routing License you have to obtain from Juniper in Order to make this device work with protocols like OSPF or BGP.

Since now i have the basic Juniper CLI figured out, i will try some fancy stunts with the J2320 in the next few days.

Stay tuned!

Flattr me!

Tell your friends!