El objetivo de la práctica es la programación en el lenguaje de programación JAVA
Enviado por fcorderol • 29 de Noviembre de 2015 • Práctica o problema • 4.912 Palabras (20 Páginas) • 232 Visitas
[pic 1]
[pic 2]
CONTENIDO 1.- DOCUMENTACIÓN GENERAL. 2.- ESPECIFICACIÓN DE CADA FASE. 2.1.- FASE 1- ENVIO BÁSICO. 2.2.- FASE 2 – ESPERAR ASENTIMIENTO. 2.3.- FASE 3 - INTRODUCIR LA PÉRDIDA ALEATORIA DE TRAMAS. 3.- MANUAL DE USUARIO. 3.1.- REQUISITOS DEL SISTEMA: 3.2.- PASOS A SEGUIR PARA LA EJECUCIÓN DEL PROGRAMA. 3.3.- OTRAS POSIBILIDADES. 3.4.- CONFIGURACIÓN DE LOS FICHEROS DE EJECUCIÓN. 4.- MANUAL DEL PROGRAMADOR. 4.1.- CLASES Y SU FUNCIÓN. 2.2.- UML DE LAS CLASES. 4.3.- FUNCIÓN DE LOS ATRIBUTOS Y MÉTODOS. 4.3.1.- ATRIBUTOS Y MÉTODOS DE LA CLASE MAIN. 4.3.2.- ATRIBUTOS Y MÉTODOS DE LA CLASE FICHERO. 4.3.3.- ATRIBUTOS Y MÉTODOS DE LA CLASE INTERFACESRED. 4.3.4.- ATRIBUTOS Y MÉTODOS DE LA CLASE PROTOCOLO. 5. CONCLUSIÓN. 6.- BIBLIOGRAFÍA. |
1.- DOCUMENTACIÓN GENERAL.
El objetivo de la práctica es la programación en el lenguaje de programación JAVA de un protocolo de parada y espera con canal ruidoso orientado a carácter.
Para la elaboración de dicho protocolo se ha utilizado la librería JPCAP de java instalando el driver JpcapSetup-0.7.exe. Por medio de esta librería podremos enviar y recibir tramas Ethernet reales. Dentro del campo datos de las tramas Ethernet se ha configurado dicho protocolo orientado al carácter por el cual el maestro puede enviar ciertas tramas para el establecimiento del enlace, envió de información y liberación del enlace y el esclavo enviará ACKs de confirmación.
Las tramas que se enviarán tendrán el siguiente formato:
- Tramas de establecimiento del enlace:
COD-DIR-SYN-SYN-ENQ-NT.
- COD es un código que se introducirá por medio del fichero de configuración tanto del maestro como del esclavo, ambos deben ser iguales y tendrá la función de filtrar los paquetes que se utilizará en la práctica.
- DIR es una extensión del código, gracias a este campo el protocolo no filtra las tramas que son enviadas por el mismo programa, al esclavo le pertenece el carácter E y al maestro le pertenece el carácter M.
- SYN es un carácter de sincronización.
- ENQ es el carácter que informa al esclavo que la trama es para establecer el enlace.
- NT es el campo de número de secuencia para enumerar las tramas.
- Tramas de información:
COD-DIR-SYN-SYN-STX-NT-L-DATOS
- Los campos COD, DIR, SYN, SYN y NT son iguales que para el anterior formato.
- STX es el carácter que informa al esclavo que es una trama de información.
- L es el campo donde se introducirá la longitud del campo datos, este campo es configurable a través del fichero de configuración del maestro.
- DATOS es el campo donde se guardará la información que el maestro enviará al esclavo.
- Tramas de liberación del enlace:
COD-DIR-SYN-SYN-EOT-NT.
- Los campos COD, DIR, SYN, SYN y NT son iguales que para los anteriores formatos.
- EOT es el carácter que informa al esclavo que se liberará el enlace.
- Tramas de confirmación de trama (ACK):
COD-DIR-SYN-SYN-ACK-NT.
- Los campos COD, DIR, SYN, SYN y NT son iguales que para los anteriores formatos.
- ACK es el carácter que informa al maestro que la trama con el número de secuencia NT ha llegado correctamente.
Para el envió y recepción de dichas tramas, se ha proporcionado al protocolo un control de flujo y de errores, para la implementación del control de flujo y de errores se han ido siguiendo una serie de fases que se explicará en el apartado 2 de la memoria.
Como se puede apreciar anteriormente, para la ejecución del programa se deberá tener dos instancias del protocolo, una que actué como maestro y otra que actué como esclavo, esto se llevará a cabo por medio de dos ficheros de configuración como se explicará en el apartado de manual de usuario.
Cada una de las diferentes configuraciones tendrán algunos parámetros, estos parámetros podrán ser iguales o diferentes según el caso.
Parámetros:
- Código. Será una cadena de caracteres, y tendrá la función de filtrar los paquetes que se envíen por medio del protocolo. Este parámetro deberá ser igual tanto en la configuración del maestro como del esclavo.
- Intentos máximos. Es el número de intentos que tanto el maestro como el esclavo esperarán para que le lleguen las tramas. Si se cumple el máximo de intentos, la conexión se abortará, ya que simulará que el enlace se ha caído. Este parámetro puede tener diferentes valores para el maestro y el esclavo.
- Temporizador. Es el tiempo de espera desde que el maestro o el esclavo envían un paquete. Cuando se cumple el temporizador se cumple un intento y el maestro volverá a enviar la trama y el esclavo volverá a esperar la trama. El valor del parámetro temporizador se guardará en milisegundos y puede ser diferente para el maestro y para el esclavo.
- Traza. Según el estado de este parámetro se mostrará más o menos información de lo que sucede en el programa. Se recomienda que sea igual para el maestro y el esclavo.
- Longitud de información. Este parámetro solo es configurable en el maestro y tiene como función de proporcionar la máxima longitud del campo datos.
- Fichero de lectura. Este parámetro igual que el anterior solo es configurable en el maestro, y guardará el nombre del fichero de texto que el maestro enviara al esclavo.
- Porcentaje de error. Este parámetro indica lo bueno o malo que es el canal de comunicación, ya que a mayor porcentaje de error peor será el canal y más tramas se perderán. Este parámetro es configurable tanto el maestro como en el esclavo, se recomienda que sean iguales.
Para le lectura de los ficheros de configuración se ha reutilizado la clase Main y la clase Fichero de la práctica 2 casi en su totalidad, haciendo solo algunos pequeños cambios en el método de lectura de las instrucciones de la clase Fichero ya que en esta práctica tenemos diferentes instrucciones.
2.- ESPECIFICACIÓN DE CADA FASE.
2.1.- FASE 1- ENVIO BÁSICO.
En esta fase se ha configurado el envió y recepción de un fichero de texto. Para el envió se ha dotado al programa de una configuración de maestro y para la recepción de esclavo.
...