CUERPO DE PROFESORES DE ENSEÑANZA SECUNDARIA TEMARIO DE INFORMÁTICA VOLUMEN IV APÉNDICE DE ACTUALIZACIÓN Sobre la primera edición de julio de 2001 y la 1ª reimpresión de noviembre de 2003 han de realizarse los siguientes cambios: TEMA 57. CALIDAD DEL “SOFTWARE”. FACTORES Y MÉTRICAS. ESTRATEGIAS DE PRUEBA Página 13. Apartado 2., punto 1. Factores directos. Donde pone “...el tiempo que tardar el programa...” debe decir “...el tiempo que tarda el programa...”. q q Página 13. Añadir antes del último párrafo el título de epígrafe: 2.1. McCall y Cavano q Página 13. Ilustración. Cambiar la palabra “Operaciones” por “Operación”. Página 14. Añadir al final del punto 2: 2.2. FURPS FURPS (Funcionality, Usability, Reliability, Perfomance, Supportability = Funcionalidad, Facilidad de uso, Fiabilidad, Rendimiento, Soporte) fue desarrollado por HP (Hewlett-Packard) para estudiar la calidad de sus productos. Según HP un producto se puede considerar de calidad si reúne los siguientes requisitos: 1. Funcionalidad: podemos definir la funcionalidad como las características, capacidades y seguridad del sistema. 2. Facilidad de uso: es un factor humano que engloba las ayudas, documentación entregada, un entorno amigable, una estética adecuada, etc. 3. Fiabilidad: se mide estudiando los fallos producidos, el tiempo promedio entre errores, capacidad de recuperación ante un error, etc. 4. Rendimiento: se estudia la velocidad de los procesos que realiza el sistema, consumo de recursos, tiempo de respuesta, eficacia, etc. 5. Soporte: es el mantenimiento del programa. Engloba la posibilidad de ampliación, capacidad de adaptación a futuros cambios, compatibilidad con otros sistemas, posibilidad de realizar pruebas, etc. q 1 2.3. ISO 9126 ISO 9126 es el estándar de calidad propuesto por la ISO1. Este estándar identifica seis atributos como claves para la calidad: 1. Funcionalidad: el software es idóneo, correcto, seguro, etc. 2. Disponibilidad: tiempo que está el software disponible para su uso. Está relacionado con la capacidad de recuperación ante fallos, tolerancia a errores y asentamiento del producto. 3. Facilidad de uso: el producto es sencillo de utilizar. 4. Eficiencia: el software realiza un uso óptimo de los recursos. 5. Facilidad de mantenimiento: el producto es fácil de modificar. 6. Portabilidad: podemos llevar el software a un entorno diferente de forma sencilla. q Página 15. Apartado 3.1. Añadir en los guiones S5 y S6 lo que sigue: – S5 = el número total de elementos únicos de base de datos. Hemos de eliminar todos los elementos repetidos, por ejemplo, las claves foráneas, elementos de referencia, de interrelación entre entidades, etc. – S6 = el número de segmentos de base de datos (registros diferentes u objetos individuales). Define el tamaño de nuestra base de datos, cuenta el número de registros que contiene nuestra base de datos. Página 17. Añadir a continuación del apartado 3.3. los nuevos epígrafes 3.4., 3.5. y 3.6. 3.4. Eficacia en la eliminación de defectos (EED) EED, o eficacia en la eliminación de defectos, permite calcular la capacidad de filtrar errores en las actividades de garantía de calidad y control. q EED = E E +D Donde E representa el número de errores encontrados en la revisión y D el número de defectos encontrados después de la entrega. El valor ideal de EED es 1, esto quiere decir que no se ha encontrado ningún defecto después de la entrega. Cuanto más se aproxima a cero, peor ha sido la revisión del producto. En todo caso interesa que E, número de errores encontrados en la revisión, sea lo mayor posible, ya que eso quiere decir que el control de calidad ha sido correcto. También se puede emplear para estudiar la eficacia en la eliminación de errores en una de las etapas del proyecto respecto a la siguiente etapa en estudio. En este caso la fórmula sería: Ei EED = (E i + E i+1 ) Donde Ei representa los errores detectados en la etapa i del proyecto, y Ei+1 son los errores detectados en la etapa siguiente. 3.5. TMEF TMEF o tiempo medio entre fallos: TMEF = TMDF + TMDR Donde TMDF es el tiempo medio del fallo y TMDR tiempo medio de reparación. Muchos autores consideran esta métrica interesante, ya que puede ser que el software que emplea el usuario tenga muchos errores, pero que no afecten al uso del mismo (por ejemplo opciones que no emplea, configuración de periféricos que no usa, etc.). Sin embargo, un fallo en el sistema va a afectar directamente al producto y a la valoración que el usuario haga del mismo. A partir del TMEF se puede calcular la disponibilidad como: TMDF Disponibilidad = × 100 ( TMDF + TMDR) La disponibilidad se define como el tiempo que el software está preparado para su uso. Lógicamente está relacionado con el tiempo medio entre fallos y el tiempo medio de reparación. 1 International Standards Organization: Organización Internacional de Estándares. 2 3.6. GILB Gilb2 no sólo define los factores de los que dependen la calidad del software, además crea medidas para cada uno de ellos. Estos factores son: – Corrección: una definición válida para corrección es el grado en que el software lleva a cabo su función. La medida de la corrección, según Gilb, es: Corrección = defectos × KLDC Donde los defectos representan casos probados de no conformidad con los requisitos y KLDC son las líneas de código del proyecto contadas en miles. – Facilidad de mantenimiento: capacidad para corregir, adaptar o mejorar un programa. Este factor hemos de medirlo de forma indirecta con el Tiempo Medio de Cambio(TMC). EL TMC es el tiempo que tardamos en analizar una petición de cambio, diseñar una modificación, implementar un cambio, probar el software modificado y distribuirlo. – Integridad: podemos definir la integridad de un sistema como la robustez del mismo, es decir, como la capacidad de resistir ataques. Para medirla es necesario introducir dos conceptos: 1. Amenaza: probabilidad de que en un intervalo de tiempo ocurra un ataque determinado. 2. Seguridad: probabilidad de repeler un tipo de ataque determinado. Para calcular la integridad debemos calcular estas probabilidades por cada tipo de ataque que pueda sufrir nuestro sistema, y con ellos aplicar la siguiente fórmula: Integridad = ∑[(1 – amenaza) × (1 – seguridad)] – Facilidad de uso: se suele identificar la facilidad de uso con la amigabilidad del software. Según Gilb, este factor depende de: 1. Habilidad física y mental necesaria para usar este producto. 2. Tiempo requerido para hacerse con el manejo del programa. 3. Aumento de la productividad con el uso del software. 4. Valoración subjetiva de los usuarios. Normalmente se suelen realizar cuestionarios, encuestas o entrevistas para verificar este valor. Página 17. Añadir al apartado 4 el punto 4.1. El anterior 4.1. pasa a ser el punto 4.2. 4.1. Fundamentos de las pruebas El objetivo de una prueba es encontrar errores hasta entonces ocultos. Aunque parezca contradictorio, será exitosa si descubre algún fallo. De esta manera, podemos definir una buena prueba como aquella que tiene una alta probabilidad de encontrar un fallo, error o problema. Según Davis3, si queremos diseñar casos de prueba efectivos debemos tener en cuenta algunos principios que resumiremos en: – A las pruebas se les debería hacer un seguimiento hasta los requisitos del cliente: En caso de encontrar algún error debemos estudiarlo en sentido “inverso” hasta llegar a los requisitos especificados por el cliente. El error más grave que puede darse es no satisfacer al cliente. – Deberían planificarse antes de empezar: las pruebas pueden diseñarse cuando tengamos un diseño ya consolidado. No es necesario ni siquiera que se haya tecleado una línea de código. De esta forma conseguiremos unas pruebas independientes de la implementación del software. – Deben empezar de “lo pequeño” a lo “grande”: primero prepararemos las pruebas para los módulos individuales del programa hasta llegar a probar el sistema globalmente. – Deberían ser realizadas por un equipo diferente al que ha desarrollado el software: si no conocemos el funcionamiento del sistema vamos a cometer más errores que si estamos familiarizados con el mismo. – Son imposibles las pruebas exhaustivas: en una prueba no podemos estudiar todas las situaciones posibles de error, por lo que hay que realizar varias pruebas. q 2 Gilb, T. Principles of Software Project Management. Addison-wesley. 1998. 3 Davis, A. 201 Principles of Software Development. McGraw-Hill. 1995. 3 Cuando se está desarrollando el software deberíamos intentar facilitar las pruebas. Existen muchos factores que influyen en potenciar lo comentado anteriormente, como la observabilidad (lo que ves es lo que pruebas), operatividad (cuanto mejor funcione, más fácil es de probar), simplicidad, estabilidad, etc. q Página 18. Cambiar el apartado 4.2., ahora 4.3., por el siguiente: 4.3. Herramientas automáticas de prueba e integración En el tema 58 veremos lo que son las herramientas CASE. Este tipo de herramientas intentan automatizar algunas tareas de ingeniería del software. En la metodología CASE una gran parte del esfuerzo a la hora de desarrollar un programa (alrededor del 15%) se invierte en la prueba. Parece interesante contar con herramientas que realicen de forma automática las pruebas sin restarle por ello la exhaustividad. Estas herramientas las podemos clasificar en: – Adquisición de datos: obtienen los datos que se van a emplear en una prueba. – Medida estática: estudian el código fuente de un programa sin llegar a ejecutarlo. – Medida dinámica: estudian el código fuente de un programa mientras se ejecuta. – Simulación: emula las funciones de elementos hardware o externos no existentes para la prueba. – Gestión de pruebas: permiten monitorizar todas las pruebas realizadas a un sistema, coordinar las mismas y controlar cada prueba de forma eficiente. – De funcionalidad cruzada: realizan una o más tareas de las anteriormente citadas. Página 21. Apartado 4.3.4., que ha pasado a ser 4.4.4. Primera línea del apartado; cambiar: “Es una técnica de prueba de caja blanca y de unidad”, por: “Es una técnica de prueba de caja negra y de unidad”. q q Añadir al final del capítulo, en la página 23, el siguiente apartado: 5. PRUEBAS DE ENTORNOS ESPECIALIZADOS A parte de las pruebas genéricas comentadas anteriormente, algunos sistemas o entornos requieren de pruebas especializadas, que comentaremos a continuación: 5.1. Prueba de interfaces gráficos de usuario Los interfaces gráficos de usuario suponen un reto a los ingenieros del software. Debido a su similitud se han desarrollado algunas pruebas estándar aplicables a los mismos. Normalmente, para la prueba de interfaces gráficos de usuario se suelen realizar cuestionarios a diferentes tipos de usuarios (expertos, novatos, o de nivel intermedio) que han empleado nuestra aplicación. Lo habitual es que cuando se diseña un interfaz gráfico se siguan una serie de criterios que la mayoría consideramos implícitos. Según “Theo Mantel4” existen tres reglas de oro para el diseño de un interfaz gráfico de usuario: 1. Dar el control al usuario: el usuario debe tener la sensación constante de que es él quién controla la máquina, y no al revés. 2. Reducir la carga de memoria del usuario: hemos de conseguir que el usuario no memorice datos “inútiles” que le hagan pesado el uso del programa. 3. Construir un interfaz coherente: el estilo, formato, aspecto gráfico, forma de seleccionar comandos, etc. debe seguir la misma línea a los diferentes elementos que conforman nuestro interfaz. 5.2. Prueba de arquitectura cliente/servidor Estos sistemas, debido a su forma de funcionamiento, su naturaleza distribuida, la posibilidad de funcionar en diferentes plataformas, etc. requieren una metodología de prueba distinta del resto de los programas. 4 Theo Mantel. The elements of User Interfaces for Software. Wiley. 1997. 4 Esta pruebas se suelen desarrollar dividiendo la arquitectura en tres niveles: 1. En primer lugar probamos la parte de la arquitectura correspondiente al cliente de forma independiente al servidor. 2. A continuación probamos el cliente y el servidor simultáneamente sin tener en cuenta la red. 3. Por último estudiamos el rendimiento y funcionamiento de la red. Dentro de la arquitectura cliente/servidor existen muchos tipos de pruebas. Vamos a comentar la más extendidas: – Pruebas de servidor: se estudia el rendimiento del servidor y la gestión de datos del mismo. – Pruebas de bases de datos: se comprueba la forma de realizar las transacciones, la integridad y seguridad de la base de datos. – Pruebas de comunicaciones a través de la red: se comprueba por un lado el rendimiento de la red y por otro la seguridad de la misma. – Pruebas de transacciones: estudiamos que todas las transacciones se realizan de acuerdo con los requisitos de la misma. También estudiamos su rendimiento. 5.3. Prueba de la documentación y facilidades de ayuda La documentación es susceptible de estudios y pruebas. Un mal manual de usuario puede crear problemas de instalación, configuración, uso, etc. Es, por lo tanto, necesario, realizar pruebas y revisiones a la documentación de nuestro software. Las pruebas de documentación se suelen dividir en dos fases: – Revisión e inspección: se realiza un estudio de la documentación para comprobar su claridad. – Prueba en vivo: un usuario intenta instalar, configurar y emplear el programa usando el manual suministrado. En la prueba en vivo podemos emplear técnicas similares a las de caja negra, como análisis de los valores límite, partición equivalente, etc. 5.4. Prueba de sistemas en tiempo-real Las características de los sistemas en tiempo-real hacen difícil su estudio. En estos sistemas hemos de tener en cuenta la temporización de las tareas, tratamiento de errores, posibles interrupciones del sistema, retardos, etc. Aunque no existe una metodología clara, es normal dividir las pruebas en cuatro fases: 1. Prueba de tareas: se estudia cada función que desempeña nuestro sistema de forma aislada. Podemos aplicar tanto técnicas de caja blanca como técnicas de caja negra. 2. Prueba de comportamiento: apoyándonos en el uso de herramientas CASE modelamos un sistema similar al que vamos a implementar. Mediante simulaciones probamos el funcionamiento del sistema y su comportamiento respecto a diferentes sucesos externos. 3. Prueba de intertareas: en estas pruebas comprobamos la interrelación entre las diferentes funciones que ha de desarrollar nuestro sistema, su sincronización, comunicación, problemas de retardos, bloqueos entre tareas, etc. 4. Prueba del sistema: por último estudiamos el sistema completo con el objetivo de buscar errores en el software o el hardware del mismo. q Página 24. Añadir a la bibliografía las siguientes referencias: Gilb, T. Principles of Software Project Management. Addison-wesley. 1998. Davis, A. 201 Principles of Software Development. McGraw-Hill. 1995. Mantel, Theo. The elements of User Interfaces for Software. Wiley. 1997. S. Pressman, Roger. Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw-Hill. 2002. ENLACES DE INTERÉS http://info.pue.udlap.mx/~tesis/lis/gonzalez_d_h/capitulo4.pdf 5 TEMA 58. AYUDAS AUTOMATIZADAS PARA EL DESARROLLO DEL “SOFTWARE” (HERRAMIENTAS CASE). TIPOS. ESTRUCTURA. PRESTACIONES q Página 27. Añadir el siguiente punto 2. El antiguo punto 2 pasa a ser el punto 3. 2. HISTORIA El primer antecesor de las herramientas CASE aparece en los años setenta. En el proyecto ISDOS se desarrolla un lenguaje denominado PSL (Problem Statement Language: Lenguaje de sentencias de problemas) y PSA (Problem Statement Analizer: Analizador de sentencias de problemas). El primer lenguaje permitía a los usuarios definir problemas y el segundo asociaba los problemas de los usuarios con posibles soluciones. La finalidad del proyecto ISDOS consistía en crear un diccionario computerizado. Hasta el año 1984 no encontramos la primera herramienta CASE tal como la conocemos hoy en día. Se trata de “Excelerator” y estaba programada para PC. q Página 28. Cambiar el antiguo punto 3 de la página 28 por: 4. TIPOS Existen muchas clasificaciones de herramientas, al igual que existen muchos tipos de herramientas CASE. Atendiendo a la función y a la clasificación que realiza Pressman5 destacaremos los siguientes tipos: – Herramientas de ingeniería de procesos de negocio: supone un marco en el que encuadrar la información de negocio cuando se transfiere entre distintas entidades. De esta manera es posible estudiar la forma en que se relacionan los objetos de un negocio y el flujo de los mismos entre las diferentes entidades que lo conforman. – Modelado de procesos: posibilitan crear un modelo sobre procesos (tanto de negocio como software) de manera que podemos entender mejor el funcionamiento de un negocio o proceso. – Herramientas de planificación de proyectos: a su vez, en esta categoría podemos distinguir entre: * La estimación de costes y esfuerzos: la herramienta CASE permite calcular el coste del proyecto, número de personas necesarias, duración aproximada del mismo, etc. * Planificación de proyectos: permite al ingeniero del proyecto estudiar las tareas a realizar, las dependencias entre ellas, aplicarle el paralelismo posible, estudiar diferentes alternativas de realización del mismo, etc. – Herramientas de análisis de riesgos: con la ayuda de esta herramienta el gestor del proyecto puede estudiar los diferentes riesgos, formas de evitarlos, posibles soluciones, etc. – Herramientas de gestión de proyectos: permite realizar un seguimiento exhaustivo del progreso del proyecto. – Herramientas de seguimiento de requisitos: consiste en una ayuda que permite almacenar en una base de datos todos los requisitos del cliente agrupados por categorías, así resulta bastante sencillo comprobar los requisitos del cliente en cualquier momento y realizarle un seguimiento. – Herramientas de métricas: las métricas posibilitan un estudio de la calidad del software o del proceso de desarrollo del mismo. – Herramientas de documentación: existen herramientas para desarrollar la documentación relativa a un proceso o producto. Tenga en cuenta que se estima que aproximadamente entre el 20% y 30% del esfuerzo de desarrollo de un proyecto se dedica a la documentación. – Herramientas de control de calidad: la mayoría de estas herramientas permiten, a través de métricas, comprobar la calidad de un proceso o producto. – Herramientas de gestión de bases de datos: actualmente las herramientas CASE pueden evolucionar a partir de los SGBDR6 o SGBDOO7, dicho de otra manera, contienen una base de datos (repositorio) sobre la cual trabaja. Es por lo que una herramienta CASE debe contener una herramienta de gestión de bases de datos. 5 6 7 Roger S. Pressman. Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw-Hill. 2002. SGBDR: Sistema Gestor de Bases de Datos Relacionales. SGBOO: Sistema Gestor de Bases de Datos Orientadas a Objetos. 6 – – – – – – – – q Herramientas de análisis y diseño: posibilitan la creación de modelos del producto a desarrollar. Herramientas PRO/SIM: permiten crear prototipos y simulaciones de un sistema antes de su implementación. Estas herramientas generan diseños esquemáticos en lenguajes como C o ADA. Herramientas de desarrollo y diseño de interfaz: con estas herramientas podemos diseñar y desarrollar el interfaz con el usuario. Actualmente están siendo desplazamos por las herramientas de construcción de prototipos. Herramientas de construcción de prototipos: existen una gran variedad de software para generar prototipos de nuestras aplicaciones como generadores de pantallas, generadores de informes, etc. Herramientas de programación: dentro de esta categoría tenemos compiladores, editores, intérpretes, depuradores, entornos de programación gráfica, lenguajes de acceso a bases de datos, etc. Herramientas de desarrollo Web: disponemos de una amplia selección de programas como ayuda a la generación de código, generadores de formularios, menús, animaciones, etc. Herramientas de integración y pruebas: podemos subdividirlas en: * Adquisición de datos: obtienen los datos que se van a emplear en una prueba. * Medida estática: estudian el código fuente de un programa sin llegar a ejecutarlo. * Medida dinámica: estudian el código fuente de un programa mientras se ejecuta. * Simulación: emula las funciones de elementos hardware o externos no existentes para la prueba. * Gestión de pruebas: permiten monitorizar todas las pruebas realizadas a un sistema, coordinar las mismas y controlar cada prueba de forma eficiente. * De funcionalidad cruzada: realizan una o más tareas de las anteriormente citadas. Herramientas de reingeniería: se encargan del mantenimiento del software. Dentro de estas herramientas podemos diferenciar entre: * Herramientas de ingeniería inversa para producir especificaciones: a partir del código fuente de un programa, genera información sobre el análisis y diseño del programa. * Herramientas de reestructuración y análisis de código: a partir de la sintaxis del programa obtenemos un gráfico del flujo de control del mismo. * Herramientas de reingeniería para sistema en línea: permiten modificar bases de datos usadas en línea. Página 35. Añadir a la bibliografía las siguientes referencias: Roger S. Pressman. Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw-Hill. 2002. ENLACES DE INTERÉS http://ceds.nauta.es/Catal/Products/caselist2.htm http://www3.uji.es/~mmarques/f47/apun/node75.html http://www.iscmolina.com/Herramientas%20CASE.html TEMA 59. GESTIÓN Y CONTROL DE PROYECTOS INFORMÁTICOS. ESTIMACIÓN DE RECURSOS. PLANIFICACIÓN TEMPORAL Y ORGANIZATIVA. SEGUIMIENTO Página 42. Apartado 3. Estimación, párrafo segundo, línea 3. Donde dice “...que la complejidad del actual se presente...”, debe decir “...que la complejidad del actual proyecto se presente...” q Página 42. Apartado 3. Estimación, párrafo segundo, línea 7. Donde dice “...esta correcta estimación que se pueda realizar, de los datos de los que se dispone...”, debe decir “...esta correcta estimación de los datos de los que se dispone...”. q 7 q Página 45. Apartado 3.3.2. Modificar la fórmula: Recurso = C1 · eC2 Página 47. Apartado 4.2. Párrafo 1. Línea 4. Donde dice “...moderado, improbable o bastante probable...” debe decir “...moderado, improbable o bastante improbable...”. q TEMA 60. SISTEMAS BASADOS EN EL CONOCIMIENTO. REPRESANTACIÓN DEL CONOCIMIENTO. COMPONENTES Y ARQUITECTURA Página 60. Párrafo que sigue a la imagen. Sustituir “...y veremos que lo resuelve este algoritmo”, por “...y veremos cómo lo resuelve este algoritmo”. q q Página 62. Apartado 5.3.2. Tercer párrafo empezando por abajo, penúltimo renglón. Donde dice “...en la búqueda en anchura...” debe decir “...en la búsqueda en profundidad”. Páginas 62-63. El último párrafo de la página, que continúa en la 63, se elimina junto con el gráfico que le sigue. En su lugar ponemos: El problema presentado por este tipo de recorrido es que corremos el riesgo de perdernos en una rama que nos conduzca a un callejón sin salida. q q Página 70. Apartado 6.1.2.4. Sustituir la tabla de verdad por la siguiente: a Verdad Verdad Falso Falso b Verdad Falso Verdad Falso a®b Verdad Falso Verdad Verdad Página 72. Apartado 6.1.13. Formas normal conjuntiva. Al final de la segunda línea del primer párrafo, sustituimos “disyunción de conjunciones” por “conjunción de disyunciones”. q q Página 74. Apartado 6.1.17. Donde pone “auto” poner “automóvil”. q Página 76. Apartado 6.4.3. Donde pone Cláusula Þa1¬b1, ..., bn, poner Cláusula Þai¬b1, ..., bn. Página 77. Apartado 6.4.3. Donde dice “ahora tomamos R5 y R3 y obtenemos:...”, debe decir “ahora tomamos R4 y R3 y obtenemos:” q TEMA 62. ARQUITECTURAS DE SISTEMAS DE COMUNICACIONES. ARQUITECTURAS BASADAS EN NIVELES. ESTÁNDARES q Página 97. Último párrafo del apartado 1. Introducción. Eliminarlo. q Página 101. Apartado 2.3.1. Hardware de red. Primer guión, “Según la tecnología de transmisión”, queda como sigue: – Según la tecnología de transmisión y la arquitectura: a) Redes de difusión o multipunto (broadcast): en estas sub-redes existe un único canal de comunicación compartido por todas las máquinas que constituyen la red, de 8 forma que cualquier paquete enviado por una de ellas es recibido por todas las demás; sólo la dirección del paquete, que se encuentra como información dentro de él, indicará a qué máquina va dirigido, de forma que las máquinas puedan comprobar si va dirigido a ellas o no, en cuyo caso sólo tendrán que ignorar el paquete. b) Redes punto a punto (point to point): son varios cables, cada uno de los cuales conecta dos ordenadores, de forma que si dos de ellos desean conectarse y no existe una línea directa, tendrán que hacerlo a través de otros de forma indirecta. En cada puesto por el que pasa, el paquete queda almacenado temporalmente hasta que la línea de salida quede libre. Este tipo de sub-red también se denomina de almacenamiento o reenvío o de conmutación de paquetes y son las más utilizadas en las redes de área extensa. q Página 102. Insertar la imagen siguiente antes del apartado 2.3.2. LAN LAN LAN Subred Página 102. Apartado 2.3.2. Los servicios que ofrecen las capas a su inmediata superior pueden ser: – Servicio orientado a conexión: para el envío de mensajes entre dos máquinas es necesario que se establezca previamente una conexión o ruta que se mantendrá mientras que ambos lo requieran. Normalmente existirá un diálogo previo para establecer una serie de parámetros, por ejemplo, el tamaño del mensaje. Los paquetes pertenecientes a un mensaje seguirán todos el mismo camino, para lo cual, en cada uno de ellos, se incluye información sobre el mismo. El camino que recorre por la sub-red se denomina circuito virtual. – Servicio no orientado a conexión: al contrario del servicio anterior, cada datagrama seguirá su camino sin tener en cuenta la ruta seguida por el anterior. Estos servicios deben proporcionar “calidad de servicio”; es decir, asegurar que los datos lleguen a su destino sin perderse por el camino. Los servicios suelen contener también otro tipo de información adicional o “parámetros” para poder realizar su tarea, como por ejemplo la dirección del destino. q q Página 110. Apartado 3.2.2. Se producen los siguientes cambios: – RIP, Routing Information Protocol. Realiza el encaminamiento a través de los routers. El algoritmo que implementa se basa en “enrutamiento de por vector de distancia”. El inconveniente que presenta es que no permite realizar más de 15 saltos, de manera que si los supera lo considera como destino inalcanzable. Por otro lado, si se producen modificaciones en la topología de la red, no existe un conocimiento inmediato por parte de los demás enrutadores, sino que dicha información se intercambia de forma periódica. – OSPF, Open Shortest Path First (Primero el camino abierto más corto). Está diseñado para ser usado dentro de un sistema autónomo. Sucesor del protocolo anterior, diferenciándose en que el número de saltos puede ser mayor a 15, ya que da mayor importancia a la velocidad de transmisión (al tener en cuenta el ancho de banda) sobre el número de saltos. En este caso utiliza el enrutamiento por estado de enlace, por lo que los cambios en la topología de la red se indica de forma inmediata. Funciona directamente sobre IP. A continuación indicamos una relación de los protocolos junto con el nivel al que pertenece: 1. Nivel de red. – Especificación de interfaz de controlador de red (NDIS). – Protocolo SLIP o Internet de línea serie y Protocolo PPP o punto a punto. Utilizado para conectar pares de enrutadores que son tratados como redes físicas independientes. 9 Protocolo X.25. Protocolo orientado a conexión, confiable y con manejo y control de los errores. Está formado por un conjunto de protocolos que actúan en todos los niveles. 2. Capa de internet. – Protocolo IP. Los mensajes se envían en paquetes denominados datagramas. Es un protocolo no orientado a conexión, por lo que no garantiza la entrega. – Protocolo ICMP (Protocolo de Mensajes de Control Internet). Se encarga del envío de mensajes de error al origen en caso de que detecte alguna anomalía en el envío, pero no lo corrige. – Protocolo ARP, Protocolo de Asociación de Direcciones (Address Resolution Protocol). Su función es que el host local averigüe la dirección física del host remoto para poder enviarle el paquete mediante el envío de la dirección IP del destino del que la quiere obtener. – RARP, Protocolo de Asociación de Direcciones por Réplica (Reverse Address Resolution Protocol). Todas las máquinas de una red no tienen que disponer de un disco duro, por lo que cada vez que se inicie, necesita conocer su dirección IP para poder trabajar en red, siendo este protocolo el encargado de proporcionársela desde el servidor al que se lo solicita. – DHCP (Protocolo de Configuración de host dinámico). Es una extensión de BOOTP. Permite asignar una dirección IP a una máquina tras el acceso a un servidor DHCP que normalmente se encuentra situado de forma remota. Su ventaja es que la asignación la realiza de forma automática, aunque también permite la asignación manual. 3. Capa de transporte. – Protocolo TCP. Protocolo “orientado a conexión” creado para dar un servicio fiable en una red insegura. Los datos enviados por los usuarios se dividen en segmentos. – Protocolo UDP (Protocolo de datagrama de usuario). Para el envío de los mensajes utiliza el protocolo IP, por lo que da un servicio no confiable y no orientado a conexión. El datagrama se divide en dos partes que se corresponden con la cabecera y el área de datos. Por otro lado, al poder estar ejecutándose más de una aplicación en la misma máquina, este protocolo adjunta los puertos origen y destino para la comunicación, de manera que los mensajes llegarán a la aplicación correspondiente. 4. Capa de aplicación. – Telnet (Telecommunicating Networks). Fue el primer protocolo utilizado en internet para la comunicación con una máquina remota. Tanto el servidor como la máquina remota deben disponer de la aplicación necesaria, también denominada telnet, para que puedan entenderse. El acceso sólo se puede realizar en modo terminal, con el inconveniente de que la información no viaja de forma encriptada, por lo que posteriormente fue sustituido por el SSH. – Protocolo FTP. Permite la transferencia de ficheros entre ordenadores que pueden disponer de sistemas operativos diferentes y que también utiliza el protocolo TCP/IP en el modelo cliente/servidor. – Protocolo TFTP. Idéntico a FTP pero no verifica los errores. – Protocolo SMTP o protocolo sencillo de transferencia de correo (Simple Message Transfer Protocol). El proceso consiste en que el mensaje enviado al servidor de correo local selecciona una ruta y lo manda a otro servidor hasta llegar al servidor local del destinatario. En determinadas situaciones, los mensajes podrán adjuntar ficheros que son enviados junto con el mensaje. – Protocolo POP o de correo. Los servidores almacenarán tanto los mensajes que nos envían como los que enviamos nosotros. Su misión es recoger los mensajes del servidor remoto y llevarlos al servidor local. – Gopher. Es un sistema par la búsqueda de archivos. Se puede decir que es el paso previo a la WWW. Actualmente hay muy pocos servidores de este tipo, a pesar de que Mozila aún lo soporta. – DNS o Sistema de nombres de dominio. Se define en el RFC 1034 y 1035. Para acceder a un sistema remoto, se utiliza una dirección IP que para el usuario es difícilmente recordable. Para facilitar esta tarea existe un servicio que transforma las direcciones IP – 10 – – – – – – – – – – en nombres simbólicos y viceversa. Este servicio es el DNS (Domain Name Service), que se encuentra implementado en una serie de nodos con una ubicación determinada dentro de la red Internet. SNMP (Simple Network Management Protocol) o protocolo de gestión simple de red. El SNMP o Protocolo sencillo de administración de redes, pensado para la administración de redes con diferente arquitectura, utilizando como información los mensajes (PDUs) que se intercambiaban. Actualmente, la versión 3 de éste protocolo se encuentra notablemente mejorado, sobretodo, con respecto a la seguridad. Impresión remota o LPR y LPD. LPD es el servicio ofrecido y LPR es el comando utilizado para la conexión remota. Talk. Protocolo que va a permitir la comunicación entre dos máquinas remotas en tiempo real. Finger. Permite obtener información sobre los usuarios del sistema. El problema es que puede ser utilizada esta información por un atacante, por lo que hay sistemas que no permiten el uso de este protocolo. Routed. Sistema X Window. Sigue el modelo cliente/servidor. Su inicio se remonta a los años ochenta para poder trabajar con un entorno gráfico en Unix. La máquina servidor puede visualizar de forma gráfica aplicaciones que se ejecutan en la máquina cliente. El protocolo X es el utilizado en este sistema. La misión del servidor será controlar tanto la pantalla como los dispositivos involucrados en la E/S de los datos (ratón, teclador o cualquier otro dispositivo de entrada). Llamada de procedimiento remoto o RPC. Su funcionamiento consiste en que el cliente hace una llamada a un procedimiento situado en la máquina local, el cual se encarga del envío al procedimiento situado en el servidor para su procesamiento. Sistema de archivos de red o NFS (Network File System). Permite compartir ficheros situados en distintas máquinas dando la sensación de que estamos trabajando de forma local. El cliente y el servidor pueden convivir en la misma máquina, aunque no es lo habitual, ya que la idea es poder acceder a ese sistema de ficheros desde cualquier equipo cliente sea cual sea su ubicación. La información a la que puede acceder el cliente está establecida en el servidor, ya que para poder acceder es necesario su exportación, además de definir los permisos asignados a cada cliente. Protocolo de ejecución remota o REXEC (Remote Execution Command). Es otro protocolo para la ejecución remota. Su funcionamiento lo realiza sobre TCP/IP. Sin embargo, al igual que otros protocolos como rsh, o rpc, no son seguros, ya que la información no viaja encriptada, por lo que no se aconseja su uso. Protocolo SSH (Secure Shell). Recibe esta denominación tanto el protocolo como el programa sobre el que se ha implementado. Funciona como el telnet pero de forma segura, ya que la información viaja encriptada. Nos va a permitir tanto la comunicación remota como la ejecución de una orden en el servidor, ya que también se basa en el modelo cliente/servidor. TEMA 63. FUNCIONES Y SERVICIOS DE NIVEL FÍSICO. TIPOS Y MEDIOS DE TRANSMISIÓN. ADAPTACIÓN AL MEDIO DE TRANSMISIÓN. LIMITACIONES A LA TRANSMISIÓN. ESTÁNDARES Página 124. Apartado 5.1. Párrafo tercero. Queda como sigue: Este cable se emplea en redes de área local alcanzando velocidades de 100 Mbps para el cable de categoría 5 y hasta 1Gbps para el cable de categoría 5e. q q Página 124. Apartado 5.1. Los párrafos seis a nueve se sustituyen por lo que sigue: Categoría Categoría 3 Categoría 4 Categoría 5 Ancho banda 16 Mhz 20 Mhz 100 Mhz 11 Velocidad 16 Mbps 20 Mbps 100 Mbps .../... .../... Categoría 5e Categoría 6 100 Mhz 250 Mhz 1000 Mbps La categoría 5e es una mejora de la categoría 5, presentando un mejor resultado frente a interferencias y atenuación, lo que le permite alcanzar velocidades de transmisión de hasta 1Gbps. Página 126. Apartado 5.3. Después de la tabla, el párrafo NOTA queda como sigue: NOTA: el cable de par trenzado puede alcanzar los 100Mbps si es de categoría 5, y 1Gbps si es de categoría 5e. q q q Página 128. Apartado 6.1.1. No retorno a cero (NRZI) pasa a ser 6.1.1. No retorno a cero (NRZ). Página 129. Apartado 6.1.3. Pseudoternario. En la primera línea, sustituir “papal” por “papel”. Página 129. Apartado 6.1.4. Manchester. Presenta transiciones en la mitad de la señal, de forma que el cero se representa como una transición alto-bajo y el uno como una transición bajo-alto. 0 NRZ-L 0 1 1 0 NRZI Bipolar AMI Pseudoternario q Página 129. Apartado 6.1.5. Manchester Diferencial. Al igual que el anterior, presenta transiciones en mitad de la señal, pero en este caso el cero presenta una transición al inicio y el uno no. Dicho de otra forma, el cero se representa mediante dos transiciones y el uno mediante una sola transición. q Manchester Manchester diferencial q Página 131. Apartado 6.2.3. Sustituir “pi” por π. q Página 132. Después del párrafo del apartado 6.3.2. Insertar la siguiente gráfica y a continuación un nuevo apartado 7. Multiplexación. Apartir de entonces el resto de epígrafes se reenumeran. Amplitud de la señal Señal analógica Función escalera Tiempo 7. MULTIPLEXACIÓN La multiplexación es una técnica que permite el uso de un mismo medio para enviar varios canales de información, haciendo uso de un dispositivo físico denominado multiplexor. 12 Existen dos técnicas básicas de multiplexación: multiplexación por división de frecuencia (FDM, Frecuency-division multiplexing) y multiplexación por división de tiempo (TDM, Time-division multiplexing). – Multiplexación por división de frecuencia: en este tipo de multiplexación los canales son modulados a diferentes frecuencias y posteriormente se combinan en una única señal para ser enviadas por un único medio. Puede ocurrir que tras obtener la señal combinada esta sufra una nueva modulación. Esto último ocurre en el caso de las emisiones de radio FM estéreo. Canal A Canal B Canal C Señal Multiplexada – A B C Frecuencia Multiplexación por división de tiempo: este es un tipo de multiplexación en que se envían varios canales simultáneos mediante el intercalado de bits procedentes de los canales que comparten el medio. El intercalado se puede producir en cada bit o en un bloque de bits. Al bloque empleado se le llama time-slot. Canal A Canal B Canal C Señal Multiplexada A B C A B C A B C A B C A B C t q Página 133. Apartado 8. Interfaces. (A partir de ahora, 9). Al final de la primera línea, sustituir Digital por Data. q Página 134. Apartado 8.1. (ahora 9.1.) En el guión “Especificación funcional”, sustituimos el contenido por el siguiente: A continuación mostramos las patillas, nombre y descripción del conector DB25. PATILLA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NOMBRE Y DESCRIPCIÓN Masa protectora TD (Transmit Data – Transmisión de datos) RD (Receive Data – Recepción de datos) RTS (Request To Send – Petición de envio) CTS (Clear To Send – Preparado para enviar) DSR (Data Set Ready – Terminal de datos listo) SGND (Masa de señal) CD (Carrier Detect – Detección de portadora) Reservado para test Reservado para test No asignado SDCD (Secondary Carrier Detect – Detector de señal recibida secundario) SCTS (Secondary Clear to send – Preparado para enviar secundario) STD (Secondary Transmit Data – Transmisión de datos secundario) .../... 13 .../... 15 16 17 18 19 20 21 22 23 24 25 q DB (Transmit Clock – Reloj de señal transmitida) SRD (Secondary Receive Data – Recepción de datos secundario) DD (Receive Clock – Reloj de señal recibida) LL (Local Loopback – Bucle local) SRTS (Secondary Request to Send – Petición de envío secundario) DTR (Data Terminal Ready – Terminal de datos listo) RL/SQ (Signal Quality Detector/Remote loopback – Bucle de retorno) RI (Ring Indicator – Indicador de llamada) CH/CI (Signal Rate selector – Selección de ratio de señal) DA (Auxiliary Clock – Reloj auxiliar) No asignado Página 134. El apartado 8.2. RS442 pasa a ser ahora 9.2. RS422. TEMA 64. FUNCIONES Y SERVICIOS DEL NIVEL DE ENLACE. TÉCNICAS. PROTOCOLOS Página 147. Apartado 8.2. Último párrafo. Donde dice “Existe también la posibilidad de que el receptor pueda indicar su incapacidad para no recibir más tramas...” debe decir: “Existe también la posibilidad de que el receptor pueda indicar su incapacidad para recibir más tramas...”. q TEMA 65. FUNCIONES Y SERVICIOS DEL NIVEL DE RED Y DEL NIVEL DE TRANSPORTE. TÉCNICAS. PROTOCOLOS Página 165. Apartado 2.4.1. Guión Clase C: Redes pequeñas. Donde pone “...con 254 ordenadores cada una (192.0.0.0 a 239.255.255.255)” de be decir “...con 254 ordenadores cada una (192.0.0.0 a 223.255.255.255).” q q Página 167. Apartado 3.1. Completar: – Servicios orientados a conexión: para el envío de mensajes entre dos máquinas es necesario que se establezca previamente una conexión o ruta que se mantendrá mientras que ambos lo requieran. Normalmente existirá un diálogo previo para establecer una serie de parámetros, por ejemplo, el tamaño del mensaje. Los paquetes pertenecientes a un mensaje seguirán todos el mismo camino, para lo cual, en cada uno de ellos se incluye información sobre el mismo. El camino que recorre por la sub-red se denomina circuito virtual. – Servicios no orientados a conexión: al contrario del servicio anterior, cada datagrama seguirá su camino sin tener en cuenta la ruta seguida por el anterior. q Página 172. Párrafo tercero, donde pone: – Subcapa de segmentación y recomposición (SAR, Segmentation And Reassembly): realiza tareas diferentes en función del servicio. Debe decir: – Subcapa de segmentación y reensamblado (SAR, Segmentation And Reassembly): realiza tareas diferentes en función del servicio. q Página 172. Apartado 3.4.4. a) NETBLT, protocolo de trasporte de datos (Network Block Transfer): encargado del control de flujo durante la transmisión en las líneas de alta velocidad. b) VTMP. c) XTP, Protocolo de transporte multicast (eXpress Tansport Protocol). 14 TEMA 66. FUNCIONES Y SERVICIOS EN NIVELES SESIÓN, PRESENTACIÓN Y APLICACIÓN. PROTOCOLOS. ESTÁNDARES q Página 186. Apartado 5. PROTOCOLOTCP/IP. Ampliar con la siguiente información en los lugares correspondientes: – Nivel de aplicación: * FTP: protocolo para la búsqueda y transmisión de ficheros. Permite la transferencia de ficheros entre ordenadores que pueden disponer de sistemas operativos diferentes y que también utiliza el protocolo TCP/IP en el modelo cliente/servidor. * TELNET: permite conectarnos con un ordenador remoto o local conociendo su dirección IP. Fue el primer protocolo utilizado en internet para la comunicación con una máquina remota. Tanto el servidor como la máquina remota deben disponer de la aplicación necesaria, también denominada telnet, para que puedan entenderse. El acceso sólo se puede realizar en modo terminal, con el inconveniente de que la información no viaja de forma encriptada, por lo que posteriormente fue sustituido por el SSH. * SMTP: protocolo para el envío de correo electrónico de forma segura. El proceso consiste en que el mensaje enviado al servidor de correo local selecciona una ruta y lo manda a otro servidor, hasta llegar al servidor local del destinatario. En determinadas situaciones los mensajes podrán adjuntar ficheros que son enviados junto con el mensaje. * SMB (Server Message Block): utilizado por Samba. * RUNLX. * CMOT: protocolo de administración de redes OSI emergente (CMIP) sobre TCP/IP. * BOOTP: protocolo de arranque remoto que utiliza mensajes UDP. Mediante este protocolo un máquina cliente obtiene su IP. El inconveniente es que cualquier modificación o actualización de las tablas tienen que realizarse de forma manual. Ha sido sustituido por DHCP. * SNMP (Simple Network Management Protocol): el SNMP o Protocolo sencillo de administración de redes, pensado para la administración de redes con diferente arquitectura, utilizando como información los mensajes (PDUs) que se intercambiaban. Actualmente, la versión 3 de este protocolo se encuentra notablemente mejorada, sobretodo con respecto a la seguridad. * CNS. * TFTP: protocolo sencillo para transferencia de ficheros. Igual al FTP pero no verifica los errores. – Nivel de presentación: * FTP: permite la transferencia de ficheros entre ordenadores que pueden disponer de sistemas operativos diferentes y que también utiliza el protocolo TCP/IP en el modelo cliente/servidor. * TELNET. * SMTP. – Nivel de sesión: * FTP. * TELNET. * SMTP. TEMA 67. REDES DE ÁREA LOCAL. COMPONENTES. TOPOLOGÍAS. ESTÁNDARES. PROTOCOLOS q Página 196. Apartado 8. TÉCNICAS DE CODIFICACIÓN. Párrafo cinco, guión “Manchester”. Sustituir por: – Manchester: presenta transiciones en la mitad de la señal, de forma que el cero se representa como una transición alto-bajo y el uno como una transición bajo-alto. 15 q Párrafo seis, guión “Manchester Diferencial”. Sustituir por: – Manchester Diferencial: presenta transiciones en mitad de la señal, pero en este caso el cero presenta una transición al inicio y el uno no. q Página 198. Tabla de códigos especiales. Sustituir por la siguiente: Significado q Código (5 bits) Libre 11111 Comienzo delimitador 1 11000 Comienzo delimitador 2 10001 Fin delimitador 1 01101 Fin delimitador 2 00111 Error 00100 Codificación NRZI Página 207. Sustituir íntegramente el apartado 14. LAN INALÁMBRICAS IEEE 802.11, por el contenido que se incluye a continuación: 14. LAN INALÁMBRICAS IEEE 802.11 El comité IEEE 802.11 desarrolla normas para este tipo de LAN. La especificación 802.11, se centra en los dos niveles inferiores del modelo ISO: nivel físico y nivel de enlace de datos. Cualquier protocolo a aplicación perteneciente a capas superiores podrá operar con este tipo de redes. La ventaja aportada por este tipo de redes es la movilidad de los dispositivos interconectados. Cuando disponemos de dos o mas estaciones que se intercomunican entre ellas forman un BSS (Basic Service Set). Un BSS puede ser independiente, en cuyo caso decimos que constituye una red Ad Hoc, en los que las estaciones comunican de igual a igual (peer to peer). Por otro lado, varias BSS pueden interconectarse por medio de un sistema de distubución (DS, Distribution System), formando un conjunto de servicios Extendidos (ESS, Extended Service Set) . En este caso hablamos de redes de infraestructura y la conexión entre estaciones se lleva a cabo mediante Puntos de Acceso (AP, Access Points), que son un tipo especial de estación que intercomunica cada BSS con el DS. 14.1. Medio físico IEEE 802.11 En la especificación 802.11 se incluyen tres tipos de medios físicas: – Infrarrojos. – Espectro expandido de secuencia directa – Espectro expandido de salto de frecuencia. Las frecuencias de radio empleadas operan entorno a los 2.4 GHz. La técnica de espectro expandido por salto de frecuencia (FHSS) divide la banda de 2,4GHz en 75 subcanales de 1MHz. El receptor y el emisor acuerdan un patrón de saltos y la información se envía utilizando varios subcanales. Cada transmisión usará un patrón de saltos distintos evitando el uso del mismo subcanal de forma simultanea en dos transmisiones distintas. La técnica de espectro expandido por secuencia directa (DSSS, Direct Sequence Spread Spectrum), divide la banda de 2.4GHz en 14 subcanales de 22MHz. La transmisión se lleva a cabo a través de un único subcanal, a diferencia de la técnica anterior. 14.2. Capa de enlace IEEE 802.11 Como ya sabemos la capa de enlace se divide en dos subcapas: MAC y LLC. La capa de enlace (LLC) emplea un direccionamiento de 48 bits. La capa de acceso al medio (MAC) es ligeramente distinta a la definida por el estándar 802.3, ya que en este caso no resulta posible la detección de 16 colisión. Por este motivo se emplea una técnica ligeramente distinta denominada CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance), que consiste en evitar colisiones mediante el envío de paquetes de reconocimiento (ACK). Cuando una estación desea transmitir primero comprueba si hay actividad en el medio. En caso de que se encuentre libre espera durante un periodo de tiempo aleatorio y comienza la transmisión, tras lo cual queda a la espera de la confirmación (ACK). Si no se produce dicha confirmación se asume que ha ocurrido colisión y se vuelve a retransmitir tras esperar durante un periodo de tiempo aleatorio. 14.3. Estándar 802.11b Este estándar soporta velocidades de 5,5 Mbps y 11 Mbps, para lo cual se emplea exclusivamente la técnica de espectro expandido por selección directa (DSSS), ya que con FHSS no se pueden soportar estas velocidades de transmisión. 14.4. Estándar 802.11a Ofrece una mayor velocidad que 802.11b, llegando hasta los 54Mbps. La banda de frecuencia empleada en este caso es de 5GHz, por lo que resulta incompatible con 802.11b. Este estándar emplea una técnica denominada OFDM (Orthogonal Frecuency Division Multiplexing). Sin embargo la banda de frecuencia utilizada no está permitida en Europa y solo de forma parcial en Japón. 14.5. Estándar 802.11g Este otro estándar opera en la banda de los 2,4GHz, permitiendo el uso de OFDM en la frecuencia de 2,4GHz lo cual le permite alcanzar hasta 54Mbps. La principal ventaja es que este nuevo estándar es compatible con 802.11b. Por otro lado, la principal desventaja de este con respecto a 802.11a estriba en que la banda de frecuencia 2,4GHz está muy saturada, ya que esta misma frecuencia es utilizada por los hornos microondas, dispositivos Bluetooth y teléfonos inalámbricos. Debido a esto en la práctica difícilmente podrá ser tan rápido como 802.11a. TEMA 68. “SOTWARE” DE SISTEMAS EN RED, COMPONENTES. FUNCIONES. ESTRUCTURA Página 211. Apartado 1. INTRODUCCIÓN. Queda como sigue: 1. INTRODUCCIÓN Una red está formada por un conjunto de equipos conectados mediante una serie de canales de comunicación, lo que va a permitir que se puedan utilizar recursos dispuestos en otros equipos, sea cual sea el tipo de red a la que pertenezcan. Sin embargo, este hardware no es suficiente para la comunicación, ya que se necesita disponer de un software, en este caso de un software de red que permita la utilización de dichos recursos. Desde el comienzo del creación de las redes, las aplicaciones han ido ampliándose, ya que se han ido buscando nuevas prestaciones que faciliten y agilicen el trabajo en red. Entre las funciones más comunes podemos citar: compartir ficheros, uso de aplicaciones específicas que funcionan en red, compartir recursos, trabajar según el modelo cliente/servidor y acceso a otras redes o sistemas de comunicaciones. Las primeras aplicaciones que se desarrollaron fueron: – Emulación de terminales. – Ejecución remota. – Transferencia de ficheros. – Posteriormente, y no por ello menos importante, el correo electrónico. Los primeros conceptos que debemos aclarar es la diferencia entre una “red LAN” y un “Sistema Distribuido”. En un “sistema distribuido”, el servidor comparte la CPU y las aplicaciones con el resto de máquinas que forman la red, mientras que en una LAN, cada puesto utiliza su propia CPU para la ejecución de los procesos. q Página 211. Apartado 2. COMPONENTES. FUNCIONES Y ESTRUCTURA. Iniciamos este epígrafe eliminando la primera línea y sustituyéndola por todo lo siguiente: En el software de red podemos distinguir dos grupos: por un lado están los “Protocolos de red” que establecen las normas necesarias para que las máquinas puedan comunicarse y, por otro lado, q 17 los “programas de comunicación” construidos en base a esos protocolos y que son los que van a permitir la interacción del sistema con los usuarios. Por otro lado, hay redes que se basan en el modelo cliente-servidor. Actualmente, cuando hablamos de “servidor” estamos haciendo referencia a una máquina, sin embargo, un servidor es un programa instalado y activado en una máquina, aunque se suele utilizar la misma terminología para referenciar tanto al software como al ordenador. Los programas de comunicación se dividen en dos grupos: – Programa cliente: el cliente será el que realice la petición de un recurso o servicio, sin necesidad de conocer su ubicación, ya que el programa cliente dispone de los elementos necesarios para saber si puede responder a dicha petición de forma local o si es necesario transmitirla a través de la red. En la mayoría de los casos, el software cliente se encuentra incluido en el sistema operativo de red. – Programa servidor: en el caso de que la petición necesite de un acceso remoto para ser servida, el programa servidor será el que dé el servicio o permita el acceso al recurso solicitado por el cliente, siempre y cuando tenga los permisos oportunos. Existen situaciones en las que el programa cliente y servidor conviven en la misma máquina, aunque no es lo habitual. Esta es la forma de trabajo habitual en Internet. Llegados a este punto, podríamos hacernos una serie de preguntas, como por ejemplo, ¿para qué sirve una red? o ¿qué se puede hacer con una red? Para poder dar respuesta a estas preguntas tendremos que ver las funciones del software de red: a) Aplicaciones......... q Página 213. Apartado 2. Punto b) Sistemas operativos. Comienxa el aprtado con el siguiente texto: b) Sistemas operativos. En primer lugar tendríamos que plantearnos el tipo de red que, en función de la arquitectura, vamos a adoptar para, posteriormente, seleccionar el tipo de sistema operativo a implantar. TEMA 69. INTEGRACIÓN DE SISTEMAS. MEDIOS DE INTERCONEXIÓN. ESTÁNDARES. PROTOCOLOS DE ACCESO A REDES DE ÁREA EXTENSA Página 228. Apartado 3.2. Repetidores. Añadir el siguiente párrafo entre el tercero y el cuarto: El mayor inconveniente de los repetidores es no poder aislar al resto de los segmentos de los problemas producidos en un segmento en particular, de forma que si se produce una colisión en un segmento, ésta se propagará por los demás segmentos de la red. Sólo será capaz de aislar segmentos en caso de rotura del cable. q Página 229. Apartado 3.3. Puentes (Bridges). El primer párrafo se completa con lo siguiente: Poseen algunas capacidades de control, ya que deben almacenar y reenviar, en función de su contenido, las tramas que les llegan. q Página 229. Apartado 3.3. Puentes (Bridges). Añadir lo que sigue entre los párrafos tercero y cuarto: Normalmente funcionan de la siguiente forma: – Almacenan la trama recibida para su análisis. – Comprueban su integridad, eliminándola en caso de que contenga errores. – Algunos son capaces de retocar tramas para adecuarlas al formato del segmento receptor. – Se envía la trama al segmento receptor si es accesible por alguno de sus puertos. – Si el destinatario le es desconocido, envía la trama a todas las redes y cuando recibe confirmación del receptor, “aprende” dónde está la ubicación de ese nodo. De esta forma, aunque el puente en un principio no conozca las rutas de red, a medida que se produce el tráfico se va generando la tabla de direcciones o encaminamientos. q 18 Página 230. Apartado 3.4. Los seis primeros párrafos de la págian se sustituyen por los siguientes: Como hemos visto de forma general, existen varios tipos de routers dependiendo del algoritmo que utilizan. Vamos a verlos ahora un poco más detalladamente: – Algoritmos de encaminamiento estático. La tabla de encaminamiento es programada por el administrador de la red, ya que no tienen la capacidad de “aprender” por sí solos. Serán, por lo tanto, incapaces de asumir modificaciones dinámicas. – Algoritmos de encaminamiento dinámico. Mucho más flexibles, ya que son capaces de “aprender” la topología de la red. A cambio, su rendimiento es menor. * Algoritmo de camino más corto. Los routers que utiliza este algoritmo almacenan en la tabla de enrutamiento un valor para cada nodo. Este valor lo utilizarán después para calcular el camino más favorable a la hora de encaminar un paquete concreto. Para calcular este valor, tienen en cuenta, entre otros datos, la distancia física, el ancho de banda de su línea, etc. * Encaminamiento de camino múltiple. Los routers que utilizan este algoritmo son capaces de utilizar varias rutas para una misma conexión y así sumar el ancho de banda correspondiente a cada una de ellas. * Encaminamiento por gestión centralizada. Los routers que utilizan este algoritmo reciben periódicamente de los nodos que conectan información sobre la topología o el tráfico en la red, lo que hace que conozca todos los detalles de la red, pero que se incremente el tráfico cerca de él. * Encaminamiento aislado. En este caso no se recibe información sobre la red de ninguno de los nodos. Cada router intenta adaptarse a los cambios que se le presenten. Dentro de este tipo podemos distinguir dos: • Algoritmo de la patata caliente. Los routers que utilizan este algoritmo reenvían los paquetes lo más rápido posible y por la línea menos saturada esperando que sea la adecuada. Suelen utilizarse por los routers que no tienen formada todavía su tabla de encaminamiento. • Algoritmo de retroaprendizaje. Los routers que utilizan este algoritmo aprenden la topología de la red y completan su tabla de encaminamiento con la información de origen y destino que traen los paquetes. * Algoritmo de inundación. Los routers que utilizan este algoritmo, cuando no conocen el camino a un nodo determinado, envían el paquete por todos los caminos posibles menos por el que les llegó. La cantidad de tráfico que se genera se intenta minimizar eliminando los paquetes que hayan dado un número de saltos determinados. * Técnica de encaminamiento jerárquico. Utilizado en grandes redes en las cuales sería imposible que un solo router mantuviera actualizada toda la información sobre la red. Consiste en la estructuración jerárquica de los routers que enviarán los paquetes a otros de jerarquía inmediatamente superior o inferior. Normalmente los routers incluyen varios algoritmos que utilizarán en distintos momentos dependiendo de su nivel de conocimiento de la red, por ejemplo, utilizarán un algoritmo de aprendizaje al conectarlos a la red y a medida que vaya completando su tabla de enrutamiento podrá migrar a otro algoritmo más efectivo. 3.4.1. Varintes de los routers q Página 231. Apartado 3.6. Conmutadores (Switches). Sustituir todo el contenido de este apartado por lo que sigue: Los conmutadores o switches son dispositivos parecidos a los puentes, aunque presentan algunas diferencias: – Los switches son dispositivos locales. – La mayoría sólo unen segmentos, aunque algunos unen redes. – La velocidad de conexión es mayor. – Reparten de forma transparente al usuario el ancho de banda entre segmentos o nodos de la forma más eficiente. – La mayoría son apilables y escalables. q 19 En su aspecto externo, son parecidos a los hubs, pero los diferencia la forma de repartir el ancho de banda. Mientras que los hubs reparten el tiempo de uso del ancho de banda entre sus puertos, el switch dispone de un ancho de banda suficiente para todos sus puertos. Incluso en algunos de alto rendimiento, su ancho de banda es mayor a la suma de los anchos de banda de cada uno de sus puertos. Existen dos grandes grupos de conmutadores: – Los de tecnología “on the fly” o “cut through”: que reenvían la trama nada más haber recibido el campo destino, con la ventaja de que el retardo es despreciable pero el inconveniente de que si se produce un error, retransmiten el error o las tramas recibidas incompletas. – Los de tecnologías “store and forward”: que almacenan las tramas antes de su reenvío, lo que les permite detectar errores, pero producen mayor retardo. TEMA 70. DISEÑO DE SISTEMAS EN RED LOCAL. PARÁMETROS DE DISEÑO. INSTALACIÓN Y CONFIGURACIÓN DE SISTEMAS EN RED LOCAL Página 251. Apartado 2.5. Servidores y estaciones de trabajo. El último párrafo del aprtado se modifica y añadimos un nuevo párrafo final: Las estaciones de trabajo (DTE) son los nodos de la red desde donde actúan los usuarios. Son sistemas autónomos con capacidad de acceso a la red que se beneficiarán de los recursos del servidor, por lo tanto no deberán tener, en teoría, tan altas prestaciones como los servidores. También existen los llamados “clientes ligeros”, casos particulares de estaciones de trabajo que sólo tienen capacidades gráficas y dónde el proceso y el almacenamiento se producen en el servidor. q q Página 253. Apartado 2.8. Conexión al exterior. Párrafo tercero, donde pone “línea RDSL”, poner: ...línea ADSL. q Página 253. Apartado 2.8. Conexión al exterior. Los párrafos último y penúltimo de la página, que se corresponden con el guión de RDSI, se sustituyen por lo siguiente: – ADSL: la tecnología ADSL separa la línea telefónica en dos canales independientes: un canal de alta velocidad para la recepción y envío de datos y un canal para la comunicación normal de voz y fax. Ofrece además las siguientes ventajas: * Es una red capaz de conseguir velocidades mayores que la red telefónica conmutada, lo que la hace más idónea para nuestro propósito. * Ofrece integración de los servicios voz y datos y permite conversaciones telefónicas y de datos al mismo tiempo. * Es una tecnología que aprovecha la infraestructura existente de cableado para telefonía básica. * El hardware necesario para implementar una línea ADSL es relativamente sencillo y barato. Página 2.5.5. Fin del apartado 4.1. Intercalamos un nuevo apartado 4.2. y un nuevo 4.3. A partir de aquñi se reenumeran los epígrafes de dos dígitos del apartado 4. 4.2. Configuración de estaciones clientes En las estaciones de trabajo se tendrán que instalar y configurar los protocolos necesarios para la conexión a los servidores. Teniendo en cuenta que la instalación de protocolos innecesarios puede provocar una sobrecarga en el software de red además de un consumo inútil de memoria. Se deberá valorar si los usuarios trabajarán con información local o centralizada y decidir entre tres tipos de configuraciones: – Los programas y los datos estarán en el disco duro local y no son compartidos en la red. Se deberá instalar una copia de la aplicación en cada estación. – Los programas se instalan en el servidor y los usuarios acceden a este, pudiendo estar los datos en el disco local o incluso también en el servidor. – Las aplicaciones se instalan de forma distribuida, parte en el servidor y parte en el cliente. – Existe una configuración especial para los clientes ligeros, que no disponen de disco local por lo tanto incluso para arrancar necesitan de un servidor de sistemas operativos. q 20 4.3. Configuración de accesos externos Además de los servidores y las estaciones clientes se tendrán que configurar los accesos externos, ya sean de la propia organización o de agentes externos a esta. Estos accesos tendrán las mismas características que los accesos internos sólo que con un rendimiento menor. Para permitir estos accesos la red deberá disponer de medios de interconexión con el exterior que deberán estar también correctamente configurados. Página 258. Apartado 5.3. Redes Inalámbricas. Se sustituye el contenido por el siguiente: En los últimos tiempos se está produciendo un gran auge de la tecnología wireless. Esta tecnología ha permitido desde la conexión de periféricos sin cable hasta la implantación de redes locales sin necesidad de cableado. Existen todavía problemas inherentes de las tecnologías inalámbricas, tales como las limitaciones de ancho de banda disponible, problemas con interferencia y seguridad de la información transmitida, pero se están solventando otro tipo de problemas relacionados con el precio y la estandarización. El estándar más utilizado actualmente por fabricantes es el WiFi, que aprovecha la franja de radio de 2,4 Ghz (de uso libre y sin licencia) a través del protocolo de red 802.11b. Con él se consiguen, en condiciones ideales de distancia entre equipos y pérdida de señal, velocidades de 11Mb por segundo. Las WLANs básicamentee consisten en ordenadores que se conectan a dispositivos fijos llamados “puntos de acceso” mediante señales de radio o infrarrojo. q TEMA 72. LA SEGURIDAD EN SISTEMAS EN RED. SERVICIOS DE SEGURIDAD. TÉCNICAS Y SISTEMAS DE PROTECCIÓN. ESTÁNDARES Página 280. Apartado 2.2.1. Copias de seguridad. Añadir lo que sigue al final del apartado: Una opción interesante son las denominadas copias de seguridad “offsite”. Una copia de seguridad offsite es realizada fuera de la oficina donde se almacenan los datos. Emplean redes y podemos tener copias de nuestros datos en una ubicación diferente a la de los datos originales, lo que posibilita en caso de catástrofe (incendio, inundación, terremoto) recuperar los datos perdidos. q Página 285. Al terminar el apartado 3.2. añadimos un apartado 3.3. y un apartado 3.4. 3.3. Firma electrónica Uno de los problemas sobre seguridad más difíciles de resolver consiste en la autentificación. La autentificación nos permite comprobar que una persona es quién afirma ser. El método más empleado de autentificación es la firma electrónica. La firma electrónica consiste en una certificación de la identidad de una persona. Este certificado puede tener varias utilidades: 1. Justificación ante Administraciones: mediante la firma electrónica podemos, a través de Internet, solicitar un certificado, matricularnos en unos estudios o realizar nuestra declaración de la renta. 2. Correo electrónico: es una forma de autentificar la identidad del remitente. 3. Comercio electrónico: de este modo podemos comprobar que nadie está suplantando al comprador. En España existe ya legislación al respecto donde aparece el respaldo del gobierno a este sistema de autentificación, como es el artículo 18.3 de la Constitución española, el 197.1 del Código Penal o el Real Decreto-Ley 14/1999. 3.4. Protocolos seguros En este apartado vamos a realizar un estudio de las tecnologías empleadas para realizar comunicaciones seguras en la actualidad. 3.4.1. Protocolo SSL SSL (Secure Socket Layer) fue desarrollado por NetScape. Es un protocolo para comunicaciones punto a punto. Se sitúa encima de la capa de transporte. Utiliza el protocolo propio TCP. Las claves generadas por SSL son débiles, sin embargo no es posible en tiempo real resolverlas durante la transmisión. q 21 Su usa para realizar compras en la red y para las redes privadas virtuales. Se suele emplear para hacer compras en la red. Su “modus operandi” es el siguiente: 1. El navegador solicita una página segura mediante el protocolo https. 2. El servidor y el cliente acuerdan los algoritmos de confidencialidad que van a utilizar. 3. El servidor envía su certificado de norma X.509 que contiene su llave pública y requiere la autenticación del cliente. 4. El navegador envía al servidor su clave maestra para que cifre los datos de la sección. 5. Se comprueban los datos. Si la comparación es satisfactoria comienza la transmisión. El certificado X.509 permite comprobar que una clave pública pertenece a quién se atribuye. Este certificado contiene la clave pública, los datos del propietario de la misma, los datos de la autoridad que ha emitido el certificado y la firma digital creada al encriptar con la clave privada de la autoridad de certificación. Como ventajas podemos comentar que SSL está implementado en la mayoría de los navegadores de Internet y para las aplicaciones punto a punto es el protocolo más empleado. Como desventaja debemos citar que sus claves son débiles, por lo que no es un protocolo muy recomendable para datos críticos. 3.4.2. Protocolo SET En el año 1995 nace SET (Secure Electronic Transaction: transacción electrónica segura) creado por un consorcio de compañías como VISA, MasterCard, IBM, Microsoft, NetScape, etc. El motivo de su nacimiento no es otro que el de intentar convencer a los clientes que se negaban a usar el comercio electrónico por la falta de seguridad. El funcionamiento de SET es harto complejo. De manera breve podemos suponer una transacción comercial entre un comprador A y un vendedor B. Supongamos que empleamos un método de pago C (como puede ser una tarjeta de crédito). Los pasos a seguir los resumo en el siguiente esquema: Cliente Efectuar compra Proveedor Generar pedido Generar identificador de compra Clave pública Clave de pago Pago 1. El cliente desea realizar una compra al proveedor. 2. El cliente genera un pedido al proveedor y decide la forma de pago. 3. El proveedor genera un identificador de compra para el cliente y lo envía junto con la clave pública del cliente y la pasarela de pago. 4. El cliente envía encriptado el modo de pago con la clave pública de la pasarela de pago. 5. La pasarela de pagos comprobará si el cliente tiene permiso para realizar una compra de este tipo. Para ello realiza una comunicación con el banco o entidad financiera correspondiente. Si la operación se autoriza, la pasarela envía tanto al cliente como al proveedor una confirmación. 3.4.3. Encriptación PGP PGP (Pretty Good Privacy) es un sistema de encriptación gratuito para cualquier tipo de información, aunque actualmente se emplea de forma masiva para el correo electrónico. Está implementado en la mayoría de los gestores de correo electrónico. 22 Existen programas para encriptar PGP para casi todos los sistemas operativos y máquinas disponibles en la actualidad8. 3.4.4. Protocolo PPTP PPTP (Point to Point Tunneling Protocol: Protocolo de Túnel Punto a Punto). Este protocolo se emplea para cifrar una comunicación punto a punto. Aparece definido en el RFC 2637. Este protocolo se ha hecho muy popular, ya que se emplea para las redes privadas virtuales. 3.4.5. Protocolo IPSec En realidad son un conjunto de “añadidos” al protocolo TCP/IP para aumentar la seguridad. IPSec permite la autentificación y encriptación en la transmisión de paquetes. IPSec se compone de 3 elementos: 1. Cabeceras de autentificación. 2. Bloques de seguridad. 3. Protocolo de negociación e intercambio de claves. IPSec se puede emplear tanto para realizar tunelizaciones o para protocolos normales aumentando la seguridad sobre TCP/IP. q Página 287. Ampliamos el tema con un nuevo apartado 5. 5. PROGRAMAS PARA GARANTIZAR LA SEGURIDAD Existen infinidad de programas para mejorar la seguridad de nuestro sistema, de entre ellos destacamos los siguientes: 5.1. NAT Los NAT (Network Address Traslation: Traductor de direcciones de Internet) dividen las direcciones en dos zonas: una zona de confianza (nuestra red de área local), y una de desconfianza (Internet). Un NAT es una forma sencilla de proteger un sistema. Se recomienda su empleo para uso doméstico y pequeñas oficinas. Realiza dos funciones: – Oculta la identidad “real” de los ordenadores de nuestra red local. – Sólo permite las conexiones que se inician desde nuestra red de área local. Un NAT es un software especializado que se instala en un servidor de nuestra red o en un enrutador de la misma. 5.2. Cortafuegos Los cortafuegos son similares a los NAT en su funcionamiento, pero añaden un nivel “extra” de seguridad. El problema de los NAT es que controlan y “desconfían” de Internet, pero no de la red local. Los cortafuegos son programas que controlan el flujo de paquetes entre nuestra red de área local y una red de área extensa como Internet. Realmente un cortafuegos debe realizar dos tareas: – Por un lado debe controlar los paquetes que entrar en nuestro sistema evitando paquetes sospechosos, perjudiciales para nuestra red local. – Controlar los paquetes que los usuarios de nuestra red lanzan a Internet. Un cortafuegos divide Internet en dos áreas: tenemos un área de confianza en la que se incluyen las direcciones ya empleadas y nuestra red de área local, y el resto de las direcciones donde desconocemos si podemos “confiar” en su contenido. Cuando se intenta realizar un acceso a una zona de “no confianza” el cortafuegos aplica una serie de reglas definidas por el administrador de la red para comprobar la benevolencia de esa dirección. Si el paquete cumple estas reglas se permite su acceso, si no, se bloquea hasta nueva orden del administrador, o se desecha. Normalmente los cortafuegos agrupan dos tablas de reglas: en primer lugar las que definen los paquetes con acceso permitido, y las que especifican los paquetes no permitidos. Debido al auge de Internet, los cortafuegos han pasado a ser un elemento muy popular. La mayoría de los sistemas operativos actuales incluyen un cortafuegos dentro de sus paquetes básicos de instalación o como una ampliación gratuita. El uso de un cortafuegos se recomienda en grandes y medianas empresas donde queremos proteger nuestra red de intrusos y cuando también queremos restringir el acceso de nuestros usuarios a determinada información o la fuga de información vital de la empresa. 23 5.3. Servidores Proxy Los servidores proxy son programas que permiten compartir una única conexión a Internet entre varios ordenadores, además suelen incluir una caché que permite acelerar los accesos a Internet. Los proxy también añaden un nivel “extra” de seguridad, ya que ocultan la dirección IP real de los ordenadores de nuestra red de área local, por lo que es más difícil realizar un ataque a un ordenador de nuestra red local si el agresor desconoce su dirección IP real. 5.4. Antivirus La vacuna para eliminar virus es un programa llamado antivirus. Este programa se encarga de proteger, detectar, eliminar y desinfectar nuestro sistema de los virus. Su funcionamiento puede ser muy variado. En la mayoría de los casos detectan estos programas bien cuando notan que algún archivo cambia de tamaño de forma inesperada, cuando hay una alteración en el sector de arranque de nuestro disco duro, o cuando detecta un programa sin permiso en la memoria. Los antivirus suelen funcionar bastante bien, pero es conveniente tenerlos actualizados. Estos programas se suelen dividir en dos módulos: 1. El escudo, o Shield: es un programa residente en memoria que se encarga de vigilar el funcionamiento del sistema. Si el escudo detecta alguna actividad sospechosa llama al programa antivirus. 2. El programa antivirus: es el programa que se encarga de eliminar los virus del sistema. q Página 288. Añadir a bibliografía: Abad, Alfredo. Redes de área local. McGraw-Hill. 2001. Andrew S. Tanenbaum. Redes de computadoras. 3ª Edición. Prentice-Hall Hispanoamericana. 1997. Hrair Aldermeshian y Thomas B. Redes locales y seguridad digital. Anaya Multimedia. 2003. Roger S. Pressman. Ingeniería del Software. Un enfoque práctico. 5ª edición. McGraw-Hill. 2002. “Soluciones Back-Up”, en PC-PLUS nº 92. Febrero 2005. Página 148. ENLACES DE INTERÉS www.pgpi.com/download TEMA 74. SISTEMAS MULTIMEDIA Página 313. Apartado 4.3.5. Sustituir el segundo párrafo por el siguiente: Actualmente el formato WMA se puede usar tanto en el ordenador como en reproductores portátiles. Es el formato recomendado por Windows y su reproductor multimedia, Windows Media Player, para comprimir música en el ordenador. q Página 313. Apartado 4.3.5. Sustituir el quinto párrafo por el siguiente: Este formato va ganando popularidad frente a MP3, siendo su territorio el de los reproductores portátiles que trabajan sobre memoria, ya que suponen un interesante ahorro de espacio. q Página 315. Apartado 5. Sustituir el último párrafo por el que sigue: También hemos de tener en cuenta que con el abaratamiento de las tarjetas de memoria es un soporte multimedia usado ampliamente por reproductores portátiles de sonido, vídeo, etc., por lo que le remitimos también al volumen 1 de esta misma colección, al tema 6, donde encontrará información sobre las tarjetas de memoria. q 24