TAREA 03:
"Estudio de Control de Congestión y Limitación de Tráfico"

Nombre: Alejandro Rivera Astete
Rol: 2421007-3
Profesor: Agustin Gonzalez
Ayudante: Stefan Zepeda


************************
ARCHIVOS
************************
La siguiente tarea se compone de los siguientes archivos:
- readme.txt:  El archivo de ayuda que ud esta leyendo en estos momentos.
- tt_server.c:  corresponde al servidor que hace el test de trafico.
- tt_client.c:  corresponde al cliente que hace el test de trafico.
- tunnel.sh:   script que crea el tunnel de ssh.
- documentacion.txt:  Archivo con la documentacion de alto nivel.


************************
COMPILACIÓN
************************
Para compilar la tarea, debe ejecutar el siguiente comando:

gcc -o tt_server tt_server.c
gcc -o tt_client tt_client.c


Este comando debe ser ejecutado en el mismo directorio en donde se 
encuentran este y los demas archivos.


************************
EJECUCIÓN
************************
Para ejecutar la tarea se debe probar con los escenarios de prueba propuestos en la tarea:

Sin túnel:

    /-------------------------------\
    |  Una máquina                  |
    |                    tt_client  |----\
    |                               |    |
    |                    tt_server  |<---/
    \------------------------------ /

Con túnel:

    /-------------------------------\                                /-------------------------------\
    |  Máquina Local                |                                |            Máquina Remota     |
    |   Home             tt_client  |----\                       /-->| tt_server       ELO/aragon    |
    |                               |    |                       |   |                               |
    |                     ssh port  |<---/                       |   |                               |
    |                               |        Tráfico vía túnel   \---|                               |
    |                          ssh  |------------------------------->| sshd                          |
    \----------------------------- /                                 \-------------------------------/

O alternativamente:

    /-------------------------------\                            /--------------------\      /------------------\
    |  Máquina Local                |                            |   Máquina Remota   |      |   host           |
    |   Home             tt_client  |----\                       |       aragon       |      |Laboratorio       |
    |                               |    |                       |                    |      |                  |
    |                     ssh port  |<---/                       |                    |      |                  |
    |                               |        Tráfico vía túnel   |               / - >|----->|hostport tt_server|
    |                          ssh  |--------------------------->| sshd - - - - /     |      |                  | 
    \----------------------------- /                             \--------------------/      \------------------/

Las sintaxis son las siguientes:

tt_server <port> <size> <base_tiempo> /*la unidad de size esta en kbits y la de base_tiempo en ms*/
tt_client <port> <size> <base_tiempo> /*la unidad de size esta en kbits y la de base_tiempo en ms*/
tunnel <port> <host> <hostport>

Un ejemplo seria:

#sh tunnel.sh 12355 arivera@aragorn.elo.utfsm.cl 12356
 
#tt_server 12356 5000 (kbits) 100 (ms)

#tt_client 12355 5000 (kbits) 100 (ms)


************************
RESUMEN
************************
En la documentacion se encuentra todo el resto de la informacion necesaria
en un formato mas agradable, y una descripcion mas detallada de la solucion en alto nivel.

Gracias por su atención...

