Está en la página 1de 5

En la versin 6 del RouterOS de Mikrotik, existen cambios muy importante y

drsticos, donde a la hora implementar algo en el router, nos brindan muchas


opciones de casos de uso. Hablando solo de QoS, sta pues tiene muchos formas
de implementarlo, cada autor tiene su modo; as como hablamos de forma, tambin
tiene fondo.
A modo de aportar algo al tema, intentar aportar tips y consejos, incluido un script
como ejemplo para las buenas prcticas. De aqu en adelante solo deberamos
hablar para la versin 6 del MK.
A la hora de implementar un QoS, tendremos que conocer el tamao de la Red, su
topologa, la arquitectura en la cual se implementar, los servicios sobre IP que
existan, protocolos que ms se consumen, etc. Conociendo aquello nos daremos
que cuenta que tipo de QoS necesitamos
implementar. http://es.wikipedia.org/wiki/Calidad_de_servicio
Saber cmo armar nuestro propio QoS es nuestra bronca, algunos dan preferencia
a los Games (UpNP), VoIP (SIP, H323), Streamer (RTMP, RTSP, playback), Shell
(SSH, Telnet), Bulk (ftp, sftp, smtp, pop3), P2P (layer7), Navergar (http, https),
aplicaciones (Winbox, MSN Messenger, Skype), Descargas pesadas, etc. Muchas
categoras o clases
Tipos de QoS
QoS esttico: para redes con pocos usuarios.
QoS dinmicos: para redes con muchos usuarios.
A tomar en cuenta que el Ancho de Banda se mide en Hz (Hertz). Velocidad de
Descarga se mide en Bytes/s(Bytes por segundo),Velocidad de transferencia en bps
(bits por segundo). Ejemplo: Movistar no da acceso acceso a internet con una
Transferencia Efectiva de 4Mbps/2Mbps, pero al hacer un test tenemos una
Transferencia de Rendimiento de 3.5Mbps/1.8Mbps. http://cesarcabrera.info/blog/
veloc...ncho-de-banda/
Tips a tomar en cuenta a la hora de implementar un QoS:
. A la hora de MARCAR, es claro e ilustrativo usar la cadena forward
(chain=forward).
. Marcar con Prerouting se usa para hacer load balanced, PCC.
. Marcar primero las conexiones y luego paquetes da mayor performance para no
hacer uso redundante del CONNTRACK
. Podemos marcar solo paquetes y ya no conexiones si nuestra arquitectura fsica
tiene muchas prestaciones de recursos, tal como una PC o un Cloud Core Router.
. A mayor conceptos de priorizacin, ms ratios de velocidad de transferencia
perdemos.
. En la priorizacin primero se satisface la CIR (Limit-at) y luego la MIR (max-limit)
. Las madres en el queue tree no necesitan marca.
. Tomar el 80% de la velocidad de transferencia de rendimiento en el max-limit de
la Madre si tienes una conexin a Intenet ADSL, si es dedicada; usa el 98%.
Lo que haremos a continuacin para nuestro ejemplo es lo siguiente:
Priorizacin: queue tree & mangle forward
Limitacin por cliente : simple queue con target ip address
bsicamente

lo que haremos es HTB con queue dinmico.

Tomaremos las siguientes clases para priorizar trfico (Traffic Priority):


TRFICO INTERACTIVO:

Prioridad 1: icmp, ospf, ipip, gre, ipsec-esp, ipsec-ah, IPSec IKE (500 udp), dns
(53 udp), ntp (123 udp), SNMP (161,162 udp)
Prioridad 2: VoIP {sip (5060-5061 udp), rtp (16000-17000 udp), H.323 (17191720 udp)}, radius (1812-1813 udp), Streamer {stun (3478 udp), rtmp (1935 tcp,
rtsp (554 tcp), mms (1955 tcp), rtcp (5004 udp), RTP/AVP (7004-7005 tcp) y
(7064-7065 tcp) }, RDP {Terminal Server (3389 TCP), TeamViewer (5938 tcp), VNC
(5900-5950 tcp}, ssh (22 tcp), ssh Shared/Reseller Servers (2222 tcp), mysql
(3306 tcp), mssql (1433 tcp), winbox (8291 tcp), the dude (2210,2211 tcp), VPN
{PPTP (1723 tcp), L2TP (1701 TCP),IPsec NAT-T (4500 udp)}, Games (list-address)
TRFICO BULK
Prioridad 3: http (80, 3128, 8080 tcp), https (443 tcp)
Priorizacin 6: Descargas entre 512KB y 4MB
Priorizacin 7: Descargas Mayores de 4MB
Priorizacin 4: smtp (25 tcp), smtps (465 tcp), smtp-alt (26, 587 tcp), pop2 (109
tcp), pop3 (110 tcp), pop3s (995 tcp), imap (143 tcp), imap3 (220 tcp), imaps
(993 tcp), webmail (2095 tcp), webmails (2096), cPanel (2082 tcp), cPanels (2083
tcp), whm (2086 udp), whms (2087 tcp), ftp (21 tcp), ftps (990 tcp), sftpShared/Reseller Server (2222 tcp), WebDisk (2077 tcp), WebDisks (2078 tcp)
Priorizacin 8: P2P (eMule, EDonkey, KaZaA, Gnutella, BitTorrent, Vuze, etc)
Priorizacin 5: El Resto
Si tu RouterBoard realiza la conexin PPP para tu conexin a Internet, te dars
cuenta que el RouterOS crea de forma dinmica en el firewall mangle dos
inserciones. Para que nuestro mangle funcione; stas inserciones deben estar al
inicio del mangle. Por tanto, lo que se puede hacer es lo siguiente:
Primero desactivamos el valor por defecto de una conexin pppoe-out:
/ppp profile set default name="default" change-tcp-mss=no
Luego creamos nuestra propia MSS:
/ip firewall mangle
add chain=forward in-interface=all-ppp protocol=tcp \
tcp-mss=1411-65535 tcp-flags=syn action=change-mss new-mss=1410 placebefore=0
add chain=forward out-interface=all-ppp protocol=tcp \
tcp-mss=1411-65535 tcp-flags=syn action=change-mss new-mss=1410 placebefore=1
Ahora nos toca catalogar trfico (Traffic Shapping):

/ip firewall address-list


add address=12.129.193.0/24 comment=WoW disabled=no list=games
add address=202.9.66.0/23 comment=SC2 disabled=no list=games
add address=12.129.242.0/24 comment="Diablo III" disabled=no list=games
add address=63.150.138.0/24 disabled=no comment="Dota 2" list=games
add address=31.186.224.0/24 comment="LoL Europe" disabled=no list=games
add address=216.240.136.162 comment="Lowerping - US West - Panther 1"
disabled=no list=games
add address=159.153.0.0/16 comment="SWTOR - USA/EUROPE" disabled=no

list=games
add address=206.127.144.0/20 comment="GW2 - ArenaNet (NC Interactive)"
disabled=no list=games
/ip firewall mangle
add action=log chain=notes comment="Inicio del rbol QoS 11/09/2014"
disabled=no log-prefix=""
add action=jump chain=forward connection-mark=no-mark jump-target=conmark
add action=jump chain=forward connection-mark=!no-mark jump-target=pktmark
add action=mark-connection chain=conmark comment="Prioridad 1: Servicios de
Administracin" new-connection-mark=cm_prio-1 protocol=icmp
add action=mark-connection chain=conmark new-connection-mark=cm_prio-1
protocol=ospf
add action=mark-connection chain=conmark new-connection-mark=cm_prio-1
protocol=ipip
add action=mark-connection chain=conmark new-connection-mark=cm_prio-1
protocol=gre
add action=mark-connection chain=conmark new-connection-mark=cm_prio-1
protocol=ipsec-esp
add action=mark-connection chain=conmark new-connection-mark=cm_prio-1
protocol=ipsec-ah
add action=mark-connection chain=conmark dst-port=53,123,161,162,500 newconnection-mark=cm_prio-1 protocol=udp
add action=mark-packet chain=pktmark connection-mark=cm_prio-1 new-packetmark=pm_prio1 passthrough=no
add action=mark-connection chain=conmark comment="Prioridad 2: Protocolos de
Administracin" dst-port=1812-1813,4500,5004,5060-5061,16000-17000 newconnection-mark=cm_prio-2 protocol=udp
add action=mark-connection chain=conmark dstport=22,1433,1701,1723,1935,1955,2210-2211,2222,3306,3389,3478,4500,59005950 new-connection-mark=cm_prio-2 protocol=tcp
add action=mark-connection chain=conmark dst-port=5938,7004-7005,70647065,8291 new-connection-mark=cm_prio-2 protocol=tcp
add action=mark-connection chain=conmark src-address-list=games newconnection-mark=cm_prio-2 protocol=tcp
add action=mark-packet chain=pktmark connection-mark=cm_prio-2 new-packetmark=pm_prio2 passthrough=no
add action=mark-connection chain=conmark comment="Prioridad 3: Navegacin
0-512KB" dst-port=80,443,3128,8080 new-connection-mark=cm_prio-3
protocol=tcp
add action=mark-packet chain=pktmark connection-bytes=0-512000 connectionmark=cm_prio-3 new-packet-mark=pm_prio3 protocol=tcp passthrough=no
add action=mark-packet chain=pktmark comment="Prioridad 6: Descargas entre
512KB y 4MB" connection-bytes=512001-4096000 connection-mark=cm_prio-3
new-packet-mark=pm_prio6 protocol=tcp passthrough=no
add action=mark-packet chain=pktmark comment="Prioridad 7: Descargas
mayores de 4MB" connection-bytes=4096001-0 connection-mark=cm_prio-3 newpacket-mark=pm_prio7 protocol=tcp passthrough=no
add action=mark-connection chain=conmark comment="Prioridad 4: Protocolos
laborales" dst-port=21,25,26,109,110,143,220,465,587,990,993,995, 2077-2078
new-connection-mark=cm_prio-4 protocol=tcp
add action=mark-connection chain=conmark dst-port=2082-2083,2086-2087,20952096,2222 new-connection-mark=cm_prio-4 protocol=tcp
add action=mark-packet chain=pktmark connection-mark=cm_prio-4 new-packetmark=pm_prio4 passthrough=no
add action=mark-connection chain=conmark comment="Prioridad 8: P2P
TORRENT" new-connection-mark=cm_prio-8 p2p=all-p2p
add action=mark-packet chain=pktmark connection-mark=cm_prio-8 new-packetmark=pm_prio8 passthrough=no
add action=mark-connection chain=conmark comment="Prioridad 5: el RESTO"

connection-mark=no-mark new-connection-mark=cm_prio-5
add action=mark-packet chain=pktmark connection-mark=cm_prio-5 new-packetmark=pm_prio5 passthrough=no
add action=return chain=conmark
add action=log chain=notes comment="Fin del rbol QoS 11/09/2014" disabled=no
log-prefix=""
Para continuar, necesitamos conocer estos simples parmetros del Queue:
Limit-at (CIR)
max-limit (MIR)
burst (threshold, limit, time)
queue type (FIFO, RED, SFQ, PCQ)
parent
Recuerda que para el CIR en la cola Madre se usa el valor de la Velocidad de
Transferencia de Rendimiento. Para este ejemplo, tengo un contrato de acceso a
Internet tipo ADSL por una velocidad de 2Mbps/256kbps. Haciendo un test de
velocidad, obtengo que la velocidad de trasferencia efectiva es de
1408kbps/240kps. Aunque la operadora me garantiza solo un 10% como mnimo,
debo de confiar que siempre tendr al menos un 80% aproximadamente del total
de mi velocidad testeada, lo cual representa a mi Velocidad de Transferencia de
Rendimiento: 1152kbps/192kbps.
/queue tree
add max-limit=1142k name=QoS_Global parent=global queue=default
add limit-at=32k max-limit=384k name=PRIO#1 packet-mark=pm_prio1
parent=QoS_Global comment="Servicios" priority=1
add limit-at=64k max-limit=512k name=PRIO#2 packet-mark=pm_prio2
parent=QoS_Global comment="Administracin" priority=2
add limit-at=432k max-limit=1M name=PRIO#3 packet-mark=pm_prio3
parent=QoS_Global comment="Navegacin" priority=3
add limit-at=384k max-limit=840k name=PRIO#4 packet-mark=pm_prio4
parent=QoS_Global comment="Laborales" priority=4
add limit-at=128k max-limit=1M name=PRIO#5 packet-mark=pm_prio5
parent=QoS_Global comment="Resto" priority=5
add limit-at=64k max-limit=256k name=PRIO#6 packet-mark=pm_prio6
parent=QoS_Global comment="Descargas pesadas" priority=6
add limit-at=32k max-limit=128k name=PRIO#7 packet-mark=pm_prio7
parent=QoS_Global comment="Descargas infinitas" priority=7
add limit-at=16k max-limit=64k name=PRIO#8 packet-mark=pm_prio8
parent=QoS_Global comment="File Sharing y P2P"
Dense cuenta que la suma de todos los CIR de cada cola hija es igual al CIR de la
cola Madre.
El MIR de las colas hijas no deben superar al CIR de la cola madre.
Y para completar el ejemplo, una vez que tengamos nuestro QoS implementado, a
cada uno de nuestros usuarios, de ser necesario; tendremos que asignarle una
velocidad dinmica por IP de forma automtica, ya sea desde el DHCP, Hotspot,
PPP, etc.
Esto es la frmula:
rx-rate[/tx-rate] [rx-burst-rate[/tx-burst- rate] [rx-burst-threshold[/tx-burstthreshold] [rx-burst-time[/tx-burst- time]]]].
Aqu les doy algunos ejemplos:
64/128 *= *64k/128k 128k/384k 48k/96k 54 8 32k
128/256 = 128k/256k 384k/512k 96k/192k 40 8 64k

256/512 = *256k/512k 512k/1024k 192k/448k 32 8 128k


512/1024 = 512k/1024k 1024k/1536k 448k/768k 24 8 256k
Saludos

http://www.inkalinux.com/foros/showthread.php?270-4-Firewall-ManglePriorizacion-de-Trafico-QoS-1-Calidad-de-Servicio-Nivel-Basico