Download - 05-Quality of Servic
Calidad de ServiciosCalidad de Servicios 11
Calidad de Servicio QOSCalidad de Servicio QOSCalidad de Servicio QOS
Calidad de Servicio Quality of service
MMóódulo 3dulo 3
Calidad de ServiciosCalidad de Servicios 22
Calidad de Servicio QOSCalidad de Servicio QOS
Calidad de servicio no es limitar sino Calidad de servicio no es limitar sino ecualizar.ecualizar.
Calidad de servicio es racionalizar el Calidad de servicio es racionalizar el recurso de ancho de banda de la manera recurso de ancho de banda de la manera mas efectivamas efectiva
Se priorizan cierto flujo con respecto a Se priorizan cierto flujo con respecto a otrootro
Calidad de ServiciosCalidad de Servicios 33
Calidad de Servicio QOSCalidad de Servicio QOSLa calidad de servicio se realiza por medio La calidad de servicio se realiza por medio de dropeo de paquetes.de dropeo de paquetes.Es este caso el protocoo TCP reenviara un Es este caso el protocoo TCP reenviara un paquete dropeado; no se perderpaquete dropeado; no se perderááinformaciinformacióón.n.El q.o.s. trabaja con un mecanismo de El q.o.s. trabaja con un mecanismo de encolamiento, esperando por salir por la encolamiento, esperando por salir por la interfaz de salida.interfaz de salida.Hay interfaces virtuales como globalHay interfaces virtuales como global--in, in, globalglobal--out y globalout y global--total. total.
Calidad de ServiciosCalidad de Servicios 44
Calidad de Servicio QOSCalidad de Servicio QOSSolo una disciplina de queue puede Solo una disciplina de queue puede haber por interfazhaber por interfazLas queues controlan la velocidad y el Las queues controlan la velocidad y el orden de los paquetes por la interfaz de orden de los paquetes por la interfaz de salida, esperando el turno para salir.salida, esperando el turno para salir.Hay 2 manera de clasificar las disciplinas Hay 2 manera de clasificar las disciplinas de acuerdo a como influyen al flujode acuerdo a como influyen al flujo
* Tipo schedulers: PFIFO * Tipo schedulers: PFIFO –– BFIFO BFIFO –– SFQSFQ* Tipo shaper: PCQ * Tipo shaper: PCQ -- HTBHTB
Calidad de ServiciosCalidad de Servicios 55
Calidad de Servicio QOSCalidad de Servicio QOS
Schedulers: Schedulers: Deciden que colas hay que procesar y en que orden. Deciden que colas hay que procesar y en que orden. Funciona con FIFO, como una cola de banco, cuando la cola se Funciona con FIFO, como una cola de banco, cuando la cola se llena los paquetes siguientes son dropeados.llena los paquetes siguientes son dropeados.Estas disciplinas limitan el nEstas disciplinas limitan el núúmero de paquetes que esperan no mero de paquetes que esperan no la velocidad.la velocidad.
Shapers: Shapers: Disciplinas basadas en la limitaciDisciplinas basadas en la limitacióón por velocidad.n por velocidad.
Calidad de ServiciosCalidad de Servicios 66
Calidad de Servicio QOSCalidad de Servicio QOSPFIFO y BFIFO:PFIFO y BFIFO:Disciplina basada en FIFO (Disciplina basada en FIFO (first infirst in--first outfirst out), no ), no cambian el orden de los paquetes, sino que cambian el orden de los paquetes, sino que acumulan de acuerdo al limite definido.acumulan de acuerdo al limite definido.Si la queue esta llena los paquetes restantes son Si la queue esta llena los paquetes restantes son dropeados.dropeados.Grandes queues incrementan la latencia.Grandes queues incrementan la latencia.
PFIFOPFIFO: queue limitada por paquetes: queue limitada por paquetesBFIFOBFIFO: queue limitada por bytes: queue limitada por bytes
NOTA: Usar FIFO para enlaces no congestionadosNOTA: Usar FIFO para enlaces no congestionados
Calidad de ServiciosCalidad de Servicios 77
Calidad de Servicio QOSCalidad de Servicio QOSSFQ: SFQ:
Esta disciplina no limita el trEsta disciplina no limita el trááfico, sino que ecualiza fico, sino que ecualiza el flujo (sesiones TCP y stream UDP) cuando el el flujo (sesiones TCP y stream UDP) cuando el enlace esta saturado.enlace esta saturado.Usar SFQ para enlaces congestionados y Usar SFQ para enlaces congestionados y asegurarnos que las conecciones no mueran por asegurarnos que las conecciones no mueran por falta de flujo.falta de flujo.
Consume poco CPU al igual que los basados en Consume poco CPU al igual que los basados en FIFOFIFO
Calidad de ServiciosCalidad de Servicios 88
Calidad de Servicio QOSCalidad de Servicio QOSRED: Random Early Detect:RED: Random Early Detect:Es un gestor inteligente de flujo, no limita velocidad, pero cuaEs un gestor inteligente de flujo, no limita velocidad, pero cuando el ndo el enlace esta lleno, ecualiza las velocidades de los usuarios.enlace esta lleno, ecualiza las velocidades de los usuarios.Se utiliza para enlaces tipo backbone para evitar congestiSe utiliza para enlaces tipo backbone para evitar congestióón.n.
Si el tamaSi el tamañño del paquete medio se encuentra debajo del umbral mo del paquete medio se encuentra debajo del umbral míínimo nimo (red(red--minmin--threshold) el paquete no se dropearthreshold) el paquete no se dropearáá..Si el tamaSi el tamañño del paquete medio se encuentra arriba del umbral maximo o del paquete medio se encuentra arriba del umbral maximo (red(red--maxmax--threshold), todos los paquetes siguientes se dropearthreshold), todos los paquetes siguientes se dropearáán.n.Si el tamaSi el tamañño medio del paquete se encuentra entre los 2 umbrales se o medio del paquete se encuentra entre los 2 umbrales se bloquearbloquearáán de acuerdo a un cn de acuerdo a un cáálculo de probabilidad.lculo de probabilidad.““redred--limitlimit”” especifica el tamaespecifica el tamañño del paqueteo del paquete
Consume bastante CPU.Consume bastante CPU.
Calidad de ServiciosCalidad de Servicios 99
Calidad de Servicio QOSCalidad de Servicio QOSPCQ: Per conecction queuePCQ: Per conecction queueEs una disciplina mejorada de SFQ que Es una disciplina mejorada de SFQ que puede limitar.puede limitar.
PCQ crea subqueues que se pueden PCQ crea subqueues que se pueden clasificar de acuerdo al srcclasificar de acuerdo al src--port, dstport, dst--port, srcport, src--address,dstaddress,dst--address.address.
Permite que con una sola regla se pueda Permite que con una sola regla se pueda ahorrar de hacer cientros de simples queues.ahorrar de hacer cientros de simples queues.
Calidad de ServiciosCalidad de Servicios 1010
Calidad de Servicio QOSCalidad de Servicio QOSHTB: Disciplina jerHTB: Disciplina jeráárquica que clasifican los rquica que clasifican los paquetes de acuerdo al limite que llegan.paquetes de acuerdo al limite que llegan.HTB tiene 3 propiedadesHTB tiene 3 propiedades
limitlimit--at: ancho de banda garantizado (CIR) (verde)at: ancho de banda garantizado (CIR) (verde)maxmax--limit: maximo de ancho de banda (MIR) (amarillo)limit: maximo de ancho de banda (MIR) (amarillo)priority: orden en el cual se puede prioriza una queue.priority: orden en el cual se puede prioriza una queue.
HTB puede tener prioridad:HTB puede tener prioridad:•• Prioridad 1 es la mayor, pero solo funciona cuando la Prioridad 1 es la mayor, pero solo funciona cuando la
cola esta en verde. Prioridad 8 es la por defecto.cola esta en verde. Prioridad 8 es la por defecto.•• Cuando una coleta alcanza el valor Cuando una coleta alcanza el valor ““limitlimit--atat”” cambian cambian
de verde a amarillo, y puede usar BW de la coleta de verde a amarillo, y puede usar BW de la coleta padre si no esta en rojo. padre si no esta en rojo.
Calidad de ServiciosCalidad de Servicios 1111
Calidad de Servicio QOSCalidad de Servicio QOSEstados del HTB:Estados del HTB:
verde: la clase se encuentra en verde cuando no verde: la clase se encuentra en verde cuando no alcanzalcanzóó el valor el valor ““limitlimit--atat””
amarillo: cuando superamarillo: cuando superóó el valor de el valor de ““limitlimit--atat”” y y esta por debajo de esta por debajo de ““maxmax--limitlimit”” y puede tomar y puede tomar ancho de banda de la coleta padre si no esta ancho de banda de la coleta padre si no esta saturadasaturada
rojo: el valor actual ha superado el rojo: el valor actual ha superado el ““maxmax--limitlimit”” y y los paquetes son dropeados y no puede pedir los paquetes son dropeados y no puede pedir ancho de banda a la coleta padre.ancho de banda a la coleta padre.
Calidad de ServiciosCalidad de Servicios 1212
Calidad de Servicio QOSCalidad de Servicio QOS
Es la manera mEs la manera máás simple de limitar el s simple de limitar el trtrááfico por IP o por subred.fico por IP o por subred.Con una sola regla se puede limitar el Con una sola regla se puede limitar el TX/RX, burst y el total (tx+rx).TX/RX, burst y el total (tx+rx).Utiliza las intefaces Utiliza las intefaces ““globalglobal--outout”” y y ““globalglobal--inin””para limitar y trabaja con los paquetes tal para limitar y trabaja con los paquetes tal cual lo hace en cual lo hace en ““ip forwardip forward””PPPoE, PPP y HotSpot crean simple PPPoE, PPP y HotSpot crean simple queues dinqueues dináámicasmicas
Simples queuesSimples queues
Calidad de ServiciosCalidad de Servicios 1313
Calidad de Servicio QOSCalidad de Servicio QOS
ConfiguraciConfiguracióón de simple queuen de simple queueLas simple queues se crean en Las simple queues se crean en ““/queue simple/queue simple””
Propiedades:Propiedades:targettarget--ip:ip: limitacilimitacióón por IPn por IPinterfaceinterface: interface de salida (usar : interface de salida (usar ““allall””))tipo de queuetipo de queue: tipo de disciplinada para la queue: tipo de disciplinada para la queuelimitlimit--at,maxat,max--limitlimit: valores de CIR y MIR: valores de CIR y MIRprioridadprioridad: prioridad de la queue cuando esta en verde: prioridad de la queue cuando esta en verdetimetime: en el caso de establecer horarios de : en el caso de establecer horarios de
funcionamiento de la queue.funcionamiento de la queue.
Simples queuesSimples queues
Calidad de ServiciosCalidad de Servicios 1414
Calidad de Servicio QOSCalidad de Servicio QOS
Ejemplo:Ejemplo:configuraciconfiguracióón de una queue para 128kits/s Down y 64kits/s Upn de una queue para 128kits/s Down y 64kits/s Up../queue simple add target/queue simple add target--address=10.5.54.1/32 maxaddress=10.5.54.1/32 max--limit=65536/131072limit=65536/131072
Simples queuesSimples queues
Calidad de ServiciosCalidad de Servicios 1515
Calidad de Servicio QOSCalidad de Servicio QOS
Las queues tree se utilizan para hacer un manejo Las queues tree se utilizan para hacer un manejo sofisticado del ancho de banda.sofisticado del ancho de banda.Permite trabajar con protocolo, puertos, flujos, etc. Permite trabajar con protocolo, puertos, flujos, etc. Todo lo marcado en Todo lo marcado en ““/ip firewall mangle/ip firewall mangle””Permite tener jerarquias para hacer un QOS Permite tener jerarquias para hacer un QOS avanzado.avanzado.Se ejecutan antes que queue simple.Se ejecutan antes que queue simple.Tiene interfaces virtuales Tiene interfaces virtuales ““globalglobal--inin””, , ““globalglobal--outout”” y y ““globalglobal--totaltotal””
Queue treeQueue tree
Calidad de ServiciosCalidad de Servicios 1616
Calidad de Servicio QOSCalidad de Servicio QOS
ConfiguraciConfiguracióón de queue treen de queue treese configuran es se configuran es ““/queue tree/queue tree””Propiedades:Propiedades:
flow: flujo a encolarflow: flujo a encolarlimitlimit--at y maxat y max--limit: CIR y MIR para la coletalimit: CIR y MIR para la coletaparent: interfaz de salida o coleta padre parent: interfaz de salida o coleta padre (interfaces (interfaces
virtuales)virtuales)
Tipo de queue: tipo de disciplinaTipo de queue: tipo de disciplinaPriority: prioridad de la coletaPriority: prioridad de la coleta
Queue treeQueue tree
Calidad de ServiciosCalidad de Servicios 1717
Calidad de Servicio QOSCalidad de Servicio QOSEjemplo de queue tree:Ejemplo de queue tree:
marcar todo trmarcar todo trááfico con destino :2000 (test de fico con destino :2000 (test de ancho de banda) con la marca down_btancho de banda) con la marca down_bt
marcar el resto del trafico como down_allmarcar el resto del trafico como down_all
/ip firewall mangle add chain=prerouting dst/ip firewall mangle add chain=prerouting dst--port=2000 port=2000 \\.. protocol=tcp action=mark.. protocol=tcp action=mark--packet packet \\.. new.. new--packetpacket-- mark=mark=””down_btdown_bt”” passthrough=nopassthrough=no
/ip firewall mangle add chain=prerouting action/ip firewall mangle add chain=prerouting action--markmark--packetpacket\\ .. new.. new--packetpacket--mark=down_all packetmark=down_all packet--mark=!down_bt mark=!down_bt \\.. passthrough=no.. passthrough=no
Calidad de ServiciosCalidad de Servicios 1818
Calidad de Servicio QOSCalidad de Servicio QOS
Cree una queue Cree una queue para todo el trpara todo el trááfico fico con el parent con el parent correcto.correcto.
Cree 2 subqueues Cree 2 subqueues con los distintos con los distintos flujos creadosflujos creados
Calidad de ServiciosCalidad de Servicios 1919
Calidad de Servicio QOSCalidad de Servicio QOS
Calidad de ServiciosCalidad de Servicios 2020
Calidad de Servicio QOSCalidad de Servicio QOSCuando no hay tráfico especial trabaja la queue down_all
Cuando se genera tráfico especial trabajan ambas queue
Calidad de ServiciosCalidad de Servicios 2121
Calidad de Servicio QOSCalidad de Servicio QOSBurst es un mecanismo para permitir rate mas altos Burst es un mecanismo para permitir rate mas altos que los limitados en maxque los limitados en max--limit durante cierto tiempo.limit durante cierto tiempo.
Burst tiene varias propiedades:Burst tiene varias propiedades:
burstburst--limit: es el limite maximo que alcanzarlimit: es el limite maximo que alcanzarááburstburst--time: tiempo que tendrtime: tiempo que tendráá el burstel burstburstburst--threshold: umbral donde empieza a limitarthreshold: umbral donde empieza a limitarmaxmax--limit: MIRlimit: MIR
Calidad de ServiciosCalidad de Servicios 2222
Calidad de Servicio QOSCalidad de Servicio QOSEjemplo de Burst:Ejemplo de Burst:
Estos son los valores definidos Estos son los valores definidos para hacer un http download.para hacer un http download.
MaxMax--limit=256000klimit=256000kburstburst--time=8s, time=8s, burstburst--threshold=192000 kthreshold=192000 kburstburst--limit=512000.klimit=512000.k
Al inicio el promedio de datos sobre los 8 segundos es 0bps porque antes de aplicar la regla de queue no hay tráfico. Despues el promedio de rate es menor a 192bkps, el burst sigue. Despues del primer segundo el promedio es (0+0+0+0+0+0+0+512)/8=64kbps, el cual es menor al burst-threshold. Despues del segundo segundo, el promedio de rate es (0+0+0+0+0+0+512+512)/8=128kbps. Despues del tercer segundo viene el punto de inflexión cuando el promedio supera el burst-threshold. En este momento el burst es deshabilitado y el rate cae al max-limit (256kbps)
Calidad de ServiciosCalidad de Servicios 2323
Calidad de Servicio QOSCalidad de Servicio QOS
Ejemplos de PCQEjemplos de PCQSirve para ecualizar el trSirve para ecualizar el trááfico fico de acuerdo a la clasificacide acuerdo a la clasificacióón n que se le definique se le definióó..
Si configura pcqSi configura pcq--rate 0 cada rate 0 cada subqueue utilizarsubqueue utilizaráá el maxel max--limit, sino limit, sino cada subqueue tendrcada subqueue tendráá el valor el valor maximo definido en rate.maximo definido en rate.
Calidad de ServiciosCalidad de Servicios 2424
Calidad de Servicio QOSCalidad de Servicio QOS
Con pcqCon pcq--rate=128krate=128k
Pcq-down con max-limit=512k
PcqPcq--down con down con maxmax--limit=512klimit=512k
128k128k128k
128k128k128k
128k128k128k
128k128k128k
128k128k128k
128k128k128k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
En este ejemplo se ve un pcq para 2,4 y 7 En este ejemplo se ve un pcq para 2,4 y 7 usuarios en una misma coleta.usuarios en una misma coleta.
Calidad de ServiciosCalidad de Servicios 2525
Calidad de Servicio QOSCalidad de Servicio QOSCon pcqCon pcq--rate=0rate=0
Pcq-down con max-limit=512k
PcqPcq--down con down con maxmax--limit=512klimit=512k
512k512k512k 256k256k256k
256k256k256k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
73k73k73k
En este ejemplo se ve un pcq para 1,2 y En este ejemplo se ve un pcq para 1,2 y 7 usuarios en una misma coleta.7 usuarios en una misma coleta.
Calidad de ServiciosCalidad de Servicios 2626
Calidad de Servicio QOSCalidad de Servicio QOS
Cuando se utiliza una red masquerade, es Cuando se utiliza una red masquerade, es necesario marcar primero la coneccinecesario marcar primero la coneccióón y n y luego marcar el flujo de esa conecciluego marcar el flujo de esa coneccióón.n.
Es necesario hacer el marcado en el chain Es necesario hacer el marcado en el chain prerounting, sino no trabajarprerounting, sino no trabajaráá el control de el control de ancho de banda.ancho de banda.
Calidad de ServiciosCalidad de Servicios 2727
Calidad de Servicio QOSCalidad de Servicio QOSControl de trControl de trááfico P2Pfico P2P
Mikrotik RouterOS ya tiene incluido patrones Mikrotik RouterOS ya tiene incluido patrones para detectar el trpara detectar el trááfico P2Pfico P2PLos nuevos programas p2p utilizan Los nuevos programas p2p utilizan encriptaciencriptacióón una vez establecida la coneccin una vez establecida la coneccióón, n, por lo que no se puede detectar el flujo de por lo que no se puede detectar el flujo de trtrááfico.fico.Se pueden dropear todos los p2p pero no se Se pueden dropear todos los p2p pero no se pueden limitar todos!pueden limitar todos!
Calidad de ServiciosCalidad de Servicios 2828
Calidad de Servicio QOSCalidad de Servicio QOSLos pasos para hacer la limitaciLos pasos para hacer la limitacióón del trn del trááfico p2p son:fico p2p son:
•• Marcar la conecciMarcar la coneccióón con la opcin con la opcióón p2p=alln p2p=all--p2pp2p•• Marcar el flujo de la conecciMarcar el flujo de la coneccióón anteriorn anterior•• Crear queue con:Crear queue con:
PcqPcq--in con clasificaciin con clasificacióón dstn dst--address y un rate de 128kaddress y un rate de 128kPcqPcq--out con clasificacion srcout con clasificacion src--address y un rate de 64kaddress y un rate de 64k
•• Crear una queue tree con el flujo p2p y la clasificaciCrear una queue tree con el flujo p2p y la clasificacióón n pcq correspondiente.pcq correspondiente.
/queue type add name=up kind=pcq pcq-classifier=src-address pcq-rate=64000/queue type add name=down kind=pcq pcq-classifier=dst-address pcq-rate=128000
/ip firewall mangle add p2p=all-p2p action=passthrough mark-flow=p2p
/queue tree add parent=public flow=p2p queue=up/queue tree add parent=local flow=p2p queue=down
Calidad de ServiciosCalidad de Servicios 2929
Calidad de Servicio QOSCalidad de Servicio QOS
Preguntas...Preguntas...
Recuerde leer el manual de MikrotikRecuerde leer el manual de MikrotikHay ejemplos en el wiki de mikrotikHay ejemplos en el wiki de mikrotik