El control de tráfico en Frame
Relay se basa en la especificación de varios parámetros, el más importante de
los cuales es el denominado CIR (Committed Information Rate). En el caso de
circuitos permanentes el CIR se especifica en el momento de configurar los
equipos; en el de circuitos conmutados es solicitado por el usuario en el
momento de efectuar la llamada; en este último caso la red puede tener que
rechazar la llamada si no dispone de la capacidad solicitada.
El control de tráfico en Frame
Relay se realiza de la siguiente forma. El conmutador Frame Relay al que está
conectado el equipo del usuario realiza una monitorización permanente del
tráfico que el usuario inyecta en la red por el circuito virtual. Si el usuario
no supera en ningún momento el CIR sus tramas viajarán todas con el bit DE
(Discard Elegibility) a cero; sin embargo, si el usuario excede dicha capacidad
el conmutador Frame Relay pondrá a 1 el bit DE en aquellas tramas que se
encuentren (en todo o en parte) por encima de la capacidad especificada en el
CIR. Un segundo parámetro, conocido como:
EIR (Excess Information Rate),
especifica un caudal adicional que el usuario no deberá superar nunca, ya que
las tramas recibidas por encima de este valor serán directamente descartadas
por el conmutador.
La implementación práctica del
algoritmo que acabamos de describir utiliza en realidad otros dos parámetros: o
Bc: Tamaño de ráfaga comprometida (Committed burst size). Indica la cantidad
máxima de bits que la red se compromete a enviar, en condiciones normales,
durante un intervalo de tiempo T.
Estos datos pueden estar o no
contiguos, es decir pueden formar parte de una o de varias tramas. o Be: Tamaño
de ráfaga excedente (Excess burst size). Indica la máxima cantidad de bits que,
además de Bc, podrá el usuario intentar enviar por la red, durante un intervalo
de tiempo T. No hay compromiso en la transferencia de estos datos, o dicho con
más precisión, hay una menor probabilidad de que estos datos lleguen a su
destino que los que son enviados dentro de Bc.
Entre los parámetros Bc y CIR se
cumple la relación:
Bc = CIR * T
Análogamente entre Be y el EIR se
cumple la relación:
Be = EIR * T
Los parámetros CIR y Bc
configuran un pozal agujereado donde ρ = CIR y C = Bc; mientras que EIR y Be configuran
un segundo pozal agujereado con ρ = EIR y C = Be. El tráfico enviado a la red
por el primer pozal tiene el bit DE a 0. El segundo pozal actúa como
desbordamiento del primero y marca el tráfico que envía a la red con el bit DE
a 1. El tráfico excedente de este segundo pozal es descartado.
Para comprender como funciona el
control de tráfico en Frame Relay supongamos que un usuario contrata con
Telefónica un acceso Frame Relay con una línea física E1, es decir con una
capacidad máxima entre su ordenador y el conmutador Frame Relay de 2.048 Kb/s.
El usuario contrata además un PVC con un CIR de 1.024 Kb/s;
Telefónica configura el enlace con un EIR de 384 Kb/s y establece el valor de T
en 1 segundo (con lo que automáticamente han quedado fijados los valores de Bc
y Be en 1.024.000 y 384.000 bits).
Obsérvese que aunque se han definido varios parámetros el único especificado en
el contrato del usuario con Telefónica (y el único de cuyo valor el usuario
tiene conocimiento oficial) es el CIR.
En esta situación nuestro usuario
desea enviar un flujo de vídeo en tiempo real a un destino remoto, sin ningún
tipo de control de flujo por parte del receptor y sin atender a ninguna
notificación de congestión que pueda venir de la red. Supongamos que el usuario
dispone de un parámetro en su ordenador mediante el cual puede fijar el caudal
de tráfico que inyecta en la red. Supongamos también que el envío se hace utilizando
siempre tramas de 50.000 bits (6.250 bytes). Si el usuario fija el flujo de datos
a transmitir en 2.000 Kb/s estará inyectando en
el conmutador Frame Relay 40 tramas por segundo; en estas condiciones las
primeras veinte tramas serán aceptadas sin más, las ocho siguientes serán
aceptadas pero se les pondrá a uno el bit DE ya que superan el valor de Bc, y
las doce restantes serán simplemente descartadas puesto que superan el valor de
Be.
Si el usuario reduce ahora el
caudal a 1.400 Kb/s enviará 28 tramas por segundo, 20 de las cuales tendrán el
bit DE a cero y las ocho siguientes a uno; de esta forma el usuario está
aprovechando casi al máximo la capacidad de la red, pero no tiene la seguridad
de que todas las tramas lleguen a su destino.
Por último, si el usuario quiere
tener máximas garantías de que todas las tramas llegarán a su destino deberá
reducir el flujo a un valor no superior al CIR, por ejemplo a 1.000 Kb/s, en
cuyo caso emitirá 20 tramas por segundo y todas serán enviadas con el bit DE a cero.
Conviene destacar el hecho de
que, independientemente del flujo que el usuario especifique en su aplicación,
el enlace físico es en todos los casos de 2.048 Kb/s con lo que una trama de
50.000 bits
siempre se transmitirá en 24,4
ms; así en el caso de transmitir un flujo de 2.000 Kb/s el emisor está 24,4 ms
enviado y 0,6 ms esperando; en caso de transmitir a 1.000 Kb/s el emisor está
24,4 ms enviando y 25,6 ms esperando.
El bit DE también puede ser
puesto de forma voluntaria por el usuario. Esto es interesante si el usuario (o
la aplicación) puede identificar algunas tramas como más importantes que otras.
Por ejemplo en vídeo comprimido MPEG existen tres tipos de fotogramas, los
intra, los predictivos y los bidireccionales. Si se pierde un fotograma intra
la calidad se ve mucho más afectada que si se trata de un predictivo o bidireccional.
En nuestro ejemplo, en el caso de transmitir a 1.400 Kb/s (28 tramas por
segundo) la aplicación podría elegir en cada grupo de 28 tramas ocho que
correspondan a fotogramas predictivos o bidireccionales y marcarlas con DE a 1,
con lo que evitará que el conmutador Frame Relay asigne indiscriminadamente el
bit DE a las últimas ocho tramas de cada intervalo, que podrían contener algún
fotograma intra.