jueves, 18 de marzo de 2010

Ancho de Banda y Throughput (2)

Recibí un correo de Kevin preguntando sobre la diferencia entre throughput y bandwidth porque mencioné en otro post que un 1841 no puede alcanzar más que 75Mbps (un error, son 38.4Mbps o 75mil paquetes por segundo) de throughput a pesar de tener interfases Fast Ethernet.

Hay un documento llamado Portable Product Sheets - Routing Performance donde podemos consultar cual es la capacidad de proceso de cada plataforma, ya sea con el process switching o con el CEF switching (Cisco Express Forwarding).

La principal diferencia entre el Throughput y el Bandwidth es que un enlace tiene un ancho de banda de 100Mbps, pero en el caso de un router 1841 por ejemplo, la capacidad de proceso se ve limitada por el número de paquetes que puede procesar (75mil paquetes por segundo) o el ancho de banda total (38.4Mbps), el MTU máximo es de 1500 bytes (ó 12000 bits), incluyendo los encabezados y la carga "útil", lo cual serían aproximandamente 3200 paquetes; y la razón por la que no es igual la capacidad de proceso de paquetes y el ancho de banda es que no todos los paquetes son del tamaño máximo permitido, hay por ejemplo paquetes de acknowledge, de SYN, y echo requests ,echo replies, etc, que son de tamaños mucho menores, pero que ocupan la memoria de nuestro router, y por tanto podrían alcanzar la capacidad máxima de 75mil paquetes y saturar el router sin llegar a la capacidad de 38.4Mbps.

Al final, la utilización de ese ancho de banda disponible (100Mbps en fast ethernet) está limitada por los recursos de proceso (38.4Mbps o 75,000pps) y el throughput representa esa utilización.

Cada router está pensado para una capacidad que viene relacionada con los enlaces WAN que puede manejar; el 1841 está recomendado para un E1 o menos, por lo que, en teoría, debería procesar hasta 2048Kbps provenientes de la LAN y que pasarán por el para entrar a la WAN, por eso su throughput o capacidad de proceso es menor a 100Mbps, y cabe destacar que hablamos de una capacidad total a ser procesada, no es como en una interfase full duplex que tiene 100Mbps de entrada y 100 de salida; en el caso del throughput, el router puede procesar un cierto número de paquetes a los que les dará el servicio de ruteo entre sus interfases, y que puede bajar en el caso de routers que ejecutan ruteos dinámicos, servicios de gateway de voz o de seguridad, ya que el CPU está ejecutando procesos más elaborados sobre cada paquete.

Si queremos conectar un E3 (34Mbps) en un router, usaremos un 3845 que tiene una capacidad de 500,000pps o 256Mbps; el throughput es mucho mayor.

2 comentarios :

  1. Hola..muy buena la aclaracion!..una consulta, segun ese dato de cisco, los paquetes son de tamaño 64 bytes, este es el tamaño mas comun de los paquetes?

    Como calculas en ancho de banda a partir de paquetes por segundo??..

    ahora los 1500 byte es el tamaño maximo que puede procesar un router, si se envian paquetes de este tamaño cual es el througput resultante??..

    ResponderEliminar
  2. Para el caso de las pruebas de throughput el tamaño de los paquetes es de 64 bytes, por ejemplo, un echo request o un echo reply (ping), tienen una longitud de 60 bytes típicamente (http://bit.ly/9qOHno)

    Dependiendo de la aplicación que estés usando y del tipo de paquete, será la longitud del mismo.

    Una transferencia de FTP tiene paquetes de inicio de sesión, de control de la sesión, y de la transferencia en si, y los paquetes de control (SYN, ACK,FIN, etc) serán pequeños, mientras que la transferencia seguramente usará el MTU máximo de 1500 bytes, utilizando mejor el ancho de banda.

    Debido a esa variación, no puedes calcular el ancho debanda a partir de los paquetes por segundo, pero puedes ver el input rate o el output rate con un show interfaces y ver la utilización:


    Serial0/0 is up, line protocol is up
    Hardware is PowerQUICC Serial
    Description: ENLACE AXTEL
    Internet address is x.x.x.x/30
    MTU 1500 bytes, BW 512 Kbit, DLY 20000 usec,
    reliability 255/255, txload 38/255, rxload 53/255
    Encapsulation HDLC, loopback not set
    Keepalive set (10 sec)
    Last input 00:00:00, output 00:00:00, output hang never
    Last clearing of "show interface" counters 09:07:59
    Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 69
    Queueing strategy: fifo

    ---------aquí hay que ver----------------
    Output queue: 0/40 (size/max)
    30 second input rate 108000 bits/sec, 21 packets/sec
    30 second output rate 78000 bits/sec, 21 packets/sec
    2297373 packets input, 2024495218 bytes, 0 no buffer
    Received 3270 broadcasts, 0 runts, 0 giants, 0 throttles
    5 input errors, 0 CRC, 3 frame, 0 overrun, 0 ignored, 0 abort
    2473670 packets output, 488328103 bytes, 0 underruns
    0 output errors, 0 collisions, 3 interface resets
    0 output buffer failures, 0 output buffers swapped out
    38 carrier transitions
    DCD=up DSR=up DTR=up RTS=up CTS=up

    ResponderEliminar