#########################################################
#                     Tarea 3                                	
#      ELO330 - Programación de Sistemas		
#      	      		      	      			
#      Nombres:	Jonathan Olavarria	2621010-0	
#      	   	Juan Arredondo		2503006-0	          
#     	       	     					
#      Fecha de Entrega:  26 de Octubre de 2010		
#                     	     	       	  		
#########################################################

Objetivo:
========

	En el trabajo realizado se procuro incorporar las herramientas de hebras, sockets, servidores y clientes (UDP y TCP) para poder generar un "tunel" UDP sobre una conexion TCP, es decir establecer una conexion TCP que encapsula una comunicacion UDP , el objetivo principal de esto es por ejemplo poder establecer una conexion UDP desde un computador o terminal a un servidor de licencias, echo, etc. (remoto) sin tener problemas con las restricciones del firewall de dicho servidor. Mas concretamente se puede referir al caso de los alumnos del laboratorio de estructura y el uso de las licencias alojadas en "aragorn" (servidor remoto del departamento de electronica de la UTFSM), quienes necesitan de unca conexion UDP para acceder a las licencias. 
	

Archivos incluidos:
==================
	
	Dentro del directorio "Olavarria_Arredondo" se encuentran los siguientes archivos:

	Readme.txt:	Este archivo contiene material de ayuda para entender como está compuesta la tarea.
	
	Documentacion.pdf: Este archivo contiene en detalle la descripcion y el desarrollo del programa mc_tcp.c				

	UDPoverTCPtunel.c: Archivo que contiene el conjunto de funciones para gestionar el tunel	

	UDPoverTCPtunelClient.c: Archivo que contiene el codigo fuente del cliente TCP del tunel	

	UDPoverTCPtunelServer.c: Archivo que contiene el codigo fuente del servidor TCP del tunel	

	UDPoverTCPtunel.h: archivo de cabecera para UDPoverTCPtunel.c	

	UDPoverTCPtunelClient.h: archivo de cabecera para UDPoverTCPtunelClient.c	

	UDPoverTCPtunelServer.h: archivo de cabecera para UDPoverTCPtunelServer.c	

	makefile:	Archivo utilizado para compilar el programa y obtener el ejecutable. 

Compilacion:
===========

	Para compilar y generar el ejecutable se utiliza el comando "make" estando dentro del directorio "Olavarria_Arredondo".

Sintaxis:
========
	
----->	Cliente:
	
	UDPoverTCPtunelClient    UDP_Local_Port   TCP_Remote_Server_Host   TCP_Remote_Server_Port  UDP_Remote_Server_Host  UDP_Remote_Port

	Donde:
	
	-UDP_Local_Port: se especifica el puerto de la coneccion UDP local

	-TCP_Remote_Server_Host: se especifica la direccion donde se encuentra el servidor del tunel
	
	-TCP_Remote_Server_Port: se especifica el puerto por el cual el servidor tunel escucha conexiones

	-UDP_Remote_Server_Host: se especifica la direccion donde se encuentra el servidor UDP con el que se desea comunicar

	-UDP_Remote_Port: se especifica el puerto por el que el servidor UDP establece la conexion


----->	Servidor:
	
	UDPoverTCPtunelServer   TCP_Local_Port

	Donde:
	
	-TCP_Local_Port: se especifica el puerto por el cual el servidor del tunel escucha conexiones


