Medición de performance en redes de 1000 Mbps

Fechas: 22/12 (escenario 1 y 2) 26/12 (escenario 3) y 29/12 (escenario 4)

 

Acerca de Gigabit ethernet:

 

* Codificación layer 1: 8B/10B (fibra)

* Codificación layer 1: PAM 5x5 (UTP)

 

Esto se resume a que cada 4 bits, se transmite un símbolo de 5 bits, entonces cada 8 bits se transmiten realmente 10 bits, por lo tanto

a una velocidad de 1000 Mbps obtendremos 100 MBytes, restando un 20% de cabeceras de capas 7, 4, 3 y 2, nos quedan 80 MB/s

(Mega Bytes por segundo) de transferencia total de información útil (layer 7).

 

Escenario 1: a través de los ports Giga 0/1 y 2 de un SW Cisco 2960 con placas D-LINK DGE 528-T

 

Prueba de comparación con port de 100 en SW Cisco SF 100-24 (muestra cada 1 segundo durante 60 segundos)

 

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f m -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.106 port 49213 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth  (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  11.2 MBytes  94.2 Mbits/sec

[128]  1.0- 2.0 sec  10.6 MBytes  89.2 Mbits/sec

[128]  2.0- 3.0 sec  10.7 MBytes  90.0 Mbits/sec

[128]  3.0- 4.0 sec  11.0 MBytes  92.6 Mbits/sec

[128]  4.0- 5.0 sec  11.0 MBytes  92.3 Mbits/sec

[128]  5.0- 6.0 sec  11.1 MBytes  93.1 Mbits/sec

---resumido---

[128] 56.0-57.0 sec  11.1 MBytes  93.2 Mbits/sec

[128] 57.0-58.0 sec  11.1 MBytes  93.0 Mbits/sec

[128] 58.0-59.0 sec  10.8 MBytes  91.0 Mbits/sec

[128] 59.0-60.0 sec  10.7 MBytes  90.0 Mbits/sec

[ ID] Interval       Transfer     Bandwidth

[128]  0.0-60.0 sec   656 MBytes  91.6 Mbits/sec

Done.

 

Detalle forense de 6 segundos de captura y 1 segundo de transmisión mediante JPerf :

 

1. Saludo de tres vías

 

No.     Time           Source                Destination           Protocol Length Info

 

4 2.159198000    192.167.71.123            192.167.71.107            TCP      66     1618 > 5001 [SYN]

5 2.159554000    192.167.71.107            192.167.71.123            TCP      66     5001 > 1618 [SYN, ACK]

6 2.159590000    192.167.71.123            192.167.71.107            TCP      54     1618 > 5001 [ACK]

 

2. Comienzo de la transferencia de datos (layer 7)

 

8 2.160125000    192.167.71.123            192.167.71.107            TCP      1314   1618 > 5001 [ACK] Data (1260 bytes) (trama con la MTU completa)

 

3. Saludo de 2 vías de fin de transmisión cliente - server

 

12056 3.162607000    192.167.71.123            192.167.71.107            TCP      54     1618 > 5001 [FIN, ACK]

12057 3.163284000    192.167.71.107            192.167.71.123            TCP      60     5001 > 1618 [ACK]

 

4. Saludo de 2 vías de fin de transmisión server - cliente

 

12058 3.178918000    192.167.71.107            192.167.71.123            TCP      60     5001 > 1618 [FIN, ACK]

12059 3.178953000    192.167.71.123            192.167.71.107            TCP      54     1618 > 5001 [ACK]

 

Resumen: en total se transmiten 12059 tramas afectadas a 1 segundo de JPerf (medición a 100 Mbps)

 

 

Detalle: caída de performance al intercalar Wireshark en las pruebas de tráfico. Wireshark se utilizó unicamente para esta medición, las restantes no se alteraron.

Wireshark utiliza WinPcap (Windows Packet Capture), notar que también lo utiliza JPerf, generando un cuello de botella mas.

 

 

Prueba con port de 100 en SW Cisco Catalyst 2960 (muestra cada 1 segundo durante 60 segundos)

 

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f m -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.106 port 49217 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth  (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  11.1 MBytes  93.3 Mbits/sec

[128]  1.0- 2.0 sec  10.6 MBytes  88.6 Mbits/sec

[128]  2.0- 3.0 sec  10.5 MBytes  88.2 Mbits/sec

[128]  3.0- 4.0 sec  10.5 MBytes  88.3 Mbits/sec

[128]  4.0- 5.0 sec  11.0 MBytes  92.4 Mbits/sec

[128]  5.0- 6.0 sec  11.0 MBytes  92.0 Mbits/sec

---resumido---

[128] 58.0-59.0 sec  11.1 MBytes  93.5 Mbits/sec

[128] 59.0-60.0 sec  10.9 MBytes  91.5 Mbits/sec

[128]  0.0-60.0 sec   645 MBytes  90.2 Mbits/sec (tiene mas latencia debido a la inspección mas profunda de la

Done.                                             trama, spanning tree, etc)

 

 

Prueba con port de 1000 en SW Cisco Catalyst 2960 (muestra cada 1 segundo durante 60 segundos)

 

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f m -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.106 port 49222 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth  (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  21.4 MBytes   179 Mbits/sec

[128]  1.0- 2.0 sec  18.3 MBytes   154 Mbits/sec

[128]  2.0- 3.0 sec  19.3 MBytes   162 Mbits/sec

[128]  3.0- 4.0 sec  18.0 MBytes   151 Mbits/sec

[128]  4.0- 5.0 sec  23.4 MBytes   196 Mbits/sec

[128]  5.0- 6.0 sec  23.1 MBytes   193 Mbits/sec

---resumido---

[128] 55.0-56.0 sec  22.4 MBytes   188 Mbits/sec

[128] 56.0-57.0 sec  22.4 MBytes   188 Mbits/sec

[128] 57.0-58.0 sec  17.0 MBytes   143 Mbits/sec

[128] 58.0-59.0 sec  18.3 MBytes   153 Mbits/sec

[128] 59.0-60.0 sec  19.3 MBytes   162 Mbits/sec

[128]  0.0-60.0 sec  1239 MBytes   173 Mbits/sec

Done.

 

Verificación al dar valores muy bajos (muestra cada 1 segundo durante 60 segundos)

 

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f m -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.106 port 49224 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth  (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  22.8 MBytes   191 Mbits/sec

[128]  1.0- 2.0 sec  18.3 MBytes   153 Mbits/sec

[128]  2.0- 3.0 sec  17.6 MBytes   148 Mbits/sec

[128]  3.0- 4.0 sec  18.0 MBytes   151 Mbits/sec

[128]  4.0- 5.0 sec  23.0 MBytes   193 Mbits/sec

[128]  5.0- 6.0 sec  22.6 MBytes   190 Mbits/sec

---resumido---

[128] 55.0-56.0 sec  23.3 MBytes   196 Mbits/sec

[128] 56.0-57.0 sec  17.3 MBytes   145 Mbits/sec

[128] 57.0-58.0 sec  18.8 MBytes   157 Mbits/sec

[128] 58.0-59.0 sec  18.9 MBytes   158 Mbits/sec

[128] 59.0-60.0 sec  18.5 MBytes   156 Mbits/sec

[ ID] Interval       Transfer     Bandwidth

[128]  0.0-60.0 sec  1231 MBytes   172 Mbits/sec

Done.

 

Datos obtenidos del SW 2960: el tráfico llega al 20 % de la performance de la interface (150-200 Mbps) a través de la herramienta

Cisco Network Assistant, monitoreando desde la interfaz Fa0/24 para no interferir con las mediciones en gigabit.

 

 

4ta prueba con port de 1000 en SW Cisco Catalyst 2960 y drivers D-LINK, se actualizó el driver que Windows 7 utilizó por defecto al detectar la placa.

 

 

 

 

 

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f m -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.106 port 49258 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  19.4 MBytes   163 Mbits/sec

[128]  1.0- 2.0 sec  17.4 MBytes   146 Mbits/sec

[128]  2.0- 3.0 sec  20.7 MBytes   174 Mbits/sec

[128]  3.0- 4.0 sec  17.8 MBytes   150 Mbits/sec

[128]  4.0- 5.0 sec  18.8 MBytes   157 Mbits/sec

[128]  5.0- 6.0 sec  17.5 MBytes   147 Mbits/sec

---resumido---

[128] 56.0-57.0 sec  17.5 MBytes   147 Mbits/sec

[128] 57.0-58.0 sec  22.9 MBytes   192 Mbits/sec

[128] 58.0-59.0 sec  18.7 MBytes   157 Mbits/sec

[128] 59.0-60.0 sec  22.8 MBytes   192 Mbits/sec

[128]  0.0-60.0 sec  1174 MBytes   173 Mbits/sec (valor similar a las pruebas anteriores)

Done.

 

Notar los altibajos registrados, se presume que son accesos a disco o demoras del sistema operativo.

 

 

Verificamos errores  en el SW:

 

SW_2960#sh int gi0/1

sh int Gi0/21

GigabitEthernet0/1 is up, line protocol is up (connected)

  Hardware is Gigabit Ethernet, address is 0021.1b0a.a499 (bia 0021.1b0a.a499)

  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,

     reliability 255/255, txload 1/255, rxload 7/255

  Encapsulation ARPA, loopback not set

  Keepalive set (10 sec)

  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX

  input flow-control is off, output flow-control is unsupported

  ARP type: ARPA, ARP Timeout 04:00:00

  Last input never, output 00:00:01, output hang never

  Last clearing of "show interface" counters never

  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0

  Queueing strategy: fifo

  Output queue: 0/40 (size/max)

  5 minute input rate 30697000 bits/sec, 2679 packets/sec

  5 minute output rate 695000 bits/sec, 1339 packets/sec

     2783629 packets input, 3959739109 bytes, 0 no buffer

     Received 1452 broadcasts (962 multicasts)

     0 runts, 0 giants, 0 throttles

     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

     0 watchdog, 962 multicast, 0 pause input

     0 input packets with dribble condition detected

     1401279 packets output, 92403308 bytes, 0 underruns

     0 output errors, 0 collisions, 1 interface resets

     0 unknown protocol drops

     0 babbles, 0 late collision, 0 deferred

     0 lost carrier, 0 no carrier, 0 pause output

     0 output buffer failures, 0 output buffers swapped out

SW_2960#sh int Gi0/2

GigabitEthernet0/2 is up, line protocol is up (connected)

  Hardware is Gigabit Ethernet, address is 0021.1b0a.a49a (bia 0021.1b0a.a49a)

  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,

     reliability 255/255, txload 7/255, rxload 1/255

  Encapsulation ARPA, loopback not set

  Keepalive set (10 sec)

  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX

  input flow-control is off, output flow-control is unsupported

  ARP type: ARPA, ARP Timeout 04:00:00

  Last input never, output 00:00:00, output hang never

  Last clearing of "show interface" counters never

  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0

  Queueing strategy: fifo

  Output queue: 0/40 (size/max)

  5 minute input rate 663000 bits/sec, 1311 packets/sec

  5 minute output rate 30200000 bits/sec, 2641 packets/sec

     1392174 packets input, 89191121 bytes, 0 no buffer

     Received 923 broadcasts (657 multicasts)

     0 runts, 0 giants, 0 throttles

     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

     0 watchdog, 657 multicast, 0 pause input

     0 input packets with dribble condition detected

     2792192 packets output, 3962738466 bytes, 0 underruns

     0 output errors, 0 collisions, 1 interface resets

     0 unknown protocol drops

     0 babbles, 0 late collision, 0 deferred

     0 lost carrier, 0 no carrier, 0 pause output

     0 output buffer failures, 0 output buffers swapped out

SW_2960#

 

Escenario 2: con un cable derecho entre las dos placas, con esta conexión descartamos latencias causadas por el switch.

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f m -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.123 port 49276 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  20.5 MBytes   172 Mbits/sec

[128]  1.0- 2.0 sec  18.0 MBytes   151 Mbits/sec

[128]  2.0- 3.0 sec  23.5 MBytes   197 Mbits/sec

[128]  3.0- 4.0 sec  18.2 MBytes   153 Mbits/sec

[128]  4.0- 5.0 sec  19.5 MBytes   163 Mbits/sec

[128]  5.0- 6.0 sec  20.8 MBytes   174 Mbits/sec

---resumido---

[128] 57.0-58.0 sec  23.4 MBytes   196 Mbits/sec

[128] 58.0-59.0 sec  19.3 MBytes   162 Mbits/sec

[128] 59.0-60.0 sec  17.9 MBytes   150 Mbits/sec

[ ID] Interval       Transfer     Bandwidth

[128]  0.0-60.0 sec  1228 MBytes   172 Mbits/sec (no hay impacto por parte del switch)

Done.

 

 

Medición de la tasa de transferencia (velocidad - 20% / 10)

 

bin/iperf.exe -c 192.168.71.107 -P 1 -i 1 -p 5001 -f M -t 60

------------------------------------------------------------

Client connecting to 192.168.71.107, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[128] local 192.168.71.123 port 49283 connected with 192.168.71.107 port 5001

[ ID] Interval       Transfer     Bandwidth (muestra cada 1 segundo durante 60 segundos)

[128]  0.0- 1.0 sec  25.0 MBytes  25.0 MBytes/sec

[128]  1.0- 2.0 sec  19.3 MBytes  19.3 MBytes/sec

[128]  2.0- 3.0 sec  18.8 MBytes  18.8 MBytes/sec

[128]  3.0- 4.0 sec  18.9 MBytes  18.9 MBytes/sec

[128]  4.0- 5.0 sec  19.7 MBytes  19.7 MBytes/sec

[128]  5.0- 6.0 sec  24.2 MBytes  24.2 MBytes/sec

----resumido---

[128] 55.0-56.0 sec  27.5 MBytes  27.5 MBytes/sec

[128] 56.0-57.0 sec  27.1 MBytes  27.1 MBytes/sec

[128] 57.0-58.0 sec  27.7 MBytes  27.7 MBytes/sec

[128] 58.0-59.0 sec  26.8 MBytes  26.8 MBytes/sec

[128] 59.0-60.0 sec  21.6 MBytes  21.6 MBytes/sec

[ ID] Interval       Transfer     Bandwidth

[128]  0.0-60.0 sec  1434 MBytes  23.9 MBytes/sec (menor a la tasa mínima del disco: 30.0 MB/sec)

Done.

 

 

Medición de performance de disco, para verificar cuellos de botella en los tiempos de acceso. La medición de transferencia mínima

es mayor a la transferencia obtenida en el tráfico de red.

 

 

Escenario 3: Mediciones con placas Intel de 1000 Mbps y Windows Sever 2008 R2, notar que no existen picos, la transferencia

es pareja debido a que el sistema operativo es para servidores y el acceso a disco se controla diferente a un workstation.

Esto se observa contrastando con las mediciones anteriores realizadas con Windows 7.

Aquí también ambas placas están conectadas a la Gi0/1 y 2 del Cisco 2960.

 

 

bin/iperf.exe -c 10.1.0.237 -P 1 -i 1 -p 5001 -f k -t 10 -T 1

------------------------------------------------------------

Client connecting to 10.1.0.237, TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

[164] local 10.1.0.239 port 49414 connected with 10.1.0.237 port 5001

[ ID] Interval       Transfer     Bandwidth (muestra cada 1 segundo durante 60 segundos)

[164]  0.0- 1.0 sec  56.4 MBytes   473 Mbits/sec

[164]  1.0- 2.0 sec  57.7 MBytes   484 Mbits/sec

[164]  2.0- 3.0 sec  57.5 MBytes   483 Mbits/sec

[164]  3.0- 4.0 sec  57.2 MBytes   480 Mbits/sec

[164]  4.0- 5.0 sec  57.9 MBytes   486 Mbits/sec

[164]  5.0- 6.0 sec  57.4 MBytes   482 Mbits/sec

---resumido---

[164] 55.0-56.0 sec  58.1 MBytes   488 Mbits/sec

[164] 56.0-57.0 sec  58.2 MBytes   488 Mbits/sec

[164] 57.0-58.0 sec  57.7 MBytes   484 Mbits/sec

[164] 58.0-59.0 sec  57.8 MBytes   485 Mbits/sec

[164] 59.0-60.0 sec  56.8 MBytes   476 Mbits/sec

[164]  0.0-60.0 sec  3459 MBytes   484 Mbits/sec (los valores duplican las mediciones de la placa D-LINK 528,

Done.                                             pero sólo alcanzan la mitad de los 1000 Mbps esperados)

 

 

Medición de la tasa de transferencia (velocidad - 20% / 10)

 

bin/iperf.exe -c 10.1.0.237 -P 1 -i 1 -p 5001 -f M -t 60 -T 1

------------------------------------------------------------

Client connecting to 10.1.0.237, TCP port 5001

TCP window size: 0.01 MByte (default)

------------------------------------------------------------

[164] local 10.1.0.239 port 49420 connected with 10.1.0.237 port 5001

[ ID] Interval       Transfer     Bandwidth (muestra cada 1 segundo durante 60 segundos)

[164]  0.0- 1.0 sec  58.2 MBytes  58.2 MBytes/sec

[164]  1.0- 2.0 sec  57.6 MBytes  57.6 MBytes/sec

[164]  2.0- 3.0 sec  57.9 MBytes  57.9 MBytes/sec

[164]  3.0- 4.0 sec  57.1 MBytes  57.1 MBytes/sec

[164]  4.0- 5.0 sec  57.9 MBytes  57.9 MBytes/sec

[164]  5.0- 6.0 sec  57.5 MBytes  57.5 MBytes/sec

---resumido---

[164] 55.0-56.0 sec  57.5 MBytes  57.5 MBytes/sec

[164] 56.0-57.0 sec  58.4 MBytes  58.4 MBytes/sec

[164] 57.0-58.0 sec  58.1 MBytes  58.1 MBytes/sec

[164] 58.0-59.0 sec  57.7 MBytes  57.7 MBytes/sec

[164] 59.0-60.0 sec  58.4 MBytes  58.4 MBytes/sec

[164]  0.0-60.0 sec  3464 MBytes  57.7 MBytes/sec

Done.

 

 

Medición de performance de disco, para verificar cuellos de botella en los tiempos de acceso.

 

 

 

Escenario 4: Pruebas de saturación del vínculo de 1000 Mbps entre dos switch 2960

 

Escenario

 

Se conectaron dos aulas con 8 PCs cada una, en el aula 7A conectamos los clientes JPerf y en el aula 7B conectamos los

servers JPerf, todos en 100 Mbps y unidos mediante un cable de 30 Mts Cat5e conectado a las Giga0/1 de dos Catalist 2960.

 

Los enlaces entre cada PC, ejemplo PC1 -> Jperf_1, PC2-> Jperf_2, etc..., se matuvieron con rendimiento normal, independientemente

de la cantidad de PCs afectadas a la prueba.

 

 

Muestra de la utilización del vínculo con 8 PCs en cada extremo, los picos se deben a otras aplicaciones multicast,

propias de las aulas. Estas aplicaciones en capa 2, se comportan como broadcast.

 

Notar la disminución del BW a medida que cada PC terminaba las pruebas.

 

 

Monitoreo del estado de salud del SW en el momento de las pruebas, notar que el BW general sólo llega al 20%, pero la

utilización de memoria se debe a que cada trama es almacenada en memoria debido al método de reenvío store and forward.

La tasa de errores es de 0 tramas, incluso con un cable de 30 Mts de Cat 5e cruzando el pasillo entre aulas, fuera de toda

norma de cableado horizontal. Si se respetó el conectorizado 568A - 568A (cable derecho).

 

 

SW_2960#sh int gi0/1

GigabitEthernet0/1 is up, line protocol is up (connected)

  Hardware is Gigabit Ethernet, address is 0021.1b0a.a499 (bia 0021.1b0a.a499)

  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,

     reliability 255/255, txload 164/255, rxload 3/255

  Encapsulation ARPA, loopback not set

  Keepalive set (10 sec)

  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX

  input flow-control is off, output flow-control is unsupported

  ARP type: ARPA, ARP Timeout 04:00:00

  Last input 00:00:01, output 00:00:19, output hang never

  Last clearing of "show interface" counters never

  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0

  Queueing strategy: fifo

  Output queue: 0/40 (size/max)

  5 minute input rate 14775000 bits/sec, 28841 packets/sec

  5 minute output rate 644791000 bits/sec, 57526 packets/sec

     36663662 packets input, 12405447208 bytes, 0 no buffer

     Received 8751 broadcasts (5953 multicasts)(los picos observados en el gráfico de utilización del port)

     0 runts, 0 giants, 0 throttles

     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

     0 watchdog, 5953 multicast, 0 pause input

     0 input packets with dribble condition detected

     62104008 packets output, 82220463905 bytes, 0 underruns

     0 output errors, 0 collisions, 1 interface resets

     0 unknown protocol drops

     0 babbles, 0 late collision, 0 deferred

     0 lost carrier, 0 no carrier, 0 pause output

     0 output buffer failures, 0 output buffers swapped out

 

SW_2960# exit

 

See you in 2013 !!!

 

 

 

 

Connection lost

 

 

 

 

(2012) Funny girls, sun, beach... or networking ?

Rosario, Argentina