integraci on de herramientas de software libre para...

9
Integraci´ on de herramientas de software libre para ense˜ nar redes con un enfoque pr´ actico Alejandro Sabolansky, Einar Lanfranco, Nicol´ as Macia, Paula Venosa {asabolansky,einar,nmacia,pvenosa}@linti.unlp.edu.ar LINTI - Facultad de Inform´atica - Universidad Nacional de La Plata La Plata, B1900ASD, ARGENTINA Abstract. ”Redes y Comunicaciones” es una materia de tercer a˜ no de las carreras que se dictan en la Facultad de Inform´ atica de la Universidad Nacional de La Plata en la que se ense˜ na el funcionamiento de las redes de datos. Tomando como gu´ ıa la pila de protocolos TCP/IP y el modelo de referencia OSI, se tratan diversos protocolos de cada una de las capas. Los contenidos abordados tienen un gran porcentaje de aspectos pr´acticos que requieren del uso de herramientas espec´ ıficas, tanto para poder re- producir los ejemplos dados por los docentes, como para realizar los ejercicios pr´ acticos. El presente trabajo trata acerca de c´ omo fue evolucionando la metodog´ ıa aplicada para proveer al alumnado de todas estas herramientas desde nos anteriores, d´ onde se utilizaban topolog´ ıas armadas mediante equipos reales, pasando por el uso de m´ aquinas virtuales hasta el Live CD auto- contenido que se est´ a utilizando en la actualidad. Keywords: Redes, software libre, Lihuen 1 Introducci´ on La materia ”Redes y Comunicaciones” se dicta en 3 no de la carrera Analista Programador Universitario y las Licenciaturas en Inform´ atica y en Sistemas que se dictan en la Facultad de Inform´ atica[1] de la Universidad Nacional de La Plata. Es una materia semestral que cuenta con un promedio de 200 alumnos por cursada. El objetivo principal de la asignatura es introducir al alumno en el fun- cionamiento b´ asico de las redes de datos, poniendo enf´ asis en los protocolos m´ as conocidos de redes e Internet. Se abordan aspectos tanto te´ oricos como pr´ acticos de las comunicaciones. La metodolog´ ıa de ense˜ nanza fue cambiando a lo largo de la historia de la materia. En un principio, la materia no era tan pr´ actica como lo es hoy en 9° Jornadas Argentinas de Software Libre, JSL 2012 41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 64

Upload: truonghanh

Post on 27-Jan-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Integracion de herramientas de software librepara ensenar redes con un enfoque practico

Alejandro Sabolansky, Einar Lanfranco, Nicolas Macia, Paula Venosa{asabolansky,einar,nmacia,pvenosa}@linti.unlp.edu.ar

LINTI - Facultad de Informatica - Universidad Nacional de La PlataLa Plata, B1900ASD, ARGENTINA

Abstract. ”Redes y Comunicaciones” es una materia de tercer ano delas carreras que se dictan en la Facultad de Informatica de la UniversidadNacional de La Plata en la que se ensena el funcionamiento de las redesde datos. Tomando como guıa la pila de protocolos TCP/IP y el modelode referencia OSI, se tratan diversos protocolos de cada una de las capas.Los contenidos abordados tienen un gran porcentaje de aspectos practicosque requieren del uso de herramientas especıficas, tanto para poder re-producir los ejemplos dados por los docentes, como para realizar losejercicios practicos.El presente trabajo trata acerca de como fue evolucionando la metodogıaaplicada para proveer al alumnado de todas estas herramientas desdeanos anteriores, donde se utilizaban topologıas armadas mediante equiposreales, pasando por el uso de maquinas virtuales hasta el Live CD auto-contenido que se esta utilizando en la actualidad.

Keywords: Redes, software libre, Lihuen

1 Introduccion

La materia ”Redes y Comunicaciones” se dicta en 3° ano de la carrera AnalistaProgramador Universitario y las Licenciaturas en Informatica y en Sistemas quese dictan en la Facultad de Informatica[1] de la Universidad Nacional de LaPlata. Es una materia semestral que cuenta con un promedio de 200 alumnospor cursada.

El objetivo principal de la asignatura es introducir al alumno en el fun-cionamiento basico de las redes de datos, poniendo enfasis en los protocolos masconocidos de redes e Internet. Se abordan aspectos tanto teoricos como practicosde las comunicaciones.

La metodologıa de ensenanza fue cambiando a lo largo de la historia de lamateria. En un principio, la materia no era tan practica como lo es hoy en

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 64

dıa, y tenıan mas relevancia los aspectos fısicos de las redes. Acompanando lametodologıa, hasta el ano 2007 se utilizaba para ensenar un enfoque ascendenterecorriendo las capas del modelo OSI en forma ascendente, desde la capa fısicahacia la capa de aplicacion.

Desde el ano 2007, teniendo en cuenta la formacion de nuestros alumnos ysu perfil profesional, acompanado por la introduccion del libro de redes ”Redesde Computadoras, un enfoque descendente basado en Internet de Kurose”[2],se modifico la metodologıa y se comenzo a utilizar un enfoque descendente.Dicho cambio permitio darle una mayor relevancia a las actividades practicasque acompanan la materia.

De esta forma, se pudo hacer mayor hincapie en los principales protocolos delas capas de aplicacion, transporte, red y enlace junto a conceptos, terminologıabasica y funcionamiento conjunto de los mismos.

Independientemente del enfoque, es indudable que para ensenar redes es nece-sario poder interactuar con ellas. Para tener una red es necesario tener dispo-sitivos conectados o al menos algun simulador. Para estudiar los protocolos delas distintas capas, es necesario contar con aplicaciones servidoras que ”hablen”estos protocolos y esten funcionando para que sean consultados. Para consultares necesario contar con clientes de los diferentes servicios que realicen las soli-citudes. Ademas es preciso tener aplicaciones que permitan estudiar y analizarestos comportamientos.

Este trabajo presenta al lector la solucion que se implemento desde la catedrapara satisfacer todos estos requisitos.

2 Organizacion de la cursada

2.1 Metodologıa

El dictado de la materia se divide en clases teoricas y practicas comenzando conla capa de Aplicacion se recorren las capas de Transporte, Red y Enlace. Verfigura 1

Para explicar el funcionamiento de cada una de las capas se utiliza la mismametodologıa: se introduce la misma explicando los servicios que brinda, se estu-dian sus principales protocolos y se analiza la unidad de datos del protocolo dela capa en cuestion.

Las clases teoricas son de caracter expositivo, utilizando presentaciones de-sarrolladas por los profesores de la materia y mostrando capturas de red en lascuales se analiza tanto el comportamiento de los protocolos estudiados como elcontenido de los principales campos de control. Utilizando para ello las mismasherramientas de analisis que luego se utilizaran en las practicas.

En cuanto a las actividades practicas, las mismas se desarrollan en las distin-tas Salas de PC de la Facultad. En los trabajos practicos se incluyen preguntasconceptuales, ejercicios tradicionales y una seccion de ejercicios que requieren elestudio de protocolos de las distintas capas.

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 65

Fig. 1. Stack TCP/IP

2.2 Seguimiento y Evaluacion

A fin de lograr continuidad por parte de los alumnos y un seguimiento de losmismos por parte de los docentes, se realiza una evaluacion a traves de cuatroevaluaciones parciales que se rinden presencialmente utilizando la plataforma deeducacion a distancia Moodle [3]. Dichas evaluaciones, consisten en una serie depreguntas del tipo opcion multiple o unir con flechas sobre los temas desarrolla-dos tanto en la teorıa como en la practica.

Para aprobar la cursada se deben aprobar al menos tres de las cuatro evalua-ciones, siendo obligatorio aprobar la correspondiente a la unidad de Capa de red.Al final de la cursada, los alumnos rinden un examen parcial con dos instanciasde recuperacion.

2.3 Contenido: Protocolos vistos en la cursada

Como se menciono anteriormente, a lo largo de la cursada se ensenan en formapractica protocolos relevantes del stack TCP/IP. Los protocolos que se ven son:

Protocolos Capa de Aplicacion:

– HTTP [4]– POP3 [5]– SMTP [6]– IMAP [7]– DNS [8]

Protocolos Capa de Transporte:

– TCP [9]– UDP [10]

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 66

Protocolos Capa de Red:

– IP [11]– ICMP [12]

Protocolos Capa de Enlace:

– Ethernet [?]– ARP [13]

3 Las dificultades historicas

Historicamente, para poder estudiar todos estos protocolos la solucion propuestapor la catedra fue montar una infraestructura de red, lo que involucraba unanecesidad tanto de hardware como de instalacion de software.

En lo que se refiere al hardware, era necesario contar con al menos dos com-putadoras con placas de red conectadas entre sı para armar una red. Vale lapena mencionar que si bien hoy las placas Ethernet estan incorporadas en casitodas las placas madres, no era comun hace unos anos atras, por lo que habıaque adquirirlas e incorporarlas.

En relacion al software, surgıa la necesidad de realizar instalaciones tantodel lado de los servidores como del lado del cliente. Era necesario instalar yconfigurar software que prestara los servicios, software que cumpliera el rol decliente y software especıfico para el analisis del trafico de red, con el cual seestudiarıa el comportamiento de cada uno delos servicios.

Esta alternativa generaba un problema tanto para que el alumno pudierahacer los practicos en su casa como para desarrollar las clases practicas de con-sulta, puesto que era muy difıcil establecer una configuracion unificada sobre laque tanto los alumnos como los docentes trabajaran y poder contar ası con ununico entorno de trabajo.

4 La solucion intermedia

Como solucion intermedia se comenzo utilizando maquinas virtuales que emula-ban la infraestructura de red. Esta alternativa brindaba algunas ventajas sobreel metodo tradicional, pero de todas formas el tamano en disco de las maquinasvirtuales representaba un impedimento para poder llevar y traer las maquinas aclase.

Ademas, al poder los alumno cambiar la configuracion en los equipos vir-tualizados, por mas que se partiera de una configuracion predeterminada porla catedra, a la larga se producıan cambios que implicaban la heterogeneidadde configuraciones producto de las personalizaciones que cada alumno hacıa. Sibien esto es una caracterıstica deseable en el aprendizaje, complicaba el soportey la asistencia que los alumnos requerıan cuando los servicios y herramientas nofuncionaban.

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 67

5 La solucion actual

En base a los inconvenientes mencionados anteriormente, se comenzo a pensaren una alternativa que brinde al alumno todo lo necesario para poder resolverlas practicas, que fuera facil de transportar y que no fuera susceptible a cam-bios de manera que tanto alumnos como docentes siempre trabajaran sobre unaconfiguracion preestablecida.

Para cumplir con estos desafıos se opto por hacer un CD booteable o liveCD, ya que:

– El CD incluye todo lo necesario para hacer las practicas, tanto servidorescomo clientes, el contenido que intercambian entre ellos y todos los analiza-dores de red necesarios.

– El CD es portable, solamente se requiere insertar el CD en la lectora deCD/DVD e indicar al equipo que inicie desde allı, por lo que el alumnopuede usar el mismo tanto en su hogar como en el aula.

– El CD es un medio de almacenamiento de solo lectura, por lo que cualquiercambio que el alumno efectue sobre la configuracion se perdera al reiniciarel equipo.

– Adicionalmente el CD se puede bootear utilizando un equipo virtual, con loque se facilita incluso aun mas la utilizacion por parte del alumno.

6 LiveCD y sus componentes

Aprovechando la experiencia de tener una distribucion propia realizada en lapropia Facultad de Informatica, se penso en crear una version de Lihuen LiveCDcon las herramientas necesarias para la ensenanza de redes.

El LiveCD es una version de Lihuen remasterizada con el conjunto de herra-mientas elegidas para poder resolver todos los ejercicios practicos planteados.

Servidores

A continuacion se lista el software servidor que viene preinstalado y configuradolisto para usar:

– Servidor de correo - Exim [14]

– Servidor web - Apache [15]

– Servidor de DNS - Bind [16]

– Servidor de FTP

– Servidor de TFTP

– Servidor IMAP/POP3

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 68

Clientes

Se distribuye en el CD una serie de programas clientes de los distintos servidores,como ser:

– Cliente de correo - Icedove [17]– Cliente web - Iceweasel [17]– Cliente de DNS - dig [18]– Cliente de FTP y TFTP

Herramientas de testing de conectividad y analisis de protocolos

Se incluyen dos herramientas de analisis de protocolos y diversas herramientasde test de conectividad.

– Tcpdump [19]– Wireshark [20]– Ping [21]– Telnet [22]– Traceroute [23]

Software para armado de topologıas de red

El software utilizado para el armado de las topologıas de red es VNUML[24]. Enel CD se incluye la configuracion de tres topologıas:

– Topologıa con ruteo estatico– Topologıa con ruteo dinamico– Topologıa de LAN conectada con HUB y con SWITCH

Ejemplo

Para ejemplificar el uso del Live CD, el segundo trabajo practico de la materiase focaliza en el analisis y estudio de la capa de aplicacion del Modelo TCP/IP.En dicha practica los alumnos trabajan sobre alguno de los servicios que estaninstalados en el LiveCD: Servidor Web, Servidor de DNS, Servidor de correo,servidor FTP y servidor TFTP.

En particular, en la seccion de la practica relacionada con el protocolo HTTP,los alumnos cuentan con una serie de preguntas teoricas para profundizar sobrelos conceptos tratados en la teorıa.

Luego, en la primera actividad practica, cuentan con ejercicios en los quedeben hacer uso de diversas herramientas y servicios provistos por el Live CD.Para el estudio del protocolo HTTP, deben utilizar un agente de usuario(Navegadorweb) para acceder a un sitio web que esta instalado en el mismo Live CD. A suvez, para el analisis y estudio del protocolo, se utiliza la herramienta Wiresharkpara capturar el trafico que se transmite entre el agente y el servidor.

En este caso, la presencia del Live CD evita tener que instalar y configurarun servidor Web y un analizador de trafico en el equipo en el que alumno seencuentre trabajando.

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 69

7 Las versiones desarrolladas

El LIVE/CD actual no es la primer version desarrollada. La utilizacion de estametodologıa live se remonta al ano 2007; la primera version fue desarrollada porel entonces Jefe de Trabajos Practicos, el Licenciado Cristian A. Rodrıguez. Enella se utilizaba como sistema operativo base Knoppix GNU/Linux [25].

Las versiones siguientes fueron desarrolladas con la colaboracion del equipode desarrollo y soporte de la distribucion Lihuen GNU/Linux[26]. En la primeraversion se utilizo Lihuen GNU/Linux con Gnome [27] mientras que en la segundaversion, la actual, se opto por LXDE[28], un entorno de escritorio mas livianoque aprovecha mejor los recursos de hardware.

8 Trabajos futuros

Actualmente se esta evaluando la posibilidad de cambiar el mecanismo paravirtualizar utilizado en el LiveCD. En la version actual, las topologıas utilizadasestan preconfiguradas. No es trivial realizar cambios como tampoco armar nuevastopologıas que permitan evaluar los protocolos de red en otras circunstancias.

A futuro se planea utilizar un LiveCD que utilice para virtualizar topologıasel software CORE [29] junto con los archivos de las topologıas preconfiguradascon las que se quieren trabajar. La ventaja de esta aproximacion es que es facilcrear nuevas topologıas y la virtualizacion de todos sus componentes es muchomas rapida que la version actual puesto que lo que se virtualiza es solamente lapila de protocolos de los nodos de la red.

9 Conclusiones

– La posibilidad de que todos utilicen el mismo ambiente, tanto alumnos comodocentes, facilita que las consultas se centren en problematicas de los con-tenidos de la materia y no en problemas externos como ser las distintasconfiguraciones.

– Es una gran ventaja la facilidad de portabilidad para poder realizar consultasen los horarios de practica que tiene el alumno; con solo llevar un CD tienetodo lo necesario.

– El punto anterior tambien puede ser analizado en las instancias de evaluacionparcial; con solo solicitarle al alumno que traiga el CD a la misma, estadisponible todo el entorno para realizar cualquier pregunta sobre los temastratados en la cursada.

– El ambiente integrado donde se tiene en cuenta toda la materia, elimina ladificultad de manejar distintas herramientas para cada practica.

– El Live CD hace que no sea necesario armar topologıas fısicas o instalarherramientas tanto en la sala de PC como en la casa de los alumnos.

– La combinacion de la virtualizacion y el Live CD permite que los alumnospuedan trabajar con las herramientas y pausar el trabajo para continuar enotro instante a pesar de ser el CD un medio de solo lectura.

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 70

10 Agradecimientos

Desde la catedra se quiere agradecer especialmente a Christian A. Rodriguez,quien creo la primera version del LiveCD, y a Atilio Gonzalez, integrante delgrupo Lihuen GNU/Linux, que colabora permanentemente con la generacion yactualizacion del CD.

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 71

Bibliografıa

1. Facultad de informatica - inicio. http://www.info.unlp.edu.ar/.2. Kurose. Redes de computadores: un enfoque descendente basado en internet. Edu-

cacion PEARSON, 2006.3. Moodle - sistema de gestion de cursos de codigo abierto. http://www.moodle.org.4. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-

Lee. Hypertext Transfer Protocol – HTTP/1.1. RFC 2616 (Draft Standard), June1999. Updated by RFCs 2817, 5785.

5. J. Myers and M. Rose. Post Office Protocol - Version 3. RFC 1939 (Standard),May 1996. Updated by RFCs 1957, 2449.

6. J. Postel. Simple Mail Transfer Protocol. RFC 821 (Standard), August 1982.Obsoleted by RFC 2821.

7. D. Crocker. STANDARD FOR THE FORMAT OF ARPA INTERNET TEXTMESSAGES. RFC 822 (Standard), August 1982. Obsoleted by RFC 2822, updatedby RFCs 1123, 2156, 1327, 1138, 1148.

8. P.V. Mockapetris. Domain names - concepts and facilities. RFC 1034 (Standard),November 1987. Updated by RFCs 1101, 1183, 1348, 1876, 1982, 2065, 2181, 2308,2535, 4033, 4034, 4035, 4343, 4035, 4592, 5936.

9. J. Postel. Transmission Control Protocol. RFC 793 (Standard), September 1981.Updated by RFCs 1122, 3168.

10. J. Postel. User Datagram Protocol. RFC 768 (Standard), August 1980.11. J. Postel. Internet Protocol. RFC 791 (Standard), September 1981. Updated by

RFC 1349.12. J. Postel. Internet Control Message Protocol. RFC 792 (Standard), September

1981. Updated by RFCs 950, 4884.13. D. Plummer. Ethernet Address Resolution Protocol: Or Converting Network Pro-

tocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hard-ware. RFC 826 (Standard), November 1982. Updated by RFCs 5227, 5494.

14. Exim internet mailer. http://www.exim.org/.15. Welcome to the apache software foundation! http://www.apache.org/.16. BIND | internet systems consortium. http://www.isc.org/software/bind.17. Mozilla — home of the mozilla project — mozilla.org. http://www.mozilla.org/en-

US/.18. Dig (Command) - wikipedia, the free encyclopedia.

http://en.wikipedia.org/wiki/Dig (Command).19. TCPDUMP/LIBPCAP public repository. http://www.tcpdump.org/.20. Wireshark · go deep. http://www.wireshark.org/.21. Ping - wikipedia, the free encyclopedia. http://en.wikipedia.org/wiki/Ping.22. J. Postel and J.K. Reynolds. Telnet Protocol Specification. RFC 854 (Standard),

May 1983. Updated by RFC 5198.23. traceroute - wikipedia, the free encyclopedia.

http://en.wikipedia.org/wiki/Traceroute.24. VNUML-WIKI. http://neweb.dit.upm.es/vnumlwiki/index.php/Main Page.25. Knoppix linux boot CD, download disk and documents, discuss, get help.

http://knoppix.net/.26. Sitio oficial de Lihuen. http://lihuen.linti.unlp.edu.ar/index.php?title=P%C3%A1gina principal.27. GNOME. http://www.gnome.org/.28. LXDE.org | lightweight x11 desktop environment. http://lxde.org/.29. CORE - Common Open Research Emulator.

http://cs.itd.nrl.navy.mil/work/core/index.php.

9° Jornadas Argentinas de Software Libre, JSL 2012

41JAIIO - JSL 2012 - ISSN: 1850-2857- Página 72