Control de Ancho de Banda
March 30, 2017 | Author: Franz Ibarra | Category: N/A
Short Description
Download Control de Ancho de Banda...
Description
CONTROL DE ANCHO DE BANDA
por el Ing : LUIS A. CENTENO C.
Manual de clases
CONTROL DE ANCHO DE BANDA Información General Resumen Control de ancho de banda es un conjunto de mecanismos que los datos de control de tasa de asignación, la variabilidad del retraso, entrega oportuna, y la confiabilidad de la entrega. El Mikrotik RouterOS soporta las disciplinas de cola siguientes:
Pfifo - Los paquetes First-In First-Out Bfifo - Bytes primero en entrar primero en salir SFQ - Cola Stochastic Fairness RED - Detección Temprana azar PCQ - Cola de conexión por HTB - jerárquica Token Bucket
Especificaciones Paquetes necesarios: sistema de licencia requerido: Nivel 1 (limitado a 1 queue) , Nivel 3 Nivel Submenu: / queue (cola) Normas y Tecnologías: Ninguno hardware: uso significativas
Descripción Calidad de servicio (QoS) significa que el router debe priorizar y ajustar el tráfico de red. QoS no es tanto acerca de la limitación, se trata más de ofrecer un servicio de calidad a los usuarios de la red. Algunas características de Mikrotik RouterOS mecanismo de control de tráfico se enumeran a continuación:
límite de velocidad de datos para determinadas direcciones IP, subredes, protocolos, puertos y otros parámetros limitar peer-to-peer tráfico priorizar algunos flujos de paquetes sobre otros Utilice descargas de colas para la navegación web más rápida aplicar las colas en intervalos de tiempo fijos cuota de tráfico disponibles entre los usuarios por igual, o en función de la carga del canal
Manual de clases
La cola se aplica sobre los paquetes que salen del router a través de una interfaz real (es decir, las colas se aplican sobre la interfaz de salida, en relación con el flujo de tráfico), o cualquiera de los 3 interfaces virtuales adicionales (global-in, global-out, global- total). La QoS se realiza por medio de caída de paquetes. En el caso del protocolo TCP, los paquetes perdidos serán reenviados a un ritmo más lento, por lo que no hay necesidad de preocuparse de que con la configuración se pierde alguna información TCP. Los términos usados para describir el nivel de calidad de servicio para aplicaciones de red, son:
disciplinas de cola (qdisc) - un algoritmo que sujeta y mantiene una cola de paquetes. Se acumula los paquetes y decide el orden de los paquetes salientes (que significa que la disciplina de colas puede reordenar los paquetes). Qdisc también decide qué paquetes a caer si no hay espacio para ellos. CIR (Committed Information Rate) - la velocidad de datos garantizada. Esto significa que la tasa de tráfico, que no exceda de este valor debe estar siempre MIR (velocidad máxima información) - enrutador de datos máxima velocidad proporcionará Prioridad - el orden de importancia en el tráfico que va a ser procesado. Puede dar prioridad a cierto tráfico con el fin de que sea handeled antes de que algún otro tipo de tráfico Ratio de contención - la relación a la que se comparte la tasa de datos definido entre los usuarios (cuando una cierta proporción de datos se asigna a un número de abonados). Es el número de abonados que tienen un límite de velocidad única, se aplica a todos ellos juntos. Por ejemplo, el ratio de contención de 1:04 significa que la tasa de datos asignada puede ser compartida entre no más de 4 usuarios
Antes de enviar datos a través de una interfaz, se procesa con una disciplina de colas. Sólo puede haber una disciplina de colas por interfaz, que, por defecto, se configura en / cola de la interfaz para cada interfaz física (no hay disciplina de cola por defecto para las interfaces virtuales). Una vez que añadimos una primera cola (en / queue tree o / queue simple) a una interfaz física, la cola predeterminado de la interfaz se sustituye por la jerarquía HTB con esa cola, pero el definido en / queue interface para la interfaz en particular, no es más activo. Programador y qdisc Shaper Podemos clasificar las disciplinas de cola por su influencia para flujo de paquetes:
programadores - Disciplinas de colas sólo reprogramar los paquetes con respecto a su algoritmo y colocar los paquetes que "no encajan en la cola". Programador de
Manual de clases
disciplinas de cola son: PFIFO, BFIFO, SFQ, PCQ (ambos planificador y shaper), ROJO
shapers - Disciplinas de colas que también realizan la limitación. Shapers son PCQ (ambos planificador y shaper) y HTB
Interfaces Virtuales Hay 3 interfaces virtuales en RouterOS, además de interfaces reales: global-in - representa a todas las interfaces de entrada en general (cola de entrada). Por favor, tenga en cuenta que las colas unido a global-en aplicar al tráfico que es recibido por el router, antes de que el filtrado de paquetes. global-in cola se ejecuta después de mangle y dst-nat global-out - representa a todas las interfaces de salida en general (cola de salida). Colas unidas a él antes de aplicar las que se fijarán a una interfaz específica mundial-total - representa una interfaz virtual a través del cual todos los datos, pasando por el enrutador, se pasa. Al colocar una qdisc a lo global-total, la limitación se realiza en ambas direcciones. Por ejemplo, si ponemos un total-max-limit a 256000, obtendremos upload + download = 256kbps (máximo) Introducción a HTB HTB (Token Bucket jerárquica) es una disciplina de cola con clases que es útil para aplicar manipulación diferente para diferentes tipos de tráfico. Las colas que se agregan en / queue simple (cola sencilla) y / queue tree (cola árbol) se unen a la Token Bucket principal jerárquica (HTB). Por ejemplo, puede establecer una velocidad de datos máxima de un grupo de trabajo y luego distribuir esa cantidad de tráfico entre los miembros de ese grupo de trabajo.
Manual de clases
Qdisc HTB en detalle:
HTB términos:
Filter /filtro - un procedimiento que clasifica los paquetes. Los filtros son responsables de clasificar los paquetes de manera que se ponen en las qdisc correspondientes. Todos los filtros se aplican en la raíz HTB y clasificar los paquetes directamente en las qdisc, sin recorrer el árbol de HTB. Si un paquete no se clasifican en ninguna de las qdisc, se envía a la interfaz directamente, atravesando el HTB, así que no hay normas HTB se aplican a los paquetes (que significaría prioridad efectiva mayor que la de cualquier flujo de paquetes gestionados por HTB) . Level /nivel - la posición de una clase en la jerarquía. Class / clase - algoritmo para limitar el flujo de tráfico a una tasa determinada. No almacena los paquetes (esta función sólo puede ser realizada por una cola). Una clase puede contener una o más subclases (clase interna), o una y sólo una qdisc (clase de hoja). Inner class /clase interna - una clase que tiene una o más clase hija se le atribuye. Como las clases internas no almacenan ningún paquete, qdisc no se puede unir a ellos (por lo que su qdisc y configuración de los filtros son ignorados, aunque tal vez todavía se muestra en RouterOS configuración), por lo que sólo la configuración del tráfico. El establecimiento de prioridades se tiene en cuenta también. Leaf class / clase hoja - una clase que tiene un padre, pero no tiene ninguna clase de niños. Clases de hojas siempre se encuentra en el nivel 0 de la jerarquía. Cada clase de hoja tiene una y sólo una qdisc asociada a ella, con una cierta prioridad. Self feed/ auto feed - una salida (fuera del árbol de HTB, a la interfaz) para los paquetes de todas las clases de activos en su nivel de la jerarquía. Hay un feed
Manual de clases
auto por nivel, cada uno compuesto de 8 ranuras auto que representan prioridades. Self slot / ranura auto - un elemento de una alimentación propia que corresponde a cada prioridad particular. Hay una ranura de auto por prioridad por nivel. Todas las clases, activos en el mismo nivel, con la misma prioridad se adjuntan a la ranura de uno mismo que está utilizando para enviar paquetes a través. Active class / clase activa (a un nivel particular) - una clase que está unido a una ranura libre en el nivel dado. Inner feed / alimentación interna - similar a un objeto de alimentarse por sí mismo, que consiste en ranuras ser interior, presentes en cada clase interna. Hay una alimentación interna por clase interna. Inner feed slot / ranura de alimentación interna - similar a la ranura de uno mismo. Cada alimentación interna consiste en ranuras internas que representan una prioridad.
Cada clase tiene un padre y puede tener uno o más hijos. Las clases que no tienen hijos, se ponen en el nivel 0, donde las colas se mantienen, y se llaman "clases de hojas. Cada clase en la jerarquía puede priorizar y ajustar el tráfico. Hay dos parámetros principales que se refieren a la formación y uno - a priorizar:
limit-at - Velocidad de datos normal que se garantiza que una clase (CIR) max-limit - Velocidad de datos máxima que se permite para una clase de alcanzar (MIR) priority / prioridad - orden en el que las clases se sirven en el mismo nivel (8 es la prioridad más baja, 1 es la más alta)
Cada clase HTB puede estar en uno de 3 estados, dependiendo de la velocidad de datos que consume: Green / verde - una clase de la tasa real de lo que es igual o inferior al límit-at . En este estado, la clase está conectada a la ranura libre en la prioridad que corresponde a su nivel, y se le permite satisfacer su limitación CIR independientemente de lo que sus padres tienen limitaciones. Por ejemplo, si tenemos una clase hoja con limit-at = 512000 y su padre tiene max-limit = limit-at = 128000 , la clase seguirá recibiendo sus 512kbps! Todos los CIR de un determinado nivel se cumplen antes de que todos los MIR del mismo nivel y las limitaciones de los niveles superiores. yellow / amarillo - una clase de la tasa real de que es mayor que limit-at (en el límite) e igual o inferior a max-limit (o burst-limit explosión si está activo). En este estado, la clase está unida a la ranura interior de la prioridad correspondiente de alimentación interior de su matriz, la cual, a su vez, puede ser conectado a la ranura interior ya sea de su matriz de la misma prioridad (en caso de que el padre es también de color amarillo), o para su propio nivel ranura de la misma prioridad (en caso de que
Manual de clases
el padre es de color verde). Tras la transición a este estado, la clase 'desconecta' de alimentación propia de su nivel, y 'conecta' a la alimentación interna de su padre red / rojo - una clase de la tasa real sea superior a max-limit (o burst-limit explosión si está activo). Esta clase no se puede pedir prestado ritmo de su clase padre. Nota: como CIRs siempre están satisfechos antes MIR u otras limitaciones de los niveles más altos son consultados, siempre debe asegurarse de que el limit-at (límite a) la propiedad de cualquier clase interna es igual o mayor que la suma de todas limit-at (límite en) los parámetros de los niños de esa clase interna. Prioridades Cuando existe la posibilidad de enviar un paquete, las consultas de HTB en todas sus ranuras de auto en orden de prioridad, a partir de mayor prioridad en el nivel más bajo, hasta que la prioridad más baja en el más alto nivel. Cada clase de hoja (los paquetes se almacenan en cola y sólo dentro de las qdisc unidos a cada clase hoja) está conectado en última instancia a una ranura de auto determinado, ya sea directamente o a través de una cadena de clases de padres:
Como se puede ver en la imagen, hoja-clases que se encuentran en el estado verde siempre tendrá una prioridad más alta efectivos que los que son de color amarillo (y, por lo tanto, su tasa de endeudamiento de las clases padre), porque su prioridad está en un nivel inferior (nivel 0). En esta imagen, Leaf1 se servirá sólo después Leaf2 , aunque tiene mayor prioridad (Prioridad 7) de Leaf1 (prioridad 8). En caso de igualdad de las prioridades y los estados iguales, HTB está en las siguientes clases, utilizando algoritmo round robin. Ejemplos HTB
Manual de clases
Estos son algunos ejemplos de cómo funciona el HTB. Imagine el siguiente escenario - tenemos 3 diferentes tipos de tráfico, marcados en / ip firewall mangle (packet_mark1, packet_mark2 y packet_mark3), y ahora tienen una jerarquía bulit HTB: [admin@MikroTik] queue tree> add name=ClassA parent=Local max-limit=2048000 [admin@MikroTik] queue tree> add name=ClassB parent=ClassA max-limit=1024000 [admin@MikroTik] queue tree> add name=Leaf1 parent=ClassA max-limit=2048000 \ \... limit-at=1024000 packet-mark=packet_mark1 priority=8 [admin@MikroTik] queue tree> add name=Leaf2 parent=ClassB max-limit=1024000 \ \... limit-at=256000 packet-mark=packet_mark2 priority=7 [admin@MikroTik] queue tree> add name=Leaf3 parent=ClassB max-limit=1024000 \ \... limit-at=768000 packet-mark=packet_mark3 priority=8 [admin@MikroTik] queue tree> print Flags: X - disabled, I - invalid 0 name="ClassA" parent=Local packet-mark="" limit-at=0 queue=default priority=8 max-limit=2048000 burst-limit=0 burst-threshold=0 burst-time=0s 1 name="ClassB" parent=ClassA packet-mark="" limit-at=0 queue=default priority=8 max-limit=1024000 burst-limit=0 burst-threshold=0 burst-time=0s 2 name="Leaf1" parent=ClassA packet-mark=packet_mark1 limit-at=1024000 queue=default priority=8 max-limit=2048000 burst-limit=0 burst-threshold=0 burst-time=0s 3 name="Leaf2" parent=ClassB packet-mark=packet_mark2 limit-at=256000 queue=default priority=7 max-limit=1024000 burst-limit=0 burst-threshold=0 burst-time=0s 4 name="Leaf3" parent=ClassB packet-mark=packet_mark3 limit-at=768000 queue=default priority=8 max-limit=1024000 burst-limit=0 burst-threshold=0 burst-time=0s [admin@MikroTik] queue tree>
Ahora vamos a describir algunos escenarios, utilizando esta jerarquía HTB. 1. Imagine una situación en la que los paquetes han llegado a Leaf1 y Leaf2. Debido a esto, Leaf1 se adhiere a esta ranura de nivel mismo (Nivel 0) con prioridad = 8 y se
Manual de clases
conecta a la ranura Leaf2 auto con prioridad = 7. Leaf3 no tiene nada que enviar, por lo que no hace nada.
Esta es una situación simple: hay dos clases de activos (Leaf1 y Leaf2) en el nivel 0, y ya que ambos se encuentran en estado verde, que se procesan en el orden de sus prioridades - En primer lugar, servimos Leaf2, entonces Leaf1. 2. Ahora supongamos que Leaf2 tiene que enviar más de 256 kbps, por lo que debe revisar su límite verde. Con el cambio de estado, se adhiere a (ClassB) alimentación interna de su padre, que recurrentemente se adhiere a la ranura auto Level1 a prioridad 7. Leaf1 permanece en estado verde - tiene paquetes a enviar, pero su tasa es inferior a 1Mbps. Leaf3 todavía no tiene nada que enviar.
Manual de clases
Es muy importante entender que Leaf1 ahora tiene mayor prioridad eficaz que Leaf2 (cuando está en estado verde), aunque se haya configurado para una prioridad inferior (8) de Leaf2. Es porque Leaf2 se desconectó de alimentarse por sí en el Nivel 0 y ahora está tomando prestado tasa de su matriz (ClassB), que, a su vez, se ha unido a una alimentación propia en el Nivel 1. Por lo tanto, la prioridad de Leaf2 ha saltado a Level1. Recuerde que el nivel más bajo se sirve primero, que el nivel siguiente, y así sucesivamente, satisfaciendo las clases adjuntos en el orden de su prioridad. 3. Tenga en cuenta que Leaf1 ha alcanzado su límite máximo y cambió su estado a rojo y Leaf2 ahora utiliza más de 1Mbps (y menos de 2 Mbps), por lo que su padre ClassB tiene que pedir prestado de ClassA y se vuelve amarillo.Leaf3 todavía no tiene paquetes para enviar.
Manual de clases
Este escenario muestra que Leaf1 ha alcanzado su límite máximo-y ni siquiera puede pedir prestado de su padre (ClassA), por lo que se desprende de todas las ranuras de uno mismo y ranuras interiores. Leaf2 ha alcanzado el nivel 2 de forma recursiva, ya que toma prestado de ClassB que, a su vez, toma prestado de ClassA, ya que no tiene velocidad suficiente disponible. Como Leaf3 no tiene paquetes a enviar, la única clase que envía es Leaf2. 4. Supongamos que ClassA alcanza su máximo límite (2Mbps), por lo que ni ClassB, ni Leaf2 puede enviar, ya que sólo se basan en la tasa de endeudamiento, lo cual es imposible, ya que no se puede enviar ClassA. Pero ahora, Leaf3 tiene algunos paquetes a enviar:
Manual de clases
En esta situación se encuentra en estado Leaf2 amarillo, pero no puede pedir prestado (como Clase B no pueden obtener préstamos de Clase A) y Leaf3 es la única clase que puede enviar. Observe que, aunque no calsses otros, incluyendo sus padres es capaz de enviar, Leaf3 puede enviar perfectamente bien mientras se está conectado a la alimentación Level auto 0. 5. Por último, vamos a ver qué pasa, si Leaf1, Leaf2, Leaf3 y ClassB están en el estado amarillo y ClassA es verde.
Manual de clases
Leaf1 toma prestado de ClassA, Leaf2 y Leaf3 - desde ClassB y ClassB, a su vez, toma prestado de ClassA. Ahora todas las prioridades se han "movido" en el Nivel 2. Así Leaf2 está en la más alta prioridad y se sirve primero. Como Leaf1 y Leaf3 son de la misma prioridad (8) en el mismo nivel (2), que se sirven usando ronda algoritmo robin. Bursts / Explosiones Bursts se utilizan para permitir mayores velocidades de datos por un período corto de tiempo. Cada parte 1/16 de la ráfaga de tiempo (burst-time) el router calcula la velocidad media de datos de cada clase en los últimos tiempo de ráfaga (burst-time) segundos. Si esta velocidad media de datos es menor que el umbral de ráfaga (burst-thershold) ráfaga está habilitado y el límite de la tasa efectiva (la transición al estado rojo) se establece en ráfaga límite (burst-timit) bps, de lo contrario el límite máximo efectiva cae a maxlímit. Consideremos la siguiente configuración: max-limit = 256000, burst-time= 8, burstthershold= 192000 y burst-límit= 512000. Cuando un usuario comienza a descargar un archivo a través de HTTP, se puede observar tal situación:
Al comienzo de la tasa de datos promedio de los últimos 8 segundos es 0 bps porque no hay tráfico ha pasado a través de este Ruke antes de que haya sido creado. Puesto que esta velocidad media de datos es menor que burst-threshold (192kbps), burst está permitido. Después del primer segundo, la velocidad de datos promedio es (0 +0 +0 +0 +0 +0 +0 +512) / 8 = 64 kbps, lo cual es menos de burst-threshold. Después de la segunda de segunda categoría, los datos promedio (0 +0 +0 +0 +0 +0 +512 +512) / 8 = 128 kbps. Después de que el segundo tercio proviene del punto de interrupción cuando la velocidad promedio de datos se vuelve mayor que burst-threshold. En este momento ráfaga se desactiva y la limitación efectiva de datos tasa cae al mas-limit (256 kbps).
Manual de clases
Nótese cómo la burst-time fue utilizado. La duración real de la explosión no depende de burst-time solo También depende de la burst-threshold/burs-limit relación y la velocidad de datos real que pasa a través de la clase de ráfagas. En este ejemplo la relación de rotura era 192000/512000 = 3/8, el tiempo fue de 8, y la queue se ha estado tratando de utilizar todo tipo de disposición de la clase se proporciona, por lo que la burst fue de 3 segundos de duración. Ahora usted puede ver fácilmente por qué el burst-threshold debe estar entre limitat y max-limit para el funcionamiento normal. Si se especifica burst-threshold mayor que max-límit , entonces la tasa promedio tenderá a burst-threshold, pero el límite máximo efectivo saltará entre max-límit y burst-limit constantemente (dependiendo de la velocidad real del tráfico, puede suceder incluso en cada punto de evaluación (1/16th de burst-time)). HTB en RouterOS Además de las colas (queues) de interfaz (una cola (queue) o un árbol (tree) por cada interfaz HTB), 3, 4 árboles (trees) virtuales HTB mantenido por RouterOS:
global-in global-total global-out
Cuando se añade una cola simple (simple queue), que crea 3 clases HTB (en globalin,global-total y global-out), pero que no añade ninguna clase en cola (queue) de la interfaz. Árbol de cola (queue tree) es más flexible - se puede añadir a cualquiera de estos de HTB. Cuando paquete viaja a través del router, que pasa a 4 árboles HTB - global-in, global, total, global-out y cola de la interfaz de salida. Si se dirige al router, pasa global-in-t y global total colas HTB. Si los paquetes se envían desde el router, pasan por las colas de interfaz global total, global-out y salida Recursos adicionales
http://linux-ip.net/articles/Traffic-Control-HOWTO/overview.html http://luxik.cdi.cz/ ~ Devik / qos / htb / http://www.docum.org/docum.org/docs/
Types Queue - Tipos de cola
Manual de clases
Nivel Submenu: / tipo de cola
Descripción Usted puede crear sus tipos de colas personalizadas de este submenú. Después, usted será capaz de utilizarlos en / cola árbol (queue tree) / cola sencilla (queue simple) o / cola de la interfaz (queue interface). Tenga en cuenta que estas disciplinas de cola no se puede limitar la velocidad de datos en absoluto (excepto PCQ) - que sólo reorganizar (esquema) y colocar los paquetes en exceso (si la cola está haciendo demasiado largo y la clase de gestión no puede enviar los paquetes con la suficiente rapidez), por lo que no encontrará en ningún parámetro de limitación de velocidad aquí (con excepción de PCQ) únicos límites de almacenamiento. Tenga en cuenta también que la programación se lleva a cabo sólo cuando los paquetes están siendo puestas en cola en la qdisc, y esto sólo sucede cuando los paquetes están llegando a la tasa más rápida que la clase de gestión puede proporcionar (por lo que este es sólo un tampón). Hay 5 clases de qdisc que se pueden utilizar para el almacenamiento de paquetes: Pfifo y bfifo Estas disciplinas de cola se basa en el algoritmo FIFO (primero en entrar primero en salir). La diferencia entre pfifo y bfifo es que uno se mide en paquetes y la otra en bytes. Sólo hay un parámetro llamado pfifo-límit (o bfifo-límit en caso de bfifo) que define la cantidad de datos de una cola FIFO puede contener. Cada paquete que no puede ser en cola (si la cola está llena), se deja caer. Tamaños grandes colas puede aumentar la latencia, pero utilizan mejor canal.
Use FIFO disciplinas de cola, si usted tiene un enlace noncongested.
SFQ Stochastic Fairness Queue Server (SFQ) iguala los flujos de tráfico (sesiones TCP o UDP arroyos) cuando el enlace esté completamente lleno.
Manual de clases
La equidad de SFQ está garantizada por hash y algoritmos de round-robin. Algoritmo hash divide el tráfico de la sesión durante un número limitado de subcolas. Un flujo de tráfico puede ser identificado de forma única por una tupla (src-address, dst-address, src-port and dst-port), por lo que estos parámetros son utilizados por el algoritmo de hash de SFQ para clasificar los paquetes en subcolas.
El conjunto cola SFQ puede contener 128 paquetes y hay 1024 subcolas disponibles para estos paquetes. Cada paquete almacenado en una memoria intermedia FIFO de paquetes de tipo 128, pertenece a una subcola cierto, determinado por la función hash (una simple función de los valores de tupla con 10-bit de salida se utiliza, por lo tanto, la cantidad de subcolas es 1024). Naturaleza estocástica de la disciplina de colas se observa en que los paquetes de un número impredecible de flujos pueden ser clasificados en la subcola mismo. Después de sfq-perturb segundo algoritmo de hash de los cambios y divide el tráfico de la sesión a subcolas otros, de manera que no hay flujos de datos independientes se asocian con la subcola mismo por un largo tiempo. El algoritmo de round-robin dequeues pcq-allot bytes de cada subcola en un turno. El uso SFQ para los enlaces congestionados para garantizar que las conexiones no morir de hambre. SFQ es especialmente beneficioso en los enlaces inalámbricos.
PCQ Para resolver algunos imperfección SFQ, por conexión Queue Server (PCQ) se ha creado. Es el único tipo de colas sin clases en RouterOS que pueden hacer Límite de la tasa. Es una versión mejorada de SFQ sin que su naturaleza stohastic.PCQ también crea subcolas, basado en el pcq-classifier parámetro. Cada subcola tiene un límite de velocidad de datos de pcq-rate y el tamaño del pcq-limit paquetes. El tamaño total de una cola PCQ no puede ser mayor que pcq-total-limit paquetes.
Manual de clases
El siguiente ejemplo muestra el uso de PCQ con paquetes, clasificada por su dirección de origen.
Si clasificar los paquetes src-address entonces todos los paquetes con diferentes direcciones IP de origen se agruparán en subcolas diferentes. Ahora usted puede hacer que la limitación o compensación para cada subcola con el pcq-rate parámetro. Tal vez la parte más importante es decidir qué interfaz debería damos esta cola. Si lo adjuntaremos a la interfaz local, todo el tráfico de la interfaz pública está separada por src dirección (probablemente no es lo que queremos), pero si lo conecte a la interfaz pública, todo el tráfico de nuestros clientes se agrupan ser por src-address - por lo que fácilmente puede limitar o igualar la carga para los clientes. Lo mismo puede hacerse para las descargas, pero en ese caso dst-address clasificador se utilizarán, y PCQ hincapié en la interconexión LOCAN. Para igualar tasa entre subcolas, clasificados según el pcq-classifier establezca el pcqrate a 0 pcq se puede utilizar para igualar dinámicamente o ajustar el tráfico de varios usuarios, se utiliza la administración poco. De hecho, pcq siempre iguala los subcolas, por lo que el pcq-rate es sólo una tapa para la igualdad - una subcola puede obtener más pequeña tarifa, pero nunca conseguirá una mayor tasa. RED Random Early Detection (también conocido como Drop Random Early, ya que esto es cómo funciona en realidad) es un mecanismo de colas que trata de evitar la congestión de la red mediante el control del tamaño medio de la cola. Cuando el tamaño promedio de la cola alcanza red-min-threshold, RED comienza a descartar paquetes al azar, con una probabilidad lineal aumenta a medida que el tamaño promedio de la cola crece hasta que el tamaño promedio de la cola llega al red-max-threshold. El tamaño de la cola eficaz en cualquier momento puede ser mayor que el red-max-threshold como la probabilidad no crece muy rápido, por lo que es posible especificar un límite para el tamaño de cola. Cuando el tamaño medio de la cola llega a red-max-threshold o se hace más grande,
Manual de clases
todos los packats adicionales se eliminan hasta que el tamaño medio de la cola no cae por debajo de este valus (en el que los cálculos de punto probabilística se activará de nuevo). El tamaño medio de la cola promedio es (1-W) * promedio + W * q, donde
q - longitud actual de la cola W - peso cola definida como ráfaga +1- min = (1 - (1-W) ^ ráfaga) / W . Tenga en cuenta que log (W) valor redondeado al número entero IR (tan W puede ser 1, 0,1, 0,01, etc.) Se determina experimantally que en muchos casos genéricos, W está cerca de min/10 * ráfaga
El pb valor de probabilidad se incrementa linealmente desde 0% a 2% como el tamaño medio de la cola crece de red-min-threshold a red-max-threshold: pb = 0,02 * (avg-min) / (max-min) . El paquete caer probabilidad pb aumenta con pb y con el recuento de paquetes en cola desde el último paquete fue eliminado: pa = pb / (1-conteo * pb) . Se define experimentalmente que un buen red-burst valor es (min +2 * max) / 3 . Y un buen red-max-threshold es el doble de red-min-threshold. Tenga en cuenta que en las fórmulas anteriores, min significa red-minthreshold, max significa red-max-threshold y ráfagasignifica red-burst.
Usado en enlaces congestionados con altas velocidades de datos, ya que es rápido y TCP de usar. Descripción del inmueble
bfifo-limit (entero, por defecto: 15000) - Número máximo de bytes que la cola puede bfifo holdkind (bfifo | PCQ | pfifo | red | sfq) - que la disciplina de colas para usar bfifo - Bytes First-In, First-Out pcq - Per Connection Queue pfifo - Packets First-In, First-Out
Manual de clases
red - Random Early Detection sfq - Stohastic Fairness Queuing
name ( nombre ) - nombre de referencia del tipo de cola pcq-classifier (dst-address | dstport | src-address | src-port; default: "") - clasificadores de listas para agrupar paquetes en subcolas PCQ. Clasificadores pueden utilizar varios a la vez, por ejemplo, src-address, src-port agrupará todos los paquetes con dirección de origen diferente y puertos de origen-en subcolas separadas pcq-limit ( número entero , por defecto: 50 ) - número de paquetes que un solo PCQ sub-cola puede contener pcq-rate ( número entero , por defecto: 0 ) - velocidad de datos máxima permitida para cada PCQ sub-cola. Este es un límite de la tasa, como los subcolas se igualarán todos modos 0 - sin limitación set (sólo igualar las tasas entre subcolas) pcq-total-limit ( entero , por defecto: 2000 ) - número de paquetes que la cola PCQ conjunto puede contener pfifo-limit( entero ) - Número máximo de paquetes que la cola puede contener pfifo red-avg-packet ( número entero , por defecto: 1000 ) - el tamaño medio de los paquetes, que se utiliza para el ajuste de media cola de recálculo redburst (número entero ) - una medida de lo rápido que el tamaño medio de la cola se verá influida por el tamaño de cola real, dado en bytes. Los valores más altos suavizar los cambios, de manera más explosiones se permitirá red-limit ( entero ) - límite físico en tamaño de la cola en bytes. Si el tamaño de cola real (no media) supera este valor entonces todos los paquetes adicionales serán descartados hasta que el tamaño de la cola cae por debajo. Esta debe ser superior a red-max-threshold+red-burstred-max-threshold ( número entero ) - límite superior para el tamaño medio de la cola, en bytes. Cuando el tamaño alcanza este valor, todos los paquetes nuevos se dejará caer red-min-threshold ( número entero ) - Límite inferior para el tamaño promedio de la cola, en bytes. Cuando el tamaño alcanza este valor, RED comienza a descartar paquetes al azar con una probabilidad calculada sfq-allot ( entero , por defecto: 1514 ) - la cantidad de bytes que una subcola puede enviar antes de la subcola turno a la siguiente (cantidad de bytes que se pueden enviar desde un subcola en un solo round-robin vuelta), debe ser de al menos 1514 por vínculos con 1500 bytes MTU sfq-perturb ( entero , por defecto: 5) - con qué frecuencia debe sacudir (perturbar) SFQ algoritmo de hash, en segundos
Interface Default Queues - Colas de interfaz por defecto
Manual de clases
Nivel Submenu: / queue interface - cola de la interfaz
Descripción Con el fin de enviar paquetes a través de una interfaz, que tienen que ser puestas en cola en una cola, incluso si no se desea limitar el tráfico en absoluto. Aquí puede especificar el tipo de cola que se utilizará para la transmisión de datos. Tenga en cuenta que una vez que usted configura las colas de árboles para una interfaz en la lista, la cola predeterminado de la interfaz ya no está activa para esa interfaz en particular, por lo que necesita para asegurarse de que todos los paquetes que van a través de esta interfaz se filtran en algunas qdisc HTB dentro del árbol. De lo contrario los paquetes que no se filtran, se envían directamente (a una prioridad superior eficaz que cualquiera de los paquetes en el árbol HTB), y sin almacenamiento intermedio, que en última instancia conducir a un rendimiento subóptimo. Descripción del inmueble interface( read-only: nombre ) - nombre de la interfaz de cola ( nombre , por defecto: default) - el tipo de cola que se utilizará para la interfaz Ejemplo Configure la interfaz inalámbrica para utilizar wireless-default queue: [admin@MikroTik] queue interface> set 0 queue=wirelessdefault [admin@MikroTik] queue interface> print # INTERFACE QUEUE 0 wlan1 wireless-default [admin@MikroTik] queue interface>
Simple Queue - Las colas simples Descripción La forma más simple para limitar la velocidad de datos para direcciones IP específicas y / o subredes, es el uso de colas simples.
Manual de clases
También puede utilizar las colas simples para construir aplicaciones avanzadas de QoS. Tienen útiles funciones integradas:
Peer-to-peer tráfico cola Aplicación de las normas de colas de intervalos de tiempo seleccionados Prioridades Utilice las marcas de múltiples paquetes desde / ip firewall mangle Conformación de tráfico bidireccional (un límite para el total de carga-upload) + descarga-download)
Descripción del inmueble burst-limit ( entero / entero ) - Tasa de transferencia de datos máxima que se puede alcanzar mientras la ráfaga es activo, en forma de entrada / salida (destino de carga / descarga) burst-thershold ( entero / entero ) - Límite de velocidad de datos media, hasta que la ráfaga está permitido. Si la tasa de datos promedio de los últimos tiempo de ráfaga segundo es menor que burst-limit, la velocidad de datos real puede llegar burst-límit . De lo contrario el límite duro se pone a max-limit . Establecer en forma de entrada / salida (destino de carga / descarga) burst-time ( entero / entero ) - el período de tiempo, en segundos, durante el cual la tasa de datos media se calcula, en forma de entrada / salida (destino de carga / descarga) dirección (ninguno tanto Cargar) - las direcciones del flujo de tráfico desde el punto de vista de los objetivos, afectado por esta cola none - ninguno - la cola está inactiva eficazmente both - tanto - la cola de destino limita tanto cargar y descargar apuntar upload - cargar - la cola limita sólo atacan a subir, dejando las tasas de descarga ilimitada download - descarga - la cola de descarga limita sólo objetivo, dejando las tasas de subida ilimitada
dst-address( dirección IP / máscara de red ) - para que coincida con la dirección de destino dst-netmask ( máscara de red ) - máscara de red para la dirección DSTinterface ( texto ) - Interfaz, esta cola se aplica a (es decir, la interfaz está conectada a la meta) –límit-at ( entero / entero ) - CIR, en forma de entrada / salida (destino upload / download) max-limit ( entero / entero ) - MIR (en caso de rotura no está activo), en forma de entrada / salida (destino de upload / download) nombre ( texto ) - Nombre descriptivo de la cola de p2p (all-p2p | bit-torrent | Blubster | direct-connect | edonkey | fasttrack | gnutella | soulseek | winmx) - que tipo de tráfico P2P para que coincida con all-p2p - partido todo el tráfico P2P
Manual de clases
packet-marks ( de elección múltiple: nombre , por defecto: "" ) - Lista de las marcas de paquetes (establecido por / ip firewall mangle ) para que coincida. Varias marcas de paquetes separados por comas (",") parent -padre ( nombre ) - nombre de la cola de los padres en la jerarquía. Sólo puede ser otra simple queue priority ( número entero : 1 .. 8) la prioridad de la cola. 1 es la más alta, 8 - el más bajo queue ( nombre / nombre , por defecto: default / default ) - nombre de la cola de / queue type , en forma de in / out target-addresses( de elección múltiple: dirección IP / máscara de red ) - limitación de las direcciones IP de destino (dirección de origen). Varias direcciones separadas por comas tiempo ( tiempo -tiempo , sat | Vie | Jue | Mie | mar | lun | sol {+}, por defecto: "" ) - Efecto límite de la cola a un período de tiempo especificado total-burstlimit ( entero ) - Plazo de explosión mundial-total (acumulativo tasa, carga + descarga) queue total-burst-thershold ( número entero ) - burst limit para global-total (tasa acumulada upload + download) queue total-burst-time( tiempo ) – burst time para globaltotal queue total-limit-at ( entero ) - limit-menos para global-total (acumulativo tasa, upload + download) queue total-max-limit ( entero ) - max –limit de global-total (acumulativo tasa, carga + descarga) queue-total-queue ( nombre ) - disciplina de cola que se utilizará para global total-queue
Queue Tress - Los árboles de cola Nivel Submenu: / queue tree - cola árbol
Descripción Los árboles de la cola debe ser utilizada cuando se desea utilizar la asignación sofisticado velocidad de datos basados en protocolos, puertos, grupos de direcciones IP, etc Al principio tienes que marcar los flujos de paquetes con una marca de bajo / ip firewall mangle y luego utilizar esta marca como un identificador para flujos de paquetes en los árboles de la cola. Descripción del inmueble burst-límite ( número entero ) - La tasa de datos máxima que se puede alcanzar, mientras que la ráfaga está activo burst-umbral ( número entero ) - límite promedio de velocidad de datos, hasta que se permite la ráfaga. Si la tasa de datos promedio de los últimos tiempo de ráfaga segundo es menor que el umbral de ráfaga , la velocidad de datos real puede llegar burst-límite . De lo contrario el límite duro se restablece a max-límite ráfaga de tiempo ( tiempo ) - período de tiempo, en segundos, durante el cual la velocidad de datos media se calcula límite-a ( número entero ) - CIR -max límite (número entero ) - MIR (en
Manual de clases
explosión caso no está activo) nombre ( texto ) - nombre descriptivo para la cola de paquetes marca ( texto ) - paquete de flujo de marca (establecido por mangle firewall / IP ) para que coincida. Esto crea un filtro que pone los paquetes con la marca dada en esta cola padre ( texto ) - nombre de la cola de los padres. Los padres de nivel superior son las interfaces disponibles (en realidad, el principal HTB). Menores padres de nivel puede ser otro árbol colas de prioridad ( número entero : 1 .. 8) - La prioridad de la cola. 1 es la más alta, 8 - el más bajo de cola ( texto ) - Nombre del tipo de cola. Los tipos se definen en / queue type Ejemplos de aplicación Ejemplo de emular una línea 128Kibps/64Kibps Supongamos que queremos emular una descarga 128Kibps y línea 64Kibps carga, la conexión de red IP 192.168.0.0/24 .La red se sirve a través de la interfaz local del router del cliente. La configuración básica de la red se encuentra en el siguiente diagrama:
Para resolver esta situación, utilizaremos las colas simples. IP address (Direcciones IP)en el Router Mikrotik: [admin@MikroTik] ip address> print
Manual de clases
Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK BROADCAST INTERFACE 0 192.168.0.254/24 192.168.0.0 192.168.0.255 1 10.5.8.104/24 10.5.8.0 10.5.8.255 Public [admin@MikroTik] ip address>
Local
Y Routers: [admin@MikroTik] ip route> print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC G GATEWAY DIS INTE... 0 A S 0.0.0.0/0 r 10.5.8.1 1 Public 1 ADC 10.5.8.0/24 10.5.8.104 0 Public 2 ADC 192.168.0.0/24 192.168.0.254 0 Local [admin@MikroTik] ip route> Agregue una regla sencilla cola, lo que limitará el tráfico de descarga para 128Kib/s y subir a 64KiB/s para clientes de la red 192.168.0.0/24, servido por la interfaz local : [admin@MikroTik] queue simple> add name=Limit-Local interface=Local \ \... target-address=192.168.0.0/24 max-limit=65536/131072 [admin@MikroTik] queue simple> print Flags: X - disabled, I - invalid, D - dynamic 0 name="Limit-Local" target-addresses=192.168.0.0/24 dstaddress=0.0.0.0/0 interface=Local parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072 total-queue=default [admin@MikroTik] queue simple> El límite máximo de parámetro reduce el ancho de banda máximo disponible. Desde el punto de vista de los clientes, el valor 65536/131072 significa que van a obtener el máximo de 131072bps para download y 65536bps para upload. La dirección addresses parámetro define la red de destino (o redes, separados por una coma) a la que se aplica la regla de cola.
Manual de clases
Ahora veamos la carga de tráfico: [admin@MikroTik] interface> monitor-traffic Local received-packets-per-second: 7 received-bits-per-second: 68kbps sent-packets-per-second: 13 sent-bits-per-second: 135kbps [admin@MikroTik] interface>
Probablemente, usted quiere excluir el servidor de limitarse, en caso afirmativo, agregar una cola para que sin ningún tipo de limitación ( max-limit = 0/0 , que significa que no hay limitación) y moverlo hasta el comienzo de la lista: [admin@MikroTik] queue simple> add name=Server targetaddresses=192.168.0.1/32 \ \... interface=Local [admin@MikroTik] queue simple> print Flags: X - disabled, I - invalid, D - dynamic 0 name="Limit-Local" target-addresses=192.168.0.0/24 dstaddress=0.0.0.0/0 interface=Local parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072 total-queue=default 1 name="Server" target-addresses=192.168.0.1/32 dstaddress=0.0.0.0/0 interface=Local parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0 total-queue=default [admin@MikroTik] queue simple> mo 1 0 [admin@MikroTik] queue simple> print Flags: X - disabled, I - invalid, D - dynamic 0 name="Server" target-addresses=192.168.0.1/32 dstaddress=0.0.0.0/0 interface=Local parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0 total-queue=default 1 name="Limit-Local" target-addresses=192.168.0.0/24 dstaddress=0.0.0.0/0 interface=Local parent=none priority=8 queue=default/default
Manual de clases
limit-at=0/0 max-limit=65536/131072 total-queue=default [admin@MikroTik] queue simple> Queue Tree Ejemplo Con Masquerading En el ejemplo anterior hemos dedicado 128Kib/s de descarga y 64KiB s de tráfico de carga para la red local. En este ejemplo vamos a garantizar 256Kib s de descarga (128Kib/s para el servidor, 64KiB/s para la estación de trabajo y también 64KiB/s para el portátil) y 128Kib/s de subida (64/32/32Kib/s, respectivelly) para los dispositivos de la red local. Además, si hay ancho de banda de repuesto, compartir entre los usuarios por igual. Por ejemplo, si apagamos el ordenador portátil, compartir su 64KiB/s de descarga y 32Kib/s de subida al servidor y estación de trabajo. Cuando se utiliza enmascaramiento, tiene que marcar la conexión de salida con newconnection-mark y tomar la mark-connection la acción. Una vez hecho esto, puede marcar todos los paquetes que pertenecen a esta conexión con el new-packet-mark y utilizar la mark-packet acción.
1. En un primer momento, marque la descarga del servidor y cargar el tráfico. Con la primera regla que marcará la conexión de salida y con el segundo, todos los paquetes, que pertenecen a este respecto:
Manual de clases
[admin@MikroTik] ip firewall mangle> add srcaddress=192.168.0.1/32 \ \... action=mark-connection new-connection-mark=server-con chain=prerouting [admin@MikroTik] ip firewall mangle> add connectionmark=server-con \ \... action=mark-packet new-packet-mark=server chain=prerouting [admin@MikroTik] ip firewall mangle> print Flags: X - disabled, I - invalid, D - dynamic 0 chain=prerouting src-address=192.168.0.1 action=markconnection new-connection-mark=server-con 1 chain=prerouting connection-mark=server-con action=markpacket new-packet-mark=server [admin@MikroTik] ip firewall mangle>
2. Lo mismo para el ordenador portátil y la estación de trabajo: [admin@MikroTik] ip firewall mangle> add srcaddress=192.168.0.2 \ \... action=mark-connection new-connection-mark=lap_workscon chain=prerouting [admin@MikroTik] ip firewall mangle> add srcaddress=192.168.0.3 \ \... action=mark-connection new-connection-mark=lap_workscon chain=prerouting [admin@MikroTik] ip firewall mangle> add connectionmark=lap_works-con \ \... action=mark-packet new-packet-mark=lap_work chain=prerouting [admin@MikroTik] ip firewall mangle> print Flags: X - disabled, I - invalid, D - dynamic 0 chain=prerouting src-address=192.168.0.1 action=markconnection new-connection-mark=server-con 1 chain=prerouting connection-mark=server-con action=mark-packet
Manual de clases
new-packet-mark=server 2 chain=prerouting src-address=192.168.0.2 action=markconnection new-connection-mark=lap_works-con 3 chain=prerouting src-address=192.168.0.3 action=markconnection new-connection-mark=lap_works-con 4 chain=prerouting connection-mark=lap_works-con action=mark-packet new-packet-mark=lap_work [admin@MikroTik] ip firewall mangle> Como se puede ver, marcamos conexiones que pertenecen para el ordenador portátil y la estación de trabajo con el mismo caudal. 3. En / queue tree añadir reglas que limitan la descarga del servidor y cargar: [admin@MikroTik] queue tree> add name=Server-Download parent=Local \ \... limit-at=131072 packet-mark=server max-limit=262144 [admin@MikroTik] queue tree> add name=Server-Upload parent=Public \ \... limit-at=65536 packet-mark=server max-limit=131072 [admin@MikroTik] queue tree> print Flags: X - disabled, I - invalid 0 name="Server-Download" parent=Local packet-mark=server limit-at=131072 queue=default priority=8 max-limit=262144 burst-limit=0 burst-threshold=0 burst-time=0s 1 name="Server-Upload" parent=Public packet-mark=server limit-at=65536 queue=default priority=8 max-limit=131072 burst-limit=0 burst-threshold=0 burst-time=0s [admin@MikroTik] queue tree>
Y config similares para el ordenador portátil y estación de trabajo: [admin@MikroTik] queue tree> add name=Laptop-Wkst-Down parent=Local \ \... packet-mark=lap_work limit-at=65535 max-limit=262144
Manual de clases
[admin@MikroTik] queue tree> add name=Laptop-Wkst-Up parent=Public \ \... packet-mark=lap_work limit-at=32768 max-limit=131072 [admin@MikroTik] queue tree> print Flags: X - disabled, I - invalid 0 name="Server-Download" parent=Local packet-mark=server limit-at=131072 queue=default priority=8 max-limit=262144 burst-limit=0 burst-threshold=0 burst-time=0s 1 name="Server-Upload" parent=Public packet-mark=server limit-at=65536 queue=default priority=8 max-limit=131072 burst-limit=0 burst-threshold=0 burst-time=0s 2 name="Laptop-Wkst-Down" parent=Local packetmark=lap_work limit-at=65535 queue=default priority=8 max-limit=262144 burst-limit=0 burst-threshold=0 burst-time=0s 3 name="Laptop-Wkst-Up" parent=Public packet-mark=lap_work limit-at=32768 queue=default priority=8 max-limit=131072 burst-limit=0 burst-threshold=0 burst-time=0s [admin@MikroTik] queue tree> Compartir el ancho de banda de Igualdad entre los usuarios En este ejemplo se muestra cómo compartir igualmente 10Mibps descarga y 2 Mbps de subida entre los usuarios activos en la red 192.168.0.0/24 . Si el host A está descargando 2 Mbps, Host B tiene 8 Mbps, y viceversa. Puede haber situaciones en las que ambos hosts desea utilizar el ancho de banda máximo (10 Mbps), entonces recibirá 5 Mbps cada uno, lo mismo pasa con la carga. Esta configuración también es válido para más de 2 usuarios.
Manual de clases
Al principio, marcar todo el tráfico procedente de la red local 192.168.0.0/24 con un signo de los usuarios : /ip firewall mangle add chain=forward srcaddress=192.168.0.0/24 \ action=mark-connection new-connection-mark=users-con /ip firewall mangle add connection-mark=users-con action=mark-packet \ new-packet-mark=users chain=forward Ahora vamos a añadir dos nuevos tipos PCQ. La primera, llamada PCQ-download agrupará todo el tráfico por dirección de destino. Como vamos a adjuntar este tipo de cola para el local de la interfaz, se creará una cola dinámica para cada dirección de destino (usuario) que se está descargando en la red 192.168.0.0/24 . El segundo tipo, llamado PCQ-upload agrupará el tráfico por dirección de origen. Vamos a unir esta cola para el público interfaz por lo que hacer una cola dinámica para cada usuario que está subiendo a Internet desde la red local 192.168.0.0/24 . /queue type add name=pcq-download kind=pcq pcqclassifier=dst-address /queue type add name=pcq-upload kind=pcq pcq-classifier=srcaddress
Manual de clases
Por último, hacer un árbol de cola para el tráfico de descarga: /queue tree add name=Download parent=Local max-limit=10240000 /queue tree add parent=Download queue=pcq-download packetmark=users Y para el tráfico de carga: /queue tree add name=Upload parent=Public max-limit=2048000 /queue tree add parent=Upload queue=pcq-upload packetmark=users Nota: Si su ISP no le puede garantizar una cantidad fija de tráfico, se puede usar una sola cola para subir y otro para la descarga, conectados directamente a la interfaz: /queue tree add parent=Local queue=pcq-download packetmark=users /queue tree add parent=Public queue=pcq-upload packetmark=users
View more...
Comments