FUNDAMENTACIÓN
Las redes de computadoras y las aplicaciones basadas en redes de computadoras son fundamentales para el trabajo profesional y son recursos valiosos para aquellos que hacen investigación y docencia. Para la formación del alumno no solo se espera que sepan usar las redes de computadoras y las aplicaciones basadas en ellas, sino también comprender cómo se arman las redes, cuáles son sus componentes y los protocolos de software para las mismas; esto les ayudará a eventualmente poder construir y administrar redes de computadoras. Los alumnos aprenderán los fundamentos sobre los sistemas operativos de redes; esto les podría servir en el futuro para participar en el desarrollo de protocolos de redes o de partes de sistemas operativos de redes. En el mundo moderno hay distintos paradigmas de desarrollo de software sobre redes: cliente-servidor, peer to peer, middlewares, etc. Los alumnos adquirirán las primeras experiencias de desarrollo de aplicaciones de redes basándose en algunos de dichos paradigmas y en algunos protocolos de redes. En la materia seguimos el enfoque de organizar los sistemas operativos de redes como una arquitectura de capas donde cada capa tiene sus protocolos y se abstrae de ciertos problemas; esta forma de dar la materia ayuda a organizarla y a que los alumnos la comprendan (la capa de más abajo tiene que ver con el hardware de las redes y las dos capas de más arriba son necesarias para aprender a construir aplicaciones de redes). En cada capa hacemos énfasis en conceptos fundamentales, en cómo resolver los problemas asociados a ella, y en comprender y evaluar los protocolos más importantes usados hoy en día.
OBJETIVOS
Los alumnos deberán alcanzar los siguientes:
• Conocer el hardware de las redes y entender los límites teóricos de velocidad de transferencia.
• Comprender los conceptos de las distintas capas de sistemas operativos de redes (SOR) arriba del hardware de las redes
• Poder hacer razonamientos acerca de protocolos de red (mediante cálculos -usando recursos del álgebra, la aritmética, el análisis matemático, y la probabilidad y estadística – el uso de los conceptos en los que se basan los protocolos, y el empleo de las reglas de los proto-colos).
• Poder llevar a cabo evaluaciones de cómo se comporta un protocolo de acuerdo a las propiedades que importan para para el mismo.
• Poder evaluar la cantidad de los recursos que un protocolo de red consume y así como explicar bajo qué circunstancias un protocolo se comporta bien y en cuáles casos se comporta mal.
• Poder comparar las alternativas de protocolos para una cierta capa de SOR entre sí desde distintos puntos de vista.
• Poder programar aplicaciones distribuidas que usan APIs de comunicación de redes: aquí nuevamente los alumnos deberán conocer los protocolos intervinientes y tener en cuenta las reglas por ellos definidas.