next up previous contents
Siguiente: Cambios en los parámetros Subir: Solución adoptada Anterior: Esquema utilizado   Índice General

Funcionamiento

Al iniciar la pasarela se ha sustituido el script que incluía Nocat por un script llamado inicio_QoS que crea las siguientes clases: Una vez definidas estas clases inicialmente, sólo nos queda que cada vez que un usuario se conecta se cree una nueva clase con sus parámetros correspondientes. Para crear y borrar las clases se ha creado un script qos.fw al que hay que pasarle los siguientes parámetros: un identificador de clase, la dirección IP del usuario, el ancho de banda mínimo, el ancho de banda máximo y la prioridad. Todos los parámetros son obligatorios en el caso de que estemos creando una clase y sólo el identificador de clase para borrarla. Este script se encarga de crear la clase correspondiente de un usuario, de asignarle una disciplina de colas HTB con los parámetros pasados y de asignar a esa clase todo el tráfico cuyo destino sea la dirección IP del usuario. Al borrar sigue los pasos inversos: borra el filtro para asignar el tráfico, luego borra la disciplina de colas y por último borra la clase. Ya hemos visto lo que hace el script qos.fw, pero no sabemos cómo pasarle los parámetros. Para pasarle los parámetros se ha usado el mensaje encriptado que devuelve el servidor de autenticación a la pasarela. Dentro de este mensaje introducimos los parámetros: id_cola, rate, ceil y prio que son identificador de clase, ancho de banda mínimo, ancho de banda máximo y prioridad respectivamente. Para asignar el id_cola de una conexión se pensó en primer lugar en utilizar un campo de la tabla activacion donde el administrador insertara el identificador con un valor entre 3 y 655353.11, pero esta solución restringía el número de usuarios activados para un servidor a 65532. Este valor, a priori, no sabemos si será suficiente o no, pero en cualquier caso se puede usar otro método mucho más eficiente. La otra opción, que finalmente ha sido la adoptada, es asignar los identificadores dinámicamente. Para ello se ha creado una ''pila'' de la que cogemos un identificador cuando un usuario se conecta, y lo volvemos a meter en la pila cuando un usuario se desconecta. De esta manera, la limitación impuesta al sistema es mucho menor, ya que limitamos a que haya 65532 usuarios conectados a la vez que dependan del mismo servidor de autenticación. Para guardar el id_cola de cada conexión y así poder borrar la clase cuando se desconecte utilizamos el campo de la tabla conexion id_cola. Como pila se usa un nueva tabla que incluimos en ControlNocat llamada id_cola que tiene un solo campo y es iniciada con los valores de 3 a 65535 en hexadecimal. Para extraer de la pila seleccionamos un valor de una fila y después la borramos, y para volver a meter en la pila introducimos otra vez el valor en la tabla. Los parámetros de caudal y prioridad están guardados en la tabla grupos en los campos caudal_min, caudal_max y prioridad. La tabla grupos se usa para definir todos los grupos que habrá en el sistema. Los campos que incluye la tabla grupos son los siguientes:

----------------------- -----------cod_grupo 		 VARCHAR(20) 

tarifacion ENUM(''pdiaria'',''pmensual'',''pospago'',''bono'',''prepago'')
tarifa FLOAT(4)
inicio DATETIME
fin DATETIME
bono TIME
caudal_min INT
caudal_max INT
cod_politica VARCHAR(3)
prioridad VARCHAR(1)
comentarios VARCHAR(250)
Para meter los parámetros en el mensaje encriptado, dentro del script login.cgi3.12 que es el que autentica al usuario cada minuto, se inserta una función llamada consultaQoS que se incluye en el módulo ControlNocat.pm. Esta función consulta los parámetros caudal_min, caudal_max y prioridad en la tabla grupos y consulta bien el id_cola de la tabla conexiones si el usuario estaba activo, o bien saca un nuevo id_cola de la tabla de id_cola que será asignado a ese usuario. De esta forma a cada minuto se envía un mensaje encriptado con los valores del servidor de autenticación, esto nos sirve para poder cambiar los datos dinámicamente durante una conexión.
Figura 3.9: Proceso de conexión
\includegraphics[height=10.3cm,width=10.9cm
]{ins_qos.ps}
Figura 3.10: Proceso de renovación del popup
\includegraphics[height=10.3cm,width=10.2cm
]{perm_qos.ps}
Figura 3.11: Proceso de salida del sistema
\includegraphics[height=10.7cm,width=10.6cm
]{del_qos.ps}

next up previous contents
Siguiente: Cambios en los parámetros Subir: Solución adoptada Anterior: Esquema utilizado   Índice General
Jesús Martín 2003-09-16
e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


SISTEMA DE CONTROL, TARIFICACIÓN Y ADMINISTRACIÓN DEL ACCESO A INTERNET DESDE REDES HETEROGÉNEAS

: Martín Ruiz, Jesús
: Ingeniería Telecomunicación
Contenido del proyecto: